Comprendre l’histoire du Web et de ses standards
Être un "bon citoyen" du Web
Né de la contre-culture américaine des années 19601, Internet est, par essence, idéaliste. Entraide, partage et démocratie sont à la bases de sa fondation et demeurent des composantes majeures de son identité. Beaucoup de communautés se sont constituées de manière informelle, voire libertaire. Rapidement de véritables organisations ont émergé, dictant leurs règles et leurs normes. Par ces règles, Internet, puis le Web, constitue une véritable société dans la société.
Comme pour toute société, il est donc primordial, avant de la rejoindre, d’apprendre à s’y comporter en "bon citoyen".
De nombreux parallèles peuvent ici être faits avec le reste de notre vie sociale. Prenons l’exemple de la législation civile, qui repose sur un principe en apparence simple : nemo censetur ignorare lege (nul n’est censé ignorer la loi). Ce principe, sans lequel le système juridique ne pourrait réellement fonctionner, est pourtant irréaliste, étant donné le volume de connaissances représenté (environ 318 000 articles législatifs et réglementaires en vigueur au 25 janvier 2019 rien qu’en France2). On parle ainsi d’une ’’fiction juridictionnelle’’....
IETF, les réseaux et Internet
1. Origines de la standardisation des réseaux
Des barrières se sont dressées entre groupes sociaux bien avant la création des ordinateurs. Des différences de valeurs sont souvent à l’origine d’une méfiance mutuelle. Des objectifs divergents créent souvent de la rivalité. Pour autant, nous avons toujours su créer de nouveaux moyens de communication et d’échange pour résoudre ces problèmes. Y compris dans les situation les plus difficiles5.
Les langues elles-mêmes sont représentatives de nos rapports de domination et jeux de pouvoir6. Au point qu’il peut, dans certaines situations extrêmes, devenir impossible de les employer. Ne pouvant nous passer de communication, nous créons alors de nouveaux codes plus adaptés7.
Sans surprises, nous retrouvons ces mêmes problématiques dans l’informatique.
Dans les années 1970, l’informatique est loin d’être aussi uniforme qu’à notre époque. Des ordinateurs sont construits et exploités de nombreuses manières différentes suivant les contextes. Une importante lutte de pouvoir entre constructeurs renforce ces divergences. Ainsi, tout échange entre réseaux informatiques s’avère laborieux du fait de solides "barrières linguistiques". Alors même que la communauté scientifique avait déjà créé des langages universels, leur adoption était lente et complexe. Seule l’intervention d’organismes publics suffisamment puissants semble alors susceptible de résoudre le problème. Aux États-Unis, ce rôle échoue logiquement au DoD (département de la Défense), déjà au cœur de la recherche informatique depuis ses débuts, via la DARPA (agence du DoD pour les projets de recherche avancée de défense). De là se mettent en place les premiers espaces "officiels" d’échanges, de débats et de collaboration entre scientifiques et acteur du domaine : en premier lieu, l’ICCB (Internet Configuration Control Board) en 1980, renommé IAB (Internet Activities Board) en 19838, puis l’IETF (Internet Engineering Task...
Invention de l’hypertexte
1. Modéliser la connaissance
En parcourant les premières RFC de l’IETF, il paraît évident que toute discussion, tout échange effectué en amont est difficilement retraçable. Le partage de connaissance se fait généralement dans un grand désordre créatif. Il est donc souvent préférable qu’une seule et unique personne fasse la synthèse de ces échanges. Le problème demeure quand, après la naissance des premiers réseaux étendus, la messagerie électronique et les listes de diffusion remplacent les échanges oraux et les déplacements physiques. Aujourd’hui encore, il reste difficile de comprendre le contexte ayant donné naissance à une RFC de l’IETF sans parcourir la quasi-intégralité de la liste de diffusion associée.
Les recherches et les théories permettant une meilleure représentation de l’information ont heureusement été nombreuses bien avant les premiers pas de l’informatique.
Nous pouvons en particulier remonter au célèbre article "As We May Think"21 ("Comme nous pourrions penser") écrit au sortir de la Seconde Guerre mondiale par Vannevar Bush, chercheur au MIT et conseiller scientifique du président Roosevelt. Tâchant de "prédire" les évolutions futures de la technologie, l’auteur y évoque de nombreux sujets, dont beaucoup peuvent paraître pour...
Origines du Web
En 1980, Tim Berners-Lee, alors âgé de seulement 25 ans, est un ingénieur indépendant en télécommunication. En parallèle de son travail au CERN (Conseil européen pour la recherche nucléaire), il développe son propre système hypertexte, qu’il utilise comme un aide-mémoire personnel, représentant, de fichier à fichier et au sein d’un même fichier, les liens entre les différents projets sur lesquels il travaille alors25.
Berners-Lee nomme ce tout premier projet Enquire, en référence à l’ouvrage Enquire Within upon Everything (Renseignez-vous sur tout). Présente dans de nombreux foyers londoniens, il s’agit d’une mini-encyclopédie de référence pour un très large éventail de questions quotidiennes (du lavage des vêtements aux conseils d’investissement). Tim Berners-Lee expliquera par la suite que son choix a essentiellement été motivé par un souvenir d’enfance, le titre lui évoquant la dimension "magique" d’une œuvre servant de "portail vers un monde d’informations"26.
Tim Berners-Lee interviewé à l’occasion de l’ODI Summit 2014
Lui vient alors à l’esprit que son travail au sein du CERN pourrait être grandement simplifié...
W3C, standardiser et promouvoir le Web
1. Origines (1991-1997)
Comme pour les protocoles réseau, le Web a toujours eu pour objectif de connecter des systèmes variés. Ce qui implique, comme nous l’avons vu dans les sections précédentes, de mettre en accord des acteurs aux objectifs divers, voire diamétralement opposés. Dans ce type de contexte, établir des standards est incontournable.
Dès le départ, Tim Berners-Lee établit HTML sur la base de SGML29 (déjà défini par la norme ISO 8879 en 1986), et recherche un consensus via le groupe www-talk et de nombreux ateliers. De ce travail collectif résulte une première proposition de standard pour l’IETF en juin 199330, rapidement suivie par un ensemble d’extensions dites "HTML+"31. Mais le langage est alors en constante évolution, ne permettant pas à HTML "1.0" d’être standardisé.
L’IETF forme finalement en septembre 1994 un HTML WG (HTML Working Group)32.
Après son départ du CERN, Tim Berners-Lee fondera enfin le World Wide Web Consortium (W3C) en octobre 1994, avec le soutien de la commission européenne, du DARPA et du MIT. Constitué initialement de seulement huit membres, le W3C ne dispose cependant pas d’une envergure suffisante pour porter à lui seul un processus de standardisation qui puisse faire consensus, malgré la présence de Tim Berners-Lee et de Dave Raggett. Raison pour laquelle le travail se poursuit encore pour un certain temps à l’IETF.
Logo officiel du W3C
Le HTML WG publie finalement le premier standard HTML (version 2.0, afin de distinguer cet HTML des versions non standards précédentes) dans la RFC 1866 de novembre 1995.
HTTP, de son côté, est initialement défini de manière simpliste, avec un unique type de requête : GET33. Étant un protocole réseau, son développement revient logiquement à l’IETF, où un HTTP WG est formé en janvier 1995. HTTP/1.0 est finalement publié en mai 1996 via la RFC 1945, et complété sous le nom HTTP/1.1 en janvier 1997 via la RFC 2068 puis la RFC 2616. En l’absence de nécessité de mise à jour supplémentaire, le groupe est finalement clos...
WHATWG, HTML et DOM
Logo actuel du WHATWG, dérivé de celui créé par Matthew Raymond le 22 août 2004
1. Critiques et dissensions au W3C
Depuis la publication de HTML 4.0 le 18 décembre 1997, toute possibilité d’évolution semble au point mort. Une seule révision mineure, HTML 4.01, le 24 décembre 1999, puis rien, ou presque, pendant plus de cinq ans42,32. En 2004, la situation au W3C devient critique. Le consensus semble impossible. La tension est croissante. Comment le W3C a-t-il pu arriver à une telle situation, en si peu de temps ?
Pour comprendre cette situation, nous devons en premier lieu revenir sur HTML et le Web. Sur ce qu’ils signifient et sur leurs enjeux.
Des premiers travaux de Tim Berners-Lee à sa version 4, HTML a été conçu comme une application du métalangage SGML. Mais SGML est limité et, surtout, peu contraignant. Il est ainsi possible d’écrire une structure qui n’est pas hiérarchisée correctement, avec une balise qui n’est jamais fermée, (<br>) par exemple.
Étant "peu strict", SGML (et donc HTML 4) peut difficilement être étendu. Créer des outils génériques, supportant différents langages à balisage (par exemple, MathML et HTML), est complexe. De plus, certains éléments de SGML n’étant tout simplement jamais utilisés en HTML, les navigateurs ont généralement omis de les supporter, faisant de HTML une "pseudo-application" de SGML. La construction NET (Null End Tag) par exemple, qui permet d’écrire <tag/contenu au lieu de <tag>contenu</tag>, amènerait un moteur HTML strictement compatible SGML à remplacer <br /> par <br>>, entraînant une erreur d’affichage43,44.
De son côté, le XML (eXtensible Markup Language) fut pensé comme un sous-ensemble simplifié de SGML, ce qui permet d’éviter ce type d’ambiguïté45. Grâce à ses règles de syntaxe plus simples, la réutilisation d’une logique d’analyse commune à différents "langages" XML devient plus simple. Son extension, également, est améliorée. En bref, XML s’adapte...
TC39, de JavaScript à ECMAScript
Depuis le début de l’âge industriel, l’arrivée de nouvelles inventions n’a cessé de faire croître le besoin de standards. Suivant l’histoire du Web, nous avons abordé les trois organismes de normalisation ayant eu le plus d’impact sur celui-ci : de la création d’Internet, avec l’IETF, à l’arrivée de la plateforme web moderne, avec le WHATWG, en passant par l’invention du Web lui-même, avec le W3C. Il existe pourtant plus d’une vingtaine d’organismes internationaux ou nationaux publiant des standards liés à l’informatique. Tous ont leurs règles, leurs objectifs et leur fonctionnement propres.
Certains ont une histoire bien plus ancienne, et des responsabilités dépassant largement les sujets évoqués dans ce livre. Ils ont pourtant un impact considérable sur l’évolution de notre métier.
Exemples
L’ISO (Organisation internationale de normalisation) a publié depuis 1947 des milliers de normes, allant du format A4 (ISO 2016) au développement durable (ISO 26000), en passant par le C++ et le modèle OSI.
L’arithmétique à virgule flottante, l’Ethernet, le Wi-Fi (802.11) et les systèmes Unix (POSIX) doivent en grande partie leur actuelle popularité à l’IEEE (Institute of Electrical and Electronics Engineers), créé en 1963
L’Ecma72, créée en 1963 à Genève, est l’un de ces organismes. Cette "Association européenne pour la normalisation des systèmes d’information et de communication" intervient dans un très large éventail de domaines parmi lesquels on pourra, par exemple, citer le CD-ROM, la disquette 3.5", FAT32, FORTRAN, Microsoft Word, ou encore C#.
Logo d’Ecma Internationnal - European association for standardizing information and communication systems
Son organisation est assez simple, chaque standard étant géré par un TC (Technical Committee) dédié placé sous la direction de l’assemblée générale de l’Ecma (Ecma GA), et pouvant lui-même déléguer certaines tâches spécifiques à...
Références
1. TURNER F. Aux sources de l’utopie numérique : de la contre-culture à la cyberculture : Stewart Brand, un homme d’influence. Caen : C & F, 2013. ISBN : 978-2-915825-10-7.
2. « Que signifie "nul n’est censé ignorer la loi" ? ». [s.l.] : [s.n.], [s.d.]. Disponible sur : https://www.vie-publique.fr/fiches/23898-que-signifie-nul-nest-cense-ignorer-la-loi (consulté le 28 septembre 2020).
3. « Décision n° 99-421 DC du 16 décembre 1999 | Conseil constitutionnel ». [s.l.] : [s.n.], [s.d.]. Disponible sur : https://www.conseil-constitutionnel.fr/decision/1999/99421DC.htm (consulté le 28 septembre 2020).
4. FLÜCKIGER A. « Le principe de clarté de la loi ou l’ambiguïté d’un idéal ». Janvier 2007. Vol. Cahiers du Conseil constitutionnel, n° 21 - Dossier : La normativité. Disponible sur : https://www.conseil-constitutionnel.fr/nouveaux-cahiers-du-conseil-constitutionnel/le-principe-de-clarte-de-la-loi-ou-l-ambiguite-d-un-ideal (consulté le 28 septembre 2020).
5. SAUVET G., FORTEA J., FRITZ C., TOSELLO G. « Échanges culturels entre groupes humains paléolithiques entre 20.000 et 12.000 BP ». Bulletin de la Société Préhistorique Ariège-Pyrénées [En ligne]. 2008. Vol. LXIII, p. 73-92. Disponible sur : https://www.researchgate.net/publication/276936993_Echanges_culturels_entre_groupes_humains_paleolithiques_entre_20000_et_12000_BP.
6. BOURDIEU P. « L’économie des échanges linguistiques ». 1977. Vol. 34, n° 1, p. 17-34. Disponible sur : https://doi.org/10.3406/lfr.1977.4815 (consulté le 6 septembre 2020).
7. FAURE G.-O. « Le "troc à la muette’’ : une forme première de négociation ». Négociations [En ligne]. 2014. Vol. 22, n° 2, p. 121-137. Disponible sur : https://doi.org/10.3917/neg.022.0121.
8. INCE D. A Dictionary of the Internet. 3rd éd.[s.l.] : OUP Oxford, 2017. 639 p.
9. DIBONA C., OCKMAN S., STONE M., ÉD. Open Sources: voices from the open source revolution [En ligne]. 1st ed. Beijing ; Sebastopol, CA : O’Reilly, 1999. 272 p. Disponible...