Les surcoûts de production liés à la retro-compatibilité IE6

Les années passent et pour le grand bien de tous les navigateurs se diversifient et évoluent. Nous poussons aujourd'hui l'expérience utilisateur plus loin et avons la possibilité de repousser les limites de la créativité avec des sites comme daftpunk.themaninblue.com ou encore des sites utilisants des parallax http://www.icodelabs.net/http://www.newzealand.com/nouvelle-z%C3%A9lande/

Il n'est pas question ici de parler de la légitimité des ces interfaces. Il est question ici de parler d'IE6 et de ce que cela coûte quand on veut proposer une expérience similaire aux internautes possédant ce navigateur. Il y a, à mon sens deux options disponibles, Chrome Frame et une surcouche de code retrocompatible. Chrome Frame est un simple plug-in qui donne à IE6 les moteurs Webkit et Javascript V8, ce qui permet aux utilisateurs de cette Relique de jouir d'une expérience à jour. Ceci dit  l'utilisation de gFrame pose par définition un certains nombres de problèmes. Au menu l'accessibilité - la page est invisible pour une lecteur d'écran - et donc le référencement en prennent un coup. Attention les arguments sont d'époque - deux ans dans le web c'est déjà beaucoup - et je crois que c'est un peu différent aujourd'hui. C'est une solution viable en entreprise quand on a pas le choix de son navigateur par exemple. De mon point de vue il est tout à fait pertinent de proposer cette solution car elle permet de proposer une expérience identique aux navigateurs derniers cris pour un prix modique de développement. Il vous faut un meta, une détection de fonctionnalité uniquement supportée par la Relique et une page pédagogique pour expliquer le pourquoi du comment. D'autant plus qu'une version du plug-in ne requérant pas les droits d'administrateur est en cours de release chez Google. Dans tous les cas si vous utilisez des fonctionnalités avancées l'utilisateur ne verrait pas grand chose, alors pourquoi se priver pour une petite partie de vos visiteurs ? Je crois difficilement que les sites à fortes expériences interactives soient accessibles ! Attention, je n'ai pas dit que c'était bien pour autant, je dis simplement que ce n'est pas la réalité. 

Dans le cas où vous auriez à développer un site pour une cible mondiale qui prend en compte les asiatiques et que vous voulez vous abstenir de gFrame vous ne devez pas perdre de vue qu'IE6 est encore présent. En Juin 2010, 30% des internautes Chinois utilisent IE6 ce qui représentait 126 millions d'internautes ! En clair, vous ne pouvez pas occulter cette partie très important de vos visiteurs.

D'expérience chiffrer la couche supplémentaire de développement est un exercice difficile. Vous devez d'abord étudier les éléments fonctionnels qui vont être dégradés mais également ceux qui ne seront plus supportés. J'en entends dans le fond qui m'envoie des solutions Javascript en tout genre pour palier aux problèmes d'implémentations. On peut raisonnablement en prendre quelques-uns mais la Relique ayant 10 ans, ses moteurs de rendus sont tout simplement à la ramasse et même avec une bonne machine, le navigateur est à genoux et plante. Après avoir fait cette étude vous devez prévoir une grosse période de tests afin de valider les dégradations. C'est un point délicat à aborder avec votre client mais il est nécessaire. Il vous permettra peut-être de basculer sur une solution plus légère dont je viens de parler plus haut. Enfin s'il faut donner une estimation grossière, il me semble que le surcoût se situe entre 20 et 40% sur le temps global du projet car la tâche implique tous les acteurs du projet. Il faut en effet définir le périmètre spécifique, le designer, le développer, le recetter et le mettre en ligne comme un projet séparé.

Je sais que nous sommes bien loin des concepts vertueux d'amélioration ou dégradation progressive mais je pense ne pas être loin de la réalité de beaucoup de mes collègues. 

Commentaires

1. Le par Anthony Ricaud

Juste un point, je ne vois pas pourquoi l'ajout d'une meta pour Chrome Frame est un problème pour le référencement.

2. Le par Adrien Leygues - Voulf

Ce n'est pas le meta qui pose problème, c'est l'utilisation du plug-in en lui même.

3. Le par Anthony Ricaud

En quoi ça pose un problème de référencement ? Google Search utilise Googlebot pour le référencement. Y a pas de lien avec le plug-in. Je ne comprends pas.

4. Le par Thierry Régagnon

"Au menu l'accessibilité - la page est invisible pour une lecteur d'écran - et donc le référencement en prennent un coup"
Tu t'avances un peu trop. En quoi la meta (ou le header) pour Chrome Frame dégrade le référencement ?
On dit souvent que les améliorations en accessibilité aident le référencement, mais cela ne veut pas dire que ce qui gêne l'accessibilité pénalise aussi le référencement.
Si je ne me trompe pas, le problème d'accessibilité de Chrome Frame est dû au plugin qui ne fait pas remonter les données de la page à l'API d'accessibilité de Windows, d'où le trou noir pour l'utilisateur. C'est très embêtant pour l'accessibilité, mais n'a aucune incidence pour le référencement.

5. Le par Adrien Leygues - Voulf

Autant pour moi ! Effectivement j'ai assimilé trop vite, le problème de gFrame pose un problème pour les lecteurs d'écran mais pas forcément pour les moteurs.

6. Le par Florent Verschelde

Belle synthèse, et merci d’avoir rappelé les problèmes de performance qui rendent les gros correctifs à coup de scripts JS (+VML et filtres Direct X) problématiques.

Une question: ce que tu écris sur IE6, n'est-ce pas applicable à IE7 également? Microsoft a corrigé des gros bugs qui tachent dans IE7, mais on a toujours un moteur de rendu CSS foireux qui repose sur du hasLayout capricieux, un support de CSS 2.1 limité, et un moteur JavaScript lent et ignorant tout un tas de standards (DOM/ES). Dans ton estimation globale de temps supplémentaire pour IE6, ça inclue je pense tout un tas de choses qui s’appliquent aussi à IE7. Si tu limites le support à IE7, que devient ton estimation de 20-40%?

7. Le par Adrien Leygues - Voulf

En effet, une bonne partie des remarques tiennent compte d'IE7 et tu as bien raison de le rappeler parce qu'on oublie souvent que son support n'est pas au top. Je dirais qu'il faut bien compter 15% de plus pour gérer IE7.

La discussion continue ailleurs