De la compréhension des normes du web

De plus en plus de sites s’affichent mal avec des navigateurs appliquants les normes du web. La faute incombe souvent au manque d’information, certains pensants que ‘aux normes’ est le contraire de ‘optimisé pour MS-IE’. En fait, c’est pareil. Presque. Un petit tour dans les entrailles des navigateurs et du code qu’ils lisent.

Si au début du web, tout le monde faisait pareil, les différents fabricants de navigateurs ont, dans les années qui ont suivi, ajouté des tas de fonctions propres à leur produit. Les versions 4 de Netscape et d’Internet-Explorer représentent le summum de différences entre eux. Peu à peu ensuite, voyant que cela ne mènerait nulle part d’avoir 2 ou 3 HTML différents et incompatibles, ces fabricants on rejoint le W3C (qui définit les normes du web) et les dernières versions de leur navigateurs sont compatibles avec ces normes.

Mais alors, pourquoi voit-on des sites présentants bien avec l’un et illisibles sur l’autre?

Parce que ces navigateurs intègrent une ‘compatibilité descendante’. Ça signifie que IE6 est compatible avec les sites faits pour IE4. Ces navigateurs récents ont en effet deux ‘moteurs’ sous le capot: le moteur applicant les normes et le moteur de compatibilité avec leur ancienne version. Si l’on fait un site applicant les extensions propriétaires que Microsoft avait mis dans IE4, alors le site n’est pas aux normes et ne passe pas sur des navigateurs n’ayant pas cette compatibilité de secours.

Si les sites sont faits aux normes, ils passeront de façon identique dans MSIE6, Mozilla1, Safari1, Opera7, etc. Voire même sur un PDA.

« Promouvoir les standards, c’est lutter pour une démocratisation du Web, pour l’interopérabilité des documents, pour l’accessibilité de l’information pour tout le monde sans regard sur leur condition personnelle et pour un avancement des technologies. » Denis Boudreau

Et quelles normes, quels standards? Il existe plusieures normes du W3C, servant différents buts. Parmi elles, citons L’HTML 4.01, la plus ancienne, plutôt tournée vers le passé et XHTML 1, plus ouvert aux extensions futures. Pour les sites partant de zéro, il est de loin préférable de partir d’XHTML plutôt que du vieillissant HTML4.

Il existe aussi des normes pour le javascript, notamment via le DOM du W3C. Par exemple, un ‘document.all’ de MSIE4 et un ‘document.layers’ issu de Netscape4 seront avantageusement remplacés par ‘document.getElementByID’. Et ça marche partout; plus besoin de faire des scripts devant trier 2 ou 3 browsers différents! Le plus dur est de ré-écrire les scripts existants. Non que ce soit dur, mais ça prend un peu de temps… Du coup, il est grand temps de jeter les livres sur Javascript qui parlent de document.all et de document.layers, des ouvrages plus récents vous fourniront les clés vers ce ‘javascript unifié’.

La mécanique des feuilles de styles a aussi ses normes, toujours faites par le consortium W3C, regroupant les principaux acteurs de ce marché. Ces normes s’appellent CSS.

Comment savoir si une page est aux normes? Facile! Pour le test CSS, il y a un validateur ici. Pour l'(X)HTML, c’est . Dans les deux cas, il suffit d’entrer l’URL de la page et il vous donnera le résultat. Si, pour le test (X)HTML, il vous annonce qu’il ne peut vérifier la page pour un problème de Doctype, c’est que la page ne s’annonce pas: voir ici. Si c’est un problème d’encoding, c’est que la page n’annonce pas dans quel jeu de caractères elle est faite. Voir ici par exemple. Enfin, il faut bien entendu que les lettres utilisées dans la page soit faites avec ce charset! Dans la plupart des cas, un iso-8859-15 est correct.

Certains pensent aussi qu’un site aux normes est moins bien qu’un autre; peut-être est-ce la peur du changement qui amène cette idée. Elle est fausse: pour faire un site aux normes présentant bien, il faut juste quelques connaissances et du temps; tout comme pour faire un site qui ne soit aux normes. Seules changent quelques unes des connaissances requises. Des sites comme Eyrolles, Phish, FastClemmy ou encore ceux du Css Zen Garden sont la preuve qu’on peut faire des sites modernes, aux normes, attractifs et clairs. Comme souvent, ce sont les humains qui font la différence.

Voir également:

A propos lolz