Pourquoi mon site internet ne fonctionne pas aussi bien sous IE que sous firefox ?
Pour répondre à cette question, il faut d'abord revenir aux fondamentaux de l'internet.
Les navigateurs internet tels que IE, firefox ou Safari, interprètent un langage, principalement HTML, qui décrit la façon dont les pages doivent être affichées.
Les caractéristiques de ce langage sont normalisées par un organisme, le W3C. Depuis les débuts de l'internet dans les année 1990, il y a eu plusieurs versions successives de ce langage, intégrant des nouveautés liées aux évolutions technologiques.
Il faut comprendre qu'une norme est nécessaire car les logiciels qui fabriquent les pages et qui equipent les sites internet sont différents des logiciels qui lisent ces pages. De plus une personne qui crée un site internet ne connait pas a priori le modèle du navigateur de la personne qui le consultera.
Le problème vient de ce que cette norme, quelque soit sa précision laisse une certaine marge d'interprétation. De plus les fabricants de navigateurs sont enclins à exploiter au maximum leur savoir faire spécifique et les dernières possibilités offertes par les sytèmes d'exploitation sur lesquels ils fonctionnent.
Ainsi IE par exemple, va offrir des mécanismes supplémentaires, non normalisés, pour réaliser des effets spéciaux de transparence à l'affichage des images.
D'autre part chaque navigateur va présenter des 'bugs' spécifiques dûs à une mauvaise interprétation de la norme W3C, qui dans certain cas aboutiront à une représentation différente d'une même page.
La plupart de ces limitations sont aujourd'hui documentées et connues des éditeurs de sites.
Les sites internet arrivent à s'en sortir quand même en adoptant plusieurs stratégies:
- Certains sites se contraignent à n'utiliser que les fonctionnalités HTML bien comprises de tous les navigateurs, au détriment des possibilités d'effets spéciaux qui permettent de rendre le site plus spéctaculaire.
- Il existe des fonctions sur les sites pour déterminer le modèle du navigateur de chaque utilisateur et d'adapter le code HTML qui pourrait poser problème. Ceci permet d'utiliser à fond les possibilités des navigateurs les plus courants et de présenter un mode 'dégradé' pour les autres.
Dans les pires cas, certains sites, ou certaines fonctionnalités spécifiques du site ne fonctionneront pas avec certains navigateurs.
En conclusion, selon les moyens dont on dispose, il faut soit réaliser un site internet 'simple', soit identifier chaque composant ou page pouvant poser des problèmes et générer un code différent selon le modèle de navigateur, ce qui multiplie le travail de conception par le nombre de modèles de navigateurs.