Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07086.jsonl.gz/1254

Et zut, mon site s'affiche parfaitement avec Safari et pourtant j'ai le droit à de jolies variantes avec Internet Explorer! Une bonne idée serait d'envoyer ce dernier dans les choux. Mais il serait intéressant de comprendre pourquoi il nous est permis de constater de telles différences entre les navigateurs web et de voir comment nous en sommes arrivés là.
Les débuts du Web
C'est au début des années 70 (prononcez comme vous le voulez) qu'apparaît Internet, le réseau informatique mondial. Celui-ci reste réservé à de très rares privilégiés jusqu'à ce qu'en 1991 Tim Berners-Lee ait la bonne idée de créer le World Wide Web, fonctionnant sur Internet et connu sous différentes appellations telles que WWW, W3 ou plus couramment le Web. Le langage informatique alors utilisé pour écrire ses propres pages Web est l'Hypertext Markup Language, abrégé HTML.
Les navigateurs Web publics font petit-à-petit leur apparition, avec NSCA Mosaic en 1993, Netscape Navigator en 1994 ou encore Internet Explorer en 1995, et le Web prend petit-à-petit son envol. Malheureusement, la description du HTML reste assez floue et ce sont les navigateurs qui en définissent les règles.
En octobre 1994 est fondé un consortium appelé World Wide Web Consortium, ou W3C, dans le but de clarifier la situation grâce à des recommandations promouvant la compatibilité des technologies du Web. Ce sont le Massachusetts Institute of Technology (Etats-Unis), le European Research Consortium for Informatics and Mathematics et l'Université Keio (Japon) qui assurent sa gestion.
Après plusieurs mois de recherche, le W3C propose fin 1995 un document décrivant le HTML 2.0.
En janvier 1997, le W3C publie la spécification du HTML 3.0, puis celle du HTML 4.0 en décembre de la même année. Une nouvelle version notée 4.1 apportant quelques corrections voit le jour en décembre 1999.
Droit vers le chaos
À la fin des années 1990, Netscape Navigator et Internet Explorer se livrent une vraie bataille sur le marché des navigateurs web. Si le premier nommé menait largement à la moitié de la décennie, il voit son avance fondre littéralement au profit du navigateur de Microsoft qui, intégré au cœur du système maison dès Windows 98 et également "porté" sur Mac (la version Mac étant bien différente, notamment au niveau du moteur de rendu, sur quoi je reviendrai plus tard), s'octroie plus de 90% des parts de marché en 2002.
Inévitablement, la majeure partie des concepteurs web font en sorte d'optimiser leurs sites pour qu'ils fonctionnent sous Netscape et plus encore sous Internet Explorer. Or le support de ces navigateurs ne correspondant de loin pas aux recommandations du W3C, chacun voulant offrir toujours mieux en rajoutant de nombreuses extensions HTML propriétaires à leur propre guise, le code des pages web devient un mélange de tout et n'importe quoi, malgré tous les efforts de normalisation du W3C. Ainsi, il est permis de faire certaines choses avec un navigateur qui sont totalement impossibles avec un autre et par conséquent mal affichées.
Constatant l'état chaotique du Web contrariant son ambition initiale, le W3C se charge de remettre les pendules à l'heure. Le HTML est abandonné au profit du XHTML 1.0, pour Extensible Hypertext Markup Language, dont la spécification est publiée en janvier 2000, suivie de celle du XHTML 1.1 en mai 2001. Bien que très proche du HTML puisqu'il en reprend la syntaxe, le XTHML est issu du XML et oblige à soigner son code, laissant beaucoup moins de libertés et de fantaisies possibles.
La démarche proposée par le W3C reprend une idée parue dès les débuts du Web consistant à séparer la structure du document de sa présentation. Le XHTML permet de réaliser la structure du document alors que les feuilles de style en cascade, appelées CSS pour Cascading Style Sheets, s'occupent de la mise en page. Si le CSS date déjà de fin 1996, avec une deuxième version en 1998, il rencontra énormément de difficultés à s'imposer au sein des navigateurs et ce n'est qu'avec cette nouvelle démarche que le W3C montre clairement le chemin à suivre.
Du côté des navigateurs
Bien heureusement, de nouveaux navigateurs dits alternatifs, ou si vous préférez autre qu'Internet Explorer, beaucoup plus respectueux des standards que ce dernier, font surface depuis quelques années maintenant. Les plus connus sont bien sûr Firefox, Safari, Opera ou encore Mozilla.
Signe encourageant, Firefox voit sa popularité croître de mois en mois, avec plus de 20 millions de téléchargements en un peu moins de 2 mois pour la dernière version 1.5 et une part de marché dépassant les 20% en Europe et les 15% aux Etats-Unis d'après une étude du cabinet Xiti réalisée au début de cette année. Il n'est d'ailleurs pas le seul à faire de l'ombre à Internet Explorer puisque Safari, Mozilla ou Opera voient leur cote grimper également.
On remarque nettement le renversement de situation entre Netscape et IE, qui perd tout de même du terrain depuis environ 3 ans.
Graphique tiré de cette page.
Comme je l'ai dit, des navigateurs tels que Safari, Firefox ou Opera sont développés en respectant les standards ouverts.
Pourtant, il existe des différences dans l'affichage entre ces butineurs, notamment à cause d'un moteur de rendu différent d'un navigateur à l'autre. Le moteur de rendu est un composant logiciel qui permet l'affichage d'une page à l'écran en interprétant son code.
Ainsi Safari utilise WebKit, un moteur basé sur le moteur Open-Source KHTML développé par Konqueror pour son navigateur homonyme, Firefox, Mozilla et Netscape utilisent Gecko, également Open-Source, alors qu'Opera est basé sur Presto et iCab sur un moteur maison du même nom. Pour les personnes intéressées, voici une liste plus complète des moteurs de rendu.
Un bon moyen pour comparer les navigateurs est de leur faire passer le test Acid2 sur les normes du CSS, assez exigeant. VRic l'avait fait en nous parlant d'iCab. Voilà ce que cela donne pour les navigateurs cités plus haut:
On remarque que Safari et iCab justement s'en sortent parfaitement. Ce qui n'est pas le cas de tout le monde…
Se plier aux recommandations
Evidemment, si les navigateurs respectent les standards, il faut qu'il en soit de même pour les concepteurs de sites web, sans quoi ceux-ci risquent de voir le fruit de leur travail mal affiché sur les navigateurs récents.
Mais soyons clairs, cette tendance à retrouver un équilibre sain du web n'est pas un désavantage pour les développeurs, bien au contraire!
De nos jours, il est tout bonnement impensable de réaliser un site web sans le tester sur de nombreux navigateurs afin de s'assurer que tout s'affiche plus ou moins correctement. Je ne dis pas que cette phase de tests disparaîtra si les standards sont appliqués de part et d'autre, mais le travail du concepteur en sera grandement simplifié; en effet, la moindre des choses à laquelle s'attendre lorsque l'on développe un site ou un logiciel dans un certain langage est que celui-ci soit interprété correctement partout où il est utilisé!
Voyez que je parle d'un affichage "plus ou moins" correct. Oui, car là encore, il est impossible qu'un site construit sur les standards XHTML et CSS2 s'affiche de la même manière partout. Il faut donc faire des choix…
La démarche que suivent beaucoup d'éditeurs de sites web est de partir du principe qu'il est préférable d'être visible du plus grand nombre d'internautes. Or de cette manière il est impossible de se conformer aux recommandations.
L'autre optique est donc de respecter ces standards, sachant que son site ne s'affichera sans doute pas correctement sur certains navigateurs.
Par exemple, Cuk est entièrement valide XTHML 1.0 Transitionnal (je reviendrai sur la validité), garantissant une compatibilité maximale avec les navigateurs récents.
Pour ma part, je m'assure de la validité XTHML 1.0 tout en testant la compatibilité avec Safari, Firefox, Opera et Mozilla, même s'il arrive toujours que de petits détails soient différents.
En mentionnant que son site est conforme aux standards et qu'il est totalement compatible avec les navigateurs tels que Firefox, le webmaster encourage aussi l'utilisateur à opter pour un navigateur moderne.
Tester la validité d'un site
Vous vous demandez peut-être donc ce que signifie pour un site d'être valide? Le W3C a pris soin d'offrir des "validateurs", outils facilitant le travail des concepteurs. Il s'agit en fait de programmes en ligne sur le site du W3C, auxquels on soumet une page web qui sera corrigée selon le standard choisi. Si aucune erreur n'est trouvée, la page est dite valide dans ce standard. Le webmaster a alors le droit de le mentionner dans son site. Dans le cas contraire, les erreurs sont affichées et c'est au concepteur de les corriger. Le site du W3C contient également toute la documentation nécessaire pour arriver à ses fins.
Cette image mentionne que le site est valide XHTML 1.0.
Si l'on s'intéresse plus particulièrement à la validité du code XHTML, on remarque qu'il existe plusieurs standards de validation:
- HTML 4.01
- XHTML 1.0 Transitional
- XHTML 1.0 Strict
- XHTML 1.1
Si une page est valide avec l'un d'eux, c'est qu'elle correspond à la spécification de cette version du langage. Transitional et Strict correspondent à quelques différences au sein d'une même version, mais je n'entrerai pas dans les détails.
En conclusion
Suivre les recommandations établies par le W3C est la seule façon de parvenir à un Web plus stable, basé sur de bonnes fondations, et ouvert à de nouvelles technologies. Grâce aux efforts de ce consortium ainsi qu'aux développeurs de navigateurs alternatifs récents, le Web se lance dans une nouvelle étape fondamentale pour son futur. L'utilisation conjointe du XTHML et des CSS par les développeurs Web est un pas de plus dans ce sens et n'est pas des moins importantes.
Reste à espérer que chacun continuera à y mettre du sien. N'oublions pas que le Web a 15 ans à peine et qu'il a tout a y gagner…