Pourquoi HtmGem, Gemtext et le reste ?

par Christophe HENRY, 2020-03-06

#gemini #perso #specification

——————————————————————————

 

Le web est devenu de plus en plus difficile à comprendre. Les choses les plus simples comme juste consulter un site web sont tout simplement rendues difficiles. Le problème est de savoir jusqu’où ça ira ? J’ai l’impression que HTML gagne en fonctionnalités surtout utiles aux publicitaires et aux grosses applications en ligne. Mastodon et les autres logiciels libres (ou pas) profitent bien de ces avancées techniques, tant mieux. Mais pour publier de façon plus modeste ? Quand pourra-t-on se dire « Ok, je maîtrise assez le domaine pour ne pas me faire piéger à la prochaine évolution ? » Et quand pourra-t-on installer un navigateur web sans douter de sa probité ?

Ça faisait ainsi un moment que je voulais disposer d’une norme technique stable et non hostile. Et je n’étais pas tout seul 😁

 

Le navigateur est devenu le lieu des batailles actuelles pour le contrôle de l’environnement de l’utilisateur. Même un Firefox fraîchement installé n’est pas digne de confiance si on veut limiter la fuite de données personnelles : il faut installer des extensions pour brider le fonctionnement des cookies, du Javascript et d’autres techniques invasives. Et tout cela pour des technologies de moins en moins au service des utilisateurs.

Exemple de réglages de Firefox chez Sebsauvage : beaucoup de réglages pour la vie privée.

 

C’est ici qu’arrive Gemini, qui vient rendre les possibilités initiales du web à ceux qui le désirent.

 

Gemini, c’est :

 

gemini://gemini.circumlunar.space/docs/specification.gmi

Copie locale des spécifications au 2021-03-04

Trust On First Use

 

Je recherchais surtout une nouvelle norme d’écriture adaptée à la lecture en masse, sans trop de distraction et surtout, non invasive. Un peu comme si chacun pouvait écrire ses livres et lire ceux des autres. Cependant, il faut que les publications en Gemini soient accessibles aussi via le web. Des proxy existent déjà sur le web. Y mettre une adresse Gemini permet de visionner la capsule via le web. Mais je voulais aller plus loin. À cet instant, la principale valeur de Gemini est le Gemtext — c’est-à-dire le format du texte — permettant de s’exprimer facilement.

 

Faire des capsites

 

C’est-à-dire parvenir à réunir sur un même serveur un seul endroit accessible via le web et via Gemini. J’ai donc conçu un genre de proxy local sur un serveur… Via Gemini, on utilise le navigateur Gemini pour ouvrir la page. Le navigateur reçoit le texte brut et le rend à l‘écran. Via HtmGem, la page est demandée par le navigateur web et rendues par l’application HtmGem. Le serveur renvoit ensuite le HTML que le navigateur web affiche normalement.

L’objectif principal est qu’il soit déployable facilement sur une infrastructure mutualisée.

 

Mais…

 

TLS béton

 

Le TLS obligatoire complique d’un coup la mise en place d’un serveur. Un serveur Gemini peut être fait de zéro avec les langages modernes sans bibliothèque particulière, sauf pour le TLS. Heureusement, TOFU permet de ne pas se soumettre au racket des autorités de certifications. Et Let’s Encrypt permet d’une part d’avoir un certificat qui passe aussi pour le web et de prier pour que le service se maintienne…

Trust On First Use

Let’s Encrypt

 

Texte mis en forme

 

Je pense que le gemtext ne doit pas se limiter au texte brut. L’expressivité du texte mis en forme compense largement sa complexité d’implémentation. Le formatage ne quitte pas la ligne physique. Aussi lors de l’analyse il n’y a pas besoin de gérer le contexte hors de la ligne. Pour l’avoir développé, la faible complexité induite vaut largement le coup ! Quels usages légitimes en faire ?

Ces attributs textes sont interprétés uniquement dans les « Text lines », « Unordered list items » et « Quote lines ».

 

 

———————————————————— ————————————————————

License de cette page

Cette page est sous licence libre CC BY-SA 2.0 FR

CC BY-SA 2.0 FR

 

Christophe HENRY

FR EN EO

gemini://gmi.sbgodin.fr/

https://www.sbgodin.fr/