Gemini (protocole)

Gemini

Informations
Fonction Transmission d'hypertexte
Sigle gemini
Date de création juin 2019
Port 1965
RFC non standardisé par l'IETF
Gemini
Caractéristiques
Extension
.gmi, .gmni, .gemini
Type MIME
text/gemini (non officiel)
Développé par
Solderpunk
Version initiale
Type de format
Spécification
Site web

Gemini est un protocole de communication client-serveur. C'est un protocole de la couche application qui utilise le protocole TCP comme couche de transport. Il permet notamment d'accéder à des documents texte simples de type hypertexte. Les échanges entre le client et le serveur sont sécurisés à l'aide du protocole TLS. Le protocole est lancé en 2019[1] et est mis au point de manière collaborative, mais il n'est pas un standard internet.

Présentation

Le protocole a été créé afin de répondre aux dérives du web selon ses auteurs[2]. Le but n'est pas de remplacer le web ou Gopher mais de proposer une alternative[3]. Gemini est à mi-chemin entre la simplicité de Gopher et la complexité du Web, comme, dans le domaine spatial, le Programme Gemini a servi d’étape intermédiaire entre le Programme Mercury et le Programme Apollo[4]. Le port utilisé, 1965, est une référence à l’année de lancement de Gemini 3, premier vol Gemini habité.



Les ressources Gemini sont identifiées au moyen d'URL dont le schéma est gemini://. Contrairement au protocole HTTPS qui possède un équivalent non chiffré (HTTP), le protocole Gemini ne définit volontairement pas d'équivalent non chiffré.

Le langage de balisage privilégié n'est pas HTML, mais un langage léger (comme l'est Markdown), appelé Gemtext.

Implémentation

Serveurs

De nombreux serveurs ont été développés pour ce protocole dans des langages de programmation divers[5]. Certains possèdent des fonctionnalités avancées comme la création de Virtual Host, la prise en charge des interfaces CGI ou encore du proxy inverse.

Il existe également différents proxies permettant d'accéder à Gemini via HTTP et donc en utilisant un navigateur web.

Clients

Des clients sont disponibles sur les principaux systèmes d'exploitation existants. Certains n'implémentent que des fonctionnalités de base, d'autres sont capables d'afficher des images ou de jouer un son.

La page Wikipedia en anglais liste de nombreux logiciels.

Statistiques

Le 23 décembre 2020, le réseau Gemini[6]comptait 506 capsules (et 64 000 URI), dont 17 % utilisaient des certificats fournis par Let's Encrypt, réparties sur 371 adresses IP, dont 17 % en IPv6.


Au , le réseau Gemini comptait 2 824 capsules[7].

Le projet Gemini a également fait l'objet d'une présentation lors du FOSDEM 2021[8] et son essor rapide suscite l'intérêt de la communauté pour sa prise en charge dans la commande cURL[9],[10] bien que le schéma d'URI ne soit pas enregistré auprès de l'IANA.

Bibliographie

  • Lee Phillips, « Gopher, Gemini, and the rise of the small Internet », Linux Magazine, no 245,‎ (ISSN 1471-5678, lire en ligne, consulté le )

Références

  1. (en) « Project Gemini FAQ », sur Project Gemini (consulté le )
  2. « Blog Stéphane Bortzmeyer : Le protocole Gemini, revenir à du simple et sûr pour distribuer l'information en ligne ? », sur www.bortzmeyer.org (consulté le )
  3. « Project Gemini FAQ », sur gemini.circumlunar.space (consulté le )
  4. « Ploum.net : Gemini, le protocole du slow web », sur ploum.net (consulté le ) par Ploum
  5. Krispin Schulz, kr1sp1n/awesome-gemini, (lire en ligne)
  6. « Blog Stéphane Bortzmeyer : Developing and running an Internet crawler », sur bortzmeyer.org (consulté le )
  7. « Statistics on the Gemini space »
  8. « FOSDEM 2021 – Gemini, a modern protocol that looks retro », sur fosdem.org (consulté le )
  9. « Curl: Re: [PATCH New protocol: gemini] », sur curl.se (consulté le )
  10. « The Gemini protocol seen by this HTTP client person », sur Daniel.haxx.se (consulté le )

Liens externes