Gopher pour un Internet moins gourmand ?

16 November 2019

J’ai découvert l’existence du protocole Gopher il y a quelques mois seulement via Mastodon. Depuis, je m’intéresse à son fonctionnement, à sa communauté et à ses opportunités. Je me demande si Gopher pourrait revenir des années 90 pour nous aider à réduire l’empreinte énergétique du numérique ?

Rapide présentation de Gopher

Pour faire un rapide rappel, Gopher est un protocole Internet apparu à peu près au même moment que HTTP pour consulter des ressources librement. Le réseau de serveurs avec lesquels on peut communiquer avec HTTP s’appelle le Web et celui avec lequel on peut communiquer avec Gopher s’appelle le Gopherspace. De même, l’équivalent du blog dans le Web s’appelle un phlog dans le Gopherspace.

Gopher n’est plus très utilisé car il offre beaucoup moins de possibilités que HTTP. Ce dernier est un protocole beaucoup plus puissant qui a permis au Web de se développer tel qu’il est à présent. Nous avons donc rapidement oublié Gopher. Une petite communauté utilise encore Gopher notamment par nostalgie et aussi parce qu’il n’y a pas trop de foule.

En effet, avec une utilisation limitée à une petite échelle, le Gopherspace n’est pas devenu un espace publicitaire et commercial comme le Web. On retrouve sur le Gopherspace l’esprit des débuts de l’Internet avec des installations plutôt primitives sur des petits serveurs gérés par des particuliers.

Gopher et la consommation des ressources

Je m’intéresse à Gopher car il s’agit d’un protocole très simple et avec des fonctionnalités plutôt limitées. Si vous vous demandez pourquoi est-ce qu’un protocole aux fonctionnalités limitées est intéressant, je me permets de lister trois chiffres que j’ai découvert dans le dossier « Streaming, bitcoin, IA : le délire énergétique ! » du Science & Vie avril 2019 :

Photo de la citation d'Anne-Cécile Orgerie : « Les box internet, que l'on n'éteint jamais, représentent 1% de la consommation électrique française !

Considérant ces précédents chiffres, je pense que nous devrions envisager de réduire l’empreinte énergétique du numérique au risque de se trouver à court d’énergie.

L’approche courante que nous pouvons observer autour de nous est de développer des nouvelles technologies de sorte à conserver les fonctionnalités existantes, voire à en ajouter, tout en consommant moins d’énergie. Pour illustrer mon propos, j’ai cherché les publicités dans le domaine automobile et j’ai trouvé un communiqué de presse du 11 janvier 2006 du site belge de Mercedes-Benz dont voici un extrait : « Les véhicules diesel ont un rôle essentiel à jouer dans la réduction de la consommation de carburant et de la dépendance vis-à-vis des importations de pétrole. Le succès que connaissent les diesels Mercedes-Benz depuis leur réintroduction américaine en 2004 s’explique aisément par leur impressionnante efficacité économique et leurs performances. »

Mais il semble que cette stratégie ne soit pas durable à cause de l’effet rebond. L’« effet rebond » signifie que sachant qu’une technologie est plus écologique, nous risquons de ne pas nous soucier de son utilisation, d’en abuser et au final d’avoir un impact plus important. Dans le dossier « Streaming, bitcoin, IA : le délire énergétique ! » du Science & Vie d’avril 2019, des ingénieurs de Huawei ont affirmé qu’encore beaucoup d’optimisations étaient possibles sur les routeurs pour réduire leur consommation électrique mais ont aussi admis que ça ne compenserait pas l’augmentation exponentielle de l’utilisation des réseaux informatiques.

Avec Gopher, j’envisage la piste où on limite délibérément les fonctionnalités. On utilise moins de fonctionnalités, on consomme moins de ressources, on utilise moins tout court.

Il n’est pas possible d’avoir de Gopher App comme il existe de Web App. Il n’y a pas de Javascript ni d’équivalent aux cookies pour gérer des sessions utilisateur. Très peu d’interactions sont possibles avec les serveurs Gopher. On peut seulement consulter des ressources, une ressource à la fois. Un fichier texte, sans images incluses. Les images sont accessibles séparément.

Pour avoir un peu consulté le Gopherspace ces dernières semaines, on est d’abord un peu perturbé face à cette simplicité, voire rusticité du protocole. Mais finalement c’est très apaisant de ne pouvoir lire que du texte. C’est comme si le temps ralentissait et que l’on prenait plus de temps pour lire et réfléchir au contenu que l’on vient de lire. Visiter le Gopherspace c’est un peu comme des vacances à la campagne pour fuir le Web très urbanisé.

Consulter le Gopherspace

Pour consulter le Gopherspace, vous n’avez pas besoin de beaucoup de choses. Si vous êtes sur GNU/Linux, la commande echo "/" | nc zaibatsu.circumlunar.space 70 suffit pour afficher la page d’accueil du site zaibatsu.circumlunar.space. Mais c’est une méthode un peu spartiate pour lire les pages Gopher.

Capture d'écran d'une page Gopher consultée via Netcat (nc)

Il était auparavant possible de consulter un site Gopher via le navigateur Firefox mais cette fonctionnalité a été retirée. Maintenant vous devez utiliser votre navigateur web favori et accéder au Gopherspace via le proxy hébergé par Floodgap ou sinon en installant un module Firefox. Personnellement, je préfère utiliser le navigateur lynx, qui a conservé sa compatibilité avec Gopher, et VF-1 dans le terminal sur GNU/Linux et enfin Pocket Gopher qui est disponible sur F-Droid pour Android.

Capture d'écran de la même page Gopher que précédemment, consultée cette fois via le client VF-1. Les liens vers les autres documents sont indiqués par des index entre crochets [1]

Il n’existe pas de moteur de recherche important comme Google, Yahoo, Qwant ou DuckDuckGo dans le Gopherspace. Seule une petite instance du moteur de recherche Veronica 2 est hébergée sur Floodgap et elle a une base de données limitée. On navigue dans le Gopherspace essentiellement par liens entre les serveurs que l’on apprend à connaître progressivement.

Voici quelques serveurs par lesquels il est possible de commencer sa navigation :

Aller plus loin avec Gopher

Si vous souhaitez aussi vous intéresser un peu plus à Gopher, j’ai réuni quelques références qui pourraient donner des idées et permettre de découvrir encore plus d’initiatives.

solderpunk est une personne très active dans la communauté Gopher. Elle a développé notamment le navigateur Gopher VF-1 et a récemment commencé à concevoir un nouveau protocole appelé Gemini inspiré de Gopher et de HTTP dans le but de palier quelques défauts de Gopher.

Vous pouvez trouver sur jfm.carcosa.net plusieurs articles à propos de Gopher dont un article expliquant comment utiliser le générateur de site statique Hugo pour aussi générer des pages pour Gopher.

Salvatore Sanfilippo (antirez), le développeur de Redis, a implémenté Gopher dans la base de données clé-valeur dans le but de donner un coup de pouce à la communauté Gopher.

Dans le but d’apprendre, j’ai moi-même commencé à implémenter un client Gopher en Ruby mais je me suis arrêté à l’affichage des pages et à un début de navigation lorsque je me suis rendu compte que j’allais très probablement le concevoir de la même manière que VF-1 de solderpunk. Cependant, j’ai commencé à étudier l’utilisation de la mémoire RAM des clients Gopher et j’ai constaté que mon client en Ruby consommait déjà 106 Mo alors qu’il est tellement limité qu’il ne permet même pas de suivre les liens sur Gopher. En comparaison, j’ai observé une consommation de 37 Mo pour VF-1 (développé en Python) et 6 Mo pour Stubb (développé en Lua). Toujours pour apprendre et expérimenter, j’ai donc commencé à développer un nouveau client Gopher, cette fois-ci avec le langage Rust que j’apprends par la même occasion. J’ai mesuré 3 Mo de RAM pour ce client en Rust mais la consommation augmente au fil des pages consultées donc je dois encore étudier pour comprendre si je dois faire des optimisations.

Je compte de nombreuses initiatives autour de Gopher pour expérimenter et populariser de nouveaux usages. Est-ce que propager l’utilisation de Gopher afin de remplacer certains de nos usages sur Internet pourrait nous aider à réduire notre empreinte énergétique ?


  1. Anne-Cécile Orgerie via Science & Vie avril 2019 n°1219 [return]
  2. VINCENT NOUYRIGAT, 2019. Streaming, bitcoin, IA : le délire énergétique ! Science & Vie [en ligne]. avril 2019. N° 1219. Disponible à l’adresse : https://www.science-et-vie.com/technos-et-futur/streaming-bitcoin-ia-le-delire-energetique-48593Regarder Netflix, utiliser un assistant vocal… Derrière ces gestes anodins se cachent d’énormes data centers et un réseau dont les calculs absorbent 8 % de l’électricité mondiale. Et ce n’est qu’un début. Car boostés par le streaming, l’IA, la blockchain, leurs besoins pour raient dépasser notre production énergétique dès 2040 ! Une situation intenable, alertent des spécialistes. [return]
  3. Rapport de Cédric Villani sur l’IA, mars 2018, via le Science & Vie avril 2019 n°1219 [return]

Un commentaire ?

Vous avez repéré une erreur dans l'article ? Un point d'amélioration ? Vous pouvez envoyer vos commentaires par email à « blog arobase killiankemps.fr » avec pour objet « [Comment][fr][Gopher pour un Internet moins gourmand ?] ».
(Le « @ » a été remplacé par « arobase » afin que des robots malveillants ne puissent pas récupérer l'adresse email)

Envoyer un commentaire par email