Extrait de l'émission CPU release Ex0203 : Aux origines du web.
Imaginez que vous travaillez dans un immense complexe de laboratoires, le CERN de Genève. Et quand je dis immense
, c'est que les anneaux des accélérateurs de particules font plusieurs kilomètres de circonférence. Si y'avait pas ce gros tube sous vide et ces immenses aimants supraconducteurs dans les tunnels, on pourrait y courir un semi-marathon. Des engins d'une dimension fantastique générant une quantité astronomique de mesures à recroiser, surtout pour les standards informatiques des années 1980s. Des données, des calculs, des plans qui servent aux spécifications industrielles et aux articles scientifiques, qui chacun fait référence à d'autres, sur des serveurs différents.
Pour les otaku de démarches administratives fans des formulaires CERFA, un bonheur ; pour les ingénieurs qui veulent retrouver rapidement les caractéristiques du filetage d'un boulon de 27,5 en alliage spécial, un enfer.
Déjà, faire dialoguer entre eux tous ces ordinateurs est un exploit : Les prises, donc les moyens physiques de connexion, peuvent être très différents. La BNC d'un Token-Ring et la RJ45 d'ethernet ne se connectent pas avec un simple adaptateur passif. Et y'a les ordinateurs hors-sites qui sont reliés par modem. Et au-dessus de la couche physique, il y a les différents types de réseaux plus ou moins propriétaires. Et encore au-dessus, on a différents protocoles de réseaux et donc types de serveurs.
À la fin des années 1980s, quelques très grands réseaux d'entreprises sont passés à ethernet et à TCP/IP. Parce que… internet ! L'adressage, le nommage et le routage de chaque machine commencent à être maîtrisés en IPv4. Et au-dessus des protocoles réseaux, on a une multitude de protocoles applicatifs : le SMB de Microsoft et IBM, le FTP, les newsgroups, les e-mails (mais qui ont l'inconvénient d'être aussi peu pratiques qu'échanger des disquettes).
Comme le dira benoîtement Berners-Lee :
Des fois, il était largement plus simple d'aller boire un café avec son interlocuteur et de lui demander ce qu'on recherche.
Encore faut-il trouver le bon interlocuteur, et avoir de la monnaie pour le distributeur à café soluble. Berk. La recherche en physique des particules ne mérite pas de telles horreurs.
En tant qu'établissement de recherche européen, le CERN était supposé implémenter un langage standard de description de document : le SGML (Standard Generalized Markup Language). Un langage qui est issu des travaux d'une équipe d'IBM à la fin des années 1960s et qui est devenu un standard international ISO de traitement de l'information en 1986. En gros, quand on ouvre le source d'un document SGML, on remarque les balises, des mots-clés entre signes inférieur et supérieur, qui ponctuent des données ou du texte.
Le SGML est plus un langage d'échange de données entre systèmes informatiques que de description syntaxique de document : le rôle des balises n'est pas forcément bien identifié tel que ; difficile dans un texte de savoir à coup sûr ce qu'est qu'une définition ou une note de bas de page. Un document SGML est censé se référer à une DTD, un Document Type Definition, qui contient le descriptif sémantique de chaque balise SGML.
Et surtout, le SGML n'a pas de balise standardisée pour indiquer qu'une partie du document pointe vers un autre document.
Bref, pour un langage qui devait amener l'interopérabilité entre les systèmes d'informations, on s'arrêtait au reversement de documents entre gros systèmes, et c'était tout.
Il y a eu plusieurs tentatives de DTD d'unifications à des fins de publication de texte, comme par exemple celle de l'AFNOR lancée elle aussi à la fin des années 1980s,une DTD pour encoder des bandes-dessinées en SGML. Je ne parlerai pas de ses manques en tant qu'ex-spécialiste du Neuvième Art, mais je salue l'initiative.
Tim Berners-Lee va tout simplement prendre le format de fichier SGML et son format descriptif DTD pour construire son langage HTML. Son HTML est une évolution rétrocompatible, ou plutôt comme il est dit en préambule de la RFC définissant HTML 2, c'est une application du SGML, donc une description balisée d'un document structuré. En gros, Berners-Lee a décrit la syntaxe des balises de son langage HTML, qu'il a câblé dans un logiciel client de rendu : lequel donne un aspect pour les paragraphes, la mise en gras, et les tableaux. Ça, c'est ce que l'on appelle un langage descriptif sémantique. Et maintenant, les développeur web savent pourquoi jusqu'aux débuts des années 2010s, la balise <HTML>
devait contenir en attribut une référence de DTD qui décrit la syntaxe des balises HTML : parce qu'un navigateur web qui visite votre site pourrait être une quelconque application client SGML.
Oui, le web a vraiment été conçu pour être consulté par n'importe quel tromblon, et c'est une propriété géniale !
Se baser sur le SGML et écrire une DTD pour créer son langage de description ont été des choix capitaux car le HTML fut immédiatement compréhensible par d'autres applications existantes utilisant le SGML, voir de rapidement leur faire générer des pages en HTML.
En sport de programmation de haut niveau, on appelle ça du best effort
, et du coup on a une masse de documents du CERN qui sont prêts à être lisibles par ce nouveau navigateur web.
[Bruit d'effort], applaudissements de stade, voix commentateur sportif :]
Holala, il vient de lever à l'arrachée plusieurs mégaoctets de données tabulées et de texte formaté, en une fois et sans difficulté apparente. Un superbe geste technique, et avec une architecture logicielle digne d'un dieu grec. Magnifique prestation !
Sir Tim Berners Lee n'a pas ouvert les JO de Londres pour rien !
Donc, dans l'ordre :
Ainsi naquit le protocole HTTP
Ainsi naquit le langage HTML
Ainsi naquit l'adressage URL
Ainsi naquit le web
En 1989, il existe déjà à l'époque une multitude de langages sémantiques pour des documents textes. Comme TeX et LaTeX qui ont pour vocation la publication scientifique, ou le RTF, Rich Text Format, créé par Microsoft pour son traitement de texte Word sur MacIntosh. Le HTML a en soit un petit avantage : il est très facilement éditable par un humain, étant très tolérant aux erreurs d'écriture. Bon, il faut être honnête, il a à l'époque beaucoup, beaucoup moins de fonctions qu'aujourd'hui.
Au début, par son langage descriptif, le web est purement documentaire et sémantique, c'est-à-dire que contrairement au format de texte RTF, il va décrire la fonction plutôt que l'aspect de chaque bloc de texte. On a un titre, un paragraphe, un tableau, mais leurs aspects visuels ne sont pas précisés, et à la libre interprétation de chaque navigateur web. La description de l'aspect visuel dans le HTML arrivera plus tard, et encore plus tard les CSS.
Ce qui fait que le web est resté très populaire est dans l'extensibilité de sa conception : l'ensemble des technologies du web sont maintenues dans une idée d'évolutivité. Il y a très peu d'éléments de ces technologies qui sont retirés. Pour vous donner une idée, http://info.cern.ch
, le tout premier site web, celui qui fut hébergé sur le NeXT de Tim Berners Lee, reste parfaitement consultable dans son jus par n'importe quel navigateur web.
Essayez d'ouvrir un document enregistré avec le tout premier Microsoft Word en mode graphique, vous n'avez pas fini de souffrir.
Auteur : Da Scritch.
Voix complémentaire : Infested Grunt
Photo : A replica of the NeXT machine used by Tim Berners-Lee in 1990 to develop and run the first WWW server, multimedia browser and web editor. © CERN