Je profite de ces temps de merdification de reddit pour essayer de faire connaître quelque chose qui me tient à cœur : XMPP (ou Jabber, pour son nom un peu plus sexy). Pour faire simple, c'est à Whatsapp (et Discord, etc.), ce que lemmy est à Reddit (ou ce que Mastodon est à Twitter, ou ce qu'internet est au minitel), bref, si vous êtes ici, vous devriez être sensibles à l'intérêt de ce truc.
Concrètement, c'est un protocole de communication. Il faut choisir (ou créer) une instance, s'y faire un compte (ou pas, les accès anonymes aux salons publics sont également possibles), et voilà, on peut tchatcher avec d'autres ~~blaireaux~~ personnes du monde entier !
Il existe également des passerelles vers les silos propriétaires, dont certaines que je développe. C'est comme ça que j'ai initialement découvert XMPP, j'aime l'idée d'avoir tous mes chats dans une seule appli, aussi bien sur mon ordiphone que sur mes ordipasphones.
Les points forts de XMPP selon moi :
- léger (donc écolo) : un serveur peut tourner sur un petit raspberry pi avec un bon paquet d'utilisateurs, ce n'est pas du tout un souci ;
- chiffrements de bout-en-bout : à la signal/whatsapp, facile à utiliser pour tout le monde, opengpg possible pour les plus nerds d'entre vous
- tout le monde participe à l'évolution du protocole, les entreprises n'ont pas plus de voix au chapitre que les petits devs ;
- amical avec la vie privée (huhuhu) : je n'ai pas les services google sur mon téléphone, et pourtant j'ai des notifications pushs, et ça bouffe pas particulièrement ma batterie.
Le moins bien :
- Les clients traînent un peu à implémenter les fonctionnalités « modernes » (réactions, réponses, fils…) de messagerie instantanée… mais ça vient !
- Les clients iphone un peu en dessous des autres, à cause de l'hostilité d'apple au devs. Là aussi ça s'améliore petit à petit.
Mon utilisation :
- Un serveur prosody hébergé sur le VPS le moins cher d'OVH.
- Les passerelles que je développe (https://sr.ht/~nicoco/slidge/) pour accéder à Whatsapp, Discord, Telegram, Signal, Messenger, Steam chat, Skype et Mattermost installées au même endroit. (EDIT: j'ai également biboumi comme passerelle IRC).
- Conversations sur mon android dégooglé : ce client est parfaitement adapté aux noobs, grâce à lui ma famille (et quelques copains proches) utilisent mon instance sans trop se poser de questions.
- Gajim ou Dino selon l'humeur sur mes ordis de bureau et Beagle sur le macbook (😭️) du boulot; ma femme non geek aime bien gajim sous windows aussi.
- Mes copains avec iphone utilisent siskin.
Je vais finir par quelques liens utiles si vous voulez creuser un peu plus:
- de la doc destiné aux novices : https://joinjabber.org/fr/
- autohébergement facile : https://snikket.org/
- un client web avec des fonctionnalités « réseau social » : https://movim.eu/
- un autre : https://libervia.org/
- une longue liste de logiciels XMPP : https://xmpp.org/software/
- un service commercial pour avoir un numéro de téléphone pour appels voix et SMS sur XMPP : https://jmp.chat/
- une appli (liée à une instance) où l'inscription se fait avec numéro de tel/OTP par SMS (comme sur whatsapp/signal/telegram/etc.): https://quicksy.im/
Viendez, on est bien.
EDIT: j'oubliais un autre point fort de XMPP, assez important. C'est un protocole qui existe depuis un bail (fin des années 90) et qui a fait ses preuves. Whatsapp par exemple, utilise le protocole XMPP légèrement modifié (et surtout non fédéré avec les autres) et gère… beaucoup, beaucoup, d'utilisateurs. Ça passe à l'échelle sans souci.
@[email protected] @[email protected] XMPP ou matrix.
Je pense que ActivityPub n'est pas du tout adapté pour de l'instantané. Trop "best effort" et trop "eventually consistent". Y'a quasiment aucune crypto de prévu dans le protocole ni dans ses extensions. Pas d'accusé de réception. Pas de moyen d'avoir les DM ouverts où fermés (littéralement aucun moyen de prévu pour indiquer sur ton profile que tu veux recevoir des DMs ou non alors que ça pourrait juste être un boolean.)
La stack de crypto de signal a fait ses preuves et est super robuste. Matrix et XMPP sont robustes, c'est vraiment ce qu'on a de mieux. Faut pas ré-inventer la roue.
https://github.com/simplex-chat/simplex-chat, utilise le même algorithme que celui mis au point par Signal.
Whatsapp aussi, et dans le monde xmpp ça s'appelle OMEMO. J'y connais pas grand chose en cryptographie, mais on dirait bien que moxxie (créateur de signal) a fait quelque chose de bien, puisqu'on le suit. ;-)
Je ne connaissais pas simplex, ça a l'air pas trop mal… mais absolument pas fédéré, et ça tape pas sur le même terrain que WA/signal/xmpp/matrix, le but est vraiment l'anonymat fort. Pas vraiment ce qu'on recherche pour écrire à sa maman, ses potes, etc.