Interstices


  C'était hier

Les débuts du Web... sous l’œil du W3C

Il y a vingt ans, presque jour pour jour, naissait un projet qui allait révolutionner le monde, le World Wide Web. À l'aube du nouveau tournant que prend le Web, arrêtons-nous pour faire un point sur son histoire et ses évolutions.

« Est-ce un fait ou ai-je rêvé que, par le biais de l’électricité, le monde matériel est devenu un gigantesque nerf, vibrant sur des milliers de kilomètres à une vitesse à couper le souffle ? » (Nathaniel Hawthorne)

À l’heure où l’on parle de Web 2.0, de Web sémantique, et de services Web, la perception qu'avait l'écrivain Nathaniel Hawthorne du télégraphe semble incroyablement visionnaire pour l'époque. Mais pour que le Web fonctionne sur tous les serveurs et tous les postes utilisateurs du monde, il ne suffit pas d’avoir les câblages de l’Internet ou du télégraphe. Il faut pouvoir s’assurer que tous les acteurs se comprennent et interopèrent à l’échelle de cette toile mondiale. Tisser la toile logique du Web au-dessus de la toile physique d’Internet, c'est la mission que s'est donnée l'organisation internationale W3C (World Wide Web Consortium). Pour mener à bien cette mission, le W3C contribue à la mise en œuvre de standards qui permettent de représenter, d'échanger et de traiter des ressources d’information multimédia sur le Web.

 

1. Le Web simple : toile de fond et historique

La recherche de l’efficience dans l’organisation et l’accès à une masse d’informations a été une motivation omniprésente dans la préhistoire du Web.

Vannevar Bush
Source : Bibliothèque du Congrès / ID cph.3a37339

En juillet 1945, alors que l’atome est sur le point de hurler lugubrement dans l’histoire, Vannevar Bush, alors conseiller scientifique du président Roosevelt et chercheur au MIT (Massachusetts Institute of Technology), signe l’article « As we may think » (« Tel que nous pourrions penser », en français) dans la revue Atlantic Monthly. Il y invite les scientifiques à trouver des thèmes de recherche qui dépassent le cadre de la seconde guerre mondiale et y défend en particulier l’idée qu’améliorer les moyens d’accès aux connaissances est un défi scientifique.

Dans son article, V. Bush s’inquiète de ce que notre capacité à utiliser les publications soit dépassée par les volumes de celles-ci. Il explique qu’il nous faut un moyen de créer des liens entre les documents qui nous importent et que ce moyen doit nous permettre de passer à cette nouvelle échelle. Pour illustrer son propos, il décrit une machine-bureau imaginaire qu’il appelle Memex, contraction de « extension de mémoire » (memory extender en anglais). Grâce à ce « bureau », un utilisateur pourra stocker tous ses livres, toutes ses communications et toutes ses notes, et les consulter très rapidement. Il propose ainsi d'utiliser des codes d’indexation mnémotechniques pour pointer et accéder rapidement à n’importe quelle partie de l’un de ces documents. Plus important, ces codes permettraient de créer des liens d’association entre deux éléments, de façon à ce que la consultation d’un élément déclenche automatiquement la sélection d’un autre qui lui serait associé.

La conception de Bush était à l’époque électromécanique, et il y manque tout le champ du possible ouvert par le virage du numérique, mais on peut déjà y voir les prémices des systèmes de liens hypertexte que nous connaissons aujourd’hui. Certains mécanismes qu’il décrit sont incroyablement visionnaires : la capture instantanée et à la demande par des micro-caméras, l’informatique vestimentaire, l'informatique ambiante, etc. L’idée était lancée, il manquait juste le nom !

Ted Nelson, inventeur de l'hypertexte.
© Oxford Brookes University
Source : W3C

Il faudra attendre vingt ans l’apparition des ordinateurs électroniques programmables puis leur utilisation pour l’édition de texte, et l’article de Ted Nelson, « Une structure de fichier pour l’information complexe, changeante et indéterminée », à la conférence de l'ACM (Association of Computer Machinery) en 1965. Selon Nelson, pour couvrir un spectre d’usages et de fonctions aussi large que celui décrit par Vannevar Bush, il faut une structure simple en blocs de constructions génériques, permettant d’assister l’utilisateur dans ses réarrangements et retraitements des documents. Il propose alors une structure de fichier évolutive en liste (ELF) qui doit notamment permettre d’ajouter autant de textes et de commentaires que souhaité, de modifier à tout instant la structure et le contenu et d’aider au maintien de la cohérence et de l’historique sans imposer de structure prédéfinie, d’autoriser plusieurs catégorisations et d’assurer un index de tout le contenu perpétuellement mis à jour.

Cette structure de fichier évolutive repose sur trois éléments : des entrées (texte, symbole, image...), des listes d’entrées autorisant la répétition d’une entrée entre deux listes, et des liens binaires entre une entrée dans une liste et une entrée dans une autre liste. Une liste peut par exemple découper un texte en passages et les lier à d’autres éléments. Nelson forge alors un néologisme pour nommer cet ensemble d’écrits interconnectés d’une façon impossible à reproduire sur papier : l’hypertexte. La structure ELF de cet hypertexte permet de l’augmenter et le réorganiser indéfiniment. Dans le même élan, il parle déjà en 1965 d’hyperfilm et d’hypermédias. Les années suivantes verrons la réalisation des premiers éditeurs d’hypertexte utilisant notamment une autre invention de cette décennie, « l’indicateur de position X-Y pour les systèmes d’affichage », plus connu sous le nom de « souris ». C'est à Douglas Engelbart, pionnier de l'interface homme-machine, employé au Stanford Research Institute (SRI), que l'on doit ce système.

Si, en 1965, le concept d’hypermédia est né, sa vision reste néanmoins très individuelle : ce n’est pas encore celle d’une mémoire collective et encore moins partagée par plusieurs utilisateurs en temps réel ; il reste un virage à prendre, celui de la mise en réseau massive. Le réseau existe déjà dans les années cinquante, mais il repose toujours sur des conceptions propriétaires et des canaux dédiés. La guerre froide et la course à l’armement vont stimuler son développement. La communication par commutation de paquets et inter-réseaux (inter-networking en anglais) se développe entre 1972 et 1975 avec les travaux de Louis Pouzin (INRIA, Institut National de Recherche en Informatique et en Automatique), de Vinton Cerf (SRI) et de Robert Kahn (DARPA, Defense Advanced Research Projects Agency) qui déboucheront en 1978 sur les protocoles standards (TCP/IP) au cœur de l’Internet. Un certain nombre d’autres travaux vont aussi rendre possibles les échanges entre ces ordinateurs reliés par des réseaux eux-mêmes interconnectés, notamment le modem permettant à une ligne téléphonique d’être utilisée par un ordinateur en 1958 ; le standard ASCII (American Standard Code for Information Interchange) va normaliser en 1963 le code des caractères pour des textes échangés en anglais ; le système de noms de domaine (DNS) permet en 1983 d’adresser les ordinateurs en ligne avec des noms mémorisables comme « inria.fr ».

Les applications génériques de communication sur ces réseaux se multiplient avec leur déploiement : le courrier électronique et les listes de diffusion apparaissent en 1972, le transfert de fichier (FTP) et la connexion distante via Telnet en 1973, puis les forums de discussion en 1979. Le Web n'arrivera que dix ans plus tard, mais Internet et ses applications en constituent déjà la toile de fond.

2. La naissance du Web

Tim Berners Lee présentant le premier navigateur sur une machine NeXt.
© Oxford Brookes University
Source : W3C

C’est sur des sous-parties de chacune des idées évoquées précédemment que va se construire le Web. En 1980, Tim Berners-Lee, alors consultant pour le CERN (Centre Européen de Recherche Nucléaire), écrit un programme de prise de notes permettant de créer des liens entre n’importe quel nœud du contenu. Ce programme s’exécute sur une machine multi-utilisateurs et permet à différentes personnes de contribuer à l’hypertexte. En mars 1989, Berners-Lee propose au CERN le système « Filet » (Mesh) où il suggère l’utilisation d’un hypertexte pour la gestion d’information avec notamment la notion d’ancrage (hot spot, équivalent aux entrées de Ted Nelson) permettant de déclarer un morceau de texte ou une icône comme le départ d’un lien activable à la souris. Il étend aussi les références des liens aux adresses réseau des documents afin de tisser ce « filet » entre des documents archivés sur différentes machines. C’est le dernier tournant : l’hypertexte s’affranchit d’un serveur central, les données et les liens sont décentralisés sur Internet mais les liens ne sont plus forcément maintenus, l’erreur 404 — code d'erreur dans le protocole HTTP — vient de naître.

La proposition de Tim Berners-Lee met aussi l’accent sur l’importance de la généralité, de la portabilité et de l’extensibilité, plus importantes selon lui que la satisfaction d’utiliser les dernières capacités des ordinateurs (par exemple, le graphisme). Fin 1990, le premier serveur et le premier navigateur sont testés à travers une connexion Internet ; le navigateur s’appelle World Wide Web ou « la toile d’envergure mondiale », qui deviendra le nom de l’hypertexte qu’il va engendrer. Ce premier navigateur ne fonctionne que sur des machines NeXT et il va être remplacé par de nombreux autres dans les cinq années qui suivent. Il bénéficie des outils de programmation avancés de NeXT et offre déjà une interface graphique et des moyens d’édition. Cependant, le portage et la diffusion du navigateur sur d’autres systèmes que NeXT vont imposer des restrictions et les premiers navigateurs largement distribués seront beaucoup plus limités dans leurs fonctionnalités ; la majorité des navigateurs actuels n’ont, par exemple, toujours pas réintégré les fonctionnalités d’édition. En contrepartie, cet effort de portage d’un navigateur sur plusieurs machines et systèmes d’exploitation donnera au Web sa réelle nature d’application transversale, permettant à n’importe quel utilisateur sur n’importe quelle machine ayant un client, d’accéder à n’importe quelle page sur n’importe quelle machine ayant un serveur.

Cette capture d'écran a été réalisée en 1990 sur la machine Next de Tim Berners-Lee. Elle montre l'application hypertexte utilisée pour parcourir le World Wide Web.
© CERN

En 1991, le premier serveur Web est installé hors d’Europe au Stanford Linear Accelerator Center. Le travail de portage et les débuts de la bibliothèque standard Libwww pour développer des clients Web dans le langage de programmation C permettent notamment le développement du premier navigateur Web textuel sur Sun/Unix et sur Microsoft DOS/PC. Début 1992, on recense une dizaine de serveurs Web et de nouveaux navigateurs apparaissent dans le courant de l’année (Erwise, ViolaWWW, MidasWWW, Samba pour Macintosh, etc.).

Cette capture d'écran a été prise en 1993 sur un ordinateur NeXt. On peut notamment voir dans le menu de l'application qu'à l'époque, l'édition d'une page même distante était une fonctionnalité de base du navigateur.
© CERN

En 1993, les dirigeants du CERN annoncent officiellement que la technologie du Web sera gratuite et libre de droits. Importante, cette étape va engendrer la pénétration virale de ces technologies dans toutes les organisations. En début d’année, on dénombre une cinquantaine de serveurs. De nouveaux navigateurs apparaissent (Lynx, Cello, Arena) mais le plus important est Mosaic alors disponible sous Unix, Windows et Mac OS. Il permet de visualiser les images directement dans le texte d’une page. Avec le navigateur Mosaic, le Web va réellement se répandre mondialement, laissant derrière lui ses ancêtres Gopher, WAIS et FTP. À Mosaic succèdera Netscape, puis Mozilla et enfin FireFox. En 1994, plus de 600 serveurs sont en ligne. L'année suivante, plus de dix mille serveurs Web sont disponibles et Microsoft lance Internet Explorer qui s’imposera comme le navigateur sous Windows avec lequel il est diffusé. En 1996, on passe la barre des cent mille serveurs et en 1998, celle du million. Au début des années 2000, on en dénombre 26 millions. En 2004, les 46 millions ont été largement dépassés.

Au début de cette explosion, la multiplication des navigateurs amorce aussi ce que l’on appellera la « guerre des navigateurs » : chacun est tenté d’ajouter ses propres extensions au langage HTML pour fournir de nouvelles fonctionnalités (par exemple, intégrer du son). Cependant, en sortant de la norme, ces navigateurs cassent la compatibilité mondiale (qui est alors l’attrait principal du Web) puisque la page n’est pleinement visible que par les utilisateurs de ce navigateur. Il y a donc un réel danger à ne pas contrôler l’évolution des technologies web et le besoin d’un organisme de standardisation se fait alors sentir.

En 1994 est créé le World Wide Web Consortium, ou W3C, qui va jouer un rôle primordial dans la normalisation du Web. L’activité web du CERN (appelée projet WebCore) est alors transférée à l’INRIA qui devient membre fondateur du W3C avec le MIT aux États-Unis et l’université de Keio au Japon.

Le web sémantique vu par Tim Berners-Lee en 1994.
Source : W3C

Invité à la première conférence WWW qui a lieu cette même année, Tim Berners-Lee décrit déjà le besoin d’un Web sémantique lors de sa présentation. Avant le W3C, les standards du Web étaient publiés sous forme de RFC (Request For Comments), en particulier les URL (Uniform Resource Locator), le schéma d’adressage des pages web dans la RFC 1738 de décembre 1994, le langage d’écriture des pages web HTML 2.0 dans la RFC 1866 de novembre 1995, le protocole d’échange des pages entre un navigateur et un serveur HTTP 1.0 dans la RFC 1945 de mai 1996, etc.

Le W3C utilise maintenant différents termes pour qualifier ses documents : un standard est appelé une « recommandation » et un document non normatif est appelé une « note ». Les recommandations commencent par être des « brouillons de travail », elles passent ensuite en « derniers appels » à commentaires, puis elles deviennent des « recommandations candidates » pour lesquelles on cherche notamment une preuve de concept dans des prototypes, et enfin elles passent au stade de « recommandations proposées » qui attendent l’aval du directeur du W3C. En octobre 1996, le W3C publie sa première recommandation sur le PNG (Portable Network Graphics) et, depuis, de nombreuses autres ont suivi et suivent encore.

 

3. Le Web structuré : la séparation du fond et de la forme

La fin des années 1990 annonce l'apparition d'un Web qui se veut plus structuré. Le W3C va alors jouer un rôle important dans la séparation du fond et de la forme. Ses recommandations vont petit à petit nous conduire au Web que nous connaissons aujourd'hui.

En janvier 1997, paraît la recommandation HTML 3.2 qui normalise les extensions les plus courantes du HTML : les tableaux, la gestion du flot du texte autour des images, l’insertion d’applets (petites applications Java) dans les pages, les textes en indices et exposants. Cette recommandation prépare aussi les évolutions suivantes, notamment l’insertion de scripts (petits programmes dont le code est inclus et s’exécute dans une page) et les feuilles de style pour commencer à découpler le contenu de sa présentation (les stylesheets CSS datent de 1995, et leur première recommandation de 1996). Recommandé en 1999, HTML 4.01 généralise l’insertion d'objets multimédias et de scripts dans une page, étend les tableaux et les formulaires, et améliore la prise en compte des problèmes d’internationalisation (les textes multidirectionnels, par exemple) et d’accessibilité. Le mécanisme des cadres (frames) permettant la division d’une page en plusieurs est aussi introduit mais très vite déconseillé. Enfin, le découplage du contenu et de la forme est accentué, en encourageant l’utilisation de feuilles de style CSS pour spécifier le formatage d’un contenu en HTML.

HTML continue d’évoluer et un groupe de travail sur HTML 5 est en place depuis mars 2007. Parmi les nouvelles fonctionnalités prévues figurent les interfaces de programmation unifiées pour l’accès au code de la page HTML, permettant notamment à un script inclus dans une page d’accéder de façon standard au code de cette page lorsqu’il s’exécute dans le navigateur, par exemple pour modifier une page à la suite d’une action (par exemple, retrier un tableau). Figurent aussi les graphiques en 2D, l’intégration et le contrôle des contenus audio et vidéo, la gestion du stockage de données persistantes depuis des applications clientes légères et la modification interactive des documents pour les utilisateurs. HTML 5 standardise aussi des éléments de page courants tels que <footer> pour un bas de page, <nav> pour des éléments de navigation, et <figure> pour attribuer une légende. Deux syntaxes sont disponibles : une syntaxe HTML « classique » et une syntaxe XML (eXtensible Markup Language), selon les besoins.

Du Web des documents au Web des données

Cette bonne pratique de séparer le contenu et la forme va réellement s’incarner et prendre son essor dans une nouvelle famille de langages : en 1998 est émise la première recommandation de XML (dont les dernières éditions datent de 2006) et qui a fêté ses dix ans en 2008. Là où HTML proposait un langage textuel d’échange de documents dits semi-structurés, XML propose un format textuel d’échange de données structurées. Ce nouveau standard permet de définir des langages balisés pour échanger, notamment sur le Web, des données structurées en arbres. XML se distingue de son ancêtre SGML par sa simplicité. En XML, une balise ou tag est un élément structurant placé entre < et > :

<post_it importance=”urgent”>
<sujet>billets d’avion</sujet>
<date>2005-11-28</date>
<message xml:lang=”fr”>tes billets sont sur mon
bureau</message>
<message xml:lang=”en”>your tickets are on my
desk</message>
</post_it>

Après le Web des documents, apparaît le Web des données. Ce format permettra la création de nombreux langages d’échanges, par exemple en chimie (CML, Chemical Markup Language, un langage de marquage chimique), en mathématiques (MathML, Mathematical Markup Language, un langage dérivé du XML développé pour les formules mathématiques), dans les affaires (BPML, Business Process Modelling Language), etc.

Un document XML est dit bien formé s’il respecte certaines règles : une seule racine, des balises correctement emboîtées et fermées, le respect de la casse, pas de balise commençant par un chiffre ou par “xml”, pas d’espaces dans les noms de balises, les attributs dans une balise ouvrante ou vide et leur valeur placée entre guillemets ou entre apostrophes.

À gauche, un fichier XML vu directement ; à droite, le même fichier XML vu à travers deux feuilles de style XSLT différentes.

Moyennant le respect de ces règles, XML permet à chacun de définir sa structure, son balisage, et de l’échanger dans un format textuel utilisable par les machines et lisible pour l’humain si besoin est. XML offre un format non propriétaire et ouvert assurant l’interopérabilité, la portabilité et l’extensibilité des données et de leur structure. XML permet alors la réutilisation, la migration, la pérennité, et l’indépendance aux médias et au domaine.

Standardiser le format permet aussi de standardiser des librairies de traitement et d’accélérer le développement des structures et des outils. Les librairies d’outils standards existantes permettent de produire, de communiquer et de lire (à l'aide de parseurs SAX et DOM) avec à la clef des traitements et des échanges distribués à l’échelle du Web. Celui-ci peut dès lors commencer à être vu comme une gigantesque base de données en plus de la base documentaire qu’il était déjà.

Un document XML peut aussi être validé. Un document est valide s’il est bien formé et qu’il respecte une structure décrite selon le standard des DTD ou selon leur successeur XML Schema (structure et types de données). Ces schémas permettent de spécifier et documenter la structure qu’un document XML doit suivre et donc de valider celui-ci lors de son édition, d’échanges, etc. XML Schema permet aussi une définition des données et de leurs types (XML Schema datatype) permettant par exemple de spécifier que la valeur d’un attribut ou d’une balise doit être une date valide.

Les documents et schémas XML étant destinés à être publiés et échangés, les données et leurs structures peuvent être extraites et combinées dans de nouveaux documents et ceci à plusieurs reprises. On peut par exemple extraire des descriptions de produits de plusieurs catalogues pour créer le document d’une commande. Pour éviter toute ambiguïté sur l’utilisation d’une balise et tout conflit de noms, le mécanisme des espaces de nommage permet de qualifier chaque balise avec un préfixe associé à un URI (Uniform Resource Identifier) identifiant de façon unique l’espace de nommage utilisé pour une balise.

Dans l'exemple suivant, le préfixe « inria » est ainsi associé au nom d'espace de nommage « http://ns.inria.fr/schema » :
<inria:post_it xmlns:inria=”http://ns.inria.fr/schema”/>

HTML figure parmi les premiers langages à avoir bénéficié de ce nouveau format d’échanges de données structurées qu’offre XML. La reformulation de HTML en XML s’appelle XHTML et permet de bénéficier de tous les outils XML pour les pages web.

Enfin, le format textuel, les balises ouvrantes et fermantes, et la structure d’arbre de XML le rendent verbeux. Des méthodes d’échange performantes sont donc en cours de standardisation (EXI).

Vingt ans se sont écoulés depuis la naissance du Web et son ascension est toujours aussi fulgurante. Dans ce contexte évolutif, le W3C a su s'imposer comme un acteur incontournable dans la standardisation et la normalisation du Web. Évoluant toujours plus vite et touchant de plus en plus de domaines, le Web n'a de cesse de promettre de nouveaux usages. Les nombreux domaines d'application génèrent de nouveaux besoins. Du Web structuré au Web sémantique, il ne restait qu'un pas à franchir. Le Web sémantique s'inscrit dans le prolongement du développement passé du Web, une deuxième étape dans sa construction. Cette nouvelle évolution du Web fera l'objet d'une étude dans un second article sur Interstices.

Quelques références vous sont proposées pour en savoir plus sur l'histoire du Web.

 

Tags