Retour sur l'histoire d'un des plus sérieux concurrents du Web.
La scène originelle se déroule en l'an de grâce 1991, sur le campus de
l'université du Minnesota.
« Les différents fiefs de l'université n'arrivaient pas à se mettre
d'accord sur la meilleure façon de construire un système d'information à
l'échelle du campus, explique Paul Lindner, un des créateurs de Gopher (1). Un
comité avait été réuni et au bout de neuf mois ils sont revenus avec un
protocole qui ne satisfaisait personne.
Je travaillais alors au service de la micro-informatique et aidait les
utilisateurs à se servir des Mac et PC de l'époque. Nous avions vraiment besoin
d'un moyen de publication en ligne simple et facile. Nous avons pris la
décision de construire notre propre système en contournant celui du
comité.
Après trois semaines de nuits et de week-ends de boulots, nous avions développé
les logiciels clients et serveurs pour Unix, Mac et PC, ainsi qu'un service de
recherche qui fonctionnait sur une station NextCube. Nous avons profité des
deux mois suivants pour développer du contenu et tout ce dont avait besoin
l'utilisateur lambda.
Du côté du campus, les choses ne se déroulèrent pas aussi bien. Pendant un
temps nous avons dû appeler le système le Consultant Gopher afin que l'on ne
considère pas comme le système officiel de l'université.
Cela commença à changer quand d'autres universités choisirent Gopher pour leur
propre système d'information. »
un livre gigantesque
« Gopher, développé par l'université du Minnesota, est un système
d'information réparti. Au départ, il a été conçu comme un service d'information
de campus mais, très rapidement, il s'est imposé sur tout l'Internet.
Gopher considère le réseau Internet comme un livre gigantesque dont les pages
sont constituées par l'information diffusée par des machines coopérantes (les
serveurs). Un lecteur (le client) n'est pas obligé de lire tout le livre, il
peut se contenter de lire des pages qui l'intéressent en utilisant
éventuellement des mécanismes de recherche. Gopher permet de feuilleter les
pages du livre au hasard et d'écorner celles qui présentent un intérêt
particulier, de façon à suivre ensuite leur évolution. On présente souvent
Gopher comme un outil de navigation tant sa capacité pour la
« promenade » dans l'Internet est grande.
Gopher fonctionne en mode client-serveur. Le serveur est responsable de la
diffusion de l'information, le logiciel client interroge un serveur pour
accéder aux données publiées. Les documents à diffuser sont présentés sous la
forme d'une arborescence ; des menus successifs invitent à les
consulter.
Des méthodes simples peuvent être utilisées pour masquer la localisation de
l'information, ce qui signifie qu'un document paraissant être diffusé par un
serveur peut n'être qu'un lien (transparent) vers la source réelle de
l'information. Cette technique est généralement bien comprise par tous ceux qui
ont une pratique (même légère) des systèmes de gestion de fichiers les plus
couramment utilisés (MS-DOS, Unix).
Un serveur Gopher indique la nature de l'information qu'il délivre, c'est au
client demandeur de reconnaître ce qu'il a reçu et de réagir en conséquence. De
cette façon, Gopher permet de diffuser une grande variété de documents incluant
des images, des fichiers de sons, des fichiers binaires. (...)
Les serveurs Gopher sont classés par pays. En France, le serveur du campus de
Jussieu à Paris tient à jour et diffuse une liste de serveurs francophones. Il
en est de même dans tous les pays d'Europe : un serveur en Suède gère et
diffuse une liste des serveurs nationaux européens... L'ensemble des serveurs
mondiaux est ainsi répertorié et simplement accessible par navigation. Les
serveurs Gopher sont également classés par thèmes. (...)
Plusieurs millions de serveurs Gopher coopèrent aujourd'hui sur l'Internet,
toutefois Gopher est maintenant largement concurrencé par World Wide Web. Les
serveurs existants vont continuer à vivre, mais Gopher n'est plus à conseiller
pour la création de nouveaux services d'informations. »
réduction de la complexité
Cet extrait montre à quel point Gopher était novateur pour son époque. Bien
que le protocole HTTP existât déjà, c'est au travers de Gopher que les
internautes de la première moitié des années quatre-vingt dix découvrirent la
navigation. Pouvoir parcourir plusieurs documents au travers de liens, sans
même connaître leur localisation précise est assurément une étape importante
dans le développement de la cyberculture. Un des premiers efforts dans un
démarche de réduction de la complexité. La simplicité fut le mot clé du succès
initial, tant sur le plan de l'installation du serveur et du client, que sur
celui des tâches remplies. Gopher se résume en une arborescence de menus que
l'on parcourt jusqu'à ce que l'on trouve ce que l'on cherchait. Du FTP (File
Transfer Protocol) amélioré, avec des libellés plus clairs que des noms de
fichiers, et des liens inter-serveurs.
On en vient à parler de Gopherspace pour nommer l'ensemble des serveurs
tournant sous Gopher : à l'automne 1994, selon la RFC 1689, on compte 4
800 serveurs tournant sous Gopher, 1 200 sous FTP et seulement 600 sous le
protocole HTTP du Web (3) et pour mieux s'orienter, un service de recherche est
créé sous le nom de Veronica (Very Easy Rodent-Oriented Netwide Index to
Computerized Archives). Encore un rêve de geek !
« Qui a tué Gopher ? »
Alors que s'est-il passé pour qu'aujourd'hui il soit très difficile de
trouver encore un serveur Gopher ? « Qui a tué Gopher ? » pour
reprendre l'expression de Rohit Khare qui a enquêté sur la disparition de
Gopher et le succès concomitant du Web (c'est en avril 1995 que le Web aurait
dépassé en usage Gopher sur le réseau principal NSFnet). Plusieurs explications
ont été avancées... sur le Web.
Malgré le fait que les deux protocoles étaient tous les deux relativement
limités au départ sur un plan technique, il semble que HTTP ait su rapidement
repousser ses limites et proposer une plus grande ouverture technique. Une
fonctionnalité décisive fut sans conteste l'URL (Uniform ressource locator),
adresse universelle permettant d'accéder au protocole du Web mais également à
tous les autres protocoles existants.
Mais selon le père du HTTP lui-même, Tim Berners-Lee, l'explication technique
n'est pas suffisante : « C'est juste à ce moment-là, le printemps
1993, que l'université du Minnesota décida qu'il serait demandé un coût de
licence pour certains utilisateurs de Gopher. Comme le logiciel s'était répandu
très largement, l'université souhaitait proposer une licence annuelle. Le
navigateur, et le fait de surfer, resterait gratuit, ainsi que le serveur pour
les organisations à but non-lucratif et le monde éducatif. Mais tous les autres
utilisateurs, et en particulier les sociétés, devraient payer pour utiliser le
logiciel serveur. Ce fut perçu comme un acte de trahison dans la communauté
académique et parmi les internautes. Même si l'université n'a jamais facturé un
centime, le fait qu'elle ait annoncé qu'elle se réservait le droit de le faire
signifiait qu'elle avait franchi la limite. Utiliser cette technologie était
trop risqué. L'industrie s'est débarrassé de Gopher comme d'une patate
chaude. » (4)
Autre explication lue : Gopher ne pouvant afficher directement les images
(on recourait à un logiciel auxiliaire), les sociétés investissant le Net au
milieu des années quatre-vingt dix préférèrent largement le Web pour initier la
vague des bannières publicitaires. »
Mais pour finir laissons la parole à Paul Lindner : « Tout a changé à
la fin de 1993. Le navigateur web Mosaïc a été rendu disponible pour Windows et
Mac. Avec Mosaïc vous pouviez afficher des pages web avec de jolies images, en
plus de tous les sites web existants. C'était très impressionnant et rapidement
sont arrivées de nouvelles fonctionnalités souhaitées par les utilisateurs.
»
Et là je parle pour l'avoir vécu : c'est certain que lorsque vous ouvriez
pour la première fois Mosaïc, tous les autres logiciels d'accès au Net
faisaient pâle figure, même le pauvre Gopher !
A lire sur legrenier : Mosaic de souvenirs
(1) http://www.sixapart.com/about/news/2006/08/digging_up_info.html
(traduction approximative par legrenier).
(2) François Dagorn, « Gopher », in L'Internet professionnel,
CNRS Editions, 1995.
(3) Rohit Khare, Who killed Gopher : an Extensible Murder Mistery, 23
décembre 1998
http://www.ics.uci.edu/~rohit/IEEE-L7-http-gopher.html
(4) Tim Berners-Lee, Weaving the Web, HarperBusiness, 2000 (traduction
approximative par legrenier).