Comment configurer les ponts dans Matrix : WhatsApp, Telegram et Discord
Pour connecter Matrix à WhatsApp, Telegram ou Discord, exécutez un service de pont compatible à côté de votre serveur principal, enregistrez ce service comme service d'application Matrix, puis associez ou autorisez le compte externe. Chaque réseau nécessite sa propre configuration et ses propres identifiants de pont. Le simple fait qu'un processus soit en cours d'exécution ne suffit pas à prouver qu'une salle est connectée : testez l'envoi d'un message dans les deux sens après la configuration.
Un serveur domestique Matrix peut se connecter à trois services de pont configurés séparément.
Faut-il héberger soi-même les ponts ou utiliser une instance publique ?
L'auto-hébergement vous permet de contrôler l'emplacement d'exécution du pont, le stockage des journaux et des identifiants, ainsi que les utilisateurs autorisés à se connecter. Cela implique également la maintenance, la mise à jour, la protection des bases de données et le dépannage de la connectivité de trois services. Un pont public peut être plus rapide à tester, mais son opérateur en contrôle la disponibilité, la politique d'accès et le traitement des données. Consultez la documentation et le forum d'assistance du pont avant de choisir une instance ; la disponibilité et les fonctionnalités peuvent évoluer.
Ces connexions ne remplacent pas la prise en charge native des services de messagerie. Les fonctionnalités partagées peuvent varier d'un réseau à l'autre, et les appels vocaux/vidéo, les réactions, les modifications, les fils de discussion, les accusés de lecture, l'historique ou l'administration des groupes peuvent être incomplets. Testez les fonctionnalités essentielles à votre communauté avant de transférer des conversations importantes.
De quoi avez-vous besoin avant d'installer quoi que ce soit ?
Un serveur d'hébergement Matrix prenant en charge les services applicatifs et l'accès administrateur pour leur enregistrement. Les exemples ci-dessous utilisent Synapse ; les autres serveurs d'hébergement ont leur propre procédure d'enregistrement.
Un chemin réseau accessible entre le serveur principal et chaque pont. Dans Docker, «localhost à l'intérieur d'un conteneur » désigne ce conteneur lui-même ; utilisez un réseau Docker partagé et le nom de réseau du service de pont lorsque le serveur principal doit accéder à un autre conteneur.
Chaque pont nécessite une configuration, un fichier d'enregistrement, un emplacement de données persistant et un coffre-fort de secrets distincts. Veuillez suivre les instructions du projet concernant les bases de données, les versions d'exécution et les images de conteneurs prises en charge ; les exigences varient et peuvent évoluer.
Pour WhatsApp, un téléphone avec le compte que vous souhaitez lier. Pour Telegram, un compte déjà connecté via l'application officielle Telegram. Pour Discord, une application ou un bot Discord et l'autorisation du propriétaire ou de l'administrateur du serveur.
Synapse lit chaque fichier d'enregistrement de pont à partir du chemin configuré sous app_service_config_files; les chemins indiqués sont des exemples.
Comment enregistrer un pont avec Synapse ?
Déployez un pont à la fois. Commencez par une version récente et sa configuration d'exemple. Configurez l'adresse du serveur principal, le nom du serveur public, l'adresse du serveur d'écoute du pont, la base de données et les chemins de stockage conformément au guide du projet. Évitez de partager une même base de données entre des services de pont non liés.
Générez son fichier d'enregistrement. Le processus d'installation du pont crée un fichier YAML d'enregistrement contenant l'identité du service applicatif et les jetons d'authentification. Traitez ces jetons comme des mots de passe : limitez les permissions d'accès au fichier, ne les enregistrez pas dans Git et ne les publiez pas dans des espaces publics, des captures d'écran ou des messages d'assistance.
Rendez le fichier visible pour Synapse. Copiez ou montez le fichier d'enregistrement à un emplacement accessible au processus Synapse. Ajoutez son chemin d'accès app_service_config_filesdans la configuration de Synapse homeserver.yaml. Créez une entrée distincte pour chaque pont ; ne remplacez pas l'entrée d'un autre service. Le guide d'enregistrement des services d'application Mautrix décrit cette procédure et précise que Synapse doit être redémarré après toute modification de la liste d'enregistrement.
Redémarrez et consultez les journaux. Redémarrez Synapse après une modification d'enregistrement, puis démarrez le pont. Si Synapse ne démarre pas, vérifiez d'abord l'indentation YAML, le chemin d'accès aux fichiers dans le conteneur et les permissions de lecture. Si le pont démarre mais ne parvient pas à se connecter, vérifiez l'URL du serveur d'accueil, la route réseau, le certificat TLS et l'adresse du serveur d'écoute.
Pour les déploiements Docker, l'adresse du service applicatif configurée du pont doit être accessible depuis le conteneur du serveur principal. Les notes de configuration initiale de Mautrix expliquent pourquoi un nom de conteneur sur un réseau partagé peut fonctionner là où localhostil ne fonctionne pas. Le projet Discord documente également son propre processus d'enregistrement et propose un exemple de configuration dans le fichier README du projet .
Comment connecter un compte WhatsApp ?
Une fois mautrix-whatsapp enregistré et en cours d'exécution, ouvrez une conversation privée Matrix avec son bot de connexion et envoyez un message login qr. Ouvrez WhatsApp sur le téléphone associé au compte, accédez à « Appareils associés » et scannez le code affiché par le bot de connexion. La documentation du bot de connexion décrit également une option de code d'association par numéro de téléphone ; utilisez la méthode actuellement prise en charge par votre version installée. Ne copiez pas un code de connexion ni une image QR dans une conversation publique.
Le processus d'authentification du pont WhatsApp vous demande de lier le pont en tant qu'appareil à partir du compte WhatsApp sur votre téléphone.
Pendant l'appairage, assurez-vous que le téléphone et le compte sont disponibles et vérifiez que le pont confirme la connexion avant d'ouvrir les salles du portail. Cette opération associe un compte via une session de type appareil compagnon ; elle ne transforme pas le pont en une intégration officielle de l'API WhatsApp Business. WhatsApp étant susceptible de modifier son comportement d'association d'appareils, veuillez suivre les instructions d'authentification actuelles de mautrix-whatsapp . Un pont ne peut synchroniser que l'historique mis à disposition par le service externe sur un appareil associé et implémenté par le pont.
Comment se connecter à Telegram ?
Démarrez une conversation privée avec le bot mautrix-telegram. Ce service prend en charge la connexion par QR code et par un code à six chiffres envoyé à un client Telegram déjà connecté ; il ne nécessite pas la création d'un nouveau compte Telegram. Pour vous connecter par QR code, ouvrez Telegram sur votre téléphone, accédez à Paramètres > Appareils > Lier un appareil de bureau , puis envoyez login qrle code au bot et scannez-le. Suivez les instructions du bot si la validation en deux étapes est activée sur votre compte Telegram.
L'écran « Appareil de bureau Link » de Telegram sert à autoriser la session de pont ; les libellés du menu peuvent varier selon la version de l'application.
Utilisez un compte existant et respectez les règles de connexion de Telegram. Les responsables du pont avertissent que Telegram peut considérer les nouveaux comptes utilisant des clients tiers comme suspects ; il s'agit d'un risque lié à la plateforme, qu'un administrateur Matrix ne peut garantir. Consultez le guide d'authentification mautrix-telegram avant de vous connecter et conservez tout code à usage unique ou mot de passe dans la conversation privée avec le bot.
Comment configurer Discord ?
Le projet matrix-appservice-discord utilise une application et un bot Discord. Créez l'application sur le portail développeur Discord , créez et configurez l'utilisateur du bot, puis définissez ses identifiants dans la configuration du pont en utilisant l'exemple fourni. Ne divulguez pas le jeton du bot. Exécutez la commande ou le flux d'autorisation documenté du pont, puis demandez à un administrateur du serveur Discord d'autoriser le bot pour le serveur concerné, avec uniquement les permissions requises par le pont.
La configuration de Discord commence par une application et un bot ; les champs exacts et les options d’autorisation suivent le portail actuel de Discord et la configuration d’exemple du pont.
Pour un canal spécifique, obtenez ses identifiants de serveur et de canal à l'aide des outils de développement Discord, invitez le bot de passerelle côté Matrix dans le salon Matrix et utilisez la commande correspondante. Le fichier README du serveur fournit un exemple!discord bridge ServerID ChannelID ; une approbation d'administrateur peut être nécessaire pour établir le lien. N'utilisez pas les identifiants de l'exemple : remplacez-les par les identifiants réels et vérifiez la commande et les permissions dans le fichier README de votre version.
La commande « Discord room » associe une salle Matrix à un serveur et un canal Discord ; remplacez les identifiants réels et suivez les instructions d’approbation.
Discord est particulièrement sensible aux permissions des bots et aux règles du serveur. Si le bot peut se connecter mais que les messages ne sont pas transmis, vérifiez que le canal lui est visible, que les permissions de messagerie requises sont accordées et que le pont a bien été validé par l'administrateur. Le projet est indiqué comme étant en version bêta dans son fichier README ; consultez donc son état actuel et les fonctionnalités prises en charge plutôt que de supposer que toutes les fonctionnalités de Discord sont reproduites.
Comment vérifier que le pont fonctionne ?
Commencez par utiliser une petite salle de test privée et un canal à faible risque. Envoyez un message texte unique depuis Matrix et vérifiez qu'il apparaît bien sur le service distant ; puis répondez depuis le service distant et vérifiez que la réponse apparaît bien dans Matrix. Si ces éléments sont pertinents pour votre cas d'utilisation, vérifiez séparément l'attribution, l'organisation des réponses, les pièces jointes, les modifications et les réactions. Un statut de processus vert indique seulement que le programme est en cours d'exécution : cela ne garantit pas que la connexion a réussi, que le bot a accès au canal ou que la correspondance entre la salle et le canal est correcte.
Un contrôle de bout en bout utile consiste à envoyer un message de test dans chaque sens et à vérifier que son équivalent apparaît dans la salle liée.
En cas d'échec d'un test, comparez l'heure exacte du message avec les journaux du pont et du serveur principal. Avant de partager les journaux, masquez les jetons d'accès, les numéros de téléphone, les identifiants Discord (lorsqu'ils sont sensibles) et les noms des contacts. Pour les déploiements conteneurisés, vérifiez également que le fichier d'enregistrement est monté dans Synapse, que le point de terminaison du pont est accessible sur le réseau partagé et qu'aucun pare-feu ne bloque l'écouteur configuré.
Utilisez les journaux du pont et du serveur d'accueil pour vérifier l'état des processus et la connectivité ; ces exemples de lignes d'état ne constituent pas un résultat de diagnostic capturé.
Que faut-il savoir sur le chiffrement et la protection de la vie privée ?
Les services applicatifs reçoivent les événements dans les espaces de noms et les salons qu'ils sont configurés pour gérer. Ne présumez pas qu'un salon Matrix chiffré est automatiquement lisible par tous les ponts. Certains ponts Mautrix prennent en charge le chiffrement de bout en bout, qui doit être configuré spécifiquement et implique ses propres exigences en matière de gestion des clés ; consultez le guide de chiffrement de bout en bout de Mautrix et vérifiez la compatibilité avec le pont utilisé. Les capacités de chiffrement des ponts Discord peuvent varier. Si un pont ne prend pas en charge le mode de chiffrement du salon, utilisez un salon de test non chiffré approprié ou choisissez un pont dont la compatibilité est documentée plutôt que de risquer d'affaiblir un salon de production par tâtonnement.
Enfin, n'oubliez pas que le contenu des messages et les identifiants de compte transitent par le logiciel que vous utilisez ou par un opérateur de pont public. Limitez les personnes autorisées à inviter des bots sur le pont, protégez les bases de données et les sauvegardes, remplacez le jeton en cas de fuite et consultez les consignes de confidentialité et de sécurité en vigueur sur le pont. Avant toute mise à jour, vérifiez la documentation en amont : les clés de configuration, les procédures de connexion, les dépendances et les politiques de la plateforme peuvent évoluer indépendamment.
Liste de contrôle pour une décision rapide
Choisissez une instance de pont dont vous faites confiance à l'opérateur et à la politique d'accès.
Enregistrez chaque pont séparément et protégez chaque jeton généré.
Vérifiez que le serveur d'accueil peut accéder à l'adresse du pont après le déploiement.
Liez vos comptes WhatsApp/Telegram en privé et autorisez le bot Discord auprès d'un administrateur du serveur.
Testez les messages dans les deux sens, puis testez uniquement les fonctionnalités supplémentaires dont vous avez besoin.
Vérifiez la prise en charge du chiffrement, l'historique du comportement et l'état de maintenance avant de vous fier à la passerelle pour des communications sensibles ou essentielles.