Piste : xmpp

**Ceci est une ancienne révision du document !**

Messagerie instantanée - XMPP

XMPP est un protocole de messagerie instantanée, ouvert, standard et extensible.

Je le considère comme l'un des meilleurs (si ce n'est le meilleur) protocole de discussion.

Il permet de :

  • Discuter en un à un
  • Discuter en groupe dans des salons privés ou publics
  • Chiffrer les conversations de bout-en-bout, même en groupe
  • Gérer le status (présent, absent, “écoute telle musique”, etc)
  • Personnaliser son profil (avec un nom, une photo, une URL, etc)
  • Et d'autres choses que j'oublie surement

En fait il y a des chances pour que vous ayez déjà utilisé XMPP sans le savoir. Vous avez utilisé Google Talk à l'époque ? C'était du XMPP. L'application WhatsApp, c'est aussi du XMPP (fermé mais ça en est). Vous jouez à League of Legend ou avez une Nintendo Switch ? Leur chat est aussi basé sur XMPP.

Pourquoi XMPP ?

XMPP (parfois aussi nommé sous son ancien nom : Jabber) a beaucoup d'avantages par rapport à d'autres protocoles ou produits.

Décentralisation

Il est réellement décentralisé, ce qui veut dire que comme avec le mail ou le fédiverse il est facile de trouver une instance qui nous convient pour faire notre compte. Tout ne dépend pas d'une seule entité comme avec Signal.

Auto-hébergement

Héberger un serveur XMPP est assez simple pour quiconque à un peu l'habitude d'héberger des services.

J'ai écrit un article sur le sujet il y a quelques années.

Et contrairement à Matrix, pas besoin d'être riche pour héberger son compte ou même ceux de toute sa famille chez soi. Un serveur XMPP consomme très peu de ressources, moins de 500 Mo de mémoire si on a que quelques dizaines de comptes.

Extensibilité

C'est un protocole extensible et c'est ce qui fait sa force : ajouter des fonctionnalités à XMPP en terme de protocole est relativement simple.

C'est ce qui a permis de le faire évoluer en ajoutant des choses comme :

  • Le chiffrement
  • L'upload de fichiers
  • Les appels audio et vidéos
  • Et bien d'autres choses

En particulier ces dernières années, XMPP semble de plus en plus avoir le vent en poupe.

Les clients / applications

Les clients ce sont les programmes ou applications sur ordinateur ou smartphone qui permettent d'utiliser la messagerie XMPP.

Durant des années ce fût le point faible de XMPP : le manque de bons clients sur toutes les plateformes. Et par « bon client » j'entend un client qui soit utilisable, jolie, qui permette la communication à 2 ou en groupe et avec du chiffrement de bout-en-bout.

Heureusement ces dernières années les choses ont bien avancés. Si bien qu'il existe à présent au moins 1 ou 2 clients sur chaque plateforme que je considère comme de « bons clients ».

Sur ordinateur

Sur smartphone

Les ponts

Un pont (Bridge en anglais) permet de se connecter à un réseau/protocole de messagerie depuis un autre protocole.

Beaucoup de ponts existent pour se connecter depuis XMPP à d'autres protocoles comme :

  • Biboumi pour se connecter à IRC
  • MatterBridge pour se connecter à Discord, IRC, Matrix, Mattermost, Microsoft Teams, Mumble, Nextcloud Talk, Rocket.chat, Slack
  • Slidge pour se connecter à Signal, Whatsapp, Telegram, Discord, Mattermost, Steam, Skype, Facebook Messenger, Matrix

Alors bien sur, les ponts font souvent perdre des fonctionnalités, comme le chiffrement de bout-en-bout par exemple. Mais ça permet de se parler et d'appliquer à XMPP le XKCD 1782 habituellement réservé à IRC.

Ressources

Voici quelques liens utiles pour en apprendre plus.

Vous venez d'arriver sur XMPP et voulez rejoindre un salon d'entraide francophone ? On en a fait un : entraide-xmpp@conf.lithio.fr