Hashtagueule

Édito #12 : Lancement de notre capsule Gemini

Bonjour à tous.

Depuis quelques semaines, on me rabache les oreilles à propos d'un truc qui n'est pas le web. Bien entendu, beaucoup de choses ne sont pas le web. Voici une liste non exhaustives de choses qui ne sont pas le web :

  • un gâteau au chocolat
  • l'Arc de Triomphe
  • des chaussures de sport
  • la révolution industrielle
  • la COVID-19

On pourrait aller bien plus loin si on voulait.

En fait, c'est l'un des premiers éléments de présentation de Gemini : ce n'est pas le web. Mais alors qu'est-ce que c'est ?

Ce qui n'est pas le webTop

Au début des années 90, alors qu'Internet avait été inventé, mais alors utilisé en grande partie par des bandes d'universitaires boutonneux pour faire des trucs d'intellos, plusieurs idées ont germé en parallèle dans le monde pour mettre au point un moyen de consulter des informations sous forme de pages navigables.

L'une de ces idée venant d'Europe est le protocole HTTP, couplé au format HTML, qui forment ce qu'on appelle aujourd'hui le web.

Ce qu'on sait moins, c'est que d'autres protocoles ont vu le jour à peu près en même temps, notamment le protocole Gopher, mis au point aux États-Unis. Ce protocole était vraiment minimaliste (même si HTTP l'était presque autant à l'époque) et se couplait le plus souvent avec du contenu en texte simple.

Gopher sur Wikipedia

Au bout d'un certain temps, le web a fini par l'emporter, notament à cause de l'intégration d'image dans les documents HTML, et le monde Gopher s'est réduit à peau de chagrin et est complètement délaissée par l'industrie.

Certains irréductibles continuent de servir des sites Gopher. L'argument de ces derniers des Mohicans, c'est la légèreté des sites Gopher par rapport aux sites web d'aujourd'hui : un site Gopher n'est que du texte : pas d'image, pas de mise en forme, pas de distractions. Ça fonctionne bien pour présenter de l'information austère.

La relèveTop

Gemini est une initiative récente pour tenter de relancer cette contre-culture Internet. Il s'agit à la fois d'un protocole au même titre que HTTP et Gopher, et d'un format de mise en forme, au même titre que HTML et le... texte simple. Sur la page du projet (côté Gemini, gemini://gemini.circumlunar.space/), il se présente comme "plus lourd que Gopher, plus léger que le web". Le but ici est de prioriser la légereté, mais également la vie privée, en prohibant les mécanismes classiques de traçage utilisés sur le web.

Côté protocole, à l'inverse de HTTP qui compte en moyenne une bonne grosse marmite d'en-têtes (y compris ceux concernant les fameux cookies), Gemini ne s'autorise qu'un seul en-tête, permettant de préciser le type de contenu servi. Une requête Gemini ne contient pas de verbe type GET, POST, etc. Uniquement l'URL. Et c'est à peu près tout ce qu'on peut en dire. Ah si, le chiffrement TLS des pages est obligatoire, et les certificats sont pour la plupart auto-signés, dans un fonctionnement TOFU (Trust On First Use). Un choix pas anodin, on en reparlera.

TOFU sur Wikipedia (en anglais)

Côté format de contenu, Gemini privilégie le Gemtext, un format mis au point par le projet dérivé de Markdown. Enfin, un Markdown vraiment dépouillé. La différence avec le Markdown est l'interdiction des liens dans un paragraphe en les déplaçant sur leur propre ligne bien isolée (comme les liens dans le présent article) et l'impossibilité d'intégrer des images autrement qu'en mettant des liens normaux. C'est un peu spartiate mais c'est quand même un peu plus beau que du texte brut. Les détails du Gemtext sont à retrouver sur la page Gopher du projet.

Naviguer sur GeminiTop

Si on a du contenu navigable, alors il faut un navigateur. Non, vous ne pourrez pas aller sur un site Gemini (les gens du milieu aiment bien les appeler des capsules) avec votre Firefox. Ou alors si, mais en passant par une passerelle qui convertit le contenu Gopher en HTTP/HTML.

Il existe plusieurs navigateurs Gemini. Les deux qui ont retenu mon attention sont :

  • Lagrange : c'est un navigateur graphique très esthétique. Je le trouve visuellement très plaisant.
  • amfora, en ligne de commande.

Lagrange

amfora

Ce que je pense de GeminiTop

Le web a bien des défaut. Il vous traque, il consomme beaucoup de ressources. Et la plupart du temps, lorsque que vous essayez de ne prendre que ce qui vous intéresse en éliminant les ressources inutiles, vous finissez avec une page immonde et vraiment pas agréable.

L'idée d'un web basé sur du markdown et laissant le soin de la mise en page au le client est présente dans ma tête depuis un certain temps. Quand on m'a parlé de Gemini, j'ai été immédiatement intéressé.

Cependant je suis contrarié par plusieurs points.

Pour moi, même si je suis vraiment satisfait de ce minimalisme, je pense qu'il est complètement inutile de créer un nouveau protocole. À mon sens, il aurait été bien plus intéressant de développer le format Gemtext sur HTTP, et de mettre au point des navigateurs (ou en adapter des existants) pour y mettre un mode ou il n'interprète qu'un nombre bien restraints d'en-têtes.

Développer Gemini sur du HTTP, cela aurait permis deux choses :

  • Pouvoir utiliser les infrastructures existantes pour relayer du Gemini. Il n'existe pas encore d'équivalent à HAproxy pour Gemini.
  • Rendre les navigateurs existants compatibles, quitte à avoir une mise en page un peu dégueu.

Parlons maintenant des certificats. Selon les créateurs de Gemini, le système de validation des certificats par des autorités de certification est dangereux, car il suffit qu'une autorité soit mise à mal pour corrompre l'ensemble des sites qu'elle a certifié.

Oui, le système des autorités de certification n'est pas parfait. Mais pour la navigation sur des serveurs a priori inconnu, cela reste mille fois mieux que le principe TOFU.

Le mode TOFU est celui adopté par SSH : à la première connexion, la signature de la connexion est enregistrée et pour les connexions suivantes, on vérifie que la signature n'a pas changé, et si elle a changé, on affiche un avertissement.

Pour SSH, cela fait sens. On ne se connecte pas à n'importe quel serveur : normallement, on vérifie que la signature de la première connexion est effectivement la bonne car il s'agit de nos propres serveurs ou ceux d'un ami/collègue. En bref, avec SSH, si on fait les choses bien, on n'accepte pas aveuglément un certificat. Pour la navigation, on est susceptible de pouvoir se connecter sur n'importe quel serveur proposant un serveur Gemini, tenu par des gens inconnus. Là il n'est plus question de pouvoir vérifier quoi que ce soit. Il faut juste espérer que la première connexion a été bonne, et croiser les doigts. Je sais pas pour vous, mais moi ça me met très mal à l'aise.

Nous avons quand même franchis le pas et à titre d'expérience, nous vous proposons notre capsule Gemini, pour ce que cela vaut, sur gemini://hashtagueule.fr.

Merci de votre attention.