C'est la nouvelle du jour: la version (interne) de développement principale d'Internet Explorer 8 passe le test Acid2. Dean Hachamovitch de Microsoft l'annonce sur le blog d'Internet Explorer. On en parle également du côté du Web Standards Project, et sur le forum d'Alsacréations.
Pour ceux qui n'ont pas tout suivi, voici quelques détails.
Le test Acid2
Qu'est-ce que c'est?
Il s'agit d'une page web utilisant copieusement diverses propriétés CSS et autres technologies standard afin de tester le support de ces technologies par les différents navigateurs. Le résultat attendu est le suivant:
Ça marche dans quels navigateurs?
À l'heure actuelle, seuls deux navigateurs parviennent à afficher correctement ce test: Opera 9 et Safari 3. Mais les premières annonces du type «ça y est, on réussit le test!» datent de 2006, et les versions à venir de Firefox (version 3), et de Safari 3 pour Windows, réussiront le test. On peut d'ailleurs déjà le vérifier grâce aux beta publiques de ces navigateurs.
Dans cette histoire, Internet Explorer était le seul des principaux navigateurs web à être un peu (voire beaucoup) à la traîne. Mais apparemment, le retard est en train d'être comblé, du moins sur les points testés par Acid2. Nous avons donc cette annonce («ça y est, on réussit le test!»), et nous aurons sans doute, quelque part en 2008, des premières versions alpha ou beta publiques permettant de constater cela directement.
À quoi est-ce que ça sert de réussir ce test?
Acid2 ne fait pas partie des recommandations du W3C. C'est un test écrit par certaines personnes au sein du Web Standards Project, et il reflète forcément leur opinion sur ce qu'il faut implémenter le plus tôt possible dans les navigateurs, et le reste.
En étant un peu cynique, on peut dire que l'intérêt de réussir ce test est essentiellement marketing. Depuis les annonces rapprochées d'Opera et d'Apple (Safari) en 2006, suivies par celle de Mozilla (Firefox), ce test a tendance à être vu comme un objectif absolu. Ne pas le réussir, c'est s'exposer à la critique facile de nombreux «connaisseurs mais pas experts», notamment les journalistes de la presse informatique.
En étant moins cynique, on peut dire que cette annonce de Microsoft est une très bonne chose. Même si Acid2 est un test et non pas une garantie du bon support global de CSS, réussir le test demande d'avoir une bonne implémentation de CSS pour de nombreux points essentiels. Bref: Internet Explorer 8 n'aura probablement pas un support parfait de CSS 2.1 (ça n'est le cas d'aucun navigateur!), mais il est certain que l'équipe d'IE8 a fait des progrès très importants pour en arriver là. (Parmi les plus importants pour la mise en page, je citerais le support de display: table
et display: table-cell
.)
On a donc le droit d'être (raisonnablement) enthousiaste. ;)
Quelles autres nouvelles pour Internet Explorer 8?
C'est là que le bât blesse: la politique de Microsoft semble être «on ne communique sur rien tant que ça n'est pas définitif». C'est à dire que cette information sur le test Acid2 est la première information officielle sur IE8 depuis plus d'un an (mis à part le fait que la nouvelle version s'appellera «Internet Explorer 8»)!
Il y a juste une autre information peut-être capitale (mais pas vraiment confirmée officiellement): le moteur de rendu d'Internet Explorer serait en train d'être refondu (et pas simplement «amélioré» ou «patché»). Pour rappel, le moteur de rendu (rendering engine, parfois appelé aussi layout engine) est la partie du navigateur qui gère l'affichage des pages. Et celui d'Internet Explorer, surnommé «Trident», est une catastrophe.
Le principal problème d'Internet Explorer 7, pour ce qui est du support CSS, vient d'un mécanisme de ce moteur de rendu, mécanisme nommé le «HasLayout». Pour faire bref: il s'agit d'une rustine appliquée à ce moteur de rendu, qui améliore certaines choses mais cause aussi des bugs de rendu plus ou moins aléatoires.
On espère donc que la prochaine annonce officielle concernant le support de CSS sera la suivante: HasLayout is dead.
Mais c'est peut-être se montrer un peu trop optimiste...
Edit: le HasLayout serait effectivement mort et enterré dans IE8, d'après Markus Mielke de Microsoft (merci à Jacques Pyrat pour l'information). Champagne!
--
Billet de Florent Verschelde
Commentaires
Ben dans l'ensemble c'est plutôt une bonne nouvelle. Mais ne crions pas encore victoire.
'Paraîtrait que la beta 1 de Firefox 3 passait le test mais la beta 2 ne le passe plus, alors entre une version "interne" et une version publique il y a du chemin.
J'insiste sur le "paraîtrait" parce que je l'ai lu mais je suis pas aller vérifier.
Konqueror passe le test Acid2 grâce à la contribution des développeurs d'apple sur le moteur désormais commun à Safari et Konqueror : Webkit.
Sinon actuellement plus personne ne passe le test présenté sur le site de webstandards à cause d'un problème sur leur serveur, mais Firefox3b2 et les autres le passent bien à cette adresse : www.hixie.ch/tests/evil/a...
«'Paraîtrait que la beta 1 de Firefox 3 passait le test mais la beta 2 ne le passe plus, alors entre une version "interne" et une version publique il y a du chemin.
J'insiste sur le "paraîtrait" parce que je l'ai lu mais je suis pas aller vérifier.»
C'est une erreur. L'adresse principale du test Acid2 est actuellement buguée, et aucun navigateur ne réussit plus le test à cette adresse.
On en parle dans le sujet du forum, et Tristan Nitot en touche quelques mots sur le Standblog.
Et c'est Daniel Glazman qui confirme la disparition de HasLayout sur son blog : www.glazman.org/weblog/do...
Safari 3 n'est plus en version beta sur Mac OS. Le version officielle est actuellement la version 3.0.4.
@Lanza : Je ne crois pas que Florent dise le contraire. Il parle de la beta de Safari 3 sur Windows.
@Julien Royer
Ou j'ai mal lu, ou ça a été corrigé :)
Lanza: tu avais bien lu, et j'ai corrigé suite à ta remarque... sans avoir le temps de te remercier ici. ;)
Champagne !
Buvons le avant la sortie de IE8.
Après... ???
Nota : Bien vu la question anti-spam !
Si même Daniel Glazman confime la mort du HasLayout, alors champagne/foigras/cadeaux et compagnie ! (à moins que cela ne soit prévu pour une autre occasion ?)
En plus de cette bonne nouvelle, on nous annonce la sortie de la bêta 1 pour le premier semestre 2008. www.victor-brito.com/cv/2...
Merci Victor pour l'info. Je m'apprêtais à la mettre en ligne en éditant encore le billet mais... aurais-tu une source vérifiable, par le plus grand des hasards?
Les articles que tu cites sur ton blog sont très succincts, et mentionnent un communiqué de presse sans donner le lien qui va bien.
@Florent V. : Apparemment, rien pour le moment sur le blog de MSDN ni sur microsoft.com. :(
@Lanza : Désolé ! :-)
Ce serait pas trop tôt! ça fait quelques temps qu'on nous bassine pour qu'on fasses des codes propres, il était temps que ie fasse un effort non?!
Cela dit, il paraît que le mode compatible avec les standards ne serait pas implémenté par défaut par IE 8, mais par un élément meta... :-/
Quelques sources (en anglais) pour illustrer mon propos :
- people.opera.com/howcome/...
- en.wikipedia.org/wiki/Aci...
- www.howtocreate.co.uk/aci... (page riche en captures d'écran du test, soit dit en passant ;) )
Cela dit, comme le dit la conclusion de la première source :
First and foremost, however, this is a day for celebration. Let us all be merry, it's an important victory for the web! :)