Mais qui construit l'HTML5 ?

Aujourd'hui tout le monde parle d'HMTL5 car c'est un des gros sujets relatifs à l'évolution du Web et des nouveaux usages au travers des navigateurs Web.

HTML5 peut signifier selon les personnes deux choses : soit un ensemble de nouvelles technologies relatives au Web, soit un langage de balisage.

La plupart du temps, on englobe sous le terme générique HTML5 une famille de 3 technologies Web très différentes et complémentaires :

- HTML5 : le langage de balisage de la future génération d'application Web
- CSS3 qui permet d'appliquer des feuilles styles aux pages Web
- SVG 1.1 qui est un moteur de dessin vectoriel

Note : contrairement au markup HTML5 ou à CSS3, SVG (Scalable Vector Graphics) n'est pas vraiment une nouveauté car cela existe depuis 6 ans mais cette technologie n'était pas, jusqu'aujourd'hui, implémentée dans l'ensemble des navigateurs Web rendant ainsi son usage relativement confidentiel. Avec l'implémentation totale de SVG 1.1 dans Internet Explorer 9, cette technologie sera donc supportée par l'ensemble des éditeurs de navigateurs et du coup relance fortement son intérêt.

Dans cet article, je vais me focaliser sur l'aspect langage de balisage HTML5 et sur les acteurs en charge de sa construction.

Pour des informations complémentaires sur CSS et SVG, vous pouvez consultez les ressources suivantes :

HTML5 construction

Un peu d'histoire :

En 1998, les membres du W3C décidèrent qu'ils n'allaient plus continuer à faire évoluer le langage HTML (qui était stabilisé dans sa version 4.01) et désormais concentrer leurs travaux sur l'utilisation de l'XML.

Pour rappel : Le rôle du W3C dans l'établissement des recommandations autour de HTML, CSS ou SVG est d'attirer l'attention sur les spécifications et de promouvoir leur diffusion le plus largement possible. En suivant et respectant les recommandations du W3C, on améliore la fonctionnalité et l'interopérabilité du Web. Le W3C reste et demeure donc la référence quand on parle des normes et standard du Web.

En 2000, Une nouvelle spécification était en train de naitre : l'XHTML (Extensible HyperText Markup Language) qui vous l'aurez compris nécessitait une syntaxe de type XML. XHTML 1.0 était donc une reformulation de l'HTML 4.01 en XML 1.0.

XHMTL avait pour objectif de reproduire HTML 4.01 mais avec une syntaxe plus récente et plus exigeante que celle sur laquelle reposait HTML (HTML est une application du SGML)

XHTLM 1.0 subit une révision en 2002 et à cette époque, le W3C déclarait "La famille XHTML est la prochaine étape de l'évolution d'internet. En migrant aujourd'hui vers XHTML, les développeurs de contenu peuvent entrer dans le monde XML avec tous ses bénéfices attendus, tout en restant confiant sur la compatibilité ascendante et future de leur contenu"

Informations complémentaires :

Continuant sur sa lancée, le W3C s'attaque à une nouveau chantier : l'XHTML 2.0 dont le premier brouillon est publié le 5 aout 2002 (il y aura 8 versions draft, la dernière datant de juillet 2006). Contrairement à son prédécesseur (l'XHTML 1.0), l'XHTML 2.0 n'assurait aucune compatibilité descendante avec les standards précédents du Web (certaines balises n'étaient plus valides comme la balise img...)

Informations complémentaires :

Cette volonté appuyée du W3C de remplacer l'HTML 4.01 et sa syntaxe SGML par du tout XML n'était cependant pas vraiment suivi par nombre de développeurs Web ou éditeurs de navigateurs Web et la rupture de compatibilité entre XHTML 1.0 et 2.0 n'a rien amélioré dans ce sens.

Ainsi, un petit groupe de développeurs chez Opera, non convaincus qu'XML était nécessairement le futur standards pour les développeurs Web, décidèrent d'essayer de voir comment étendre les fonctionnalités d'HTML 4.01 sans pour autant remettre en cause ce standard (c'est à dire en conservant la compatibilité descendante). Ils commencèrent à travailler sur leurs spécifications Proof Of Concept pour étendre les formulaires HTML (HTML Form). Cette spécification deviendra par la suite les Web Form 2.0 qui font parties des spécification d'HTML5. Ces développeurs furent rejoint rapidement par d'autres personnes de la fondation Mozilla et d'Apple. Le groupe ainsi constitué et dirigé par Ian Hickson fut baptisé WHATWG (Web Hypertext Application Technology Working Group). Par la suite, Ian Hickson quitta Opera pour Google où il continue à travailler à plein temps sur HTML5 (appelé à l'époque Web Applications 1.0)

Plus d'informations sur le WHATWG :

En 2006, les membres du W3C finissent par admettre qu'ils ont été probablement trop ambitieux, révolutionnaires ou optimistes en espérant que les développeurs et le monde du Web allait passer de HTML à XML (le fossé HTML -> XHTML 1.0 et le gouffre HTML --> XHTML 2.0 n'ont clairement pas aidé). Le XHTML 2.0 ne deviendra donc jamais un standard du W3C et sera figé à sa version brouillon de juillet 2006.

Informations complémentaires :

Du coup, au W3C, c'est le groupe de travail (Working Group) HTML qui renait un peu de ses cendres en 2007 et qui vote pour utiliser les spécifications du WHATWG (Web Application) comme base de la nouvelle version/génération d'HTML.

Communiqué de presse du W3C le 7 mars 2007 :
"Reconnaissant l’importance d’un forum ouvert pour le développement de la technologie prédominante de contenu Web, le W3C invite aujourd’hui les fournisseurs de navigateurs, développeurs d’application et créateurs de contenu Web à contribuer à la conception de la prochaine version du langage HTML en participant au nouveau Groupe de travail HTML du W3C."

En 2009, le W3C officialise la fin des travaux et la mort d'XHTML 2.0 (dont le dernier brouillon est celui de 2006) et "réaffecte" ses ressources sur HTML5 qui offre beaucoup d'avantages donc un essentiel : la rétrocompatibilité

Informations complémentaires :

Là va commencer un processus assez inhabituel de conception et de développement des spécifications d'HTML5 :

—> d'un côté le Working Group HTML du W3C avec à sa tête un duo constitué de Chris Wilson (Microsoft) et Dan Connolly (W3C/MIT). Duo qui deviendra par la suite un triumvera constitué aujourd'hui de Sam Ruby (IBM), Paul Cotton (Microsoft) et Maciej Stachoviak (Apple). Ce Working Group HTML comprend en octobre 2010 442 participants (184 venant de 51 organisations + 258 experts invités).

A titre indicatif voici aujourd'hui la représentation des principaux éditeurs de navigateurs Web dans ce groupe de travail HTML du W3C :

  • 16 employés de Microsoft dont 1 Chairman (Paul Cotton)
  • 17 membres de la Fondation Mozilla
  • 11 employés d'Apple dont 1 Chairman (Maciej Stachoviak)
  • 19 employés d'Opéra
  • 14 employés de Google

Plus d'informations sur les membres du Working Group HTML du W3C :

—> de l'autre le Working Group HTML du WHATWG toujours dirigé par Ian Hickson. Le WHATWG fonctionne de manière assez ouverte avec l'utilisation d'une liste de diffusion (https://www.whatwg.org/mailing-list) dans laquelle tout le monde peut participer et proposer des idées pour faire évoluer les technologies du Web. Chaque courrier serait lu par l'Editeur Ian Hickson (ian@hixie.ch) ou le comité de surveillance (constituée de 8 personnalités venant principalement d'Opera, d'Apple et de la Fondation Mozilla). Les bonnes idées (soumises via mail, Twitter, IRC..) peuvent être alors travaillées / implémentées et les autres rejetées sachant que la décision finale revient toujours à l'Editeur (sauf en cas de désaccord du comité de surveillance) .

Plus d'informations sur les membres du WHATWG (L'Editeur et le comité de surveillance) :

Informations complémentaires :

On remarque donc la forte présence des éditeurs de navigateurs Web au sein de ces deux organisations (W3C et WHATWG) ce qui est bien entendu compréhensible mais aussi apporte un certain pragmatisme : certaines fonctionnalités sont développées et poussées par les éditeurs en fonction de leur activité commerciale. En mars 2009, lors d'une interview, à la question "Est-ce que les éditeurs de navigateurs ont une influence sur les spécifications ?" Ian "Hixie" Hickson répondait "La réalité est que les éditeurs de navigateurs disposent du véto ultime sur une spécification car s'ils choisissent de ne pas l'implémenter, alors cette spécification n'est rien qu'une fiction. Donc oui, ils ont une grande influence, je ne veux pas écrire de la fiction mais des spécifications documentant le comportement actuel des navigateurs"

Informations complémentaires :

Choc des cultures : l'approche W3C vs approche WHATWG

La dernière phrase de Ian Hickson (cf. plus haut) résume plutôt bien l'approche retenue par le WHATWG : si une idée est retenue (par Ian Hickson et/ou le comité), alors des tests d'implémentation technique de l'idée sont réalisés (principalement par les éditeurs de navigateurs ou moteurs de navigateurs), si l'idée devient utilisable et implémentée un moteur ou un navigateur alors elle peut justifier l'écriture d'une spécification. Dans tous les cas, vous l'aurez compris Ian Hickson "L'Editeur" dirige le choix des spécifications rédigées par le WHATWG. 

L'approche faite par le W3C est, elle, beaucoup plus consensuelle (voire technocratique), principalement par sa structure organisationnelle (3 chairmans) et par le fait que les problèmes se traitent directement avec les éditeurs de spécifications et ne sont escaladés qu'en dernier recours auprès des Chairmans.

2 processus existent :
Le processus basique


source image : https://dev.w3.org/html5/decision-policy/basic-process.png

Le processus d'escalade


source image : https://dev.w3.org/html5/decision-policy/escalation-process.png

Informations complémentaires :

Au final, ces deux groupes de travail éditent chacun leur document de spécification (qui sont aujourd'hui encore à l'état de brouillon) d'HTML5 avec des points communs mais aussi des divergences.

On peut donc résumer et (très) simplifier ces 2 groupes de travail sur HTML5 de la manière suivante :

- Le W3C : fournit des spécifications (définies de manière consensuelle) que les éditeurs de navigateurs implémentent et doivent suivre pour respecter les standards du Web (je le rappelle, en terme de normes et standards du Web, seul le W3C fait référence)

- Le WHATWG : retient, teste et implémente des idées (retenues par l'Editeur et le comité de surveillance) puis en décline une spécification

Aujourd'hui (en octobre 2010), les documents sur les spécifications d'HTML5 créés par les deux organisations sont encore à l'état de brouillon (draft) et certaines spécifications ne sont pas encore terminées (voire encore en pleine mutation).  Ainsi, aujourd'hui, il n'est pas forcément recommandé de deployer en production des sites en full HTML5. Certaines personnalités du Web le rappellent régulièrement (comme Philippe Le Hegaret du W3C par exemple. cf lien ci-dessous)

Informations complémentaires :

Il devrait toujours demeurer des désaccords et certaines tensions entre les 2 organisations (W3C et WHATWG) du fait des modes de fonctionnement assez différents (mais aussi des fortes personnalités présentes dans les deux camps), mais dans tous les cas cela ne pourra être que bénéfique au développement d'un Web toujours plus riche et en constante évolution !

Informations complémentaires :

Voilà, j’espère que cet article vous aura éclairé sur HTML5 et sa construction :-)

– Stanislas Quastana -

Tags: HTML5, HTML+5, CSS3, SVG, IE+9, Internet+Explorer, Microsoft, W3C, WHATWG, HTML, Working+Group, Specification, Microsoft, Apple, Mozilla, Google, Opera, navigateur+Web, navigateur, browser