À la découverte du petit internet

Une niche complémentaire au world wide web

Salut,

Je suis tombé, un peu par hasard, sur un terme qui m’a intrigué, le "small internet" qui était accompagné de liens "gemini". Je n’avais alors jamais entendu parlé ni de l’un ni de l’autre.
Fort de ma curiosité, j’ai entreprit de me renseigner un peu, alors je me suis équipé de ce qu’il me fallait et j’ai navigué. Puisque c’est resté un peu flou j’ai voulu me le faire expliquer, et c’est finalement ce "talk" qui m’a éclairé sur ce dont il s’agit.

J’ai trouvé le sujet très intéressant et j’avais envie de le partager pour ceux qui n’avait pas encore eu l’occasion de croiser ces termes.
Je vous recommande bien sûr de regarder la vidéo. Aussi, puisqu’elle est en anglais et dure quand même un moment, je vais parler un peu ici des points qui ont répondu à mes questions.

Qu'est-ce que le *petit internet* ?

En réalité ce terme n’est pas encore clairement défini. Il correspond à un mouvement de contre-courant par rapport aux dérives du web actuel, en redonnant du contrôle aux internautes.
Le petit internet peut prendre plusieurs formes en plus des différentes définitions que l’on veut bien lui donner. Pour certains le petit internet est le fediverse, pour d’autre il s’agit d’IRC, ou des mailing lists, ou encore de gopher …

James Tomasino discerne cependant quelques points communs dans tout le contenu que l’on appelle petit internet :

  • C’est orienté vers les individus
  • ça évite un contrôle centralisé voire appartenant à une société
  • C’est sincère, ça a un sens personnel
  • C’est limité intentionnellement
  • C’est participatif
  • ça ne piste pas l’utilisateur dans la mesure du possible
  • C’est généralement non commercial

Il s’agit donc plutôt d’une philosophie, dans laquelle on peut trouver des choses intéressantes, dont certaines dont vous avez probablement déjà entendu parlé comme Mastodon ou PeerTube. Mais ce n’est pas ce qui m’a interpellé ici. Ce qui l’a fait, c’est l’autre focus de la présentation, les protocoles Gopher et Gemini.

Un web alternatif

Cette partie va être un peu technique donc il se peut que vous ayez besoin de notions de réseau pour suivre. Je vais tâcher cependant de la conclure en expliquant l’enjeu plus simplement.

James Tomasino pointe ici une partie de ce petit internet qui présente des pages web qui ne se naviguent pas de la façon habituelle.

En effet, lorsque votre navigateur vous affiche une page, il télécharge ce qui la compose depuis un serveur en utilisant un protocole de communication. Le fonctionnement du web tel qu’on le connait utilise le protocole http(s) pour transférer un contenu html, qui va se lier à des composants de rendu css, d’interactivité javascript, et de médias (images, vidéos, sons …), eux aussi donc transférés au travers ce protocole.
La proposition ici est de faire appel à des protocoles alternatifs.

Gopher

Il existe en fait une alternative à http qui existe depuis les débuts du web. Gopher est un protocole qui permet de communiquer certains types d’entrées, principalement du texte et des liens. Lorsque le navigateur interroge un endpoint gopher, il reçoit une suite de ligne (un texte) dont la première lettre indique la nature de celle-ci (la ligne est-elle un lien ou du texte). Et c’est tout.
C’est cette simplicité qui lui a value une niche d’utilisateur, gardant ce protocole en vie toute ces années. Cependant, gopher n’a pas le recul que l’on peut avoir maintenant sur les problématiques du web et n’a pas pu évolué suffisamment enfermé dans sa niche.

Gemini

La raison pour laquelle il y a un nouveau souffle de ce côté, et pourquoi il y a eu ce talk relativement récemment, c’est la naissance d’un nouveau protocole Gemini, qui s’inspire de la simplicité de gopher et vient corriger ses lacunes. Ainsi, Gemini va apporter du chiffrement (TLS, le même que https), supprimer la limite de taille de ligne (nombre de colonne), supporter plus de media en supportant les types MIME, et permettre une rédaction plus intuitive.

Lorsque l’on navigue avec gemini, chaque endpoint correspond à un media ou un GemText (qui est considéré comme un média mime text/gemini). C’est le seul échange qui s’effectue, il n’y a pas d’autre ressource partagée que celle demandée.
Le GemText est un langage de markup, il renseigne le contenu de la page. De manière similaire au markdown on peut structurer son texte avec des titres, des listes, ou des textes préformatés, et on peut indiquer des liens. Il n’y a par contre aucun balisage inline (pas de gras, italic etc…).

Aussi, le client peut communiquer au serveur un certificat l’authentifiant, cela peut permettre la création d’un compte sur le serveur, comme dans le jeu AstroBotany gemini://astrobotany.mozz.us/. Le certificat appartient au client, il lui est donc possible de gérer à volonté ses identités numériques.

Comment on y accède ?

Puisqu’il s’agit de protocoles de communication totalement différents, il faut un navigateur qui les prennent en charge. De part leur simplicité, il existe déjà plusieurs implémentations de leurs navigateurs.
Vous pouvez utiliser Kristall dans un environnement graphique ou bien Bombadillo dans un terminal par exemple.
On peut trouver une liste des logiciels sur le site de Gemini.

C’est vachement restrictif ton truc, à quoi ça sert ?

C’est vrai ! Il faut bien se rendre compte que ce n’est pas destiné à remplacer http totalement. Il s’agit plutôt de gérer les sites dont le contenu est principalement textuel. Mais ça représente beaucoup de cas : les sites d’articles journalistiques, wikipedia (il existe d’ailleurs un mirroir gopher gopher://gopherpedia.com:70), les blogs personnels, ce forum, les microblogs (X), les docs de code …

On pourrait se dire qu’il nous suffit de dire à notre navigateur de n’afficher que le contenu html et ignorer le css et le javascript, mais dans les faits les sites ont tellement été conçus avec ces technologies que les enlever côté client les rends inexploitable. Il suffit de faire l’expérience de Lynx pour s’en convaincre (à comparer avec l’expérience de Bombadillo).
Toutes ces restrictions nous assurent que le serveur ne s’occupe que de délivrer le contenu. Aussi avec ces garanties, cela permet d’avoir des navigateurs beaucoup moins complexe, utilisant ainsi moins de ressources et avec une exécution plus rapide.


Je vous laisse à cette porte d’entrée car je ne me suis moi-même pas aventuré beaucoup plus loin. J’espère que vous trouverez ça aussi intéressant que moi et que vous prendrez plaisir à l’explorer.

8 commentaires

Perso j’avais déjà regardé ça il y a quelques années et je suis mitigé. Je comprends pourquoi ils ont cette approche mais c’est bien trop minimaliste et de ce fait cela restera malheureusement une niche.

Du contenu purement textuel, oui ça existe mais ne pas avoir de liens, ou même quelques images d’illustrations cela limite beaucoup quand même. D’autant que de fait le contenu est du coup disponible en lecture seule, pas de BDD ou de requêtes donc pas d’identification, pas de commentaires, pas d’échanges vraiment possible dessus.

C’est du coup trop limité pour que son usage décolle sérieusement. Même si après je pourrais voir une possibilité qu’un navigateur comme Firefox le prenne en charge et du coup pour ces contenus spécifiques on peut facilement passer du Web à Gemini pour bénéficier de fait des protections garanties du protocole tout en étant un minimum convivial en ayant pas deux outils distincts et en pouvant exploiter le Web pour les usages pour lesquels Gemini ne répondra jamais.

Je me demande s’il n’y a pas moyen tout de même d’avoir un compromis avec un Gemini avec plus de capacités tout en corrigeant certains (mais pas tous) les défauts du Web moderne.

+2 -0

Je rejoins assez l’avis de Renault sur le sujet. J’avais regardé, et je vais me contenter de recopier ces commentaires que j’avais déjà posté ici et .

Contexte : c’est en commentaire de ce lien par son auteur : https://blog.flozz.fr/2023/04/12/decollage-ce-blog-vient-detre-propulse-dans-le-geminispace/

Le projet Gemini est intéressant d’un point de vue technique, mais je ne crois pas à son utilisabilité au quotidien. Le meilleur exemple est que l’article en lien utilise beaucoup de fonctionnalités qui ne sont pas disponibles dans Gemtext, en particulier : la mise en emphase (en gras et en italique) et les liens « embarqués dans un paragraphe » avec du texte alternatif – je suis gentil, je pars du principe que les smileys sont gérés comme des caractères et que les « blocs de citation » permettent le code « inline » qui est beaucoup utilisé dans l’article.

Je ne sais pas trop pourquoi Gemtext a été simplifié à ce point, au point d’en devenir inutilisable même pour un simple « texte bien conçu en-dehors de toute considération de style d’affichage », sachant que la simple gestion du protocole TLS (obligatoire) doit être beaucoup plus consommatrice en terme de ressources (CPU, RAM, réseau) que les deux points de mise en forme que je mentionne plus haut.

Bref, ça me semble être un projet d’ingénieur rigolo, mais qui par conception ne semble pas pouvoir aller plus loin.

et, suite aux explications de l’auteur du lien :

La justification de Gemtext me conforte dans ce que je pensais : c’est complètement un projet d’ingénieur, qui part d’une considération technique (ici la simplicité d’implémentation) et pas d’un besoin fonctionnel. Ça ne le rends pas moins légitime, mais pour moi c’est un frein à son adoption à « grande » échelle.

Pour les textes littéraires, personnellement je rajouterais quand même au moins un mode d’emphase (et idéalement les deux, même si le gras est plus rare que l’italique), des notes en bas de page, une différenciation entre « saut de ligne » et « saut de paragraphe » et la possibilité d’avoir un « séparateur » (en général trois étoiles * * * centrées sur une ligne).

ne pas avoir de liens

Renault

Il y a des liens, c’est même énormément utilisé. Seulement, ton lien doit occuper toute une ligne.

quelques images d’illustrations

Renault

Gemini permet de transférer tout type de média MIME, seulement les contenus ne seront pas fetch automatiquement car on veut garder une requete = une réponse. Tu peux, au milieu de ton texte, mettre un lien vers ton image d’illustration avec un texte qui la décrit. Quand l’utilisateur cliquera dessus il verra ton illustration. C’est l’une des questions à la fin du talk. Et qu’il y a notamment le navigateur Lagrange qui intègre l’image à la page au moment du clic au lieu de l’ouvrir dans une nouvelle page.

pas d’identification

Renault

Si, mais elle se fait au travers une génération de certificat côté client, et le client choisi quel certificat il partage gardant ainsi le contrôle de son identité. Je t’invite à visiter gemini://astrobotany.mozz.us/ qui est justement une demo de cela.

pas de commentaires, pas d’échanges vraiment possible dessus.

Renault

Difficilement en effet, on peut tout de même envoyer quelques données, avec les paramètres d’url comme on le fait pour un moteur de recherche. Combiné avec l’identification on pourrait imaginer un système de commentaire.

Je ne sais pas trop pourquoi Gemtext a été simplifié à ce point, au point d’en devenir inutilisable même pour un simple « texte bien conçu en-dehors de toute considération de style d’affichage », sachant que la simple gestion du protocole TLS (obligatoire) doit être beaucoup plus consommatrice en terme de ressources (CPU, RAM, réseau) que les deux points de mise en forme que je mentionne plus haut.

SpaceFox

Je ne pense pas que ce soit une raison vraiment technique, je pense que le choix a été un peu arbitraire, et puisque c’est naît d’une communauté habituée à la syntaxe orientée par ligne de Gopher, ça s’est fait comme ça. James Tomasino, sur ce point, dit que chacun a ses petites remarques, qui ne sont pas déraisonnables, mais si on mets tout bout à bout, on obtient le web à nouveau. Que l’équilibre est pas évident. Par contre il conclu quand même son talk avec un ironique "c’est cool, même si j’aurais aimé pouvoir souligner mes textes".

+0 -0

Je ne pense pas que ce soit une raison vraiment technique, je pense que le choix a été un peu arbitraire, et puisque c’est naît d’une communauté habituée à la syntaxe orientée par ligne de Gopher, ça s’est fait comme ça.

romantik

C’est bien une raison technique à la base, comme décrit dans le point 4.4.1 de la FAQ du projet :

4.4.1 Why doesn’t text/gemini have support for inline links?

There are multiple reasons for this, but this design is primarily in service of the guiding principle of simplicity of implementation (see answer 4.2.4).

Il y a des liens, c’est même énormément utilisé. Seulement, ton lien doit occuper toute une ligne.

Oui mais voilà, imagine un article Wikipédia qui est majoritairement du texte avec un tel système ce serait infaisable.

Gemini permet de transférer tout type de média MIME, seulement les contenus ne seront pas fetch automatiquement car on veut garder une requete = une réponse. Tu peux, au milieu de ton texte, mettre un lien vers ton image d’illustration avec un texte qui la décrit. Quand l’utilisateur cliquera dessus il verra ton illustration

Pour moi cela ne change pas grand chose, avoir le texte et l’image ensemble c’est souvent important dans ce contexte. Parfois ne serait-ce pour aérer un peu le texte.

Niveau expérience utilisateur ce n’est pas terrible.

mais si on mets tout bout à bout, on obtient le web à nouveau.

Bien sûr, mais est-ce que le compromis actuel est vraiment bon ? Je n’ai pas l’impression car même pour son cas d’usage nominal à savoir afficher du texte voire un peu d’images il est perfectible.

+0 -0

Bonjour,

Je suis dernièrement tombé sur plusieurs articles parlant de gemini, et mon constat va globalement dans votre sens: ça part d’une bonne intention, mais c’est beaucoup trop simpliste pour que ça décolle plus que ça en-dehors de quelques illuminés.

Je pense qu’ils auraient au moins dû partir sur markdown. IL supporte les liens inline, le gras/italique, les illustrations, et si on y ajoute quelques extensions, les tableaux et les maths. IL y a de quoi faire, déjà beaucoup plus qu’avec leur langage très minimaliste.

Ne pas permettre des choses aussi essentielles et basiques que le gras/italique a des efffets pervers. Il n’y a qu’à voir le résultat sur LinkedIn, où on n’a rien trouvé de mieux que de détourner des caractères unicode pour en avoir quand même parce qu’on en veut absolument à n’importe quel prix. C’est une catastrophe pour l’accessibilité, et pas seulement. Si gemini devient assez populaire, quelqu’un finira forcément par contourner les limitations avec ce genre d’astuces destructrices.

Après pour le manque de communication ou d’interactivité, c’est clair que ce serait bien, mais c’est difficile d’en ajouter sans réveiller les démons du web qu’on voulait justement éviter.

Il y a sûrement moyen de faire quelque chose de moins restrictif et de bien plus utile tout en restant épuré, si on remplaçait HTML par markdown. Ou même en gardant l’essentiel de HTML. L’essentiel est de dire adieu à JavaScript, à CSS et aux cookies. C’est surtout ces trois-là qui ont ouvert la porte au n’importe quoi du web qu’on peut reprocher aujourd’hui, à mon avis.

En fait d’un certain côté, je rêverais d’un web sans CSS et sans JavaScript, de retour avec 1 requête = 1 page, comme en 1995. Ce serai forcément un web plus épuré, plus accessible, et qui n’empêcherait pas pour autant la communication ou même le commerce.

+1 -0

Je pense qu’ils auraient au moins dû partir sur markdown. […] Il y a sûrement moyen de faire quelque chose de moins restrictif et de bien plus utile tout en restant épuré, si on remplaçait HTML par markdown. Ou même en gardant l’essentiel de HTML.

QuentinC

Il y a une entrée là dessus dans la FAQ Gemini.
Alors … elle est remplie d’arguments que je trouve peu convaincants, mais j’aime bien la conclusion.
Elle dit que gemini est tout à fait capable de desservir des pages markdown ou html sans ambiguïté grâce au type MIME, et donc que les clients peuvent prendre en charge le format markdown - certains le font déjà - et que le markdown peut ainsi devenir plus populaire que le gemtext si c’est vraiment un problème, il n’y a pas de frein conceptuel à ça.
Je suis un peu moins d’accord avec l’argument qui dit

Dans les faits, en quatre ans d’existence, Gemini dessert moins de pages markdown que de JSON ou d’html.

paraphrase de la FAQ Gemini

Je trouve l’argument fallacieux car quand tu fais déjà le pas de publier sur gemini au lieu du web, c’est encore un pas de plus pour faire ça en markdown plutôt qu’en gemtext. Un effort non négligeable qui peut ralentir fortement l’adoption de markdown (ou tout autre format alternatif) car au bout d’un moment t’aimerais bien être lu.


pas de commentaires, pas d’échanges vraiment possible dessus.

Renault

Si ça t’intéresse, je suis tombé sur un système de commentaire pour serveur CGI. Pas mal d’améliorations sont encore à apporter mais je trouve pas ça dégueu.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte