· Tech watch

Internet Explorer reste un cauchemar pour les développeurs web

Poussé par les mises à jour automatique windows update, Internet Explorer 7 est largement diffusé et grignote peu à peu les parts de marché de IE6.

IE7 apporte de nombreuses améliorations :
– une interface améliorée (tant au niveau du logiciel en lui même que des rendus HTML par défaut)
– la navigation par onglet
– l’intégration de la gestion du RSS
– un grand renforcement des fonctionnalités de sécurité
– une meilleure intégration des extensions

Concernant le développement web, IE7 ne respecte toujours pas les standards du web (le support de CSS2 étant bien meilleur[[on peut citer le [support correct du z-index->http://blogs.msdn.com/ie/archive/2006/01/17/514076.aspx] sur les champs SELECT par exemple]] mais toujours pas complet). Pire, les contournements permettant de faire fonctionner normalement un site sous IE6 (sortie en 2001) ne sont plus interprétés par IE7 et peuvent parfois rajouter d’autres problèmes.

Je m’explique. Avant IE7, un moyen commun pour rendre un site respectueux des standards compatibles graphiquement avec IE6 était la surcharge de notre « bonne » feuille de style par une feuille de style dédié à IE ainsi :

< !--[if IE]>
<link rel="stylesheet" type="text/css" href="/css/ie.css" />
< ![endif]-->

Notre feuille de style particulière permettant de corriger ces divers bugs.

Cette pratique rompait avec la mauvaise habitude des hacks non conformes au sein de la même feuille comme par exemple[[bug présent dans IE5.x mais également dans IE6 avec un prologue XML]] :

voice-family : "\"}\"" ;
voice-family:inherit ;

A la sortie de IE7, certains sites ainsi construit affichaient un rendu non conforme. Or ni la simple utilisation de notre feuille CSS maîtresse ni l’adjonction du correctif qui marchait pour IE6 ne fonctionne maintenant.

En effet, IE7 n’interprète plus les hacks (merci !), a un comportement différent de celui d’IE6 mais – et là est le coeur du problème – n’a toujours pas un comportement respectueux des standards.

Donc, dans beaucoup de cas, la sortie de ce nouveau logiciel[[à comparer avec la sortie de Firefox 2 qui n’a pas provoqué de travaux sur les sites internet]]impose l’élaboration et la mise en production d’une nouvelle feuille de style via une intégration de ce genre :

<link rel="stylesheet" type="text/css" href="/css/styles.css" />
< !--[if lte IE 7]>
<link rel="stylesheet" type="text/css" href="/css/ie7.css" />
< ![endif]-->
< !--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="/css/ie6.css" />
< ![endif]-->

De plus, les ajustements à faire, même s’ils sont peu nombreux, ne sont pas franchement évidents – voire défient toute logique (manipulations du z-index, changement de type de positionnement etc.). On peut imaginer qu’ils sont simplement encore peu connus, mais pour beaucoup : cela relève du casse tête.

Parmi les exemples de bugs IE7, on peut citer :
positionnement absolu et padding
texte flottant provoquant une scrollbar horizontale

Il faudra intégrer la pratique de la feuille conditionnelle dans toutes les nouvelles réalisations. Pire, il faudra bien sûr la maintenir, et compléter les tests fonctionnels avec IE7.

Ceci est bien dommage, quand on sait qu’aujourd’hui la plupart des navigateurs sont respectueux des standards du W3C. Un développeurs web ne devrait plus se soucier d’une intégration particulière à un seul d’entre eux. Espérons que Microsoft rende son navigateur entièrement compatible avec ces standards grâce aux « mises à jour » pour ne pas avoir à attendre une version 8[[il a fallu plusieurs versions d’IE pour qu’il affiche une image PNG correctement. La version 6 n’est toujours pas capable d’afficher la transparence du PNG.]].

Microsoft n’a pas réussi à fabriquer un produit interopérable et n’a pas respecté la compatibilité ascendante de ce produit (bon certes, ce point était largement annoncé). A contrario, et si on se limite à Safari et Firefox, le développeur web n’a (presque) pas de soucis particulier à développer pour ces deux navigateurs.

Alors oui, Internet Explorer, en version 7, va rapidement obtenir une position de leader sur le marché des navigateurs, il va coûter cher à tous les webmasters, et il reste bien un cauchemar pour les développeurs web.

7 commentaires

  1. Je ne suis pas spécialement d’accord avec le ton donné à ton article. En tant que pro, je suis plus heureux de travailler sur IE7 qu’IE6. Pour exemple, ce qui en général passe sous Firefox passe aussi sous IE7 sans trop de problème. J’ai beaucoup moins recours à des feuilles spécifiques comme sur IE6 où là c’était vraiment le cauchemar. Le problème, toujours dans un contexte grand public, est qu’IE6 a encore énormément de part de marché. Donc du coup il est vrai qu’on bosse assez souvent pour 3 versions : Opera, Safari, FF / IE6 / IE7 : et là il est vrai que c’est pas mal de travail.
    Voilà où nous mènent les monopoles :)

  2. Nicolas Hoizey

    Le problème n’est pas tant pour les nouveaux sites — qu’on peut directement penser pour les navigateurs modernes — que pour les sites déjà pleins de hacks pour IE6 qu’il faut reprendre pour éviter les effets de bord indésirables dans IE7…

  3. Nicolas FROIDURE

    Personellement, je n’ai pas eu trop de problème étant donné que j’ai toujours essayé de faire des designs compatible avec FF et IE sans aucune adaptation.

    Le seul problème que j’ai eu est le Zoom qui détériorait l’affichage des listes en ligne. Résolu avec un float:left; pour celles alignées à gauche, mais le flot:right; n’a pas pu être appliqué pour les cas de menus alignés à droite

    Le zoom détruit donc l’affichage jusqu’à nouvel ordre… Mais bon, je suis assez d’accord sur le fait qu’IE7 est tout de même un progrès et que je suis impatient que tout les réfractaire à Firefox y passent.

  4. Frédéric13

    Pour ce qui est des blogs, tout fonctionne à merveille sous FireFox… Et sur IE, il y a toujours des problèmes d’affichage pour peu que mon blog contienne du Flash… Par pitié ! Je ne suis pas un Pro du développement, alors faites en sorte que ce soit simple dans la compatibilité !!!
    IE c’est pour moi un cauchemard ! Partant de là, je signale toujours sur la page d’accueil de mon Blog : « pour pouvoir tout lire de -MonSite-, installez la dernière version du navigateur FireFox ».
    Frédéric13.

  5. euh, IE 7 accepte aussi des hacks…

    Pas les memes que IE6, mais ils prend des hacks.

    et puis personnelement, je trouve l’utilisation de hacks bien plsu simple pour la maintenance d’un site que d’utiliser une deuxieme feuille de style spécifique.

    parceque avec 2 feuilles de styles, quand tu reprend un site 1 mois apres tu te rappelle plus forcement quel element tu as modifié juste pour IE et ca oblige a jongler entre 2 fichiers constamment

  6. IE Casseur

    Ben moi je vais faire un site incompatible à IE6 et IE7, qui s’affichera super mal sur ces deux (mais passe sur IE8). Et quand de nombreux sites seront incompatibles avec IE 6 et 7, qu’ils seront imbitables pour les internautes qui utilisent ces casseroles, eh bien ça va moderniser bien des PC, ça va rendre service à la communauté et ça emmerdera Microsoft de la même manière qu’ils avaient balkanisé Netscape. Bieeeeen fait. Et puis faut passer à Firefox sur PC c’est plus sûr. La tête que fera Redmond le jour où Firefox sera dominant sur PC, imaginez… Tout d’un coup sûr que Internet Explorer se mettra à suivre les standards dare dare !

  7. Bonjour à tous,

    Avant d’aller dormir.. Je viens de passer un nombre incalculable d’heures sur le design et le dev de mon site pro.

    J’apporte mon total accord, notamment à IE casseur.
    Cette immondice de IE est une vraie cochonceté ! J’ai testé une partie sous Safari, Camino, Firefox, Opéra… Mon Dieu que c’est beau et agréable le CSS.

    ….. Sauf, évidemment sur cette bouse de IE ! Donc stop, ca suffit. Cette casserole ne respecte rien des standards. Mise en page immonde, transparence PNG 24 ingérée sur IE blabla….
    Et oui, je refuse aussi de modifier mon code, l’alourdir de saletés juste pour que cette poubelle de nav fasse son boulot.
    Je vais plutôt annoncer la couleur très clairement sur l’accueil. A force, peut-être que les gens arrêteront d’utiliser ce « truc » ou alors que Gros-$oft réussira à pondre un navigateur potable… Mais là, ce n’est visiblement pas demain.

    M’sieurs Dames :)

Les commentaires sont désormais fermés.