Quels choix de messageries instantanées libres ?

J’utilise pas mal la messagerie Discord, et avant, j’ai pas mal utilisé Skype. Encore avant, c’était MSN. J’ai vécu un peu la ronde des messageries instantanée. A chaque fois ça a été le même motif : l’ancienne est bien, tout le monde l’utiliser, elle devient de moins en moins bien (une petite enshitiffication), une nouvelle arrive, on passe dessus, et rebelotte.

Du coup je me demande : quelles sont les choix qui existent en autre messageries instantanées, les anciennes, les plus récentes ? Je vais ici parler des cas les plus courants, dans quel cas je les trouves pertinents, les soucis que je leur trouver, et en tirer un peu une conclusion sur l’état de l’univers des messageries instantanées libres.

Le but de cet article n’est pas de dire « quitter Discord », mais plus de préparer aussi le terrain si jamais Discord commence à devoir monter rapidement sa rentabilité aux dépends de nous les utilisateurs, mais aussi d’indiquer aux gens intéressés quels seraient les alternatives. Si vous êtes déjà très connaisseurs sur le sujet, cet article ne vous apprendra sans doute rien.

IRC

Internet Relay Chat est le vénérable des messageries instannés. Il est sans fioritures et simple (ce qui peut parfois être un soucis), et est souvent celui que pas mal de gens veulent rester au dépends de ceux plus récents. Il est plus dédié à la discussion de groupe, dans des canaux.

Une BD en quatre case. La première à la mention 2004 et contient une personne disant à une autre "Notre équipe communique via IRC". La deuxième mentionne 2010 et une personne y dit à une autre "Notre équipe utilise principalement Skype, mais certain⋅es d'entre nous préfèrent rester sur IRC". La troisième mentionne 2017 et une personne y dit à une autre "Nous avons ramené presque tout le monde sur Slack, mais trois personnes refusent de quitter IRC et se connectent via une gateway". La dernière mentionne 2051 avec la narration qui dit "toutes les consciences ont fusionné avec la singularité galactique. Sauf pour UNE personne qui insiste pour s'y joindre via son client IRC". Une singularité de lumière s'y trouve, et quelqu'un sur son ordinateur lui dit "je l'ai configuré de la manière que je veux, okay ?!". La singularité soupire.
XKCD sur IRC, souvent utilisé pour illustrer les irréductible IRCistes

IRC possède comme avantage sa simplicité théorique d’utilisation : téléchargez un client compatible, trouvez des salons pour parler, et rouler jeunesse. Dans les faits, le caractère décentralisé d’IRC est à la fois une force et une faiblesse, parce qu’il faut trouver un salon sur un serveur. Certains serveurs très connu sont Libera.chat dédié au logiciel libre, EpikNet est le plus connu pour ceux francophone (mais je n’y suis pas allé ces dernières années, du coup je peux pas trop le « conseiller » : je ne sais pas s’il a une modération acceptable par exemple).

Cependant, une partie des réseaux IRC possèdent un certain nombre de soucis : en premier lieu, le caractère très « ouvert » d’IRC (sans authentification de base) peut causer facilement du spam et des attaques. S’il est possible de faire de la modération sur IRC, et d’avoir des méthodes d’authentification (souvent via un bot qui va authentifier notre client, et nous kick si on est pas authentifié), c’est plus difficile que sur pas mal de méthodes plus modernes. De plus, le fait qu’il n’y a pas de logs sans utilisation de services spécifiques (des bouncers) fait qu’on peut pas recevoir de messages privé quand déconnecté, ou que ce qui se passe quand les mods ne sont pas là n’est pas visible. D’un autre côté, l’absence d’historique public peut aussi être vu comme une fonctionnalité (même si du coup contournable via les bouncers).

Un projet est fait avec IRCv3 pour corriger certains des soucis d’IRC en offrant une nouvelle version permettant de résoudre certains de ces soucis. Cependant, en soi, je me dois de prévenir qu’IRC peut avoir du coup des aspects plus « risqué » que d’autres protocole, même si comme souvent c’est comment la modération est appliqué dans le canal qui jouera le plus.

En plus des clients historique avec une interface « à l’ancienne » tel que HexChat, on peut trouver des clients ayant des interfaces plus modernes, tel que Polari pour GNOME ou Kiwiirc qui a une interface un peu à la manière des Slack/Discord/etc.

XMPP

XMPP (Extensible Messaging and Presence Protocol), aussi connu sous le nom de Jabber, est un protocole de messagerie instantané décentralisé qui a été très utilisé (il a notamment été utilisé par Google jusqu’à ce qu’ils coupent le lien avec l’extérieur, ainsi que Facebook et Whattsapp mais dans des version modifiée et/ou incompatible avec l’existant).

Dans son utilise la plus courante, il est très proche de MSN/Skype, et dédié surtout à la conversation de personne à personne, même si les discussions de groupes sont tout a fait possible et qu’il est possible de faire des canaux publics. Son utilise pose des contraintes similaires à celles des mails : il faut trouver un provider qui nous fournira une adresse, et il est possible de faire du self-hosting. Des extensions permettent d’ajouter aux clients plus récents des fonctionnalités supplémentaires tel que le chiffrement des messages, la gestion des appels (via le protocole Jingle), les réactions aux messages, etc.

L’extensibilité d’XMPP est aussi un de ses points forts, puisqu’il peut même être utilisé pour faire fonctionner des réseaux sociaux, étant la base du réseau social et messagerie Movim qui fonctionne grâce à XMPP.

Le fait de devoir trouver un provider et espérer qu’il reste est une des difficultés (même s’il existe quelque vieux serveur jabber/xmpp). Une liste de fournisseurs XMPP est disponible sur XMPP.net, ou pour les plus nerdy il est possible de s’organiser en petit groupe pour en avoir un auto-hébergé si quelqu’un s’y connait un peu. ( Une situation proche de celle de Mastodon, même si Mastodon est à l’heure plus populaire de XMPP aux yeux du public )

Au niveau des clients, quelques clients sont Dino pour Linux (utilise le style des applications GNOME), Converse.js pour le web (à une interface encore une fois un peu à la manière de celle d’un slack/matrix/etc) et Conversation pour Android ou Gajim qui est multi-plateforme.

Matrix

Matrix est arrivé un peu plus tard que les deux précédant dans le monde de la messagerie. Comme les deux juste avant, il est décentralisé, puisqu’avoir un compte sur un serveur permet théoriquement de communiquer avec tout les autres. Il se positionne dans une niche d’utilisation proche de celle d’IRC, puisqu’il met un fort accent sur les canaux de groupe, et intègre des mécanismes de découvertes de canaux, etc. Il intègre le VoIP et la visionconférence. Un peu comme XMPP, il existe différentes implémentation du protocole au niveau serveur, et différentes implémentations côté client. Il a tendance à posséder plus de fonctionnalité récentes, et jouit d’une grande popularité dans les milieux libres.

Il possède pas mal de bridge permettant de communiquer avec d’autres protocole et messagerie, mais dans les faits, ces bridges ne sont pas toujours parfait et parfois cela importe les soucis des autres protocoles (par exemple, le bridge IRC vers Libera Chat à été coupé dû à des soucis de modérations et de spam). J’utilise un peu à titre personnel Matrix (notamment pour en apprendre plus sur les développement behind-the-scene), à la fois via le client « officiel » (Element) et via celui de GNOME (Fractal), et j’ai eut une expérience plutôt positive du protocole.

Pour l’utiliser, il faut se connecter à un homeserver, et on pourra communiquer avec des personnes et canaux présents sur d’autres parties du réseaux, un peu comme avec un mail ou dans le Fediverse.

Cependant, de ce que j’ai vu, j’ai l’impression que la plupart des gens pour l’instant sont plutôt concentré sur le homeserver matrix.org, même si d’autres chat avant centralisé ont commencé à utiliser le protocole Matrix (Gitter, Rocket.chat). Une liste existe de providers pour Matrix (on peut noter que certains sont lié à des communautés Mastodon), mais je pense que c’est un des points qui seraient à améliorer : créer plus de providers afin de permettre plus une vrai décentralisation du réseau Matrix (et je pense que rendre plus courant le combo homeserveur Matrix + instance Mastodon est une bonne idée).

Parmis les clients populaire, il y a Element (le client le plus utilisé, basé sur des techno Web), Quaternion (cross-plateforme, utilise Qt), NoeChat (le client de KDE) ou Fractal (celui pour GNOME).

Signal

Signal est une messagerie et un protocole de communication intégrant le chiffrement des messages de pair à pair, développé de manière open-source par une fondation. Il est généralement considéré comme l’un des choix possibles pour une communication sécurisée.

A titre personnel, certains aspects de l’application m’embêtent un peu : la nécessiter de fournir son numéro de téléphone et l’aspect très centralisé de l’application. Cependant, elle est une application qui est utilisé par pas mal de monde et considérée comme plus sécurisé et fiable que les grosses applications et est souvent mise en avant.

L’application tend à préférer qu’on utilise son frontend à des alternatifs, et est disponible sous les différentes plateformes. L’application Flare est en développement comme frontend non-officiel sous GNOME.

Conclusion

Il est à noter qu’en plus de ceux que j’ai indiqué, il y a des solutions plus centralisée (host un Mattermost), plus orienté Peer2Peer (Tox), ou basé sur Matrix ou autre protocole (Rocket.Chat, etc). J’ai préféré ici me concentrer sur les plus populaires et ayant une certaine « présence ».

Je pense que les quatre messageries montrées ici ont chacune leur défauts et qualités. A titre personnel, j’ai une préférence pour XMPP et Matrix, le modèle d’IRC me semble trop risqué sur pas mal de point (j’ai l’impression que c’est super simple de s’y faire dépasser si y’a une attaque/un raid, par exemple), et je ne suis vraiment pas fan que Signal prenne les numéro de téléphone.

Le but de cet article n’est pas de dire qu’il vous faut tous tout de suite abandonner Discord si vous en avez besoin. C’est plus un article à titre préventif, pour présenter les alternatives qui existe sur la partie « messagerie instantanée », et je conseille surtout de diversifier ses moyens de communications, de ne pas laisser tout ses œufs dans un panier qui risque un jour d’avoir besoin de devenir plus rentable. Du coup, je pense qu’il peut être intéressant d’avoir au moins en plus des moyens de contacter ou d’être contacter sur ces autres plateformes, où d’y avoir un moyen d’y faire vivre des discussions communautaires si jamais la plateforme s’attaquait plus à ses utilisateurs (a titre personnel, forcer un client est plutôt un soucis). Bref, avoir des solutions de replis pour ne pas devoir tous migrer en catastrophe si jamais les choses se passaient mal.

Il est à noter également qu’aucun ici ne reprend totalement l’un des aspects centrale de Discord : l’importance des « serveur » (ou « guilde » pour reprendre le terme interne, puisque techniquement ce ne sont pas des serveurs), qui regroupent plusieurs canaux vocaux et textuels et maintenant même des « forums » (les « communautés » Matrix permettent a priori une chose similaire mais je ne les ai pas beaucoup utilisées).

Pour des communautés plus complexe, je pense que si jamais il y a besoin d’autre chose que Discord, le modèle du forum est plus adapté. Du coup, dans un prochain article, nous verrons quel est l’état des forums en 2024, quelles solutions existent, et de potentielles améliorations et fonctionnalités qui pourraient être bien dessus.

Source de la miniature : L’école d’Athène, par Raphaël