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 :
- Cascading Style Sheets W3C working group
https://www.w3.org/Style/CSS/members.en.php3 - Scalable Vector Graphics (SVG) Working Group
https://www.w3.org/Graphics/SVG/
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 :
- XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition)
https://www.w3.org/TR/xhtml1/ - Une traduction française du document ci-dessus
https://www.la-grange.net/w3c/xhtml1/ - SGML (Standard Generalized Markup Language)
https://fr.wikipedia.org/wiki/Standard_Generalized_Markup_Language
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 :
- The Web's future: XHTML 2.0
https://www.ibm.com/developerworks/web/library/wa-xhtml/ - XHTML 2.0 - W3C Working Draft (26 juillet 2006)
https://www.w3.org/TR/xhtml2/
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 :
- Site Web officiel du WHATWG : www.whatwg.org
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 :
- Victime du HTML 5, le XHTML 2 ne sera jamais une recommandation du W3C
https://blog.britoweb.net/post/2009/07/02/Victime-du-HTML-5-le-XHTML-2-ne-sera-jamais-une-recommandation-du-W3C
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 :
- Le W3C relance l'activité HTML
https://www.w3.org/2007/03/html-pressrelease - W3C restarts HTML effort
https://blog.whatwg.org/w3c-restarts-html-effort - When Revolution meets Design by Committee: WHATWG proposes W3C to adopt HTML5
https://www.tkachenko.com/blog/archives/000690.html - HTML5 differences from HTML4
https://dev.w3.org/html5/html4-differences/
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 :
- Participants in the HTML Working Group
https://www.w3.org/2000/09/dbwg/details?group=40318&public=1 - Pour rejoindre le Working Group HTML du W3C – Instructions for joining the HTML Working Group
https://www.w3.org/2004/01/pp-impl/40318/instructions
—> 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) :
- Ian Hickson (Google) : https://en.wikipedia.org/wiki/Ian_Hickson
- Anne van Kesteren (Opera) : https://annevankesteren.nl/about
- Brenda Eich (Mozilla CTO) : https://brendaneich.com/ & https://en.wikipedia.org/wiki/Brendan_Eich
- David Baron (Mozilla) : https://dbaron.org/
- David Hyatt (Apple) : https://en.wikipedia.org/wiki/Dave_Hyatt
- Dean Edwards : https://dean.edwards.name/
- Håkon Wium Lie (Opera CTO) : https://people.opera.com/howcome/
- Johnny Stenback (Mozilla) : https://en.wikipedia.org/wiki/Johnny_Stenb%C3%A4ck
- Maciej Stachowiak (Apple) : https://en.wikipedia.org/wiki/Maciej_Stachowiak
Informations complémentaires :
- How does the WHATWG work?
https://wiki.whatwg.org/wiki/FAQ#How_does_the_WHATWG_work.3F - Web Hypertext Application Technology Working Group Charter
https://www.whatwg.org/charter - WHATWG decision process (Was: Technical Parity with W3C HTML Spec)
https://www.mail-archive.com/whatwg\@lists.whatwg.org/msg21933.html
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 :
- Interview with Ian Hickson, editor of the HTML5 specification
https://www.webstandards.org/2009/05/13/interview-with-ian-hickson-editor-of-the-html-5-specification/
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 :
- HTML Working Group Decision Policy
https://dev.w3.org/html5/decision-policy/decision-policy.html
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 :
- HTML5 : A vocabulary and associated APIs for HTML and XHTML ==> les spécifications HTML5 du W3C (Working Draft)
https://www.w3.org/TR/html5/ - HTML5 (including next generation additions still in development)Draft Standard — les spécifications HTML5 du WHATWG (Working Draft)
https://www.whatwg.org/specs/web-apps/current-work/ - W3C: Hold off on deploying HTML5 in websites
https://www.infoworld.com/print/140041
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 :
- Differences between the W3C and WHATWG specifications ==> Un exemple d'échange entre le W3C et le WHATWG
https://lists.w3.org/Archives/Public/public-html/2010Jun/0323.html#start323 - Interview with Ian Hickson on the HTML5 Specification (22 janvier 2010)
https://developer.practicalecommerce.com/articles/1589-Interview-with-Ian-Hickson-on-the-HTML-5-Specification - [whatwg] Technical Parity with W3C HTML Spec
https://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-June/026855.html
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
Comments
Anonymous
November 09, 2010
Billet d'une rare beauté, bravo ! J'étais complètement largué sur le sujet, et vous m'offrez de quoi briller à nouveau dans les soirée mondaines... Cependant, la conclusion happy end me laisse un peu perplexe... Car la lecture de votre votre historique semble annoncer la mort prochaine (en filigrane ) du petit Ian et de ces copains du WHATWG... Bien sur je n'ai aucun argument pour justifier mon propos, c'est juste du ressenti, mais quand même, dans ce David contre Goliath, Ian Hickson doit avoir de gros moments de solitude... Keep the pressure Ian..Anonymous
November 09, 2010
Bonjour, Merci pour votre commentaire. Je suis effectivement volontairement positif dans cette conclusion et je ne crois pas à la disparition prochaine ou futur du WHATWG (même si il faut le reconnaitre, son positionnement va plutôt à l'encontre d'un effort commun et consensuel pour définir les standards portés par le W3C). Personnellement, je vois vraiment le WHATWG comme un laboratoire d'idées et d'innovations qui par sa concurrence oblige le W3C à faire évoluer le Web. Reste son organisation et le processus d'approbation un peu trop influencé (à mon goût, mais là encore il y a matière à débats).
- Stanislas -
Anonymous
December 01, 2010
The comment has been removedAnonymous
October 05, 2011
Bonjour, Tout d'abord, merci pour ce magnifique article! Voilà, je suis étudiant en graphisme et je prépare un Travail Pratique sur la création de standard pour le web! j'aimerais me baser sur quelques uns de vos articles pour continuer mes recherche et me diriger dans la hiérarchisation de mon "TP". Je ne ferai bien entendu pas de "copier coller". Ce message comme demande d'autorisation... (si le TP est excellent il est susceptible d'être publié... mais je ne pense pas que ce sera mon cas!!!) Il va de soit que je vous citerai comme source, je donnerai aussi le lien vers votre site!! Je vous remercie encore pour ce billet vraiment bien!!! Au plaisir de recevoir de vos nouvelles! SeverinoAnonymous
October 05, 2011
The comment has been removed