Un peu d'histoire...
Au tout début du web, seules quelques documentations rudimentaires faisaient office de guide pour la création de page web. Mosaic, puis Netscape se sont emparés de ces documents pour créer des navigateurs de plus en plus puissants, en créant des extensions aux spécifications de départ. Microsoft, en 1996, a suivi Netscape dans le mouvement, créant à son tour des extensions à HTML qui lui étaient propres. L'émulation due à la concurrence faisant son office, Netscape et Microsoft ont chacun leur tour "amélioré" HTML d'une façon incompatible avec leur concurrent. C'est ainsi que l'on s'est retrouvé avec le Web divisé en deux camps, l'un pro-Microsoft, et l'autre pro-Netscape, chaque camp arborant autant de bannières proclamant son appartenance au "bon" camp. Le développeur Web devait pour supporter les deux navigateurs, faire des choix cornéliens :
- n'utiliser qu'une syntaxe commune aux deux navigateurs, et se retrouver avec un site très banal
- ne s'adresser qu'à l'un des deux camps (et sacrifier ainsi une grande partie de son audience)
- faire deux versions de son site, (une pour chaque camp) au prix d'un travail bien plus important
La concurrence entre Netscape et Microsoft a dont abouti à une balkanisation
du web, complètement à l'encontre de son ambition de départ, comme le rappelait Tim Berners-Lee (l'inventeur du Web) dans Technology Review, en juillet 1996 : Quiconque appose sur une page du web un logo du type : 'Cette page est optimisée pour le navigateur X' est quelqu'un qui semble souhaiter revenir à l'époque préhistorique d'avant le web, lorsque l'on avait très peu de chances de pouvoir lire un document écrit sur un autre ordinateur, un autre traitement de texte ou un autre réseau.
Mais aujourd'hui, en 2002, les choses ont bien changé. Car depuis les débuts du web, un organisme de standardisation, le W3C, a été créé, et il propose à la communauté les spécifications (ou cahier des charges) en vue de standardiser le Web. Les trois grands acteurs, Microsoft, Netscape et Opera, ont montré leur volonté de respecter ces standards.
Mais pourquoi faire ?
Justement, pour éviter cette balkanisation, qui force les webmasters à une multitude de circonvolutions pour supporter plusieurs navigateurs. Mais outre leur coût, ces bidouilles ont l'inconvénient de ne pas fonctionner correctement avec les navigateurs récents ou "alternatifs". C'est ainsi que de nombreux utilisateurs d'Opera, de Netscape 7 ou Mozilla (ou d'autres qui utilisent la même technologie) ne peuvent accéder à différents sites. En particulier, les utilisateurs de GNU/Linux (deuxième système d'exploitation en terme de parts de marché, devant MacOS et derrière Windows) sont pénalisés car Microsoft n'a pas jugé souhaitable de porter son Internet Explorer sur ce système... Mais ce n'est pas tout.
Pour l'avenir du web!
On considère souvent à juste titre que nous n'en sommes qu'au balbutiement d'Internet. Les Web services, de nouvelles applications, de nouveaux services, l'avènement d'XML et des la messagerie instantanée, de nouveaux terminaux (PDA, téléphones mobiles) promettent de nouveaux usages. Mais tout cela n'est possible que dans la mesure ou les fondations du web sont solides. Après un démarrage chaotique, voire anarchique, le W3C offre à travers ses recommandations une consolidation de ces fondations, avec une vision à long terme. Parmi les grands principes que l'on peut observer dans la démarche du W3C, on peut retenir les suivants :
- Transition vers XML préparant l'évolution vers les Web Services grâce à XHTML
- Séparation de la structure du contenu (HTML et XHTML) de sa présentation (CSS) avec compatibilité de plusieurs moyens de consultation (papier, écran informatique, audio, TV, plage braille etc...)
- Standards ouverts pour les principaux formats (image fixe, schémas animés, équations mathématiques...)
Pour l'accessibilité
La très grande majorité des sites web actuels n'est accessible qu'au moyen de navigateurs graphiques, empêchant ainsi leur accès par des personnes atteintes d'un handicap (malvoyants ou handicapés physiques ne pouvant pas se servir d'une souris). Il faut dire que le HTML tel qu'il a évolué de 1993 à 1997, ne prévoyait pas le support de synthétiseurs vocaux ou de plages Braille. Les standards du W3C intègrent ces considérations dans les standards et facilitent grandement la création de sites dits accessibles. Notons que les gouvernements anglais et américains obligent d'ors et déjà leurs administrations à produire des sites Web accessibles, et que la tendance semble s'amorcer en France, si l'on en croit la publication du site www.internet.gouv.fr de la traduction des WCAG (Web Content Accessibility Guidelines / Lignes directrices pour l'accès des contenus Web).
Pour la production de contenu web à moindre coût.
Lors la création de nouveaux sites web, la séparation du contenu structuré de sa présentation est une aubaine pour les développeurs Web. En effet, il est possible de créer des feuilles de style qui s'appliqueront à un ou plusieurs documents, permettant ainsi de changer l'apparence d'un site en changeant simplement la feuille de style. Un tel exploit est quasiment impossible pour les sites mélangeant contenu et présentation, et qui nécessitent de modifier chaque page pour ce genre d'opération. L'utilisation des feuilles de style permet aussi à l'utilisateur de configurer son système en fonction de ses goûts et de ses besoins (fort contraste et gros caractères pour certains mal-voyants), d'un éventuel handicap ou tout simplement de son matériel (grand écran à très haute résolution).
Pour la pérennité des documents.
Enfin, la pérennité des documents HTML est aujourd'hui en cause. On pourrait en rire, si certaines anecdotes ne démontraient que le sujet est sérieux. Je n'en citerais que deux. De nombreuses entreprises ont à une certaine époque standardisé leur bureautique sur l'outil "standard" du moment. Le format (pourtant propriétaire) choisi était celui de WordPerfect. Lors de la disparition de ce format, ces mêmes entreprises ont du effectuer une migration longue et coûteuse de ce format... Et n'oublions pas que les données acquises par la Nasa sur Mars dans le cadre de l'opération Viking en 1976 sont stockées sur des bandes magnétiques que personne à ce jour n'arrive à relire. Aussi, les chercheurs en sont réduits à fouiller les listings papier qu'un de leur prédécesseur n'avait pas jetés! Dans 10 ou 20 ans, qui peut dire qu'on trouvera encore un vieil Internet Explorer 4 qui saura interpréter les documents anciens à la syntaxe défaillante ?
Conclusion
Que ce soit à l'occasion d'une refonte d'un site, ou la création d'un nouveau service, l'utilisation des standards est indéniablement la solution qui permettra de conjuguer favorablement les contraintes économiques, ergonomiques, humaines et de pérennité. L'utilisation de XHTML et de CSS (et si besoin, ECMAScript associé au DOM W3) est l'occasion pour les développeurs Web d'aborder les standards en douceur, en capitalisant sur leurs connaissances du HTML, et en contribuant à élargir leur audience (tous les navigateurs modernes, sur toutes les plate formes), tout en consolidant les fondations du Web. Une telle perspective n'est-elle pas extrêmement réjouissante ? ;-)
Annexe
Mais quels standards, au fait ?
Au risque de simplifier à outrance, les principaux standards du W3C sont :
- HTML 4.01 pour structurer les documents (HTML 4.01 existe depuis 1997, et il a été remplacé depuis par XHTML 1.0 puis 1.1, qui utilise une syntaxe très proche, mais compatible XML)
- CSS 2 pour la mise en forme typographique et la mise en page. (feuille de styles en cascade)
- ECMAScript 262. Version standardisée de JavaScript, il s'agit du langage de script inventé par Netscape, permettant d'inclure des traitements informatiques coté navigateur.
- DOM (Document Object Model et ses APIs), un modèle de document et ses interfaces programmatiques permettant la modification dynamique du document avec du Javascript, ce qu'on appelait à une époque le "Dynamic HTML".
- On peut aussi citer PNG (images fixes), MathML (pour les formules mathématiques), XML, SVG (animations vectorisées, comparable à Flash), etc.