Decouverte de Gemini

Gemini, c’est le nouveau protocole à la mode. Non, il ne s’agit pas d’un nouveau film Mission Impossible, ou d’un énième plan quelconque gouvernemental, mais d’un protocole au sens informatique du terme. Partant du constant que le Web est tranquilement en train de sombrer dans les miasmes innomables du capitalisme de surveillance et les sites, pardon, les one page applications, toutes plus lourdes les unes que les autres, les initiateurs de ce nouveau protocol internet essayent de proposer quelque chose de fondamentalement léger.

À la différence d’HTTP1, Gemini empêche au maximum l’évolutivité de ses usages en ne proposant que le strict nécessaire. Ainsi, aucune possibilité d’introduction d’un nouveau header autorisant le tracking (cookie…) et les requêtes se limitent à l’appel à la ressource (pas de User-Agent, de Accepted-*…)

Par ailleurs, la simplicité du protocole autorise n’importe quel développeur à créer très facilement et rapidement ses propres outils, que ce soit un client ou un serveur. Je me suis de ce fait déjà amusé à développer toute une famille d’outils pour Gemini en Ruby, mon language de prédilection :

ruby-net-text
un gem client permettant d’interagir avec des ressources Gemini, de la même manière qu’avec l’API Net::* ou URI::*. Le nom de cette librairie est générique car en même temps que Gemini, je me suis également intéressé à Gopher, que je connais de nom depuis un moment et dont j’espère ajouter la fonctionnalité un de ces quatres.
diamant
un serveur Gemini en Ruby, supportant directement les connexions TLS (pas besoin de le placer derrière un reverse proxy). Pour l’instant il ne permet que de servir des fichiers statiques placés dans un dossier précis, mais je compte bien le faire évoluer tranquilement. C’est ce serveur qui propulse . Son nom fait référence à l’un des premiers programmes français de développement d’un lanceur spacial. Le premier lancement d’une fusée diamant a eu lieu en 1965, tout comme le premier lancement d’une capsule gemini et j’aime cette coincidence !

Par ailleurs, j’ai contribués à quelques outils Gemini pour mon éditeur préféré, GNU/Emacs :

N’hésitez pas à me faire signe si vous utilisez également Gemini !

Notes de bas de page:

1

HyperText Transfert Protocol (protocole de tranfert hypertexte)