IREX - Comment le protocole Matrix communique les données entre applications ?
comprendre comment Matrix permet à des applications différentes de s’échanger des données, à travers l’exemple d’une intégration entre Element et ERPNext.
- Introduction
- Un protocole décentralisé
- La structure de Matrix
- Homeserver
- Clients
- Fédération
- Comment Matrix communique les données ?
- L'application (client ou service) envoie l'événement au homeserver.
- Le homeserver enregistre cet événement dans l'historique de la salle.
- Si d'autres homeservers participent à cette salle, l'événement leur est répliqué via la fédération.
- Chaque participant reçoit une copie cohérente et mise à jour de l'historique.
- Exemple concret : Element et ERPNext
- Il utilise Element, connecté au homeserver irex.aretex.ca.
- Le site ERPNext
www.irex.aretex.ca
est configuré pour envoyer des notifications (Ex: une facture validée, une tâche assignée, une alerte système). - Lorsqu'un événement survient dans ERPNext, celui-ci génère un message Matrix et l'envoie au homeserver
irex.aretex.ca
. - Le homeserver ajoute l'événement dans la salle de discussion associée à l'utilisateur.
- Element de
@obounyamine:irex.aretex.ca
se synchronise avec le homeserver et affiche la notification instantanément. - Sécurité et chiffrement
- Conclusion
Le protocole Matrix est une solution de communication décentralisée et open source.
Contrairement aux messageries classiques comme WhatsApp ou Telegram, il ne dépend pas d'une seule entreprise mais repose sur une fédération de serveurs.
Objectif de cet article : comprendre comment Matrix permet à des applications différentes de s'échanger des données, à travers l'exemple d'une intégration entre Element et ERPNext.
Matrix fonctionne de manière similaire aux emails : chaque utilisateur est enregistré sur un serveur (appelé homeserver), mais peut communiquer avec des personnes ou des applications sur d'autres serveurs.
Cela garantit interopérabilité et liberté : chacun peut héberger son propre serveur, mais rester connecté à l'ensemble du réseau Matrix.
Le homeserver est le cœur de l’infrastructure Matrix.
Il gère l’ensemble des comptes utilisateurs (authentification, gestion de profils, autorisations) et stocke l’historique des conversations.
Chaque utilisateur s’enregistre sur un homeserver spécifique, qui agit comme point central pour ses communications.
Par exemple, un utilisateur inscrit sur @obounyamine:irex.aretex.ca
dépend du homeserver irex.aretex.ca
.
Le homeserver conserve également les métadonnées des échanges et peut être configuré pour gérer des salons privés, publics, chiffrés ou non.
Les clients sont les applications que les utilisateurs installent pour interagir avec le réseau Matrix. Ils permettent d’envoyer et de recevoir des messages, de créer des salons de discussion, d’échanger des fichiers, de participer à des appels audio/vidéo, etc. Un des clients les plus populaires est Element (disponible sur mobile, web et desktop), mais il existe aussi d’autres implémentations comme FluffyChat, SchildiChat ou Nheko. Les clients communiquent avec le homeserver via l’API Matrix, garantissant une interopérabilité totale.
La fédération est le mécanisme qui distingue Matrix des systèmes centralisés.
Elle permet aux différents homeservers d’échanger entre eux les messages et événements en toute transparence.
Grâce à ce principe, un utilisateur du serveur irex.aretex.ca
peut discuter avec un utilisateur du serveur matrix.org
, comme s’ils étaient sur la même plateforme.
Chaque homeserver conserve une copie des conversations pertinentes, ce qui assure la résilience (les échanges persistent même si un serveur est indisponible) et la décentralisation.
Ce modèle est comparable à celui du courrier électronique (où Gmail peut échanger avec Outlook ou Yahoo).
Lorsqu'une donnée (message, notification, fichier) circule sur Matrix, elle est représentée sous forme d'événement JSON.
Chaque événement contient : un identifiant unique, une signature, son contenu (texte, fichier, notification, etc.).
Prenons le cas de l'utilisateur @obounyamine:irex.aretex.ca
.

Résultat : l'utilisateur reçoit directement dans Element les alertes provenant d'ERPNext, sans passer par des emails ou des SMS.
Pour protéger les échanges, Matrix implémente le chiffrement de bout en bout via les protocoles Olm et Megolm.
Les messages sont chiffrés côté ERPNext avant d'être envoyés.
Seul le client Element de l'utilisateur détient les clés pour les lire.
Même le homeserver irex.aretex.ca ne peut pas voir le contenu en clair.
Matrix n'est pas qu'une application de messagerie : c'est un protocole universel de communication décentralisée qui peut communiquer les données entre plusieurs applications de manière simple et sécurisé.

Bounyamine Ousmanou
Développeur web/mobile
No comments yet. Start a new discussion.