Évaluons votre projet

Gemini, l'avenir du Web ?

Publié le 9 avril 2021 par Eddie Barraco | protocoles

Cet article est publié sous licence CC BY-NC-SA

Le Web, un constat amer

À l’heure ou j’écris ces lignes, Chrome possède 81 % de la part totale des usages de navigateurs Web. Ce quasi-monopole donne a Google un immense pouvoir de décision sur les évolutions du Web. Promouvoir de nouvelles fonctionnalités en tant que standard force la concurrence à suivre le pas ou devenir obsolètes. Aujourd’hui un navigateur qui s’arrête d’évoluer disparaît.

Le Web tend vers la complexité. Aujourd’hui il est impossible pour quelqu’un, et même pour une entreprise — s’appellerait-elle Microsoft — d’offrir au monde un nouveau navigateur. La quantité de fonctionnalités qu’un navigateur doit proposer est désormais bien trop conséquente pour s’atteler à cette tâche.

On peut raisonnablement penser qu’aucun nouveau navigateur Web ne viendra plus jamais concurrencer ceux qui prédominent aujourd’hui.

Pourtant le Web fut un jour développé pour permettre de partager du contenu facilement via un protocole HTTP et un langage de balisage simple. Un navigateur Web basique mais complet pouvait être développé en un temps relativement faible. C’est ce qui a donné au Web son aspect décentralisé, son indépendance et sa philosophie.

D’une certaine manière, les gens ont perdu le contrôle sur le Web et nous nous trouvons maintenant dans une situation où :

  • parcourir le Web sur du matériel peu performant est horrible
  • parcourir le Web sur un smartphone est abominable
  • nous devons rester vigilants, voire paranoïaque pour protéger notre vie privée
  • nous sommes dans cette espèce de situation perdant/perdant où nous devons consentir sur l’usage des cookies sur chaque site Web auquel nous accédons
  • nous avons du matériel bien plus performant, nous consultons les même types de contenus, toutefois la navigation semble tout aussi peu réactive qu’il y a quelques années.

Nous avons perdu l’équilibre dans la relation fonctionnalité / coût en ressource. Et il semblerait que ce qui a été fait, ne peut être défait.

Comprenons-nous bien : Il reste tout à fait possible de publier un site Web avec les briques HTML les plus simples. Le site s’affichera très bien et efficacement même sur les clients Web les plus basiques. Le problème est que d’un lien à l’autre vous aller retomber sur des sites gourmands. Si vous êtes amoureux de simplicité et désirez une alternative, je vous présente Gemini !

Ce qu’est Gemini

Gemini a été pensé pour partager du contenu via un protocole de communication ainsi qu’une syntaxe pour le présenter efficace. Son nom provient bien sûr du projet Gemini de la NASA, après Mercury et avant Apollo.

Le projet Gemini de la NASA avait pour but de tester et maîtriser l’ensemble des étapes nécessaires pour amener un humain de la terre à la Lune et de le ramener ensuite. Les lanceurs étaient économiques mais fiables. Le coup des missions se rapprochaient de ceux des missions Mercury. Pourtant les possibilités de ces missions s’approchaient de celles d’Apollo. Si bien qu’il a même été question à un moment d’utiliser les lanceurs Gemini pour atteindre la Lune.

L’idée est que Gemini, en tant que protocole de partage, propose un lot de fonctionnalités minimum et limité. Son but est d’offrir les fonctionnalités qui comptes.

  • Une ligne d’en-tête simple informant du mime-type et du code de retour
  • Un langage typographique inspiré du Markdown, en plus léger
  • Usage par défaut de SSL/TLS

Comme vous pouvez vous en douter :

  • Pas de définition de règles de rendu
  • Pas de langage interprété coté client
  • Pas de cookie
  • Pas d’entête de requête

Par conséquent :

  • Moins de problème de respect de vie privée. Le client ne donnant aucune information autre que la ressource demandée ainsi que son adresse IP.
  • Pas de gâchis de performance
  • Une implémentation facile (pour les serveurs et les clients)
  • Le contenu peut être lu même sans interpréteur

La syntaxe du langage est inspirée du Markdown mais n’est pas du Markdown. Les arguments derrière ce choix sont multiples. En voila quelques-uns :

  • Rendre du Markdown est difficile et vas forcer les implémentations à reposer sur des librairies existantes.
  • Il y a plein de variants du Markdown. Toutes les librairies ne sont pas garantie d’avoir le même rendu.
  • Beaucoup de variants du Markdown offrent des fonctionnalités indésirées sur Gemini, comme les images alignées, par exemple.
  • Avoir son propre langage permet d’avoir une certaine forme de contrôle sur celui-ci. Il devient plus facile d’en contraindre son usage.

Voici un exemple bien concret :

# A title 1

## A title 2

### A title 3

=> /foo An url

=> gemini://my.capsule.com/foo Another url

* A list item
* Another list item

'''
  a  pre-formated
     content
'''

Tout ce qui n’est pas mis en exemple ici n’existe pas dans le langage. Comme vous le voyez, seul 3 niveaux de titre existent. Les choix de rendu sont laissés aux clients. Cela permet d’avoir un affichage cohérent en passant d’une capsule Gemini à une autre.

Pour accéder au Geminiverse, vous pouvez utiliser l’un de ses nombreux clients. Pour débuter je vous conseille :

=> Lagrange un client qui se rapproche des clients Web dans son usage

=> Amfora est sans doute l’un des plus aboutis clients pour terminal

Conclusion

La communauté Gemini est jeune mais très active. Les gens prennent plaisir à s’approprier cet espace et à rédiger des articles ou à maintenir des journaux. La simplicité de rédaction offre un moyen aisé de diffuser ses idées. Il y a déjà deux moteurs de recherche et des agrégateurs qui permettent de voir au jour le jour les nouveaux contenus.

Voici quelques capsules pour vous lancer :

=> CAPCOM est l’agrégateur de contenu principal

=> GUS est l’un des principaux moteur de recherche

=> Une liste de capsule miroir de site Web

=> WikDict est un outil de traduction similaire à Wordreference

=> Weather vous donne la météo, tout simplement !

=> Tunnerapp est une plateforme pour trouver des radios internet

=> Gemreader est un lecteur de news Atom et RSS pour Gemini et Web

J’ai titré cet article d’une façon un peu provocatrice mais j’aimerais clarifier ici ce propos :

Gemini ne remplacera jamais le Web, car son usage se veut différent. Là où le Web est utile pour accéder à des applications lourdes, Gemini quant à lui excelle dans le partage de contenu entre internautes. Il offre un moyen décentralisé, indépendant et accessible à tout à chacun de diffuser ses idées librement. Son coût en ressources est dérisoire et une capsule Gemini peut parfaitement être hébergée sur nano-ordinateur.

Les verrous pour empêcher l’ajout de fonctionnalités au sein de Gemini permettent d’empêcher des contenus de devenir obsolètes ; d’empêcher qu’une implémentation ne mange toutes les autres ; d’empêcher une escalade de besoins techniques et énergétiques qui forcerait les créateurs à se tourner vers des solutions d’hébergement plus contraignantes.

Gemini est pour l’instant caché derrière son côté « de niche ». À l’abri. Il serait intéressant de voir ce qui se passerait si son usage venait à se démocratiser davantage.

Est-ce que ses contraintes se verraient tout simplement outrepassées si une entreprise se disait que finalement, afficher un tableau pour lister ses produits serait plus aguicheur ?

Ou bien si de lui-même, il évoluerait inexorablement vers une complexité grandissante. Si finalement le fait d’avoir quelque chose qui marche n’était jamais suffisant. Après tout, Gemini est bien de lui-même une version plus sophistiquée de Gopher.


L’équipe Synbioz.
Libres d’être ensemble.