Ah... Internet Explorer et le respect des standards du web...
On en parle, on s'en plaint depuis longtemps, on rêve du jour où ça arrivera enfin (plus probablement un 31 février), mais ça ne reste qu'un rêve...
Internet Explorer 6, un long cauchemar
Tous ceux ici qui ont déjà essayé de créer un site web en ont été pour leur frais. Arriver à faire un site web qui marche aussi bien sous Internet Explorer que sous Firefox, Opera, Safari (et les autres), c'est un peu la croix et la bannière. Le plus gros problème vient essentiellement d'Internet Explorer qui a du retard sur ses concurrents en matière de respect des standards du web. Et je dis ça, mais c'est un euphémisme.
Internet Explorer 6 est resté de nombreuses années sans être mis à jour, et ce n'est que récemment que la version 7 est sortie. A-t-elle résolu tous les problèmes ? Non, loin de là. Ca s'est certes un peu amélioré par endroits mais on reste quand même assez loin de pouvoir utiliser toutes les possibilités offertes par le CSS... et on doit donc encore continuer à faire très attention quand on développe un site web, pour éviter d'avoir de trop grosses différences entre IE et Firefox.
On parle déjà d'Internet Explorer 8
Pour l'équipe de développement d'Internet Explorer chez Microsoft, pas question d'attendre à nouveau des années avant de sortir une nouvelle version majeure de leur navigateur. C'est plutôt une bonne nouvelle. Mais encore faut-il que cette nouvelle version ait un intérêt.
Au niveau de l'interface, peu de choses ont filtré pour le moment, si bien qu'on ne sait pas trop à l'heure actuelle ce qui va changer. Des screenshots sont parus un peu partout sur le web mais ce sont de toute évidence des
fakes (faux). Certains se prennent à rêver d'une interface qui se rapprocherait d'Office 2008 avec un ruban :

Attention ce screenshot d'IE8 est un
fake
Pas moins de 3 moteurs de rendu
Le moteur de rendu d'un navigateur est la partie du code qui lit le XHTML et le CSS et qui produit un résultat graphique, c'est-à-dire la page web que vous avez sous les yeux. Autant dire que c'est l'élément le plus important d'un navigateur.
D'après un
billet récent du blog officiel d'Internet Explorer, le prochain navigateur serait équipé de 3 moteurs de rendu différents.
Un seul moteur de rendu ne suffirait pas ?

Internet Explorer 7En fait, le plus gros problème qui se pose aux développeurs d'Internet Explorer, c'est la rétro-compatibilité avec les anciens sites web. Ces sites ont été la plupart du temps "spécialement développés pour fonctionner avec IE", et ils représentent l'immense majorité des sites web aujourd'hui.
Si Internet Explorer se met soudainement à respecter les standards du web, la plupart de ces sites web deviendront pratiquement inutilisables, et c'est Microsoft qui en sera tenu pour responsable de la part des webmasters du siècle dernier qui n'ont toujours pas entendu parler du CSS (et je vous assure, il y en a plus qu'on ne le croit

).
Pour mettre tout le monde d'accord, la solution que semble avoir trouvé Microsoft est d'intégrer 3 moteurs de rendu différents dans Internet Explorer 8. Il y aura :
- Le très vieux moteur pour les très vieux sites
- Le moteur "actuel" d'Internet Explorer
- Mais surtout... un tout nouveau moteur qui serait aussi respectueux des standards que les navigateurs actuels comme Firefox et Opera !
Les deux premiers moteurs sont déjà intégrés dans Internet Explorer depuis sa version 6 et permettent aux très vieux sites dont-il-ne-vaut-mieux-pas-regarder-le-code-source-sous-peine-de-risquer-la-crise-cardiaque de continuer à fonctionner.
La vraie nouveauté annoncée, qui devrait en ravir plus d'un, c'est ce nouveau moteur que les développeurs d'Internet Explorer sont en train de mettre au point et qui devrait signifier la fin du casse-tête pour les webmasters qui essaient de faire des sites web corrects.
Un screenshot paru le 19 décembre dernier sur le site de Microsoft donne des signes extrêmement encourageants :
IE8 passerait le test Acid2 !
Ce test doit afficher un smiley s'il est réussi. Cela ne signifie pas que le navigateur est complètement à jour, mais indique quand même que de gros efforts ont été faits pour respecter les standards.
IE8 passe le test Acid2
Non vous ne rêvez pas !
Pour information, Firefox ne passe pas encore lui-même ce test. Ce sera néanmoins le cas dans la future version 3 qui se fait d'ailleurs un peu attendre

Vous pouvez
tester votre navigateur vous aussi si vous le désirez.
Oui mais... quel moteur utiliser ?
Bonne question ! Comment va faire Internet Explorer pour détecter le moteur d'affichage à utiliser en fonction de la page web ? Comment va-t-il analyser le code source pour décider du moteur qui convient ?
Pour choisir entre le très vieux moteur (n°I) et le moteur "actuel" 5 (n°II), Internet Explorer mais aussi ses concurrents utilisent la technique du
Doctype switching. Si cela vous intéresse, je vous conseille de lire ce
tuto rédigé par Thunderseb qui vous en dira plus
Et pour le nouveau moteur ?
C'est là que le bât blesse. Microsoft propose aux webmasters d'utiliser une balise meta de ce type-là :
Code : HTML - Afficher / masquer les numéros de ligne<meta http-equiv="X-UA-Compatible" content="IE=8" />
... qui signifie en gros
"Je veux qu'Internet Explorer utilise son dernier moteur lorsqu'il est sur mon site". Cela signifierait ni plus ni moins la fin des problèmes de différence de comportement entre IE et Firefox. Plus de prise de tête !
Et le doctype, c'est fait pour les chiens ?
C'est la plus grosse critique faite à Microsoft à ce sujet. En temps normal, la première ligne de code d'une page web est le doctype qui sert à indiquer la version de (X)HTML que l'on utilise. C'est normalement une information suffisante, et IE
devrait l'utiliser. Mais dans la pratique c'est plus compliqué que cela : certains font des sites peu conformes aux standards et mettent pourtant un doctype récent.
On a d'un côté une très bonne idée (enfin un moteur de rendu à jour pour Internet Explorer), de l'autre une balise meta qui fait déjà grincer des dents. Elle n'a pas été officiellement retenue par Microsoft, mais elle semble être une solution crédible à leur problème de compatibilité avec les vieux sites.
En attendant, Internet Explorer 8 est toujours programmé par Microsoft pour le
second trimestre 2008. S'il n'y a pas de retard, ce devrait donc être dans peu de temps !