IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

P2P Matrix, un protocole ouvert et un réseau de communication pour la communication décentralisée et chiffrée,
Une alternative à Slack, WhatsApp, Discord et autres ?

Le , par Bill Fassinou

107PARTAGES

3  0 
P2P Matrix est un projet open source géré par la fondation à but non lucratif Matrix.org qui se consacre à la construction d'un protocole ouvert et d'un réseau de communication pour la communication décentralisée et chiffrée, ayant pour but de fournir une alternative ouverte viable à Slack, WhatsApp, Discord et autres silos de communication propriétaires. Il peut servir pour alimenter la communication par l'Internet des objets (IdO), la signalisation VoIP/WebRTC, la messagerie instantanée, etc. P2P Matrix et ses implémentations de référence sont publiés sous la licence Apache.

P2P Matrix ne consiste pas seulement à permettre aux utilisateurs de stocker leurs propres conversations : elle permet également d'éviter les dépendances sur Internet lui-même en travaillant sur des réseaux locaux, des réseaux maillés ou des situations où Internet a été coupé. En effet, ses créateurs visent à créer une plateforme ouverte indépendante, dynamique et évolutive comme le Web lui-même, mais pour la communication. Matrix a quitté la version bêta en juin 2019 et le protocole est entièrement adapté à une utilisation en production avec de nombreuses fonctionnalités.

Il offre des API HTTP et des SDK simples (iOS, Android, Web) pour créer des espaces de discussion, diriger des discussions et des chats bots, avec un cryptage de bout en bout, un transfert de fichiers, un historique des conversations synchronisées, des messages formatés, la lecture des reçus et bien plus encore. Les conversations sont répliquées sur tous les serveurs qui y participent. Cela signifie qu'il n'y a pas un point de contrôle ou de défaillance unique. Ainsi, vous pouvez joindre n'importe quel autre utilisateur de l'écosystème mondial de Matrix, qui compte plus de 9 millions d'utilisateurs, y compris ceux d'autres réseaux via des ponts.


Matrix fournit un chiffrement de bout en bout via les cliquets cryptographiques Olm et Megolm. Cela garantit que seuls les destinataires visés peuvent déchiffrer vos messages, tout en vous avertissant si d’autres dispositifs inattendus sont ajoutés à la conversation. Le cryptage de Matrix est basé sur l'algorithme à double cliquet popularisé par Signal, mais étendu pour prendre en charge le chiffrement dans les espaces contenant des milliers d'appareils. Olm et Megolm sont spécifiés comme un standard ouvert et les implémentations sont publiées sous la licence Apache.

En outre, avec l'avènement du WebRTC, les développeurs ont acquis la capacité d'échanger des appels vocaux et vidéos de haute qualité, mais il n’existe pas un moyen standard d'acheminer réellement les appels. Les développeurs de Matrix estiment qu’il peut être vu comme la couche de signalisation manquante pour le WebRTC. « Si vous intégrez la voix sur IP dans votre application ou si vous souhaitez exposer votre application VoIP existante à un public plus large, il ne devrait pas y avoir de problème à utiliser les SDK et les ponts de Matrix », indiquent-ils.

Ils expliquent aussi que Matrix doit son nom à sa capacité à faire le pont entre les plateformes existantes et une matrice de communication ouverte à l'échelle mondiale. Les ponts sont au cœur de Matrix et sont conçus pour être aussi faciles à écrire que possible, Matrix fournissant le langage du plus grand dénominateur commun pour relier les réseaux entre eux. L'équipe centrale de Matrix maintient des ponts vers Slack, IRC, XMPP et Gitter, tandis que la communauté plus large de Matrix fournit des ponts pour Telegram, WhatsApp, Facebook, Hangouts, Signal, etc.

Selon ses développeurs, Matrix peut traiter tout type de données en temps réel, et pas seulement la messagerie et la VoIP. En établissant des ponts vers le plus grand nombre possible de silos de l'IdO, les données peuvent être publiées en toute sécurité sur le réseau Matrix. Les solutions IdO basées sur Matrix sont unifiées, plutôt que verrouillées à des fournisseurs spécifiques, et peuvent même publier ou consommer des données Matrix directement à partir de dispositifs via des transports à très faible bande passante (100 bps ou moins).

De même, ils indiquent que Matrix peut être la couche d'unification des communications et des données mondiales dans la réalité virtuelle et la réalité augmentée. En somme, Matrix est un magasin de conversation décentralisé plutôt qu'un protocole de messagerie. Lorsque vous envoyez un message dans Matrix, il est répliqué sur tous les serveurs dont les utilisateurs participent à une conversation donnée, de la même manière que les communications sont répliquées entre les dépôts Git. Il n'y a pas de point de contrôle ou de défaillance unique dans une conversation Matrix qui s'étend sur plusieurs serveurs.

L'acte de communication avec quelqu'un d'autre dans Matrix partage la propriété de la conversation à égalité avec lui. Même si votre serveur est hors ligne, la conversation peut se poursuivre sans interruption ailleurs jusqu'à son retour. Par défaut, Matrix utilise de simples API HTTPS+JSON comme transport de base, mais elle adopte également des transports plus sophistiqués tels que les WebSockets ou CoAP+Noise.

Source : Matrix

Et vous ?

Que pensez-vous de Matrix ?
Selon vous, serait-il une alternative à Slack, WhatsApp, Discord et autres ?

Voir aussi

OrbitDB : une base de données pair-à-pair pour le web décentralisé pour différents modèles de données et cas d'utilisation

La version 0.5.0 d'IPFS, le protocole pair-à-pair de distribution de contenu, est disponible, la recherche et l'extraction de données sont désormais 5 fois plus rapides

GNUnet, une nouvelle pile de protocoles réseau pour construire des applications sécurisées et préservant la vie privée conçue pour remplacer l'ancienne pile de protocoles Internet non sécurisée

Signal, une application de messagerie rapide et sécurisée, approuvée par Snowden. Mais est-elle vraiment plus sécurisée que ses concurrents ?

Signal, une plateforme de messagerie chiffrée, menace de se retirer du marché américain si le projet de loi anti-chiffrement EARN IT est adopté

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 09/06/2020 à 21:57
Sur le principe ça a l'air sympa.

Des retours d'expérience ?
0  0 
Avatar de NaSa
Membre actif https://www.developpez.com
Le 10/06/2020 à 7:06
C'est le protocole utilisé par riot.im ou encore tchap (http://www.tchap.fr/)
0  0 
Avatar de strato35
Membre éclairé https://www.developpez.com
Le 10/06/2020 à 8:46
Citation Envoyé par Matthieu Vergne Voir le message
Sur le principe ça a l'air sympa.

Des retours d'expérience ?
Je l'avais testé il y a quelques mois comme alternative à discord en couple riot/matrix-synapse, où matrix est utilisé côté serveur (en utilisant cet écosystème https://github.com/matrix-org/synapse ) et riot côté client (c'est l'interface un peu à la slack ou discord).
Mon retour d'expérience n'est pas très tangible car mon serveur étant derrière un NAT, il a fallut passer par une configuration avec serveur de TURN pour retrouver l'ip réel des clients entrant, qui ne m'a pas semblé très stable.

Le projet est sympas même si j'ai eu pas mal de difficulté à le configurer, au début pas moyen d'établir la connexion vocale derrière le pare-feu et le NAT d'orange, en forçant un peu j'ai fini par y arriver.
Ensuite la connexions des utilisateur est assez complexe depuis riot, pour la création de compte je ne pouvais que le faire en ligne de commande sur le serveur, côté riot les utilisateurs devaient entrer l'adresse de mon serveur dans une configuration pas très pratique pour les non initiés, ça ressemblais beaucoup à la configuration de mumble, et par expérience à l'époque où on utilisais mumble en alternative à teamspeak, les gens n'arrivaient pas à rejoindre le serveur et configurer correctement le client (j'avais dû faire une vidéo youtube à l'époque expliquant point par point comment rejoindre le serveur et configurer son micro).
Au final peu de mes potes ont réussit à rejoindre le serveur, les connexions en groupe de plusieurs personnes étaient bancales / non fonctionnelles, et la vidéo n'a jamais fonctionné.

On a laissé tombé pour l'instant pour retourner sur discord, peut-être que le problème viens de ma configuration ou de mon serveur, le fait qu'il soit hébergé chez moi n'aide pas, le reverse de domaine entres nginx et coturn était lui aussi bancale (bien que fonctionnel dans ma configuration nextcloud par exemple).

Mon essais remonte à il y a environ 6 mois, donc le projet à certainement évolué depuis, faudrait que je réessaye, et peut-être en passant par autre chose que riot côté client, où utiliser une version custom pour passer directement sur mon serveur sans configuration supplémentaire. C'est jolie, mais le fait que riot permet de se connecter à plusieurs serveurs, en étant par défaut configuré pour pointer vers le serveur publique, rend la configuration plus complexe que discord et compagnie, donc les utilisateurs néophyte tel que mes potes ne se prendrons pas la tête et utiliserons la solution la plus simple. À savoir, rester sur discord.

Si il y a d'autres retour d'expériences plus convaincantes, je suis intéressé par le récit. Par quel genre de configuration vous êtes passé pour avoir une installation stable et accessible à l'utilisateur final ?
0  0