Existe t’il une alternative au Web actuel, avec ses publicités à tout va, son suivi infernal, sa lourdeur de page? Project Gemini tente de l’être.

Introduction

Aujourd’hui, la plupart des sites web sont saturés de publicités (sauf ici), surchargés de cookies permettant d’analyser tout ce que fait le lecteur (sauf ici), truffés de vidéos et sons en auto-play (sauf ici). Et on ne parle même pas du contenu, une bonne partie des articles sont des puta-clics (sauf ici) que renierait Morandini, c’est tout dire. Alors, est-ce qu’on peut partager du contenu de manière plus efficace?

Project Gemini, son histoire

En réponse à un Web de plus en plus lourd (images, vidéos, publicités, cookies et javascript) et complexe (combien de plugins en moyenne pour un site wordpress?), le protocole Gemini a fait son apparition et ne propose rien d’autre que télécharger du texte, dans une version allégée de MarkDown. Pas d’image, d’animation, de cookie, de Javascript ni de CSS. Rien que du texte et des liens. L’objectif de Gemini est simple: pour éviter de rejouer le scénario “Web 2.0”, pour y parvenir il limite les possibilités au maximum: du texte, des titres, des citations et des liens. Bonjour, Merci, Au revoir.

Par contre, soyons clair, Gemini ne veut pas remplacer le Web actuel. Ce protocole ne permet pas la diffusion de contenu multimédias (oui je sais, dans de nombreux cas ce serait finalement mieux) pas plus que la création de sites marchands (là ça serait fort dommage). Pour faire un parallèle avec la vraie vie, le Web actuel est une voiture tandis que Gemini est un vélo. Ces deux moyens de transport existent, cohabitent et répondent à des besoins différents.

Sécurité et suivi

Gemini impose l’utilisation de TLS/SSL par défaut, c’est très bien surtout à une époque où Let’s Encrypt propose des certificats gratuits. De plus côté client, on expose deux choses en consultant une page Gemini: son adresse IP et le nom de la page qu’on consulte. Comme il n’y a ni cookie ni image ni javascript, le pistage est forcément extrêmement limité, voire impossible.

Écrire une page Gemini

La syntaxe est simple (et forcément limitée):

  • Trois niveaux de titres avec #, ## et ###
  • Pas de lien dans le texte, uniquement sur une ligne avec =>
  • Du texte préformaté encadré par ``` au début et **```**à la fin
  • Des listes mono niveau avec *
  • Le reste du texte s’écrit tel quel

C’est simple, c’est rapide à écrire, on ne se perd pas dans les possibilités. En guise d’exemple, je vais reprendre le début de l’article mais en version Gemini:

    
1# Project Gemini, l'autre Web?
2## Introduction
3Aujourd'hui, la plupart des sites web sont saturés de publicités (sauf ici), surchargés de cookies permettant d'analyser tout ce que fait le lecteur (sauf ici), truffés de vidéos et sons en auto-play (sauf ici). Et on ne parle même pas du contenu, une bonne partie des articles sont des puta-clics (sauf ici) que renierait Morandini, c'est tout dire. Alors, est-ce qu'on peut partager du contenu de manière plus efficace? 

Installer un serveur Gemini

Dans la section “Software” du site du projet, on trouve plusieurs serveurs, écrits dans différents langages (Go, C, PHP, Rust, etc). Je voulais tester mais il n’y a aucun package disponible, c’est franchement un facteur limitant. Du coup, le temps que je trouve la motivation pour tester (ou écrire une version Java), je n’ai pas de tuto express à proposer ici.

Quand à faire un serveur “de production” (auto-hébergé et public), gros hic: je n’ai pas d’adresse IP fixe ni de machine dédiée donc ça va être la galère pour proposer un service de qualité au quotidien.

Solution intermédiaire: installer un client HTTP

Il existe une mini-application PHP nommée “HtmGem” qui permet d’afficher des pages Gemini dans un browser. L’application s’installe facilement, la magie opère via une “rewrite rule” Apache pour transformer les urls *.gmi en page Web via un script PHP. C’est assez sympa

Clients Gemini

Pour consulter les capsules Gemini (l’équivalent d’un site web), il faut utiliser un client. Il y en existe plusieurs, écrits en plusieurs langages et certains disponibles sous Android. J’ai sélectionné AV-98 (python), Zain (Tcl/Tk) et Amfora (Go). AV-98 et Amfora s’affichent dans le terminal alors que Zain est en mode graphique.

Présentation de AV-98

Réalisé par SolderPunk, l’application AV-98 s’affiche en mode texte et est écrit en python. Il n’y a qu’un seul script de 64Ko. C’est plutôt incroyable lorsqu’on sait qu’aujourd’hui la moindre application pèse plusieurs Mo. Ce client propose plusieurs commandes permettant de naviguer (go, back, next), de gérer les bookmarks (add, bookmarks) et d’effectuer des recherches (search et gus). C’est plutôt complet mais l’ergonomie est assez peu intuitive.

AV-98: page d’accueil

Page d’accueil

AV-98: saisie de l’url et page d’accueil du moteur de recherche

Saisie de l’url et page d’accueil du moteur de recherche\

AV-98: saisie de la recherche

Saisie de la recherche

AV-98: résultats de recherche

Résultats de recherche

Présentation de Zain

Zain est écrit en Tcl/Tk (ça me ramène à l’époque -pas si lointaine. Bande de nazes!- de l’université). Il faut installer la libraie TLS pour Tcl avec un petit “sudo apt-get install tcl-tls”. Ici, on a droit à une fenêtre graphique comportant une zone pour l’url et 3 boutons. C’est bien plus facile à prendre en main (on dirait Netscape v1.0) mais on n’a pas de quoi gérer les bookmarks.

Zain: page d’accueil

Page d’accueil

Zain: page d’accueil du moteur de recherche

Page d’accueil du moteur de recherche

Zain: saisie de la recherche

Saisie de la recherche

Zain: résultats de la recherche

Résultats de la recherche

Présentation de Amfora

Amfora est un autre client en mode texte qui se trouver un peu à la croisée de Zain et AV-98: l’ergonomie est plus intuitive (la touche Tab permet de naviguer dans les liens d’une page) mais on conserve le fonctionnement en mode “commande”. A voir dans le temps mais au bout de quelques heures c’est mon préféré.

Amfora: page d’accueil

Page d’accueil

Amfora: page d’accueil du moteur de recherche

Page d’accueil du moteur de recherche

Amfora: saisie de l’url

Saisie de l’url

Amfora: résultats de la recherche

Résultats de la recherche

Conclusion

Project Gemini repose sur une idée intéressante et prometteuse. Par contre, la nécessité de mettre en place de nouveaux serveurs et l’aspect un peu rebutant des clients ainsi que la présentation plutôt austère des pages risque d’être un facteur vraiment limitant auprès du “grand public”. Mais pour avoir surfé, c’est vrai que c’est rapide et qu’on se concentre sur le contenu.

Quelques liens