Elle apporte son lot de nouveautés à travers les filtres Microsoft, dont le plus connu concerne l’opacité. Pour rappel, la spécification finale de CSS1 ne voit le jour que le 17 décembre 1996.[1]
Les nouveautés graphiques
Parmi les nouveaux filtres Microsoft débarqués en 4.0, il est stupéfiant de voir à quel point ils ressemblent aux toutes dernières fonctionnalités spécifiées dans CSS et HTML :
- transformation ;
- filtres graphiques ;
- transition ;
- dégradés ;
- masques ;
- ombres…
Oh, et @font-face
est apparu dans IE4. Oui oui, en 1997. Vous vous souvenez de la révolution que c’est devenu en 2009, et le battage médiatique autour de CSS 3 ? Ils devaient bien se marrer chez Microsoft, quand ils nous ont vus nous exciter comme des molécules en chaleur douze ans plus tard.
Et si d’aventure ça vous gêne que ce fussent des filtres propriétaires Microsoft, je remets une couche de contexte — toujours pour ceux du fond, décidément : CSS 1 n’existe officiellement que depuis quelques mois. La définition des propriétés et de leurs valeurs n’en est qu’à ses balbutiements.[2]
Fonctionnalités hors-ligne
Pas de blague. Internet Explorer 4 est la première version à évoquer la gestion de fonctionnalités hors-ligne. Nous sommes évidemment très loin des applications web progressives actuellement tendance — les fameuses PWA, bingo buzzword — mais déjà en 1997, Microsoft en parlait :
- mise en cache des pages consultées afin d’améliorer l’expérience sans connexion ;
- fonctionnalité d’archivage de site, permettant « tout simplement » d’enregistrer une copie du site sur votre ordinateur — et donc de le consulter sans connexion ;
- un type de site appelé active channel qui permettait de synchroniser un site en ligne avec une version enregistrée localement, hors ligne.[3]
C’est rigolo comme les thèmes abordés dans les notes de version sont les mêmes en 1997 qu’en 2016, non ?
Transitions entre les pages
Ça, c’est vraiment l’apothéose.
Vous connaissez peut-être déjà Jake Archibald ? Je l’apprécie notamment pour son travail sur l’optimisation des SVG, mais il a produit beaucoup de choses très utiles.
En octobre 2016, il a créé un répertoire sur Github intitulé navigation-transition, dans lequel il explore la complexité d’effectuer des transitions entre les pages en respectant l’historique de navigation.
C’est chouette, il évoque des pistes en CSS lancées par Google en 2014 puis Mozilla en 2015, et sa propre exploration. Je suis sûr que ça en fait baver plus d’un !
Je vous présente les transitions interpages introduites par Microsoft dans Internet Explorer 4 en 1997. Concrètement, ce sont des filtres Microsoft utilisés dans des balises meta
, comme suit :
<META http-equiv="Page-Enter"
CONTENT="progid:DXImageTransform.Microsoft.Blinds(
Duration=4
)" />
<META http-equiv="Page-Exit"
CONTENT="progid:DXImageTransform.Microsoft.Slide(
Duration=2.500,
slidestyle=’HIDE’
)" />
C’est pas beau, ça ?
De retour du passé
Vous pensiez que le web de 1997 était révolu, et que tout ce que je viens de déterrer reste obsolète ? Je vous présente mes deux trollons.[4]
- la propriété
filter
fait désormais partie de la spécification CSS, seules les valeurs Microsoft ne sont donc plus standards. Personnellement, ça me fait beaucoup rigoler ; - à l’époque, il était possible d’écrire des scripts dans CSS. Oui oui, chez Microsoft on faisait du JS dans du CSS.[5]
Alors pour paraphraser le Doc, je dirais seulement :
Nom de d’IE, Marty !
Vous êtes encore là ?
Pour les survivants qui sont parvenus jusqu’au donjon, voici vos récompenses :
- la page Wikipédia d’Internet Explorer 4 (en anglais) ;
- un site fabuleux pour découvrir IE4, en anglais — qui n’est pas sans rappeler ce fameux trombone pot de colle dans les produits Microsoft du début des années 2000 ;
- un historique d’Internet Explorer 1 à 6, en anglais — comme ça, vous avez le choix dans les dates ;
- une page implémentant les transitions interpages.[6]
Voilà. Comme je me suis beaucoup amusé à rassembler toutes ces informations et à écrire cet article, je tiens à remercier les vieux croûtons du web qui ont éclairé ma lanterne lors de mes recherches. Ils se reconnaîtront, et si vous les cherchez vous trouverez la liste de leurs nicknames connectés au salon ##openweb
sur IRC.
Merci les copains.
Le 17 décembre, c’est la Saint Gaël. Coïncidence ? Je ne crois pas. ↩︎
Pour faire un parallèle avec l’histoire nord-américaine, l’époque succédant à la déclaration d’indépendance est le far-west, la ruée vers l’or, tout ça… ↩︎
J’admets avoir du mal à comprendre cette technologie, je ne l’ai jamais connue… ↩︎
Un trollon est un bébé troll, c’est bien connu. ↩︎
Nos fameux filtres, vous croyiez que ça fonctionnait comment ? ↩︎
Un indice, il faut regarder le code source. ↩︎
Merci pour cette piqure de rappel. À cette époque la guerre des navigateurs se faisait sur des API propriétaires et non standard, surtout du côté de Microsoft (Netscape a standardisé Javascript au moins, sinon il ne serait plus là). Travailler pour sa gueule, dans une logique concurrentiel et propriétaire, l’histoire nous a prouvé que sur le web, ça ne marche pas. Et si les standards ont stagné si longtemps… Microsoft en ai indéniablement pour quelque chose.