Vers un Web standardisé mais fragmenté
Au sein de leurs travaux avec différents groupes de standardisation, les éditeurs planchent sur les prochaines technologies et notamment au niveau des propriétés expérimentales des feuilles de style. Chacun propose sa propre implémentation au sein de son moteur de rendu et ces nouveautés en cours de standardisation peuvent donc être testées pour chaque navigateur en étant préfixées. Ainsi le préfixe -webkit- permettra la prise en charge d'une propriété au sein des navigateurs sur le moteur WebKit (Safari, Chrome...) tandis que -moz-, -ms- et -o- feront fonctionner cette dernière au sein des navigateurs sous Gecko (Firefox, Mozilla, SeaMonkey, Camino), Internet Explorer et Opera si leurs éditeurs ont spécifié cet usage.En théorie, ce mécanisme permet donc de s'assurer que ces nouveautés fonctionneront sur l'ensemble des logiciels. En pratique, ces implémentations ont résulté en une fragmentation du Web. Qu'il s'agisse d'iOS, Android, Symbian ou BlackBerry, la plupart des OS mobiles reposent sur le moteur de rendu WebKit. Pour cette raison, plutôt que d'optimiser leurs applications Web pour l'ensemble des navigateurs, les développeurs web se limitent bien souvent à WebKit. Il en résulte un affichage médiocre au sein d'Opera Mini ou de Firefox Mobile par exemple.
Google Chrome et Safari - les deux principaux navigateurs basés sur WebKit
Par ailleurs, comme nous le rapportions dans une récente chronique, Webkit est aujourd'hui majoritairement développé par Apple et Google même si selon les dernières observations du cabinet d'analyse Bitergia, il y aurait une plus grande participation d'éditeurs tiers prenant part au développement du projet. Google et Apple restent les principaux décisionnaires filtrant chacune des propositions émises pour le développement du moteur de rendu. Pour Tristan Nitot, porte-parole principal de Mozilla en Europe, l'organisation autour de ce projet open source diffère quelque peu de celle de Gecko. Alors qu'il existe des contentieux entre Apple et Google, la communauté autour de Mozilla serait plus ouverte. Interrogé par nos soins à ce sujet, Google n'a pas souhaité s'exprimer.
La situation devient critique
En février 2012, Daniel Glazman co-président du groupe de travail CSS expliquait que la multiplication des sites Internet optimisés pour Webkit allait se traduire par l'intégration du préfixe -webkit- directement au sein du moteur de rendu des autres navigateurs. Cela reviendrait finalement à replacer le standard autour d'un seul moteur.Interrogé par nos soins, M. Glazman explique que la situation était véritablement critique mais que finalement les éditeurs de navigateurs n'ont pas tous procédé à cette intégration. En avril 2012, il a été décidé que ce n'était pas le bon chemin à prendre.
"J'appelle toute la communauté des créateurs Web à enlever immédiatement et à arrêter d'implémenter la détection des navigateurs WebKit sur les sites Web."
- D. Glazman -
- D. Glazman -
Pourtant, selon Bruce Lawson, Web Evangelist chez Opera Software, la société a bel et bien procédé à des changements en 2012. Il précise en effet que les règles pour WebKit étaient traitées comme si elles étaient non préfixées « afin d'afficher les sites correctement pour qu'aucun utilisateur ne soit pénalisé ». Puis en février 2013, Opera Software a finalement décidé de migrer son navigateur vers WebKit et abndonné Presto. Chewy Chong, responsable des relations avec les développeurs d'Internet Explorer, ajoute que pour Microsoft cette monoculture est « un frein à l'innovation » et, comme un clin d'œil à l'époque d'IE6, il précise que la société connaît bien « les problèmes liés à un écosystème basé autour d'un seul navigateur ».
Anthony Ricaud, ingénieur pour Firefox OS, précise que l'appel de M. Glazman découlait d'une discussion initiée par Mozilla. Les développeurs ont testé différentes versions expérimentales de Firefox intégrant le préfixe -webkit- directement au sein du moteur de rendu Gecko. « On s'est rendu compte qu'il y avait d'autres soucis », explique M. Ricaud. Il précise que certains sites Internet repéraient en outre le user agent identifiant le navigateur en cours d'utilisation par l'internaute afin de lui retourner une version spécifique.
Webkit ne convainc pas tout le monde
Récemment nous découvrions une vidéo filmée au sein du quartier général d'Opera Software et montrant un navigateur pour tablette baptisé Opera Ice. Ce dernier présentait la particularité d'être basé sur WebKit. Interrogé par nos soins à ce sujet l'éditeur norvégien explique : « ce que vous avez vu n'est qu'une partie de nos projets d'innovation ici à Opera. Nous vous informerons si nous décidons de lancer ce produit auprès du grand public ». Bruce Lawson ajoute : « Si nous lançons ce concept pour iOS, il fera naturellement usage de leur moteur de rendu à cause des régulations de l'app store en ce qui concerne les navigateurs Web ». En effet, Apple a toujours refusé d'accueillir un autre moteur de rendu et les navigateurs tiers doivent s'articuler, moyennant certaines restrictions, autour de WebKit. A l'heure où nous écrivions ces lignes Opera ne s'était pas exprimé sur d'éventuels changements pour l'édition desktop de son navigateur. L'éditeur a cependant annoncé qu'il adoptera le moteur de rendu WebKit ainsi que le moteur d'exécution JavaScript V8 pour les prochaines moutures d'Opera.
Face à ces restrictions imposées par Apple, Mozilla se montre plus mitigé sur sa volonté de déployer une version de Firefox pour iOS et adoptant WebKit. « Franchement on ne sait pas trop », affirme M. Nitot, « C'est perdant/perdant comme situation ». L'homme explique en effet que les navigateurs tiers n'ont pas accès à l'accélération JavaScript du système, laquelle est exclusivement réservée à Safari. « En vérité, Chrome est plus lent que Safari sur iOS par un facteur de 4 », déclare ainsi M. Nitot. Il n'est donc pas surprenant que les efforts de la fondation se soient initialement tournés vers le développement d'une version native de Firefox sur Android.
Paradoxalement, Mozilla planche également sur son propre OS mobile, baptisé Firefox OS. Celui-ci s'articulera entièrement autour de Gecko et ne sera pas en mesure d'accueillir d'autres moteurs de rendu. La situation ne serait-elle finalement pas similaire à celle d'Apple ? Pas tout à fait selon Mozilla. « Lorsque l'on migre d'iOS vers Android il faut racheter les applications mobiles », affirme Anthony Ricaud. Il précise que Firefox OS accueillera des applications Web mobiles basées sur les standards. « et celles-ci tournent parfaitement sur Android ». D'une certaine manière, le mobinaute conserve donc le choix de la plateforme pour exécuter ces dernières.
Statowl.com - Part de marché des moteurs de rendu de février 2012 à janvier 2013
Enfin de son côté Microsoft n'entend pas changer sa stratégie actuelle. Pour l'éditeur de Redmond il n'est pas question d'adopter Webkit, ni d'ailleurs de porter Internet Explorer sur d'autres systèmes d'exploitation mobiles. Chewy Chong déclare : « Microsoft croit au développement d'une expérience sans compromis pour les utilisateurs de Windows ». Et d'ajouter : « C'est la raison pour laquelle Internet Explorer a été conçu et développé pour offrir aux consommateurs la meilleure expérience sur leur appareil en tirant parti des performances du système d'exploitation et du matériel ». En d'autres termes, Internet Explorer est donc strictement optimisé pour Windows et Windows Phone. Interrogés par nos soins en novembre dernier, Ryan Gavin et Rob Mauceri, respectivement General Manager et Group Program Manager au sein de la division Internet Explorer, expliquaient qu'IE10 était au cœur de l'interface Modern UI.
Il faut ré-éduquer les développeurs Web
"Les standards du Web sont plus importants que jamais"
- Microsoft -
- Microsoft -
Ce sont effectivement bien souvent les développeurs qui sont pointés par les éditeurs de navigateurs. Bruce Lawson explique que ces dernières années, la société « a travaillé dur pour s'assurer que les standards du Web étaient respectés de manière globale » tout en continuant à améliorer les performances de son propre navigateur. L'éditeur norvégien a d'ailleurs mis au point un guide de bonnes pratiques baptisé The Web Standard Curriculum lequel est notamment utilisé au sein des universités. Opera Software est également l'un des membres fondateurs du site de référence www.webplatform.org.
Chewy Chong affirme pour sa part que « Trident a été reconnu à plusieurs reprises comme le moteur de navigateur le plus rapide et le plus sécurisé. Et quand les développeurs se basent sur les standards et déploient du code compatible avec l'ensemble des navigateurs, les sites fonctionnent parfaitement, quel que soit le moteur sous-jacent ». Au mois de novembre, Microsoft avait d'ailleurs lancé un appel afin que les développeurs prennent en compte Windows Phone et cessent de systématiquement préfixer leurs applications Web mobiles uniquement pour WebKit.
Pour M. Nitot il s'agit d'« une situation délicate qui est contraire à la nature du Web ». Il ajoute que la fondation Mozilla tente également de convaincre les développeurs d'adopter de bonnes pratiques tout en soulignant le succès de Firefox Mobile sur la plateforme Android.
Des solutions en cours d'étude
Finalement, à en juger par la situation actuelle, on pourrait penser que le système de préfixe au sein des feuilles de style devrait être remis en cause. Anthony Ricaud, explique que ce dernier reste cependant important. « Il ne s'agit pas simplement de développer des specs mais également des implémentations différentes ». Il est donc nécessaire que les développeurs Web testent les nouveautés afin de voir si leurs implémentations sont satisfaisantes et/ou incomplètes. Daniel Glazman ajoute qu'à l'heure actuelle il est difficile d'annoncer à des développeurs Web qu'un consortium met en œuvre certaines nouveautés mais qu'ils n'auront accès à ces dernières que lorsqu'elles seront finalisées.
Mozilla planche sur une autre manière de proposer certaines fonctionnalités expérimentales sans pour autant qu'elles aient un impact trop important. Après réflexion, ces dernières pourraient en effet n'être activées qu'au sein des versions alpha (Aurora) et bêta. Cela signifierait donc que les développeurs pourraient les implémenter au sein de leurs sites Internet, mais elles ne seraient cependant accessibles qu'auprès d'un nombre restreint d'internautes. En somme les fonctionnalités expérimentales seraient cantonnées aux navigateurs expérimentaux.
D'autres solutions sont envisagées et notamment en proposant des mécanismes permettant, non pas de repérer les préfixes de la feuille de style, mais directement les fonctionnalités implémentées au sein du navigateur telles que la géolocalisation ou la prise en charge de la balise < video > par exemple. Le développeur Web peut ainsi faire appel à certaines API et, en fonction de la réponse reçue (présente ou absente), proposer deux versions légèrement différentes de son application Web avec soit un système de fallback au sein de la feuille de style, soit via des déclarations conditionnelles en JavaScript.
Finalement la situation devrait donc évoluer peu à peu. Qu'ils se basent sur des technologies open source ou propriétaires, tous les éditeurs de navigateurs s'accordent en tout cas sur un point : le respect des standards du Web. Chacun encourage les Web designers à revoir leur mode de développement et finalement c'est sans doute à eux qu'il revient de garantir une véritable compatibilité de leurs sites Internet quel que soit le navigateur de leurs visiteurs.
Mise à jour:
Cet article a été mis à jour afin de prendre en compte l'annonce officielle de migration d'Opera Software vers le moteur de rendu WebKit.
Cet article a été mis à jour afin de prendre en compte l'annonce officielle de migration d'Opera Software vers le moteur de rendu WebKit.