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:

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.

  • Marius@lemmy.mariusdavid.fr
    link
    fedilink
    Français
    arrow-up
    2
    ·
    1 year ago

    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.

    • nicocool84@sh.itjust.worksOP
      link
      fedilink
      Français
      arrow-up
      3
      ·
      1 year ago

      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.

      • Marius@lemmy.mariusdavid.fr
        link
        fedilink
        Français
        arrow-up
        1
        ·
        1 year ago

        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.

    • flyos@mander.xyz
      link
      fedilink
      Français
      arrow-up
      1
      ·
      1 year ago

      J’utilise pas mal Matrix à travers Element, et je trouve que c’est quand plus proche d’un WhatsApp/Signal que XMPP, notamment justement pour la gestion de la crypto sur du multi-terminal (pour moi, c’est une fonctionnalité importante et ça m’a l’air galère à gérer avec XMPP mais je me goure peut-être).

      Mais je suis d’accord qu’Element est un peu lourd et qu’on manque de clients sympas et complets alternatifs!

      • nicocool84@sh.itjust.worksOP
        link
        fedilink
        Français
        arrow-up
        1
        ·
        1 year ago

        En pratique, la plupart des utilisateurs non tech veulent juste un client sur leur téléphone et Quicksy est ce qui offre l’expérience la plus proche de signal/whatsapp/telegram dans le monde XMPP.

        Avoir plusieurs clients n’est pas plus galère que sur matrix dans mon expérience (où la « vérification des autres appareils » n’a jamais fonctionné pour moi — YMMV). Quand tu connectes un nouveau client, ton contact sur Quicksy voit une modal « confiance automatique dans les nouvelles clefs de sécurité » (ou qqch du genre) mais ça me semble raisonnable. De toute façon, le e2ee sans vérification manuelle des empreintes via un autre canal, c’est plutôt une illusion de confidentialité forte qu’autre chose àmha.

        Après, utiliser matrix c’est déjà environ 9000 fois mieux que les jardins emmurés de meta, on est bien d’accord. J’ai une passerelle matrix que j’essaye de terminer quand j’aurais le temps (pour l’instant elle est non fonctionnelle).

  • V4uban@lemmy.worldM
    link
    fedilink
    Français
    arrow-up
    2
    ·
    1 year ago

    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

    • nicocool84@sh.itjust.worksOP
      link
      fedilink
      Français
      arrow-up
      3
      ·
      edit-2
      1 year ago

      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.

      • V4uban@lemmy.worldM
        link
        fedilink
        Français
        arrow-up
        2
        ·
        1 year ago

        J’ai relu ton post, en fait j’avais utilisé Conversations à l’époque! Oui, Telegram je sais que c’est pas fou, mais une interface trop aride, ça aurait été trop bloquant. Puis il y a les messages vidéos, les stickers…

        Je suis convaincu par le bien-fondé de la démarche, mais je suis aussi assez réaliste par rapport au sujet.

        • nicocool84@sh.itjust.worksOP
          link
          fedilink
          Français
          arrow-up
          3
          ·
          1 year ago

          Conversations (et donc Quicksy, même base, même dev) devraient se dé-aridifier sous peu : le dev a reçu un financement de NLNet pour faire une UI plus à la mode du moment, et avec des fonctionnalités plus modernes (réactions, etc.). Un petit aperçu en video : https://gultsch.social/@daniel/110118815716187992

          Je me considère également comme réaliste : les vrais absolutistes conchient les passerelles comme celles que je développe. ;-)

          • V4uban@lemmy.worldM
            link
            fedilink
            Français
            arrow-up
            2
            arrow-down
            1
            ·
            1 year ago

            Ha ha ha, les vrais puristes ne doivent pas parler à grand monde :D

          • Océane ⏚@eldritch.cafe
            link
            fedilink
            arrow-up
            0
            ·
            1 year ago

            @nicocool84 @V4uban La gauche est un processus de co-construction pluraliste (qui inclut les logiciels libres, le féminisme, le décolonialisme, les coopératives, etc.). Alors comment dire ? Il y a la position de la FSF qui considère que les utilisataires doivent avoir le choix d’utiliser des logiciels, systèmes d’exploitation, et environnement 100% libres, mais aussi celle de collaborer via Discord ou avec MS Office. Et il y a celle de personnes qui n’y comprennent rien, et qui rejoint celle de Microsoft, qui est de considérer que l’on ne devrait pas pouvoir collaborer via Office 365 avec GNU/Linux, que ce compromis serait une compromission, une confusion nocive à notre camp social et particulièrement présente, justement, au sein des logiciels libres.

            • nicocool84@sh.itjust.worksOP
              link
              fedilink
              Français
              arrow-up
              1
              ·
              1 year ago

              Je ne comprends pas tout à fait le point que tu voulais soulever ici ? Je n’en veux pas non plus à qui que soit de ne pas s’intéresser à l’informatique et de prendre ce qui a l’air le plus simple/le plus utilisé. Ça m’empêchera pas de relouter tout le monde en soirée avec mes logiciels libres et protocoles ouverts, tout en ne m’enfermant pas dans ma bulle activiste en utilisant autant que possibles des passerelles.

      • szrb5@lemmy.world
        link
        fedilink
        Français
        arrow-up
        1
        ·
        1 year ago

        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.

        • nicoco@lemmy.world
          link
          fedilink
          Français
          arrow-up
          1
          ·
          edit-2
          1 year ago

          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.

  • Tuxicoman@social.jesuislibre.net
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    @nicocool84 je plussoie que ca peut aider.

    Néanmoins sur la federation par #whatsapp par exemple, vu que c’est de la federation “non voulue” par Meta, on se tape quand même des frictions genre le fait qu’il faille relancer l’app #whatsapp de temps en temps pour valider un QRcode.

    Sans compter que la partie audio/video reste incompatible.

    Donc la vrai solutions reste la migration de vos contacts sur #Xmpp.

    • nicocool84@sh.itjust.worksOP
      link
      fedilink
      Français
      arrow-up
      1
      ·
      1 year ago

      Je suis entièrement d’accord, dans ce post je pouvais pas m’empêcher de parler des passerelles parce que c’est ma contribution à l’écosystème, mais je voulais surtout parler de XMPP tout court.

      Pour contre-balancer un peu ce que tu dis, avoir des passerelles ça permet de tester les clients XMPP et d’y contribuer quand on a pas le charisme nécessaire pour faire migrer ses contacts. Le plan machiavélique étant bien sûr que ces passerelles deviennent non nécessaires puisque tous les silos disparaissent. ;-)

    • Interesting_Test_814@lemmy.world
      link
      fedilink
      Français
      arrow-up
      1
      ·
      1 year ago

      En voyant les hashtags dans ton commentaire je me suis demandé si tu commentais depuis Mastodon. Et regarder ton instance a confirmé cela. Vive l’interopérabilité du fedivers. (Jusque là j’avais vu des utilisateurs kbin poster sur Lemmy mais jamais des Mastodon.)

  • greo@lemmy.world
    link
    fedilink
    Français
    arrow-up
    1
    ·
    1 year ago

    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.

    • nicoco@lemmy.world
      link
      fedilink
      Français
      arrow-up
      0
      ·
      1 year ago

      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?

      • greo@lemmy.world
        link
        fedilink
        Français
        arrow-up
        0
        ·
        1 year ago

        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.

        • nicoco@lemmy.world
          link
          fedilink
          Français
          arrow-up
          0
          ·
          edit-2
          1 year ago

          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 ?

          • greo@lemmy.world
            link
            fedilink
            Français
            arrow-up
            1
            ·
            1 year ago

            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é).

  • _BG_@lemmy.world
    link
    fedilink
    Français
    arrow-up
    1
    ·
    1 year ago

    Salut, merci c’est intéressant tout ça ! Je connais jabber et gajim que j’ ai utilisé à un moment, a revoir avec les passerelles… J’entends aussi beaucoup parlé de Matrix en ce moment, tu en penses quoi ?

    • nicocool84@sh.itjust.worksOP
      link
      fedilink
      Français
      arrow-up
      1
      ·
      1 year ago

      J’ai répondu un peu détaillé ici à une question similaire: https://sh.itjust.works/comment/383192 - je me permets de t’y renvoyer. :o)

      En résumé: XMPP c’est plus léger, et mieux protégé contre la merdification future car ne dépendant pas d’une entité qui cherche à se rentabiliser. Mais Matrix c’est plus bling bling, actuellement, du moins.

    • Matthieu@calckey.social
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      @brome@social.marud.fr @nicocool84@sh.itjust.works 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.