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.
@nicocool84
XMPP est le protocole que je préconise par défaut depuis un bon bout de temps. Merci 😉XMPP j’ai vraiment essayé, mais contrairement à Mastodon/Lemmy ou je peux trouver des communautés pour discuter, la messagerie instantanée c’est souvent pour communiquer avec mes proches.
J’ai déjà réussi à les faire quitter WhatsApp pour Telegram (oui, je sais que la crypto est faite maison, mais c’était un moindre mal pour avoir une interface un peu sympa et sortir du giron de Méta), XMPP c’est juste pas assez user friendly pour la plupart des gens
Faire migrer c’est difficile, c’est pour ça que j’ai mes passerelles. Je ne suis pas sûr que tu aies fait une affaire en passant de whatsapp à telegram. Quicksy est la solution facile pour une UX proche de whatsapp (android seulement malheureusement).
Concernant la user-friendliness, je pense qu’en tant que nerds un peu militants, c’est à nous de commencer à utiliser ces outils, essayer de convaincre nos potes non nerds, et tenir compte de leurs retours pour que ça s’améliore.
J’ai vraiment essayé aussi XMPP mais quasi personne, même dans mes potes (pas assez) nerds, ne m’a rejoint Et quasiment TOUTES les associations (Sportives, Enfants, … ) ont des groupes Whatsapp Une solution que j’aimerais beaucoup c’est utiliser Xmpp et pouvoir discuter de facon transparente avec “les autres” De ce que j’ai vu cela semble relativement complexe. Il faut monter soit meme son serveur avec des passerelles etc.
Mettre en place un serveur et une passerelle est moins galère que d’autres protocoles (Matrix je pense à toi), mais effectivement fait bien aimer faire un peu d’administration système.
Il existe des serveurs publics où des passerelles sont déjà en place, par exemple https://mov.im a telegram et discord. J’envisage peut-être d’ouvrir mon serveur pour les gens qui voudraient essayer, mais je suis un peu embêté car d’une part administrer un serveur ouvert au public ça sera plus de boulot que mon serveur privé (mais fédéré) actuellement et d’autre part, rien ne m’empêchera techniquement de lire les communications de mes utilisateurs (pas de E2EE avec les passerelles). Je ne le ferai pas, j’ai pas que ça à foutre, hein, mais ça me plait pas trop sur le principe.
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.
Merci pour cette description. J’aimerais demander, comment cela se compare à Matrix (si tu connait cette dite différence).
D’à cette description, les deux sont plutot proche. Deux différences que je remarque: Les performances. Matrix est plutot consomatteur avec tout ses truc cryptographique bien sympa. J’ai eux du mal avec FOSDEM sur ma raspi 3 avec une microSD pas très performante (mais pas de probleme sur mon VPS à OVH avec 1 processeur plutot rapide et un stockage rapide).
Cependant, il a également ce dit système de synchronisation impressionant garantissant un remplissage arrière total et permanent (avec potentiellement une latence potentielle, bien que je ne sais pas comment XMPP marche sur ce point)
Et Element est vraiment un client lourd et pas très réactif.
Matrix implémente plus un système de base de données fédérée qu’un protocole de communication temps réel. Avoir l’ensemble de l’historique des conversations disponibles sur tout périphérique, y compris les nouveaux, est au cœur du fonctionnement du truc. Ça explique en partie pourquoi c’est beaucoup plus gourmand en ressource, notamment côté serveur. Pour ma part, je ne trouve pas que ça soit une fonctionnalité cruciale. La messagerie instantanée n’est pas le système le plus adapté pour ça à mon avis : les wikis et forum sont bien supérieurs, notamment en terme de « recherchabilité » et organisation de la base de connaissances. Mais tout le monde n’est pas de mon avis, sinon discord ne serait pas aussi populaire. :-) Cependant, c’est également possible avec XMPP, rien n’empêche un administrateur de configurer son serveur avec archives qui ne sont jamais purgées. J’ai pas particulièrement envie de faire ça, et sur mon serveur, j’ai une semaine d’archivage et je trouve ça bien suffisant. De toutes façons les clients ont généralement aussi une copie locale de l’historique. D’autres administrateurs choisissent des durées plus longues. En pratique, récupérer l’historique est beaucoup plus rapide que sur Matrix, dû à la simplicité/légèreté du protocole.
Une autre différence, c’est que le protocole de chiffrement bout en bout actuellement le plus utilisé sur XMPP a fait le choix philosophique de la confidentialité persistante, ce qui explique pourquoi, si les messages sont chiffrés de bout en bout, et que tu connectes un nouveau client à ton compte, il ne peut pas déchiffrer les messages passés : ton (tes) correspondant(s) doivent « faire confiance à ce nouveau périphérique » et commencer à chiffrer les messages pour celui-ci. Je ne suis pas du tout expert en chiffrement, mais je sais que certains bossent sur simplifier ce processus, avec la spec Automatic Trust Management. Précisons quand même ici que l’on parle du chiffrement de bout en bout (e2ee), ie, ce qui empêche les administrateurs des serveurs de lire les messages qui passent. Même lorsqu’un message n’est pas chiffré e2ee, il ne transite pas pour autant en clair sur le réseau, les communications entre serveurs et clients sont chiffrées par TLS dans tous les cas.
Enfin, pour moi, l’atout principal de XMPP, c’est que ce n’est pas une boite dans laquelle des investisseurs ont injecté du capital risque qui donne la direction du projet, mais bien la communauté, ce qui protège contre sa merdification future. Pour matrix, elle a déjà commencé, puisque le fait de filer des sous (et donc d’être une grosse entité commerciale…) permet d’avoir plus de poids lors des votes sur les specs:
- Individual memberships (i.e. today’s Patreon supporters): Ability to vote in the appointment of up to 2 ‘community representatives’ to the Foundation’s governing board. Name on the Matrix.org website
- Silver member: between £2,000 and £80,000 per year, depending on organisation size Ability to vote on the appointment of up to 2 ‘Silver representative’ to the Foundation’s governing board Supporter logo on the front page of the new Matrix.org website
- Gold member: £200,000 / year, adds: Ability to vote on the appointment of up to 3 ‘Gold representatives’ to the Foundation’s governing board. Press release announcing the sponsorship 1 original post on the Matrix.org blog per year Participation in the internal Spec Core Team room Larger logo on the front page of Matrix.org
- Platinum member: £500,000 / year, adds: Ability to vote on the appointment of up to 5 ‘platinum representatives’ to the Foundation’s governing board. 1 sponsored Matrix Live episode per year Largest logo on the front page of Matrix.org
Je suis content de répondre à d’autres questions si tu en as.
Merci de cette comparaison. Pour information, le chiffrement de Matrix correspond fortement avec ce que tu décrit: Il y a bien du chiffrement de bout en bout, avec chaque appareil une clé unique, mais il y a système (je sais pas comment ça marche) qui permet a un appareil avec une clé d’en attester une autre aprés vérification manuelle par l’utilisateur.
Merci de parler un peu de XMPP ! C’est un très bon protocole et c’est vraiment dommage qu’il soit un peu délaissé au profit de Matrix cet dernières années.
Matrix a réussi à très bien communiquer et recruter pas mal de libristes, mais sa merdification a déjà commencé :(