Matrix (protocole) — Wikipédia

Matrix
Logiciel
Logo du protocole Matrix.
Informations
Fonction Messagerie instantanée
Sigle Matrix
Date de création

Matrix est un protocole standard ouvert et léger pour la communication en temps réel. Il est conçu pour permettre aux utilisateurs ayant des comptes chez un fournisseur de services de communiquer avec les utilisateurs d'un fournisseur de services différent via le chat en ligne, la voix sur IP et la visiophonie. En d’autres termes, elle vise à rendre la communication en temps réel parfaitement transparente entre différents fournisseurs de services, comme le fait actuellement le courrier électronique standard avec le protocole simple de transfert de courrier (SMTP) pour les services de courrier électronique.

Historique[modifier | modifier le code]

Le projet initial a été créé dans Amdocs, en construisant un outil de chat appelé « Amdocs Unified Communications »[1], par Matthew Hodgson et Amandine Le Pape. Amdocs a ensuite financé l'essentiel du travail de développement de 2014 à [2]

Matrix a remporté le prix de l'innovation au WebRTC 2014 Conference & Expo[3] et le prix « Best in Show » au WebRTC World en 2015[4]

Le protocole a reçu des éloges assortis de quelques avertissements après son lancement en 2014. Les examinateurs ont noté que d'autres tentatives visant à définir un protocole de messagerie instantanée ou de signalisation multimédia ouvert de ce type rencontraient des difficultés pour être largement adoptées — par exemple XMPP et IRCv3 — et ont mis en évidence les défis à la fois technologiques et politiques[5]. Certains se demandaient s'il existait une demande suffisante des utilisateurs pour des services interopérables entre les fournisseurs[6],[7].

En 2015, une filiale d'Amdocs a été créée, dénommée "Vector Creations Limited", et le personnel Matrix a été transféré dans cette entreprise[8].

En , le financement d'Amdocs avait été annoncé et dans les semaines suivantes, l'équipe principale créait sa propre société basée au Royaume-Uni, « New Vector »[9], principalement conçue pour soutenir le développement de Matrix et Riot[10]. Au cours de cette période, il y a eu plusieurs appels au soutien de la communauté et des entreprises qui s'appuient sur Matrix[11], afin de contribuer au paiement des salaires d'au moins une partie de l'équipe principale. Des comptes de financement participatif Patreon et Liberapay ont été créés[12] et l’équipe principale a lancé un podcast vidéo intitulé Matrix "Live" afin de tenir les contributeurs au courant des évolutions en cours[13]. Cela a été élargi par un format de blog hebdomadaire, appelé "This Week in Matrix", où les membres de la communauté intéressés pouvaient lire ou soumettre leurs propres nouvelles concernant Matrix[14].

La société a été créée dans le but d'offrir des services de conseil pour Matrix et d'héberger des serveurs Matrix (en tant que plateforme appelée modular.im) afin de générer des revenus[15],[16].

Dans les premières semaines après sa création, l'équipe de Matrix et la société Purism ont publié des plans pour collaborer à la création du téléphone Librem 5[17]. Le Librem 5 devait être un téléphone natif Matrix, dans lequel l'application de messagerie pré-installée par défaut utiliserait Matrix pour les appels audio et vidéo, ainsi que pour la messagerie instantanée[18].

En 2017, KDE a annoncé qu'il travaillait sur la prise en charge du protocole dans son client IRC Konversation[19].

Fin , la société qui développe Matrix et Riot.im a reçu un investissement de 5 millions de dollars US de la part de Status[20],[21], une startup basée sur Ethereum.

En , le gouvernement français a annoncé son intention de créer Tchap, son propre outil de messagerie instantanée[22], que l'équipe de Matrix a par la suite confirmé être basé sur Riot et Matrix[23]. New Vector fournirait un soutien au gouvernement dans ce projet.

En , une société privée à responsabilité limitée appelée "la fondation Matrix.org"[24] a été constituée afin de servir d'entité juridique neutre pour le développement ultérieur de la norme[25].

En , la communauté KDE a annoncé qu'elle adopterait Matrix pour ses besoins de communication internes, en tant qu'alternative décentralisée à d'autres outils modernes tels que Telegram, Slack et Discord, et qu'elle exploiterait sa propre instance de serveur[26].

En octobre 2019, New Vector qui développe Matrix et Riot lève 8,5 millions de dollars[27] auprès d'investisseurs dont Notion Capital, Dawn Capital, et les Européens Firstminute Capital.

New Vector devient Element

En décembre 2019, la fondation Mozilla choisit Matrix et Riot comme outil ouvert de collaboration pour ses communautés[28], en remplacement d'IRC.

En mai 2020, Matrix instaura le chiffrement de bout en bout par défaut pour les conversations privées.

En mai 2020, l'entreprise Automattic (elle développe WordPress.com, WooCommerce, Longreads, Simplenote et Tumblr) investit 4,6 millions de dollars[29] dans New Vector, l'entreprise qui développe Matrix et Riot.im.

Après avoir annoncé le le changement de nom, Riot.im (le client de messagerie) et New Vector (la société qui développe Riot) ont été renommés Element le 15 juillet 2020[30],[31]. Quant à Modular, l'hébergeur de serveurs fédérés, il est renommé Element Matrix Services (EMS).

En juillet 2020, Element, a remporté le plus gros contrat au monde pour un service logiciel collaboratif, fournissant un demi-million de licences pour faciliter la communication dans le système éducatif allemand[32].

Fonctionnement[modifier | modifier le code]

D'un point de vue technique, il s'agit d'un protocole de communication de couche d'application pour la communication en temps réel fédéré. Il fournit des API HTTP et des implémentations de référence open source pour la distribution sécurisée et la persistance des messages au format JSON sur une fédération ouverte de serveurs[33],[34]. Il peut s'intégrer aux services Web standard via WebRTC, facilitant ainsi les applications de navigateur à navigateur.

Protocole[modifier | modifier le code]

Réseau matrix
- Bleu = Ensemble des serveurs fédérés (EMS)
- Rouge = Applications services, ponts vers Skype, IRC, Slack, Jitsi, etc…
- Vert = Serveurs d'identité, lien entre MXID et 3PID
- Jaune = Clients d'accès au réseau via Element, Nheko, Revolt, Quaternion, GNOME Fractal et autres…

Matrix a pour cible des usages tels que la voix sur IP, l'Internet des objets et la messagerie instantanée, y compris la communication de groupe, et pour objectif à long terme de devenir un système générique de messagerie et de synchronisation de données pour le Web. Le protocole prend en charge la sécurité et la réplication, en maintenant un historique complet des conversations, sans point unique de contrôle ou de défaillance. Les services de communication existants peuvent s'intégrer à l'écosystème Matrix[33].

Le logiciel client est disponible pour la communication de messagerie instantanée (IM), de voix sur IP (VoIP) et l'Internet des objets (IoT) fédérée.

Le standard Matrix spécifie les API HTTP RESTful pour la transmission et la réplication sécurisées de données JSON entre des clients, des serveurs et des services compatibles Matrix. Les clients envoient des données en les plaçant (PUT) dans un "groupe" de leur serveur, qui les réplique ensuite sur tous les serveurs Matrix participant à ce "groupe". Ces données sont signées à l'aide d'une signature de style git afin d'atténuer les altérations, et le trafic fédéré est chiffré avec HTTPS et signé avec la clé privée de chaque serveur pour éviter l'usurpation d'identité. La réplication suit la sémantique de cohérence éventuelle, permettant aux serveurs de fonctionner même en mode hors connexion ou après une perte de données, en resynchronisant l'historique manquant des autres serveurs participants.

La bibliothèque Olm fournit un chiffrement de bout en bout optionnel, groupe par groupe, via une implémentation de l'algorithme Double Ratchet[35]. Cela permet de s'assurer que les données de conversation au repos ne soient lisibles que par les participants de la salle. Avec cette configuration, les données transmises via Matrix sont uniquement visibles sous forme de texte chiffré sur les serveurs Matrix et ne peuvent être déchiffrées que par les participants autorisés du groupe. Les bibliothèques Olm et Megolm (une extension d’Olm pour mieux répondre au besoin de groupes plus grands) ont fait l’objet d’un examen cryptographique effectué par le groupe NCC, dont les conclusions sont accessibles au public[36] et ont été examinées par l’équipe Matrix[37]. L’examen a été parrainé par le en:Open Technology Fund.

Les clients[modifier | modifier le code]

Logos : Element, GNOME Fractal, Tchap, Citadel Team, Quaternion, Nheko et Revolt
  • Element est l'implémentation de référence d'un client.
  • Fractal est le client officiel du bureau GNOME.
  • Cinny
  • FluffyChat
  • Quadrix
  • Tchap (fork de Element) est la messagerie utilisée par les agents de l'État français.

L'entreprise Thales, spécialisée dans la défense et la sécurité, a également produit une version dérivée de Riot avec sa messagerie Citadel Team[38].

Les serveurs[modifier | modifier le code]

  • Synapse est un serveur Matrix open-source écrit en Python et maintenu par la Fondation Matrix.org.
  • Dendrite est un serveur Matrix de deuxième génération écrit en Go. Il vise à fournir une alternative plus efficace, fiable et évolutive que Synapse le développement est encore en beta.

Il y a aussi Construct (C++) et Conduit (Rust) qui sont des alternatives en cours de développement.

Les ponts[modifier | modifier le code]

Matrix prend en charge l'acheminement des messages de différentes applications de discussion vers les groupes Matrix. Ces ponts sont des programmes qui s'exécutent sur le serveur et communiquent avec les serveurs non-Matrix. Les ponts peuvent jouer le rôle de délégation ou de relais. Dans le premier cas, le compte de chaque utilisateur publie visiblement les messages, et dans le second cas, les messages sont affichés pour les comptes d'utilisateurs non délégués.

De nombreux autres clients, robots, ponts, serveurs et autres implémentations du protocole Matrix existent également[45].

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. "Communications unifiées". amdocs. Archivé de l'original le 2014-10-03. Extrait 2018-11-04.
  2. "Qui est Matrix.org?". matrix.org. 2019-02-20. Récupéré le 2018-10-20. [source auto-publiée]
  3. (en) « Award Winners of the WebRTC 2014 Conference & Expo » [archive du ], sur uppersideconferences.com,
  4. (en) Phil Edholm, « WebRTC World Miami Wrap Up and Review (WebRTC World Miami Synthèse et Révision) », sur WebRTC World, (consulté le )
  5. Andrew Prokop (2015-02-23). "Résolution du problème d'interopérabilité WebRTC - Poster". Pas de gigue. Récupéré le 28/06/2015.
  6. Ian Scales (2015-05-11). "Interopérer ou ne pas interopérer? Matrix.org est-il la solution pour les services de communication silo'd?". TelecomTV. Récupéré le 2015-06-22.
  7. Matt Weinberger (2014-09-16). "Matrix veut écraser les jardins murés de la messagerie". ITworld. Récupéré le 20/07/2015.
  8. "Entrée Linkedin pour Vector Creations Limited". Récupéré le 2018-10-22. [ source auto-publiée ]
  9. (en) « NEW VECTOR LIMITED », sur beta.companieshouse.gov.uk (consulté le ) - Informations officielle sur l'entreprise du bureau des sociétés du gouvernement britannique
  10. "Nouveau vecteur - Nous pensons que l'avenir sera ouvert et décentralisé". Nouveau vecteur. Récupéré le 2018-10-20. [ source auto-publiée ]
  11. (en) « A Call to Arms Supporting Matrix (Un appel aux armes: soutenir Matrix !) », sur matrix.org, (consulté le )
  12. "Bonjour tout le monde! | Matrix.org sur Patreon". Patreon. Extrait 2018-11-04. [ source auto-publiée ]
  13. Matrixdotorg (2017-07-21), Matrix Live - Épisode 1: 14 juillet 2017, retrouvé 2018-10-22 [ source auto-publiée ]
  14. "Cette semaine en matrice". matrix.org. Récupéré le 2018-10-22. [ source auto-publiée ]
  15. "Matrix". CrunchBase. Récupéré le 28/06/2015.
  16. "Hébergement génial pour Matrix". www.modular.im. Récupéré le 2018-10-20. [ source auto-publiée ]
  17. Armasu, Lucian (2018-06-06). "Le librem 5 de Smartphone de Purism axé sur la vie privée est sur la voie d'une version de janvier 19". Le matériel de Tom. Extrait 2018-11-04.
  18. "Librem 5 - Un téléphone axé sur la sécurité et la confidentialité". shop.puri.sm. Extrait 2018-11-04. [source auto-publiée]
  19. (en) « Konversation 2.x in 2018 : New user interface, Matrix support, mobile version », sur kde.org (consulté le ).
  20. Rogers, Stewart (2018-01-29). "Status investit 5 millions de dollars dans Matrix pour créer une superpuissance de messagerie blockchain". VentureBeat. Récupéré le 2018-10-20.
  21. "Status investit 5 millions de dollars dans Riot.im". Blog de statut. 2018-01-29. Récupéré le 2018-10-20. [ source auto-publiée ]
  22. Rosemain, Mathieu. "La France construit son concurrent WhatsApp en raison du risque de surveillance". États - Unis. Extrait 2018-11-04.
  23. "Matrix et Riot ont confirmé être la base de l'application française Secure Instant Messenger". matrix.org. 2018-04-26. Extrait 2018-11-04. [ source auto-publiée ]
  24. "THE MATRIX.ORG FOUNDATION - Aperçu (information de la société gratuite de Companies House)". beta.companieshouse.gov.uk. Extrait 2018-11-04.
  25. "Présentation de la fondation Matrix.org (partie 1 de 2)". matrix.org. 2018-10-29. Extrait 2018-11-04. [ source auto-publiée ]
  26. Michael Larabel (2019-02-20). "KDE pour la prise en charge de la messagerie instantanée décentralisée par matrice". Phoronix. Extrait 2019-02-20.
  27. (en-US) « New Vector scores $8.5M to plug more users into its open, decentralized messaging Matrix », sur TechCrunch (consulté le )
  28. [email protected], « Mozilla va remplacer IRC par Riot/Matrix pour sa messagerie interne - Next INpact », sur www.nextinpact.com (consulté le )
  29. (en-US) « Automattic pumps $4.6M into New Vector to help grow Matrix, an open, decentralized comms ecosystem », sur TechCrunch (consulté le )
  30. (en) « The world is changing… », sur The Riot.im Blog, (consulté le )
  31. « Welcome to Element! », sur Element Blog, (consulté le )
  32. (en-US) « Slack-rival Element wins largest ever collaborative software deal », sur Sifted, (consulté le )
  33. a et b Nathan Willis (2015-02-11). "Matrix: une nouvelle spécification pour le chat en temps réel fédéré". LWN.net. Récupéré le 28/06/2015.
  34. Adrian Bridgwater (2014-09-09). "Matrix.org se recharge à l'intérieur" de l'illusion de contrôle "Vortex". Journal du Dr. Dobb. Récupéré le 20/07/2015.
  35. Ermoshina, Ksenia; Musiani, Francesca; Halpin, Harry (septembre 2016). "Protocoles de messagerie cryptés de bout en bout: Un aperçu". À Bagnoli, Franco; et al. Science Internet. INSCI 2016. Florence, Italie: Springer. pp.   244–254. doi : 10.1007 / 978-3-319-45982-0_22. (ISBN 978-3-319-45982-0).
  36. Alex Balducci; Jake Meredith (18 novembre 2016). "Révision Cryptographique de Matrix Olm". www.nccgroup.trust. Récupéré le 2018-10-20.
  37. "Publication de l'évaluation de la sécurité de chiffrement de bout en bout 'Olm' de Matrix - et mise en œuvre enfin de la multiplateforme sur Riot!". matrix.org. 2016-11-21. Récupéré le 2018-10-20. [ source auto-publiée ]
  38. « Citadel by THALES - Citadel Team », sur Citadel Team (consulté le ).
  39. "tulir / mautrix-télégramme". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  40. "Half-Shot / matrix-appservice-discord". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  41. "matrice-org / matrice-appservice-gitter". GitHub. 2018-09-27. Récupéré le 2018-10-20. [ source auto-publiée ]
  42. "matrice-org / matrice-appservice-slack". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  43. "matrice-org / matrice-appservice-irc". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  44. "tulir / mautrix-whatsapp". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  45. "Essayez Matrix maintenant !". Matrix.org. Récupéré le 13 août 2017. [ source auto-publiée]