Le nouveau mode Standards d'IE8 sera utilisé par défaut

En brisant la sacro-sainte compatibilité ? Hé bien oui 109
ie7Depuis que Microsoft a commencé à discuter d’Internet Explorer 8, les regards se sont tournés vers un domaine particulier du développement web : les standards. Il s’agit d’un secteur dans lequel le navigateur de Microsoft n’a jamais brillé, laissé sur le carreau par d’autres tels que Firefox, Safari et Opera.

Internet Explorer, le meilleur ennemi des développeurs ?

Bien que la version 7 ait largement amélioré la situation, elle l’a aussi perturbée. Tous les navigateurs possèdent en général deux modes de rendu, associés chacun à un moteur particulier, ou un mode de fonctionnement particulier. C’est le cas pour tous les navigateurs cités précédemment, qui possèdent un mode « Quirks » (littéralement « bizarreries ») et un mode « Standards ». Il existe des différences entre chaque navigateur, les développeurs faisant leurs propres choix pour chacun de ces modes.

Si vous vous demandez quel est le but de la présence de ces deux modes, c’est assez simple : le mode Quirks permet au navigateur de reconnaître les anciens sites, réalisés par exemple avec de vieux outils, ou de vieilles versions de certains langages. Le mode Standards aura à charge, quant à lui, de détecter les versions récentes d’un site construit avec des langages et technologies tout ce qu’il y a de plus recommandés par le W3C (entre autres).

Techniquement, et même depuis des années, un développeur utilisant ces recommandations pour concevoir un site devrait voir ce dernier s’afficher de la même manière dans tous les navigateurs respectueux des standards. Or, ce n’est pas parce que chaque logiciel a un mode Standards que lesdits standards sont respectés. Ce fut le cas d’Internet Explorer 6.

Trois mode de rendu pour Internet Explorer 8

firefoxLa version 7 a changé la donne, bien qu’elle soit encore à la traîne vis-à-vis de la concurrence. Cela ne s’est toutefois pas passé sans heurt. Microsoft a choisi en effet d’améliorer grandement son mode de rendu Standards pour régler les problèmes de la version 6. Problème principal : les développeurs avaient appris à faire avec, et avaient trouvé des moyens de contourner les limitations d’IE6. En conséquence de quoi, les sites créés de cette manière ne pouvaient même plus s’afficher correctement avec IE7, devenu intransigeant avec les « bidouilles ». La compatibilité a été brisée, alors qu’elle constituait un cheval de bataille pour Microsoft, voire carrément une excuse.

Internet Explorer 8, on le sait déjà, aura trois modes de rendu. Le premier sera le mode Quirks , qui aura donc la tâche de s’occuper des vieux sites. Le deuxième sera le mode de rendu d’Internet Explorer 7. Le navigateur devra donc déterminer dans le code quel est le mode que le site réclame. Et en cas de site n’utilisant que des standards ? Alors c’est ici qu’entrera en jeu le nouveau mode de rendu Standards.

Changement radical d'optique

Précédemment, l’équipe de développement d’Internet Explorer avait indiqué qu’il faudrait inclure une balise dans le code du site web pour déclarer que ce dernier pouvait être lu en mode Standards dans Internet Explorer 8. C’était une conséquence du choix qui avait été fait de garder le moteur de rendu d’Internet Explorer 7 par défaut, pour ne pas briser à nouveau la compatibilité, ou tout du moins pour en minimiser les effets désagréables pour l’utilisateur.

Si l’on en croit le blog des développeurs, les choses ont changé. Décision a en effet été prise de choisir le nouveau mode Standards par défaut, pour aligner concrètement Internet Explorer 8 sur la concurrence et le placer en ligne de front pour la nouvelle vague de sites web basés sur des technologies et standards récents.

Comment cela va-t-il se passer en pratique ? Internet Explorer 8 utilisera son nouveau moteur de rendu pour gérer les standards, que Microsoft promet comme étant bien meilleur. Par contre, la situation est désormais inverse : il fallait précédemment déclarer dans le code du site une balise pour signaler que le nouveau mode d’IE8 devait être utilisé, alors qu’il sera désormais utilisé en priorité, et qu’il faudra spécifiquement déclarer une balise particulière pour utiliser le rendu de la version 7.

W3CLa compatibilité sacrifiée au profit des standards

Ce changement, que les développeurs décrivent comme une suite logique des accords d’interopérabilité lancés récemment, éclaire aussi les résultats obtenus sur le test Acid2. Ce dernier avait été, toujours selon Microsoft, passé sans aucun problème par le nouveau mode Standards de la version 8. Mais il avait fallu déclarer au nouveau navigateur que la page du test réclamait justement le nouveau moteur de rendu. La logique voudrait donc que la prochaine bêta puisse passer le test sans aucune modification.

La décision risque d’un côté de casser légèrement la compatibilité de nombreux sites, surtout si leur code n’est plus mis à jour. De l’autre, cela devrait largement simplifier le travail des développeurs, car si Microsoft tient ses promesses sur le respect des standards, alors on se dirigerait enfin vers l’ère du « un seul code, le même affichage partout ».

Ray Ozzie, architecte en chef de Microsoft et remplaçant de Bill Gates, a indiqué que la décision n’avait pas été facile à prendre. Selon lui, des milliards de pages web fonctionneront mal, et la firme va devoir faire un énorme travail de communication autour d’Internet Explorer 8 pour prévenir des répercussions.

Certains trouveront que la compatibilité est la priorité, et d’autres estimeront que le respect des standards vaut certains sacrifices. Microsoft a fait un choix qui porte sur le long terme, mais si l’éditeur confirme ses paroles en actes concrets, les bénéfices devraient être importants.