Il y a quelques jours, un de mes partenaires sur un projet de webdocu en Belgique me demande de lui faire une synthèse pour ne pas se retrouver gros jean devant le client. Il doit le rencontrer prochainement et il veut un bon debrief sur ce html5 que tout le monde déclare la solution à tous les maux et dont je dis qu’on ne peut pas l’utiliser en l’état aujourd’hui. Le client (qui n’y connaît rien non plus…) ne comprends pas. Il faut absolument lui expliquer nos choix techniques.
Me voila donc parti dans une grande entreprise de vulgarisation sur le sujet.
Après coup, je me dis que c’est un peu “le web pour les nuls”, mais c’est un bon départ pour qu’il comprenne. Alors voila cette synthèse, pour ceux qui n’auraient pas suivis. Geeks, passez votre chemin.
Du html vers le html5, un parcours douloureux.
Pour permettre une transversalité plus grande sur les différentes plateformes (ordinateurs et mobiles), pour simplifer le code du html, et pour optimiser le potentiel des navigateurs, l’organisme qui gère/organise depuis toujours cette transversalité (le W3C), s’est attelé à une tâche colossale : faire évoluer le langage html. En 1997, le w3c a validé la dernière version du html, celle que l’on utilise aujourd’hui : c’est la version 4(+). Cette version a été augmentée par de nouvelles routines au fil du temps : la plus importante est le XHTML qui ne change pas grand chose au html proprement dit.
Cette nouvelle version dans les tuyaux et dont tout le monde parle, c’est donc le html5. Mais ce dossier du html5 n’est pas nouveau puisqu’il a été ouvert dès 2008. 2008. Cela paraît loin, mais c’est un langage toujours en développement et dont le w3c n’annonce la “recommandation”, comme ils disent, que pour 2016. On n’est pas rendu … Le html5 ne marche donc pas encore bien.
Le problème, c’est que le w3c ne travaille pas tout seul, il doit composer avec les fabriquants de navigateurs qui doivent implémenter dans leurs navigateurs les nouvelles balises et les nouveaux attributs de ce langage. C’est cela qui fait que c’est si long, car les acteurs du marché n’ont pas tous avec leurs navigateurs les mêmes priorités que celles du w3c .
CSS évoluées et moteurs de rendus : une guerre des navigateurs.
Mais il n’y a pas que la question du html qui est à l’oeuvre aujourd’hui sur le web.
Les fabricants eux même développent chacun des “moteurs de rendu” qui permettent aussi d’interpréter des langages évolués : CSS et javascript. Les CSS (feuilles de styles en cascade), qui facilitaient la mise en forme des pages web ont été introduites très tôt, au milieu des années 90, et ont fait l’unanimité au début. Mais à partir de sa version 2, les opérateurs (Microsoft avec Internet Explorer en particulier) ont commençé à se démarquer des spécifications pour les plier à leurs propres moteurs de rendu. Avec CSS3, c’est pareil. Il ne fonctionne pas de la même manière sur tous les navigateurs. Les CSS3 permettent des choses très puissantes, mais assez peu des modules CSS3 sont aujourd’hui validés par le w3c. Le résultat, c’est une écriture multiple du code : pour chaque moteur de rendu, et donc pour chaque navigateur, il faut un code adapté. En gros, on écrit 3 fois le code.
Pour info voila les principaux moteurs de rendu :
Gecko : Firefox (le principal)
Webkit : Chrome et safari
Presto : Opera
Trident : IE
Aujourd’hui, donc, les constructeurs de navigateurs se tirent la bourre, et on est simultanément, dans un désir de normalisation du côté w3c et une guerre de tranchées un peu opaque de l’autre.
Heureusement, de bonnes volontés font avancer la machine.
En parallèle de ce combat titanesque que je viens de te décrire, des développeurs indépendants, open source et volontaires créent des librairies libres qui facilitent le travail de tout les webdesigners et autres développeurs. Ce sont des sortes de “plugins” qui permettent de simplifier les commandes communes du langage javascript, qui est un langage facilement interprété par les navigateurs.
Une de ces bibliothèque est très populaire : il s’agit de jquery. Jquery offre une grande souplesse pour réaliser des interfaces évoluées. Aujourd’hui on utilise souvent simultanément les CSS3 validées par le W3C et les commandes Jquery.
La puissance de ce couple permet de faire de l’animation ou du design graphique, presque comme peut le faire flash pour le rendu, mais avec moins de facilité pour ce qui est de la réalisation.
Au final, une vrai évolution du web, mais anarchique et sans garantie
Le html5, le grand public et nombre d’opérateurs du web n’en avaient cure avant qu’Apple lance son pavé dans la mare en interdisant flash sur ses smartphones et tablettes. D’un coup, tout un pan actif de créateurs web se voit interdire l’accès aux devices mobiles. Et tout ces petit monde doit mettre un coup pour faire avec les moyens du bord ce qui était auparavant facile avec flash. Pour eux (et moi, donc), c’est une mutation quasi épistémologique. On ne peut plus être graphiste/designer sans avoir une bonne base de programmation et tout le monde est en phase d’acquisition.
Mais pour autant, le web qui s’annonce ne sera pas aussi transversal qu’on veut nous le faire croire. Tout cela va très vite, et sur certains aspects, on voit l’écart se creuser entre le w3c qui veut réguler, les majors du web qui protègent leur pré carré, et une communauté free style et inventive, dont les rangs s’étoffent tous les jours. Tout laisse à penser que nous allons vers des périodes d’anarchie pour nos navigateurs. Dieu nous garde.
