Osez renoncer aux vieux navigateurs

HTML5 et CSS3 sont désormais au cœur des discussions sur le développement Web. La question du support des navigateurs est souvent évoquée notamment pour le cas Internet Explorer. Les clients demandent encore souvent de supporter Internet Explorer 6 (IE6) alors que ce navigateur a plus de 10 ans. Si ce navigateur a été apprécié à sa sortie, il est devenu un cauchemar pour les développeurs Web tant il contient de nombreux bugs et ne respecte pas des standards comme CSS2. Est-il important de supporter les vieux navigateurs ? Y a-t-il des cas où on pourrait s’en passer ? Doit-on se focaliser exclusivement sur les navigateurs récents ?

Les vieux navigateurs font de la résistance

chart

Parts de marché des navigateurs en France en août 2011 (source: gs.statcounter.com)

Sorti en mars 2009, IE8 reste le leader des navigateurs en France avec 21 % de parts de marché. Cependant les quatre navigateurs suivants sont tous sortis il y a quelques mois et supportent de nombreuses fonctionnalités HTML5 et CSS3. On observe que près de 60 % des internautes français utilisent un navigateur récent qui supporte les dernières normes du W3C. Malheureusement il reste des utilisateurs sur les navigateurs IE6 (1,35 %) et IE7 (4,55 %) dont on connait la médiocrité du support de CSS2 et le nombre relativement important de bug d’implémentation. Pour information, ces navigateurs sont sortis respectivement le 27 août 2001 et le 18 octobre 2006.

En entreprise, les statistiques sont très différentes puisqu’en règle générale, un navigateur est imposé et souvent il s’agit d’Internet Explorer. IE6 est encore très présent même si des clients ont décidé de migrer leur parc vers IE8 en occultant totalement IE7. Mais rares sont les grandes entreprises qui autorisent l’utilisation d’un autre navigateur.

Internet Explorer, un navigateur trop lié à Windows

La plupart des navigateurs récents peuvent être installés sur une multitude de versions d’OS. Ce qui n’est pas le cas d’Internet Explorer où il existe une véritable dépendance entre Windows et le navigateur de Microsoft. Ainsi il est impossible d’installer IE9 sur Windows XP et IE10 ne sera disponible qu’à partir de Windows 7. Comme la part de marché de Windows XP est proche des 30%, ce n’est pas étonnant de voir le navigateur IE8 encore autant  utilisé.

Cette dépendance est relativement problématique pour les entreprises car si elles souhaitent migrer vers une version récente d’Internet Explorer, elles doivent envisager également une migration de la version de Windows. C’est la raison pour laquelle toutes les entreprises ne migrent que vers IE8 puisqu’elles n’ont pas encore migré vers Windows 7 pour d’autres raisons. La migration d’un système d’exploitation implique d’autres tests de non-régression à faire pourtant totalement décorréler de ceux d’un navigateur.

Ce lien fort est également pénalisant pour Microsoft car les supports de Windows et du navigateur sont liés. Le navigateur initial de Windows XP étant IE6, la firme de Redmond doit supporter IE6 jusqu’à la fin du support d’XP, c’est à dire jusqu’au 8 avril 2014. Près de 13 ans de support !

Doit-on encore supporter les vieux navigateurs ?

Sur Internet, la diversité des navigateurs utilisés par les internautes est importante. Des standards ont été établis par le W3C afin de rendre le Web accessible à tous quelque soit le navigateur utilisé. Les entreprises souhaitent encore qu’IE6 et IE7 soient supportés par leurs projets Web car ces vieux navigateurs sont encore présents dans leurs visites. Malheureusement supporter ces navigateurs implique de nombreuses contraintes :

  • Beaucoup d’efforts d’adaptation car ils n’implémentent pas correctement les standards. De nombreux développeurs estiment que cela représente un coût supplémentaire de 30%. Sur mon projet actuel dont l’IHM est très riche, on a estimé que ce surcoût approchait les 50%. Ce navigateur nous obligeait à créer beaucoup de CSS et JavaScript spécifiques à IE6.
  • Des performances catastrophiques dès que votre application Web possède un peu de JavaScript ou de modifications importante du DOM. Des scintillements et des ralentissements nuisibles à l’utilisateur sont observables sur ces vieux navigateurs. Pour information, il faut 20 secondes à IE6 pour réaliser SunSpider (test de performance JavaScript) alors que Chrome 14 et Firefox prenaient environ 250 ms. Sur Peacekeeper (test de performance rendu, manipulation DOM, etc.), IE6 n’obtient que 627 points alors que Firefox 7 et Chrome 14 obtiennent respectivement 5573 et  10109 points.
  • Impossibilité à utiliser HTML5 et CSS3 qui ajoutent de nouvelles possibilités et permettent des gains de productivité. Je vous invite à regarder la session USI HTML5 : quelles perspectives pour les entreprises ? pour en savoir plus.

De nombreuses contraintes avec ces vieux navigateurs pour très peu d’utilisateurs. Face à ce constat, les grands du Web ont fait leurs choix :

  • Google ne supporte Internet Explorer qu’à partir de sa version 8 sur ses produits Google+, Gmail, Google Docs et qu’à partir de sa version 7 sur Google Calendar et YouTube
  • Facebook ne supporte plus IE6 depuis plus d’un an
  • l’administration du CMS WordPress ne supporte plus IE6 depuis mai
  • Amazon n’assure plus la compatibilité avec IE6 des espaces d’administration de ses vendeurs

À moins que vous ne souhaitiez dépenser 30% en plus sur votre projet, arrêtez de supporter ces vieux navigateurs. Vous pouvez soit bloquer totalement l’accès comme le fait Google+ ou simplement prévenir l’internaute qu’il utilise un navigateur non supporté. Mais dans tous les cas, invitez vos utilisateurs à mettre à jour leur navigateur.

N’ayez pas peur d’utiliser des fonctions HTML5 et CSS3, des comportements dégradés sont prévus nativement. Si un navigateur ne comprends pas une propriété, il ne s’en préoccupe pas. Par exemple sur un vieux navigateur, un cadre aux coins arrondis aura les coins carrés ou encore un champ de saisie de type email deviendra un simple champ de saisie de texte. Ces comportements dégradés natifs feront l’objet d’un futur article.

Et si le navigateur de mon entreprise est IE6 ?

Le navigateur de nombreuses grandes entreprises est encore IE6 pour diverses raisons :

  • Certaines applications de leur SI ne fonctionnent que sur ce navigateur car les standards n’ont pas été respectés lors de sa réalisation.
  • Mettre à jour le navigateur imposerait de faire de nombreux tests de non-régression sur les applications du SI.
  • Et bien d’autres encore.

Cependant si certaines anciennes applications d’un SI retardent la migration d’Internet Explorer, ce n’est pas une raison pour pénaliser les nouvelles applications en endettant les développements et en privant les utilisateurs de fonctionnalités intéressantes. Internet Explorer n’est pas le seul navigateur, il est possible d’installer un navigateur récent tel que Firefox ou Chrome sur les postes des employés afin qu’ils bénéficient des avancés d’HTML5 et CSS3. Cela ne les empêchera pas d’utiliser IE6 pour les applications ne fonctionnant que sur cet ancien navigateur.

Une autre solution si vous ne souhaitez vraiment pas installer de navigateurs supplémentaires est le plugin Google Chrome Frame. Il permet d’utiliser le moteur de rendu du navigateur de Google dans IE6 à IE9. Les employés lancent ainsi le même navigateur mais suivant les applications accédées, le rendu sera géré par Internet Explorer ou le plugin Chrome Frame. Contrairement à l’installation d’un nouveau navigateur, l’installation de ce plugin ne nécessite plus les droits administrateurs.

Une autre alternative aux problèmes de droits administrateurs réside dans l’utilisation des Portable Apps de Firefox ou Chrome pour Windows. Ce système permet d’être autonome et de disposer d’un navigateur récent même sur une clé USB. Mais attention, les Portable Apps ne se mettent pas à jour automatiquement, il faut alors les télécharger à chaque nouvelle version pour être à jour. Cette solution n’est à utiliser qu’en dernier recours.

Faites le choix

Vous devez oublier de supporter IE6 et IE7 afin de profiter des avancées des standards du Web. Les grands du Web l’ont fait, les grandes entreprises françaises doivent aussi faire ce choix. Ne forcez pas vos employés à utiliser des vieux navigateurs qu’ils n’utilisent plus chez eux depuis longtemps, permettez leur d’utiliser un navigateur rapide avec des fonctionnalités avancées. N’endettez plus vos applications Web avec du code spécifique pour maintenir les vieux navigateurs. Ne vous bridez plus sur les fonctionnalités de vos applications Web sous prétexte d’être compatible avec les vieux navigateurs.

6 commentaires sur “Osez renoncer aux vieux navigateurs”

  • Excellent résumé de l'ensemble des problématiques auxquelles font face les entreprises vis-à-vis des navigateurs qui constituent dorénavant 'la porte d'entrée principale' des applications internes et externes. Gageons que l'évolution des postes de travail et des outils autour nous permettra d'aborder ce sujet différemment dans le futur (proche).
  • Excellent article, je vais le partager car il serait temps de faire ouvrir les yeux à pas mal de monde à ce sujet. Je suis complètement d'accord avec le surcoût occasionné par une comptabilité avec IE6 et je dirait que 30% est un minimum.
  • Très bon article qui résume les faits. Maintenant dans la réalité il reste parfois de fortes contraintes. Par exemple l'entreprise de taille internationale qui doit coordonner un intranet avec des infrastructures obsolètes et qui préfère être compatible ie6 plutôt que d'investir dans de nouvelles installations. Bien sûr l'option Google Frame existe. Néanmoins le choix s'oriente dans ce cas vers Flash car Frame est quasi inconnu et "risque de ne pas être installé par l'utilisateur du fait que ce dernier prendrait cela comme une publicité ou pire un virus" (argument très sérieux que j'ai eu en retour suite à une proposition...). Il y a également certaines boîtes de devs' qui ne jugent que par IE pour leur réseau interne (un comble) et qui ne se soucient pas d'une compatibilité des composants avec Chrome. Ne parlons même pas de versions mobiles... Pour résumer, je pense que la majorité est bien consciente de la nécessité d'évoluer vers les nouvelles technos (les temps de développements et les performances sont des preuves indéniables), seulement tant que les entreprises de tailles importantes ne feront pas l'effort de prendre le temps d'évoluer dans le bon sens et de driver l'ensemble vers le haut, certains gros projets nécessiteront une compatibilité IE7 ou 6 pendant encore quelque temps.
  • Bonjour Je suis plutôt d'accord, mais à un "petit" détail près : il faut aussi s'adapter à son public. Si vous prévoyez d'ouvrir un service un Chine, où l'utilisation d'IE6 est de l'ordre de 30%, vous ne pourrez pas vous passer de cette compatibilité. Pour l'instant. Mais pour le reste, clairement, il faut arrêter le support des vieilles versions. Fabrice
  • @Fabrice: C'est juste, IE6 est majoritairement implanté en Chine (contrefaçon de win XP massif, non reconnaissance ou très tardive des autorités pour IE8...). Donc il est facile de se dire autant faire du ie6 pour avoir une target plus large. Le problème c'est que tu ne cible pas la Chine comme tu cible un autre pays. Les habitudes ne sont absoluments pas les mêmes. C'est RenRen qui règne là-bas ou QQ et la plupart des sites que l'on visite sont bloqués là-bas. Considérant cela, je pense que tu dois aller plus vite de faire un dev à part pour la Chine si vraiment tu veux attaquer ce marché plutôt que de perdre ton temps à faire de la rétro compatibilité sur un site informatif par exemple qui ne sera probablement jamais visité. :)
  • Alors celui-là je le bookmark !
    1. Laisser un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


      Ce formulaire est protégé par Google Recaptcha