Comment s’élabore un standard du W3C

World Wide Web Consortium.

Les principales technologies du Web obéissent à des “standards” établis par le W3C. Que ce soit HTML, CSS, ou SVG, chacune de leurs implémentations doit suivre les règles d’un document normatif appelé W3C Recommendation. L’objectif est d’avoir un comportement identique dans tout navigateur, sur toute plateforme. Si vous vous demandez comment sont produits ces standards du web, cet article est pour vous.

Le consortium

Fondé en 1994 par Tim Berners-Lee, l’inventeur du web, avec le soutien du MIT, le World Wide Web Consortium (W3C) a pour mission de “mener le web à son plein potentiel” grâce à des directives et protocoles ouverts et interopérables. Exprimé plus simplement, il a pour but d’éviter l’anarchie technologique sur le web.

Le W3C est un consortium d'organisations membres, au nombre de 420 à ce jour. Ces organisations peuvent être des universités, des agences gouvernementales, des fondations, des associations, ou des entreprises de toutes tailles (de IBM avec 378 000 employés à Disruptive Innovations, une entreprise unipersonnelle). Tous les membres du W3C sont traités à égalité, chacun ayant les mêmes droits. Chaque membre cotise, à la mesure de sa taille et de son pays d’origine (ceux des pays riches payent plus cher) pour financer le fonctionnement du consortium. Au Canada, une petite entreprise ou un organisme à but non lucratif de moins de 10 employés doit payer 2 250 USD annuellement, et pour une très grosse entreprise (plus d’un milliard de chiffre d’affaires), c’est 77 000 USD. Si Spiria voulait devenir membre, nous devrions payer 7 900 USD. Bien sûr, l’investissement est bien plus élevé que la seule cotisation, puisque vous devez en tant que membre déléguer des représentants aux groupes de travail qui vous intéressent. Vous payez en quelque sorte pour le privilège de travailler gracieusement pour le W3C, ce qui se conçoit pour la défense du web ouvert ou celle de votre vision de l’avenir d’une technologie.

Les entreprises membres sont d’horizons très divers, mais elles ont toutes un intérêt dans le développement de technologies liées au web. On y trouve par exemple, pour ne citer que parmi les plus connues : Adobe, Akamai, American Express, Apple, Baidu, BlackBerry, Bloomberg, Boeing, BBC, Canon, Cisco, Comcast, Dell, Deutsche Telekom, Dolby Laboratories, Dropbox, eBay, Facebook, Fujitsu, Google, Hachette Livre, Hewlett Packard, Hitachi, HBO, IBM, Intel, Intuit, Jaguar Land Rover, Konica Minolta, LG, Microsoft, NEC, Netflix, NHK, Nielsen, Orange, Panasonic, PayPal, Samsung Electronics, Siemens, SoftBank, Sony, Target, Telefónica, Toshiba, Twitter, Verisign, Verizon, Viacom, Visa, The Walt Disney Company, Worldpay, Yahoo, Yandex, etc.

Le Consortium est conjointement administré par quatre institutions : le Laboratoire d’informatique et d’intelligence artificielle de l’Institut de technologie du Massachusetts (Cambridge, MA, USA), le Consortium européen de recherches en informatique et mathématiques (Sophia Antipolis, France), l’université Keiō (Tokyo, Japon) et l'université Beihang (Pékin, Chine). Ses employés, au nombre d’environ 75, sont répartis dans le monde entier, principalement sur trois sites : Cambridge (MA, USA), Sophia-Antipolis (France) et Tokyo (Japon).

Les groupes de travail

L’élaboration des standards du W3C est effectuée au sein de différents groupes thématiques, plus ou moins actifs, qui sont aujourd’hui au nombre de 38. Dans la liste, on trouve bien sûr le Web Platform Working Group qui s’occupe du développement du langage HTML, le Cascading Style Sheets WG, le SVG WG, mais aussi de nombreux autres moins connus qui traitent de sujets aussi divers que la cryptographie pour les applications web, les protocoles du web social, le paiement en ligne, l’internationalisation, les APIs audio, etc.

Un groupe de travail est encadré par une “charte” qui définit sa mission, le périmètre de ses activités, la ou les spécifications sur lesquelles il travaille, ainsi que des règles de fonctionnement. Il est animé par un ou deux présidents (chairman) venant d’organisations membres du W3C et par un “team contact” salarié par le W3C. Un groupe peut comprendre d’une dizaine à plusieurs centaines de participants, tous membres du W3C, mais pas tous nécessairement actifs dans les débats et délibérations. Il est possible d’adjoindre aux membres des experts invités. À titre d’exemple, le groupe SVG est aujourd’hui composé de 41 participants et de 4 experts invités. Dans un groupe, on observe généralement un noyau dur de dix à vingt participants qui font l’essentiel des débats et de l’écriture, les autres étant là plus à titre d’observateurs silencieux, ou intervenant que de manière très ponctuelle.

Un groupe de travail peut disparaître, par manque d’intérêt des participants, parce que le sujet traité est devenu obsolète, parce que le groupe pense qu’il n’y a plus rien d’important à ajouter pour le moment à son œuvre, et en dernier lieu parce que la spécification est un échec auprès de ses utilisateurs potentiels (on pense au désastre de XHTML 2.0). Un groupe peut aussi renaître si le besoin d’une nouvelle version de la spécification se fait sentir et qu’il y assez de membres à vouloir travailler sur le sujet. Ce fut le cas par exemple du Math Working Group qui s’occupait de définir le langage Mathematical Markup Language (MathML). Le groupe a disparu en 2004 et est redevenu actif en 2006 pour élaborer la version 3 du langage, avant de disparaître à nouveau cette année après que sa nouvelle recommandation soit devenue un standard ISO.

Le principal outil de travail du groupe est une liste de diffusion par courriel, souvent complétée de réunions hebdomadaires par téléphone ou vidéoconférence, et de plus rares réunions physiques, quelques-unes par an, car elles sont difficiles à organiser quand les participants sont aux quatre coins du monde. La plupart des groupes travaillent en public ; les messages des listes, documents de travail, comptes-rendus de réunions sont accessibles à tout le monde. Ce qui permet à la communauté web de suivre les travaux, de réagir aux orientations prises et de faire connaître son point de vue au groupe de travail.

Le processus vers un standard du web

L’objectif ultime d’un groupe de travail est de publier la spécification d’un standard du web, appelée officiellement une Recommandation W3C. Le principe fondamental qui préside à l’élaboration d’une recommandation est la recherche de consensus. En cas d’absence de consensus, les présidents de groupes peuvent appeler à un vote. En tout dernier ressort, c’est le directeur du W3C, Sir Tim Berners Lee, qui a le pouvoir d’arbitrage et de décision. Les présidents ont le devoir de s’assurer que tous les points de vue et objections légitimes, qu’ils viennent de membres du groupe, d’autres groupes et même du public, aient bien été pris en considération. Le consensus est considéré comme atteint quand aucun membre ne s’oppose formellement et de façon argumentée à une décision. Qui ne dit rien est censé consentir et le quorum n’existe que s’il est explicitement défini dans la charte du groupe. Cela dit, le W3C recommande de mettre en moyen des outils pour éviter les décisions prises avec peu de soutiens explicites dans une ambiance d’“apathie généralisée” (“widespread apathy”).

Lorsque la première recommandation a suffisamment pris forme, le groupe publie le document en |'état. C’est un Working Draft (brouillon de travail). Il constitue un appel à la communauté (membres du W3C, autres organisations, public) à examiner le projet et à faire part de ses commentaires et suggestions. Certaines parties du document peuvent ne pas avoir fait consensus au sein du groupe. Il est recommandé qu’un nouveau Working Draft soit publié quand il y a eu des changements significatifs depuis le précédent, changements qui pourraient bénéficier de l’examen du public.

Après plusieurs Working Drafts successifs, lorsque le groupe de travail pense que le document est achevé, faisant entièrement consensus, la spécification est publiée comme Candidate Recommendation, puis comme Proposed Recommendation. À ces stades, sa qualité doit être approuvée par le directeur et le comité consultatif du W3C. La spécification doit aussi faire preuve de l’implémentabilité de tous ses points et qu’elle a bien été examinée par toutes les parties concernées de la communauté web. Si des changements substantiels sont demandés, la CR est rétrogradée au stade de Working Draft. Dans le cas contraire, elle deviendra un standard du web : une W3C Recommendation. Gaudeamus igitur !

Un processus lent et difficile

Sur le papier, comme décrit ci-dessus, le processus peut sembler un long fleuve tranquille atteignant sans grand coup férir le delta de la félicité qu’est la W3C Recommendation. Il n’en est rien.

Des spécifications comme HTML et CSS concernent un très grand nombre d’acteurs et les débats, parfois passionnés, peuvent sortir des “murs” du W3C. De plus, au sein d’un Working Group, il peut y avoir des luttes d’influence entre des membres qui n’ont pas nécessairement les mêmes intérêts stratégiques, qui sont en compétition économique frontale et qui veulent pousser des fonctionnalités plus que d’autres. Aussi, les membres qui sont de grosses entreprises technologiques (pensez Google, Microsoft, Facebook, Apple, IBM, etc.) peuvent avoir tendance à pousser vers la rapidité (time to market) plus que la qualité. Sans oublier les impondérables humains, comme les inutiles batailles d’ego… Les affrontements peuvent ainsi parfois être brutaux. Daniel Glazman, qui présida le groupe CSS de 2008 à 2016, dit souvent que la standardisation au W3C, “c’est de l’hémoglobine sur les murs dans une ambiance feutrée”.

Ensuite, les nécessaires processus de démonstration de l’implémentabilité et l’interopérabilité prennent énormément de temps. Et certains groupes peuvent ne pas avoir toujours les moyens de leurs ambitions, n’ayant pas assez de gens compétents et suffisamment disponibles pour faire avancer le travail comme il serait souhaité.

Le résultat est qu’aboutir à une Recommandation W3C est un long chemin (souvent plusieurs années), parfois cahoteux. Mais lorsqu’on y arrive, force est de constater que les recommandations du W3C sont de véritables œuvres d’art, l’emploi du moindre mot a été mille fois jaugé, sous-pesé, examiné et contre-examiné. Les recommandations obéissent aussi à un certain formalisme stylistique qui en font un modèle de précision et clarté. Tout est fait pour qu’il n’y ait pas place à l’interprétation ou à la mauvaise compréhension. Les recommandations du W3C sont la garantie indispensable d'un web ouvert, accessible et intéropérable.

Découvrez nos histoires
à succès.

Un projet de développement logiciel?
Contactez-nous!  

Cette entrée a été publiée dans Méthodes et bonnes pratiques
par Laurent Gloaguen.
Partager l’article