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.
Super intéressant le principe de passerelles je connaissais pas, quand j’aurais un peu de temps ça me tente d’héberger mon serveur et de tester les passerelles Whatsapp et Signal.
Juste pour plus d’infos il y a beaucoup d’utilisateurs sur les passerelles que tu développes ? Ok Sourcehut c’est super pour les libristes mais au moins avec Github on a des stats (nombre de favoris, de forks, de contrbuteurs, etc.) qui permettent facilement de jauger la popularité d’un projet.
Et sinon ça passe sur une utilisation auto-hébergée avec accès via VPN ? Je me vois pas foutre ça en accès public.
Je ne fais pas de télémétrie, donc très dur de dire combien d’utilisateurs il y a. Je sais qu’il y a une 60aine de personnes sur le salon de discussion de mon projet, mais tous ne sont pas (encore?) utilisateurs. Je sais qu’il y a edhelas, l’administration de mov.im (et développeur du client xmpp movim) qui propose mes passerelles telegram et discord à ses utilisateurs sur son serveur. Idéalement j’aimerais que d’autres admins suivent, mais ils attendent probablement encore un peu que la stabilité s’améliore, et je les comprends. ;-)
Concernant sourcehut, j’aime bien qu’il n’y ait aucun aspect réseau social, et une interface assez austère, je me sens tout hackerman.
Accès VPN? Il faudra bien que les passerelles puissent communiquer avec les réseaux propriétaires ? Je ne suis pas sûr du setup auquel tu penses, mais pour info mon serveur xmpp est “privé”, dans le sens où je crée les comptes manuellement (et pas beaucoup, pas envie d’administrer un gros serveur), mais quand même fédéré avec les autres serveurs XMPP. Les passerelles ne sont accessibles qu’aux utilisateur de mon serveur… Qu’est-ce qui t’inquiète en pratique dans un accès public?
Merci des infos, par accès VPN je parle d’un hébergement sur mon réseau local. Donc le serveur aura bien accès à internet mais seuls les utilisateurs connectés directement au réseau local pourront y accéder (et c’est là que VPN entre en jeu pour accéder au service de l’extérieur).
Y a rien qui m’inquiète spécifiquement pour l’accès public mais je préfère dans la mesure du possible ne pas avoir de services publiquement disponibles sur internet.
Je pense que c’est possible comme setup mais que ça t’empêche de faire du XMPP fédéré : les utilisateurs d’autres serveurs XMPP ne pourront pas joindre ton serveur ?
Oui c’est ce genre d’installation que j’avais en tête, une instance personnelle principalement utilisée avec des passerelles pour centraliser les communications d’autres services.
J’utilise principalement Signal et Whatsapp et visiblement il serait possible d’agréger les deux sur XMPP, pour une utilisation exclusivement personelle donc (j’ai déjà eu du mal à faire migrer des gens sur Signal je me vois mal conseiller un truc auto-hébergé).