Matrix 2.0 est disponible. Le protocole permettrait de créer des applications de communication ouvertes, décentralisées et sécurisées. Cette nouvelle version s'articule autour de 4 principes : Connexion instantanée, lancement instantané et synchronisation instantanée (Simplified Sliding Sync), Authentification de nouvelle génération (OIDC natif), VoIP/vidéo multipartite chiffrée native de Matrix (MatrixRTC), et chiffrement invisible. Matthew Hodgson, co-fondateur de Matrix, affirme que "les applications construites sur Matrix 2.0 peuvent sérieusement surpasser les alternatives courantes." Matrix fonctionnerait un peu comme le courrier électronique, mais de manière instantanée et sécurisée : il faut ouvrir un compte auprès d'un fournisseur, mais quel que soit le fournisseur, il est possible de parler à des personnes utilisant d'autres fournisseurs. De la même manière qu'Outlook ou Thunderbird avec le même compte de messagerie, il est possible d'utiliser différentes applications Matrix pour le même compte Matrix.
Depuis sa création, l'objectif de Matrix a été de fournir un protocole permettant de créer des applications de communication ouvertes, décentralisées et sécurisées, plus performantes que les solutions centralisées classiques. Mais son parcours a été semé d'embûches : son équipe a essayé de faire fonctionner Matrix en 2014, puis la version bêta de Matrix 1.0 est sortie en 2019. Maintenant, ses développeurs veulent rendre Matrix rapide, utilisable et prêt pour le grand public avec Matrix 2.0.
Afin d'assurer la transition vers le grand public, Matrix 2.0 a été construit sur 4 principes :
- Connexion instantanée, lancement instantané et synchronisation instantanée (Simplified Sliding Sync).
- Auth de nouvelle génération (OIDC natif)
- VoIP/vidéo multipartite chiffrée native de Matrix (MatrixRTC)
- Chiffrement invisible.
Avec ce lancement de la version 2.0, Matrix peut désormais être utilisé pour créer des applications qui surpasseraient les alternatives courantes. Fait intéressant, Matrix 2.0 arrive dans un contexte où la décentralisation commence à s'accélérer. Par exemple, Bluesky a montré qu'il était possible de créer des applications sociales décentralisées suffisamment conviviales pour que les présidents les recommandent ; Elon Musk continue de détruire Twitter et de montrer l'importance de la décentralisation à tout le monde, et même Meta s'essaie aux médias sociaux décentralisés et à la communication décentralisée.
Voici l'état actuel de cette version :
1. Simplified Sliding Sync
Simplified Sliding Sync ou synchronisation coulissante simplifiée est la version finale de Sliding Sync - l'API qui permet la connexion, le lancement et la synchronisation instantanés dans Matrix 2.0. Pourtant l'API a connu de nombreuses itérations, mais cette version finale simplifie l'API Sliding Sync originale en supprimant entièrement le concept d'ordre de la liste des salles déterminé par le serveur, et en laissant le client trier la liste des salles selon ses besoins (tout en laissant le client paginer dans la liste des salles de manière incrémentielle, pour assurer une réactivité instantanée, quelle que soit la taille de votre liste de salles).
Le Simplified Sliding Sync est désormais implémentée nativement dans Synapse à partir de la version 1.114, et il n'est donc plus nécessaire d'exécuter un Sliding Sync Proxy pour utiliser l'API. En fait, le Sliding Sync Proxy est obsolète et l'ancien code Sliding Sync sera supprimé de matrix-rust-sdk dans un futur proche. Malheureusement, c'est sans la bande passante pour maintenir à la fois l'implémentation native Synapse et le proxy shim - et le proxy a inévitablement souffert de nombreuses limitations (par exemple, avoir à faire une synchronisation initiale v2 complète pour les nouvelles connexions, les ralentissant jusqu'à la performance v2 - ainsi que la duplication du stockage entre Synapse et le proxy).
En termes de performances, la synchro simplifiée native dans Synapse est meilleur. Fini donc le temps d'attente où l'application se synchronise, même en étant hors ligne depuis des semaines/mois ; fini le temps d'attente pour ouvrir une session.
2. Auth de nouvelle génération
Auth de nouvelle génération (Next Gen Auth) est la migration vers l'utilisation du standard industriel OpenID Connect comme API d'authentification dans Matrix 2.0, s'éloignant de l'API d'authentification personnalisée que Matrix a historiquement utilisée. Beaucoup de gens pensaient à tort qu'adopter OpenID Connect pour l'authentification signifiait des connexions sociales tierces ou l'authentification unique, mais ce n'est pas le cas pour Next Gen Auth.
Next Gen Auth remplace simplement les anciennes API d'authentification personnalisées de Matrix par des équivalents définis par l'OpenID Foundation ; après tout, Matrix est un protocole de communication, pas un protocole d'authentification. Cela permet des API d'authentification beaucoup plus matures et sécurisées - et l'accès à l'ensemble de l'écosystème du fournisseur d'identité OpenID, y compris la prise en charge de l'authentification à deux facteurs et de l'authentification à plusieurs facteurs, des jetons d'authentification matériels, des passkeys et des flux de connexion basés sur l'appareil (alias QR Login).
Les clients et les serveurs Matrix n'ont plus besoin d'implémenter l'ancienne surface d'API d'authentification Matrix, ce qui garantit que les utilisateurs ne transmettent le mot de passe de leur compte qu'à leur serveur d'authentification, plutôt que d'avoir à faire confiance à leurs clients pour le gérer en toute sécurité, ce qui est beaucoup plus pratique pour les gestionnaires de mots de passe (qui n'ont qu'à se rappeler comment s'authentifier auprès du serveur d'authentification, plutôt qu'auprès d'une myriade de clients différents). Il permet également de partager l'authentification entre les applications, et offre le rafraîchissement des access_tokens pour éviter que les access_tokens de longue durée ne traînent dans le coin, et à l'avenir, il supportera également les scopes OIDC afin de limiter l'accès de certains clients au compte.
En bref, Next Gen Auth est une transformation, et l'implémentation initiale à matrix-authentication-service (MAS) est prête à être déployée et utilisée par les administrateurs, mais elle n'est pas encore disponible sur matrix.org. L'un des avantages immédiats les plus évidents de Next Gen Auth est probablement la possibilité d'effectuer une connexion complète , y compris la mise en place d'un chiffrement de bout en bout, simplement en scannant un code QR sur un client existant. En d'autres termes, vous n'avez pas besoin de spécifier un serveur, ni votre nom d'utilisateur, ni le mot de passe de votre compte, ni votre clé de récupération - il vous suffit de scanner un code QR et c'est parti.
3. VoIP/vidéo native du groupe Matrix : MatrixRTC
MatrixRTC, c'est des conférences vocales et vidéo de groupe chiffrées de bout en bout sur Matrix. Historiquement, la VoIP de groupe dans Matrix s'est appuyée sur des...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.