Les formats nous suivent partout, dans notre vocabulaire aussi bien que dans l'univers technique, et bien entendu dans le domaine de l'informatique et plus précisément du Web. Pour pouvoir les réutiliser dans les meilleures conditions, on les standardise, c'est à dire qu'on unifie leur interprétation et leur utilisation dans le but d'avoir un rendu correct et uniforme indépendamment de l'architecture technique et logicielle du client. La suite de ce billet explique le pourquoi du comment de cette standardisation.

Partons du principe que l'on conçoit un site à partir des deux technologies dites "clientes"[1] xHTML et CSS. Le problème réside du fait de la pluralités des solutions de traitement des fichiers Web dépendant de l'architecture de la machine du client, de son système d'exploitation (ou OS) et de ses solutions logicielles, dans ce cas le navigateur, qui peut être graphique, textuel ou vocal.

Pour mieux comprendre ce problème et ce qui a amené à la création de standards dans ce domaine, il faut revenir dans les années 90, aux prémices de la Toile. La course au Web prenait une ampleur démesurée et les leaders du marché des navigateurs Netscape et Internet Explorer faisaient tout pour attirer les utilisateurs, allant jusqu'à créer leurs technologies dites "propriétaires"[2]. Le second problème et non des moindres, était l'interprétation graphique très différente voire aléatoire des balises d'un logiciel à l'autre.

Le problème n'en était pas vraiment un du côté du visiteur, qui choisissait le client qui lui correspondait le mieux, mais plutôt du côté du développeur quasiment contraint à créer un site spécifique à chaque software. Ainsi il était long et fastidieux de vouloir rendre son site visible ou du moins avec un affichage correct sur les navigateurs les plus utilisés.

Pour imager l'importance des standards de façon plus courante et plus concrète, prenons l'exemple des conteneurs servant au transport des marchandises. Il s'agit de grandes boites, au format rectangulaire, tous de la même taille et tous conçus de la même façon. Imaginons cette fois qu'il n'y ai pas eu de taille ou de forme fixée : le stockage de ces conteneurs poserait problème, leur transport également. En effet, il faudrait un camion adapté à la taille de chaque conteneur, ils ne seraient pas universels.

Si l'on prend cette fois-ci des conteneurs en apparence tous identiques, le problème ne se pose plus, ils s'empilent sans problème, la manutention est identique pour chaque et ils sont à la taille unique qui permet un transport facile en train ou camion. Mais si un détail tel que les fixations change, il faut là aussi un support différent pour chaque modèle. On peut bien évidemment parer à quelques éventualités en concevant des plate formes pouvant accueillir différents types de fixation mais on ne peut pas prévoir les 50 ou 100 concepts différents.

C'est le même principe sur le Web, principalement sur l'affichage. Si l'on ne met pas de règles, certains peuvent décider que un simple pixel correspond à 10 centimètres, tandis que d'autres diront que la même unité ne représentera qu'un millimètre. D'où l'importance de mettre en place des règles ou spécifications chargées de définir le plus précisément possible la fonction et l'interprétation de chaque balise ou propriété afin d'uniformiser le rendu final, et de rendre disponible le site sous tous les navigateurs et systèmes d'exploitation.

C'est donc cette tâche d'uniformisation dans une visée d'interopérabilité[3] que le W3C publie ses "recommandations" qui portent d'ailleurs assez mal leur nom car il est primordial et presque obligatoire de les suivre. Ces recommandations s'adressent à la fois aux développeurs de logiciels et aux développeurs de sites Web pour essayer de faire en sorte que chacun parte sur des bases identiques.

Actuellement, même si l'épisode dit de "Balkanisation" n'est plus, on peut encore noter des différences d'interprétations entre les navigateurs "nouvelle génération" tels Firefox et Opera, et Internet Explorer 6 qui n'a pas subit de mises à jour depuis de très nombreuses années et qui interprète encore les balises de façon assez aléatoire. La nouvelle version estampillée 7 de ce navigateur qui devrai sortir fin 2006 ne corrigera que partiellement ce problème pour des questions de rétro-compatibilité. Il faudra donc un certain temps avant que cette standardisation ait véritablement achevé son oeuvre déjà bien entamée.

Edit : merci à Tristan Nitot pour sa note.

Notes

[1] Il s'agit de technologies s'exécutant du côté du client et non du serveur.

[2] Ce sont des technologies spécialement créées par les développeurs respectifs des deux navigateurs et n'étant disponibles que sur le logiciel de la firme l'ayant conçue.

[3] Il est question principalement du fait d'avoir accès à l'information indépendamment de la plate forme du client.