les bidouillages de kyungjin

blog de tests de kyungjin, tutos Canalblog

01 avril 2008

De l'intérêt des standards

Etiquettes:

Ce qui suit sont mes petites réflexions personnelles, sans avoir une connaissance approfondie du sujet.
Je ne suis qu'un modeste amateur, qui s'amuse à tripatouiller du code quand il a l'occasion.
Quand je travaille sur un site web, j'essaie autant que possible de respecter les standards du web.
Mais késako "les standards du web"?
Ce sont des normes définies par le W3C (pour World Wide Web Consortium) afin de normaliser le langage de programmation web. Les buts sont multiples, notamment que tout le monde parle le même langage et que l'accessibilité des sites soient assurée (accessibilité handicapé s'entend, quel que soit le handicap: moteur ou visuel en particulier).

Ces normes définissent donc la bonne utilisation des balises et attributs, la syntaxe, autrement dit l'orthographe et la grammaire du html et du css, ainsi que leur interprétation.
Toute page web doit commencer par la déclaration du doctype, le type de document, c'est-à-dire la norme qui est utilisée pour écrire cette page.
Par défaut sur Canalblog actuellement c'est ceci:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Dans ce cas, on indique au navigateur qu'on utilise le XHTML 1.0 Transitional, et que c'est donc ce qu'il doit traduire pour rendre l'affichage.
Et c'est là que c'est le foutoir, car les différents navigateurs n'interprètent pas le code forcément de la même façon. Toute personne qui a essayé de créer un site web s'est heurtée un jour à ce problème:
"ouais, j'ai fait mon site, je le regarde avec Firefox, il est super joli! bon, voyons voir si je regarde avec Internet Explorer... AAAAAAAAAAAAAAAAH! Mais c'est tout pas pareil! et pourquoi ce truc est passé là? et pourquoi...?"
Et on passe un temps fou à chercher pourquoi, à tester, à bidouiller son code, car on est amateur et on ne connait pas les hacks IE, c'est-à-dire les astuces pour rendre l'affichage correct dans IE.

Et là vous allez me demander pourquoi j'ai pris mon exemple dans cet ordre, Firefox puis IE? Et pourquoi on ne ferait pas un site bien dans IE et après on l'arrange pour Firefox?
Tout simplement parce que dans le respect de l'interprétation des standards, les meilleurs navigateurs sont en tête, en vrac et pour les plus connus et utilisés: Firefox, Opera et Safari.
IE est le mauvais élève, pour une raison simple: le quasi monopole dont il a bénéficié pendant des années.
De ce fait, il a fait un peu ce qu'il a voulu, les développeurs web s'alignant sur lui. IE6 est sorti en octobre 2001 et n'a pas évolué depuis, une éternité en matière informatique. Résultat: c'est une vraie plaie en matière de rendu des pages.
La concurrence émergente, de Firefox notamment, a poussé Microsoft à sortir IE7 qui améliore les choses, et à revoir sa copie sur IE8.

Il est donc conseillé de développer sur un navigateur respectueux, de vérifier l'affichage dans les autres navigateurs les plus respectueux et enfin de s'adapter à IE, tout en vérifiant que ces adaptations n'affectent pas les autres navigateurs. ce qui est pénible et fastidieux, je vous l'accorde.
Un des buts des standards du W3C est le rêve des développeurs: que tous les navigateurs interprètent le code de façon identique, afin que quand on crèe un site, on n'ait pas à le tester sur tous les logiciels du marché.



« Accueil  1