Matrix (protocole)

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Matrix.
Logo du protocole Matrix

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 pour les services de courrier électronique.

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[1],[2]. Il peut s'intégrer aux services Web standard via WebRTC, facilitant ainsi les applications de navigateur à navigateur.

Historique[modifier | modifier le code]

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

Matrix a remporté le prix de l'innovation au WebRTC 2014 Conference & Expo[5] et le prix "Best in Show" au WebRTC World en 2015[6]

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[7]. Certains ne savaient pas s'il existait une demande suffisante des utilisateurs pour des services interopérables entre les fournisseurs[8],[9].

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[10].

En juillet 2017, le financement d'Amdocs avait été annoncé et les semaines suivantes, l'équipe principale créait sa propre société basée au Royaume-Uni, "New Vector"[11], principalement conçue pour soutenir le développement de Matrix et Riot[12]. 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[13], 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[14] et l’équipe principale a lancé un podcast vidéo intitulé Matrix "Live" afin de tenir les contributeurs au courant des évolutions en cours[15]. 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[16].

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 plate-forme appelée modular.im) afin de générer des revenus[17],[18].

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[19]. 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[20].

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

Fin janvier 2018, la société a reçu un investissement de 5 millions de dollars US de la part de status[22],[23], une startup basée sur Ethereum.

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

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

En février 2019, 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[28].

Protocole[modifier | modifier le code]

Les cas d'utilisation de cibles matrix comme la voix sur IP, l'Internet des objets et la messagerie instantanée, y compris la communication de groupe, ont 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 aucun point de contrôle ou d’échec. Les services de communication existants peuvent s'intégrer à l'écosystème Matrix[1].

Le logiciel client est disponible pour la communication de messagerie instantanée (IM), de voix sur IP (VoIP) et 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 dans un "groupe" de leur serveur, qui les répliquent 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 crypté 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 cryptage de bout en bout optionnel, groupe par groupe, via une implémentation de l'algorithme Double Ratchet[29]. Cela permet de s'assurer que les données de conversation au repos ne sont lisibles que par les participants de la salle. Avec cette configuration, les données transmises via Matrix sont uniquement visibles sous forme de texte crypté 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[30] et ont été examinées par l’équipe Matrix[31]. L’examen a été parrainé par le Open Technology Fund.

Ponts[modifier | modifier le code]

Matrix prend en charge l'acheminement des messages de différentes applications de discussion en 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.

Les clients[modifier | modifier le code]

Riot est l'implémentation de référence d'un client. Fractal est le client officiel du bureau GNOME. De nombreux autres clients, robots, ponts, serveurs et autres implémentations du protocole Matrix existent également[39].

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. 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.
  2. 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.
  3. "Communications unifiées". amdocs. Archivé de l'original le 2014-10-03. Extrait 2018-11-04.
  4. "Qui est Matrix.org?". matrix.org. 2019-02-20. Récupéré le 2018-10-20. [ source auto-publiée ]
  5. « Award Winners of the WebRTC 2014 Conference & Expo », {{Article}} : paramètre « périodique » manquant, paramètre « date » manquant (lire en ligne)
  6. Phil Edholm (2015-05-18). "WebRTC World Miami Synthèse et Révision". WebRTC. Récupéré le 28/06/2015.
  7. 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.
  8. 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.
  9. Matt Weinberger (2014-09-16). "Matrix veut écraser les jardins murés de la messagerie". ITworld. Récupéré le 20/07/2015.
  10. "Entrée Linkedin pour Vector Creations Limited". Récupéré le 2018-10-22. [ source auto-publiée ]
  11. "Informations gratuites sur l'entreprise de Companies House (UK Government)". Récupéré le 2018-07-30.
  12. "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 ]
  13. "Un appel aux armes: matrice de soutien!". matrix.org. 2017-07-07. Récupéré le 2018-10-20. [ source auto-publiée ]
  14. "Bonjour tout le monde! | Matrix.org sur Patreon". Patreon. Extrait 2018-11-04. [ source auto-publiée ]
  15. Matrixdotorg (2017-07-21), Matrix Live - Épisode 1: 14 juillet 2017, retrouvé 2018-10-22 [ source auto-publiée ]
  16. "Cette semaine en matrice". matrix.org. Récupéré le 2018-10-22. [ source auto-publiée ]
  17. "Matrix". CrunchBase. Récupéré le 28/06/2015.
  18. "Hébergement génial pour Matrix". www.modular.im. Récupéré le 2018-10-20. [ source auto-publiée ]
  19. 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.
  20. "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 ]
  21. https://blogs.kde.org/2017/09/05/konversation-2x-2018-new-user-interface-matrix-support-mobile-version
  22. 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.
  23. "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 ]
  24. Rosemain, Mathieu. "La France construit son concurrent WhatsApp en raison du risque de surveillance". États - Unis. Extrait 2018-11-04.
  25. "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 ]
  26. "THE MATRIX.ORG FOUNDATION - Aperçu (information de la société gratuite de Companies House)". beta.companieshouse.gov.uk. Extrait 2018-11-04.
  27. "Présentation de la fondation Matrix.org (partie 1 de 2)". matrix.org. 2018-10-29. Extrait 2018-11-04. [ source auto-publiée ]
  28. 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.
  29. 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).
  30. Alex Balducci; Jake Meredith (18 novembre 2016). "Révision Cryptographique de Matrix Olm". www.nccgroup.trust. Récupéré le 2018-10-20.
  31. "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 ]
  32. "tulir / mautrix-télégramme". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  33. "Half-Shot / matrix-appservice-discord". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  34. "matrice-org / matrice-appservice-gitter". GitHub. 2018-09-27. Récupéré le 2018-10-20. [ source auto-publiée ]
  35. "matrice-org / matrice-appservice-slack". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  36. "matrice-org / matrice-appservice-irc". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  37. "tulir / mautrix-whatsapp". GitHub. Récupéré le 2018-10-20. [ source auto-publiée ]
  38. Pontage à usage général avec libpurple. Contribuez au développement de matrix-org / matrix-appservice-purple en créant un compte sur GitHub, matrix.org, 2018-12-29, retrouvé 2018-12-31 [ source auto-publiée ]
  39. "Essayez Matrix maintenant!". Matrix.org. Récupéré le 13 août 2017. [ source auto-publiée ]