====== Interopérabilité des messageries instantanées ======
===== La messagerie instantanée Matrix/Element =====
Voir [[https://wiki.chatons.org/doku.php/services/messagerie_instantanee/matrix?s[]=matrix|La Litière, le Wiki des Chatons]]
Avec votre compte sans-nuage vous avez automatiquement un compte matrix sur notre serveur matrix.sans-nuage.fr Vous pouvez facilement démarrer avec Matrix depuis votre navigateur avec vos identifiants sans-nuage en allant sur chat.sans-nuage.fr
Pour configurer votre smartphone ou l'appli Element sur ordi, suivre le tutoriel https://wiki.libretic.fr/fr/service/matrix en remplaçant matrix.libretic.fr par matrix.sans-nuage.fr
Pour comprendre le pourquoi et le comment de ARN-Messager, vous pouvez lire nos articles de blog:
- https://arn-fai.net/fr/blog/pourquoi-whatsapp-vers-matrix
- [[https://arn-fai.net/fr/blog/arn-messager-contact-whatsapp-sans-donner-facebook|ARN Messager : Garder contact sur WhatsApp sans donner son téléphone à Facebook]]
===== Avertissement important sur l'usage des Passerelles WhatsApp et Signal =====
Notre solution privilégie la liberté à la sécurité. Il appartient aux utilisateurs des passerelles de ne pas y mettre de contenus sensibles. Ce n'est pas un service pour lanceur d'alerte ou militant, mais un réseau social rendu interopérable par nos soins.
Notre objectif est de faciliter la migration des utilisateurs de Whatsapp vers Element+Matrix, en proposant ARN-Messager comme catalyseur de transition. Le service est mis à l'épreuve depuis plus de deux ans avec succès, mais peut être rendu obsolète par Whatsapp à tout moment. Nous espérons alors que la volonté d'interopérabilité des systèmes de communications annoncée par le législateur européen finira par contraindre les plateformes à une réelle interopérabilité.
Pour l'utilisateur individuel : Nous préconisons d'utiliser en priorité Element+Matrix/Signal, les passerelles pour quelques groupes Whatsapp récalcitrants, et éventuellement les SMS/MMS (chiffrés avec Silence) pour les messages individuels.
Pour un collectif : Ne pas contraindre les membres à l'utilisation de réseaux enfermant leurs utilisateur.ices. Tel qu'expliqué dans la Charte pour une utilisation modérée des médias sociaux publicitaires "toute information postée sur Facebook ou Twitter doit être accessible par un moyen éthique, par exemple Mobilizon ou Mastodon", de la même manière tout groupe de discussion sur un réseau GAFAM tel WhatsApp devrait être accessible sur Element+Matrix / Signal / XMPP / RocketChat / Mattermost, etc. Il nous semble indispensable de travailler de manière active à la migration des membres. Par exemple en ouvrant des salons exclusivement sur Matrix pour certaines discussions critiques des administrateurs d'une association.
===== Passerelle WhatsApp =====
==== Création de salon-portail WhatsApp-Matrix ====
Méthode 1 - depuis l'application Whatsapp:
- Créer un nouveau contact Alsace Réseau Neutre avec comme numéro de téléphone : +33 six, vingt-huit, six, trois, deux fois le deux, trente-deux
- Créer un groupe WhatsApp
- Inviter le contact Alsace Réseau Neutre précédemment crée dans le groupe
- Attendre le message
- Écrire pseudo : ''!am @pseudo:sans-nuage.fr''
- Ajouter des contacts WhatsApp ou leur envoyer le lien d'invitation
- Recommandé : Activer le chiffrement dans le salon
Chiffrez vos salons si des comptes Matrix d'autres serveurs que sans-nuage.fr y sont présents
Félicitations! Votre salon-portail Matrix et le groupe WhatsApp sont maintenant reliés par la passerelle :
* **Ajoutez-y d’autres comptes Matrix** (sans-nuage.fr ou autres). Tous peuvent converser avec WhatsApp et ajouter d’autres comptes.
* Discutez sur WhatsApp sans avoir vous-même de compte/application/smartphone WhatsApp. **Migrez en douceur vers une messagerie instantanée respectueuse de votre vie privée**.
==== Suppression de salon-portail WhatsApp-Matrix ====
Pour arrêter de bridger un groupe whatsapp et supprimer le salon-portail WhatsApp-Matrix :
- Taper ''!am ciao whatsapp''
===== Passerelle Signal =====
==== Création de salon-portail Signal-Matrix ====
Voir la méthode 1 - depuis WhatsApp en remplaçant WhatsApp par Signal.
==== Suppression de salon-portail Signal-Matrix ====
Pour arrêter de bridger un groupe signal et supprimer le salon-portail Signal-Matrix :
- Taper ''!am ciao signal''
===== Création de salon-portail WhatsApp-Matrix-Signal =====
S'assurer de ne jamais chiffrer un salon avec plusieurs passerelles
- Créer un salon-portail Signal-Matrix en suivant la méthode 1 ci-dessus
- Taper ''!am whatsapp''
===== Création de salon-portail Telegram-Matrix =====
Ne pas activer les topics/sujets dans le groupe Telegram à bridger
- Créer un Groupe Telegram
- Inviter le bot ''@PoteSansTelegram''
- Taper ''/portal'' pour créer le salon-portail Matrix
- Taper ''/invite @pseudo:sans-nuage.fr'' pour y inviter votre compte Matrix
===== FAQ - Pistes de résolution de problème =====
==== Je veux changer le pseudo préfixant mes messages ====
Explication : il est possible de personnaliser son pseudo Matrix dans un salon qui le permet. Dès lors la passerelle préfixera vos messages avec le pseudo personnalisé dans le groupe WhatsApp/Signal correspondant.
Je voulais pouvoir afficher un autre nom que mon pseudo Matrix dans un salon qui sert à communiquer avec un groupe WhatsApp. Pour cela il suffit de :
- aller dans le salon concerné
- taper ''/myroomnick nouveau_nom''
==== Je reçois les messages mais les miens ne sont pas reçus sur WhatsApp ====
Explication: C'est probablement que la passerelle n'est pas configurée en mode relai, donc seuls les messages provenant de l'utilisateur "logged in" ''#arnmessager:sans-nuage'' sont envoyés vers WhatsApp
* Lancer la commande ''!am whatsapp''
* Si ça ne marche pas, lancer ''!am reset''
==== Plus rien ne se passe dans mon ancien salon, mais un nouveau salon identique a été créé ====
Explication : En perdant ce qu'il y avait dans la base de données du bridge entre février 2022 et janvier 2023, le bridge a perdu l'association entre groupe WhatsApp et salon Matrix. Donc croyant qu'il n'en existait pas, il a créé un nouveau salon. Par contre nous ne comprenons pas comment il a pu inviter votre compte Matrix dans ce nouveau salon.
* Utiliser le nouveau salon.
* Dans le futur il sera possible de bridger un salon Matrix existant avec un groupe WhatsApp existant.
==== Plus rien ne se passe dans mon ancien salon et aucun nouveau salon n'a été créé ====
cf. l'explication ci-dessus. Un nouveau salon a été créé, mais votre utilisateur n'a pas été invité.
Les gens dans le groupe WhatsApp ont du recevoir le message de bienvenue leur demandant d'inviter votre compte matrix. Si vous lancez ''!am whatsapp'' dans l'ancien salon, un nouveau groupe WhatsApp sera créé ''Successfully created WhatsApp group 12456789123456@g.us'' mais a priori personne ne sera dedans côté WhatsApp, donc ça nous avance pas..
* Demander à quelqu'un dans le groupe WhatsApp de taper `!am @votrepseudo:sans-nuage.fr`.
* Si ça ne marche pas, ils peuvent éjecter le numéro de tel ARN du groupe puis recommencer la procédure complète
* Dans le futur il sera possible de bridger un salon Matrix existant avec un groupe WhatsApp existant.
===== Comment ça tourne derrière =====
Voici des détails sur l'infrastructure technique permettant de faire tourner ARN-Messager :
* Serveur Debian/Yunohost sans-nuage.fr installé sur une Machine Virtuelle de notre cluster de serveurs localisé dans notre baie de serveurs du Datacenter de Cogent à Schiltigheim.
* Application WhatsApp installée sur une Machine virtuelle LineageOS x86 hors du data-center et de notre infra, ce qui doit permettre d'éviter d’être black-listé par WhatsApp. L’application est configurée avec une carte SIM appartenant à ARN.
En suivant la chaîne de transmission du message détaillée dans la section précédente :
- Application element_ynh installée sur le sous-domaine chat.sans-nuage.fr de sans-nuage.fr (ou Element Android)
- Serveur Matrix synapse_ynh installé sur le domaine matrix.sans-nuage.fr (base de données postgreSQL)
- Logiciel de mise-en-relation [[https://code.ffdn.org/arn/arn-messager|arn-messager]] installé sur sans-nuage.fr comme service dans un environnement python. Il s'agit d'un robot possédant un compte Matrix administrateur de la passerelle. Il permet aux utilisateurs sans-nuage de commander le Robot WhatsApp en l'invitant dans un salon pour le transformer en portail. Ou en lui demandant d'inviter son compte Matrix en tant qu'administrateur dans un salon-portail fraîchement créé. (Fichier permettant de maintenir l'état d'administration d'un salon-portail)
- Logiciel de passerelle mautrix_whatsapp_ynh installé sur sans-nuage.fr synchronise salon-portail Matrix et groupe WhatsApp via l'API du client web. Il est enregistré comme service d'application du serveur synapse. Il est commandé via le Robot WhatsApp qui interprète les commandes envoyées par ARN-Messager ou par un admin ARN. (Base de données postgreSQL pour maintenir l'état de synchronisation)
- Chiffrement et envoi du message via l'API du client web
- Serveurs WhatsApp Chiffrement de bout-en-bout
- Application WhatsApp du contact destinataire déchiffrement avant ouverture
===== Limites actuelles concernant l'interopérabilité =====
==== De Matrix ====
Chiffrement de bout-en-bout à travers une passerelle entre deux réseaux. Chiffrement des metadonnées entre deux serveurs d'un même réseau fédéral et de deux réseaux différents.
==== Des passerelles marionnettes ====
Les réseaux privateurs tels que WhatsApp ou Facebook Messenger ont pour objectif d'emprisonner les utilisateurs au sein de leur plateforme par (1) l'effet de réseau "tout le monde est sur WhatsApp" et (2) le verrouillage du réseau : impossible de discuter avec un contact sur WhatsApp sans compte WhatsApp. Mais voilà pour que leur solution fermée ne soit pas à la traîne quant aux fonctionnalités offertes par des alternatives ouvertes, ils sont obligés de faire des concessions comme proposer un client web accessible depuis un navigateur sur PC. Des programmeurs talentueux se sont alors mis à analyser le code qui est chargé par le navigateur pour comprendre comment communiquer avec les serveurs de WhatsApp. C'est la genèse du bridge marionnette Mautrix-Whatsapp.
Actuellement les salons-portail ne peuvent malheureusement pas être chiffrées de bout en bout. Donc les quelques administrateurs d'ARN ayant accès au serveur sans-nuage peuvent théoriquement lire les messages, ce qu'ils ne font pas évidemment, ils ont autre chose à faire. Nous ne trouvons pas ça particulièrement choquant car de la même manière tout administrateur d'un service de mail peut lire vos mails (sauf si le vous utilisez le chiffrement PGP). Et il en est de même pour tout service n'étant pas chiffré de bout-en-bout. On pourrait quand même se demander s'il ne vaut pas mieux rester chez WhatsApp qui, lui, chiffre les messages de bout-en-bout. Cependant, comme vu en introduction, à la lueur des informations extractibles des métadonnées, il vaut selon nous mieux avoir ses données personnelles non-chiffrées sur un serveur qui s'engage à les conserver en sécurité, plutôt que sur un serveur qui a été condamné en justice pour avoir revendu vos métadonnées, et piraté à grande échelle à plusieurs reprises.
Pour conclure définitivement sur l'intérêt de notre stratégie, il faut se rappeler que l'anonymat est possible sur plusieurs serveurs Matrix. Soit via une inscription par pseudo lorsque le serveur l'autorise, soit via l'utilisation d'une adresse e-mail anonyme. Ainsi, même si des données venaient à être piratées ou revendues il appartient toujours aux utilisateurs de multiplier leurs comptes et user de l'anonymat pour brouiller le graphe social et empêcher l'identification civile afin que ces données soient inexploitables.
===== Préconisations techniques d'interopérabilité pour le législateur européen =====
A la lueur de notre compréhension acquise par la pratique, nous préconisons au législateur européen et français de rendre obligatoire l'intéropérabilité des très grandes plateformes (45 millions d'utilisateurs, c’est-à-dire un nombre équivalent à 10 % de la population de l’UE). Cette interopérabilité doit être implémentée par la mise-en-place d'une [[https://wiki.chatons.org/doku.php/services/messagerie_instantanee/matrix#passerelle_serveur-a-serveur|passerelle de type serveur-à-serveur]] tel que c'est déjà le cas entre les réseaux fédérés XMPP, IRC et Matrix.
===== Tutoriel d'utilisation détaillé =====
Méthode 1 - Si vous souhaitez ajouter votre compte Matrix à un groupe WhatsApp existant depuis WhatsApp, la procédure est la suivante :
- Inviter le numéro d’ARN dans le groupe WhatsApp devant être synchronisé (ou demander à l’administrateur.ice du groupe de le faire pour vous). Le robot ARN-Messager vous donne des instructions en retour. {{documentation:educpop:whatsapp:qw1.png}}
- Répondre au robot en écrivant l’identifiant Matrix de la personne qui adminiproutra ce salon-portail. Seul.e un.e utilisateur.ice sans-nuage.fr peut adminiproutr. Exemple, tapez: ''!am @libremax:sans-nuage.fr''{{documentation:educpop:whatsapp:qw2.png}}
- L’administrateur.ice accepte l’invitation au salon-miroir (sur chat.sans-nuage.fr)
Méthode 2 - Si vous souhaitez créer un nouveau groupe WhatsApp depuis Matrix, la procédure est la suivante :
- Créer un salon Matrix **privé** et **non-chiffré**. Attention vous devez être seul.e et être administrateur.ice (droits 100).
- Inviter le robot de mise-en-relation ''@arnmessager:sans-nuage.fr''
- Taper ''!am whatsapp'' pour initialiser le salon-portail et créer le groupe WhatsApp correspondant
- Envoyer le lien d'invitation WhatsApp à vos contacts qui rejoignent le groupe en rentrant le lien dans leur appli
Attention, le dernier point 4bis ci-dessous. risque de faire bannir par WhatsApp le numéro d'ARN, ca pourrait signer la **MORT DE ARN-MESSAGER privilégiez le point 4.**.
4bis. Invitez la marionnette d'un ami ''Libre Max (WA)''/''@whatsapp_33654321234:sans-nuage.fr''. Si votre ami.e n'est dans aucun salon-portail, taper ''!am whatsapp +33654321234'' pour créer sa marionnette et l'ajouter au groupe WhatsApp via son numéro de téléphone au format international.