Decouverte de Gemini
Gemini[1], 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’HTTP¹, 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[2]: 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[5]: 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 ma propre capsule[3]. 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[4] 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 :
- Amélioration de gemini-mode[6] qui ajoute la coloration syntaxique aux fichiers gemini (en particulier j’ai rendu les liens réactifs).
- Ajout d’Elpher (navigateur Gemini pour Emacs) et gemini-mode dans les modes supportés par le thème dracula[7].
- Création d’un /back-end/ d’export Gemini pour org-mode : ox-gmi.el[8].
N’hésitez pas à me faire signe si vous utilisez également Gemini !
[1] Gemini (HTTPS)
[2] ruby-net-text (HTTPS)
[3] ma propre capsule
[4] fusée diamant (HTTPS)
[5] diamant (HTTPS)
[6] gemini-mode (HTTPS)
[7] thème dracula (HTTPS)
[8] ox-gmi.el (HTTPS)
Notes de bas de page
¹ HyperText Transfert Protocol (protocole de tranfert hypertexte)
--
📅 mercredi 2 décembre 2020 à 21:42
📝 milouse with GNU/Emacs 29.4 (Org mode 9.7.6)
🏷️ Bidouille
🏷️ configuration
🏷️ Gemini
📜 Back to gemlog
🏡 Back to home
🚀 Propelled by fronde