Loading...
 

Matrix

Introduction


Matrix n’est pas un logiciel, mais un standard ouvert vous permettant d’avoir des conversations avec vos amis en temps réel, avec différents systèmes de communications, et de manière décentralisée. Si vous n’avez pas compris cette phrase, réveillez-vous et armez-vous de votre courage, de votre patience et de votre raison ! Vous finirez par comprendre. Pour le moment, retenez que Matrix permet d’avoir des conversations sur Internet. Ces conversations se font avec un logiciel, que des développeurs ont créé en se basant sur un standard :

 

Figure 1: Relation entre un standard (à gauche) et des logiciels (à droite)
Figure 1: Relation entre un standard (à gauche) et des logiciels (à droite)



Pourquoi ce standard s’appelle Matrix ? D’après ses auteurs, le nom « Matrix » ne fait pas référence au film mais à une notion en mathématique, qui s’écrit matrice en français et matrix en anglais. Le but d’une matrice est de pouvoir faire des opérations sur ses éléments. La matrice est représentée par deux crochets, entre lesquels se trouvent des éléments rangés en ligne et en colonne :

Figure 2: Représentation d’une matrice m × n éléments en mathématique (à gauche) et représentation d’une matrice de 4 × 4 personnes  (à droite)
Figure 2: Représentation d’une matrice m × n éléments en mathématique (à gauche) et représentation d’une matrice de 4 × 4 personnes (à droite)



Voilà pour la petite anecdote… Maintenant, accrochez-vous ! Dans le première partie de cet article, je vais vous présenter ce qu’est un standard. Je vous décrirai ensuite le fonctionnement de Matrix. Dans la troisième partie, je vais vous présenter des logiciels qui l’implémentent. Enfin, nous verrons comment les utiliser pour discuter avec vos amis.

C’est quoi un standard ?


Matrix est un standard ouvert. C’est quoi un standard ? Ça décrit comment est organisé l’information pour permettre 2 choses :

1) Stocker de l’information, cela signifie « mettre des données dans la mémoire de votre ordinateur ». Cette manière d’organiser les informations s’appelle le « format » de données. Ci dessous, je vous montre un exemple du format de donnée « CSV », qui est l’abréviation anglaise de : « Comma-Separated Values ». En français, ça signifie : « valeurs séparées par des virgules ».

 

Figure 3: Extrait du standard « RFC 4180 » définissant le format « CSV » (à gauche), et un fichier de données utilisant ce format, pour stocker en mémoire des informations décrivant des planètes (à droite).
Figure 3: Extrait du standard « RFC 4180 » définissant le format « CSV » (à gauche), et un fichier de données utilisant ce format, pour stocker en mémoire des informations décrivant des planètes (à droite).


2) Transmettre de l’information, c’est « envoyer des données vers un autre ordinateur » . Cette manière d’organiser les informations s’appelle le « protocole ». Ci-dessous, je vous donne l’exemple du protocole « HTTP » (Hypertext Transfer Protocol) :

Figure 4: Extrait du standard « RFC 7231 »décrivant le protocole « HTTP » (à gauche) et l’utilisation de sa méthode « GET » avec le logiciel « curl » (à droite) permettant de récupérer la page web du site « crapaud-fou.org »
Figure 4: Extrait du standard « RFC 7231 »décrivant le protocole « HTTP » (à gauche) et l’utilisation de sa méthode « GET » avec le logiciel « curl » (à droite) permettant de récupérer la page web du site « crapaud-fou.org »


Et c’est quoi un standard « ouvert » ? C’est un standard qui est mis à la disposition de tous, comme ceux que je vous ai montrés avec le format « CSV » et le protocole « HTTP ». Comme je l’ai écrit plus tôt, cela intéresse en particulier les développeurs de logiciels, puisque ce sont eux qui vont rendre le rêve (le standard) en réalité (le logiciel), permettant aux utilisateurs de stocker et communiquer de l’information. En sens inverse, il arrive aussi qu’un logiciel soit d’abord créé et que le « format » de donnée, ou le « protocole », devienne tellement populaire qu’il finit par devenir un standard.

 

Le fonctionnement de Matrix


Le but du standard Matrix est d’échanger des messages, et d’avoir une conversation audio ou vidéo. Mais si vous utilisez un logiciel qui est basé sur Matrix et qu’un de mes amis est sur une toute autre application, que se passe t-il ?
Un des objectifs de Matrix est de surpasser ce problème en étant un système interopérable, c’est à dire un système capable de communiquer avec différents autres logiciels : Mastodon, Signal, Skype, Telegram

Figure 5: Matrix permet de communiquer avec d’autres logiciels.
Figure 5: Matrix permet de communiquer avec d’autres logiciels.


Pour communiquer avec d’autres logiciels, Matrix propose pour cela de faire des ponts (des « bridges » en anglais) : https://matrix.org/bridges. L’utilité est que, si vous envoyez un message à des amis, ou que vous avez une conversation en vidéo, vous n’avez pas besoin d’avoir la même application qu’eux.

Ainsi, envoyer des messages avec le standard Matrix devient aussi simple que d’envoyer ou recevoir des méls : peu importe l’application que vous utilisez pour les envoyer ou les récupérer (Thunderbird, Outlook, …), et peu importe si votre boîte mél n’est pas le même que celui de votre ami (@gmail.com, @orange.fr, …).

Prenons l’exemple où 3 personnes souhaitent communiquer en utilisant chacun leur équipement, représenté ci-dessous par un terminal mobile, un ordinateur portable et un ordinateur fixe :

Figure 6: Trois personnes souhaitent communiquer
Figure 6: Trois personnes souhaitent communiquer


Ces utilisateurs vont devoir faire 2 choses :

  1. Installer un logiciel sur leur équipement, c’est ce qu’on appelle un logiciel client (ou application utilisateur). Ce logiciel permet d’envoyer et de lire des messages sur l’écran.
  2. Choisir un serveur, où sera installé le logiciel serveur (aussi appelé serveur d’application). Ce logiciel stocke les messages pour garder un historique des conversations, puis il avertit le destinataire quand un nouveau message est arrivé.

L’image ci-dessous représente les équipements et les serveurs :

Figure 7: Schéma représentant les équipements et les serveurs de 3 personnes
Figure 7: Schéma représentant les équipements et les serveurs de 3 personnes



Prenons maintenant un exemple pour illustrer le fonctionnement entre le logiciel des équipements et celui des serveurs. Supposons que Armand envoie un message à Claire et Mélanie :

Figure 8: Schéma représentant l’envoi d’ un message pour 2 destinataires
Figure 8: Schéma représentant l’envoi d’ un message pour 2 destinataires



Ainsi, le message d’Armand a été stocké sur les 3 serveurs :

Figure 9: Vue du message stocké sur les serveurs
Figure 9: Vue du message stocké sur les serveurs



Supposons maintenant que Claire réponde au message d’Armand :

Figure 10: Schéma montrant la réponse de Claire au message d’Armand
Figure 10: Schéma montrant la réponse de Claire au message d’Armand



Ainsi, le message d’Armand et celui de Claire ont été stockés sur les 3 serveurs :

Figure 11: Vue des messages stockés sur les serveurs
Figure 11: Vue des messages stockés sur les serveurs



Vous constatez que les les messages sont sur chacun des serveurs ? C’est ce qu’on appelle la décentralisation. Par exemple, si le serveur de Mélanie tombe en panne, la conversation ne sera pas perdue, car les messages seront toujours sur le serveur d’Armand et de Claire.

En conclusion de cette partie théorique, nous allons cité le « format » de donnée et le « protocole » que le standard Matrix utilise pour manipuler un message :

  1. Le stockage d’un message se fait avec le format JSON.
  2. La transmission d’un message se fait avec le protocole HTTP.


Nous n’aborderons pas le format JSON et HTTP, sachez seulement que l’un permet de stocker l’information, l’autre la transmission. Enfin, bien que je vous ai présenté le fonctionnement de Matrix pour envoyer un message, sachez qu’il est également possible de faire une conversation en audio ou en vidéo. Dans ce cas, ça sera avec le protocole WebRTC (Web Real-Time Communication) … Mais ne nous aventurons pas plus loin dans la théorie : passons maintenant à la pratique !

Matrix en pratique


Dans cette section, nous allons faire 2 choses :

  1. Installer un logiciel client sur votre équipement (terminal mobile ou ordinateur). Comme nous l’avons déjà vu, il vous permettra d’écrire et d’afficher des messages.
  2. Chercher un serveur pour y créer un compte.

 

Installer un client « Matrix »


Voici la liste des logiciels clients sur le site de la fondation Matrix : https://matrix.org/clients/. Si vous ne savez pas quoi prendre, je vous recommande le logiciel Element pour commencer. Personnellement j’utilise le logiciel Fractal, mais encore une fois, tester par vous même et trouver celui qui vous convient. Voici à quoi ressemble au démarrage les logiciels Element et Fractal :

Figure 12: Écran de démarrage du logiciel « Element » (à gauche) et « Fractal » (à droite)
Figure 12: Écran de démarrage du logiciel « Element » (à gauche) et « Fractal » (à droite)


Pour créer un compte, vous pouvez appuyer sur le bouton « Créer un compte ». En faisant cela, le logiciel vous proposera un serveur par défaut. Si vous faites cela, la partie suivante de l’article risque de ne pas vous intéresser. Cependant, je vous propose d’être un utilisateur curieux, en choisissant vous même le serveur sur lequel seront stockées vos données et qui sait, votre curiosité vous emmènera à rencontrer les responsables de ces serveurs. Prêt ?

Chercher un serveur


Nous allons maintenant chercher un serveur, en France ou un pays voisin, sur lequel nous allons créer un compte. Comment ? À partir d’un annuaire de services informatiques, dont le fonctionnement est comme celui des AMAP (Associations pour le maintien d'une agriculture paysanne). Sauf que dans notre cas, on ne recherche pas des fruits et légumes près de chez vous, mais un serveur « Matrix ». Ça existe ? Oui ! Et ça ne s’appelle pas des AMAP, mais un CHATONS : « Collectif des Hébergeurs Alternatifs, Transparents, Ouverts, Neutres et Solidaires ». Rendez-vous donc sur le site https://www.chatons.org pour tomber sur la page d’accueil :

Figure 13: Présentation de l’annuaire de services informatiques « CHATONS »
Figure 13: Présentation de l’annuaire de services informatiques « CHATONS »


Cliquez sur le bouton « Services », et vous verrez apparaître le formulaire ci-dessous :

11 Recherche Serveur



En choisissant « Matrix » dans la liste déroulante ci-dessus, vous verrez apparaître des « chatons » : c’est à dire une des hébergeurs informatiques qui proposent des serveurs « Matrix ». Si nous prenons la première ligne, nous voyons :

  • le nom de l’hébergeur, qui s’appelle « Domaine Public »
  • l’adresse du serveur « Matrix », qui s’appelle https://matrix.domainepublic.net.

Copiez l’adresse du serveur ci-dessus et rendez-vous sur le logiciel client que vous avez choisi :

Figure 14: Création d’un compte avec le logiciel « Element » (à gauche) et « Fractal » (à droite)
Figure 14: Création d’un compte avec le logiciel « Element » (à gauche) et « Fractal » (à droite)



En cliquant sur « Créer un compte », une page web s’ouvre et vous obtenez l’écran suivant :

Figure 15: Modification du serveur proposé par défaut
Figure 15: Modification du serveur proposé par défaut


Par défaut, le serveur s’appelle « matrix.org ». Cliquez donc sur le bouton « Modifier » pour mettre l’adresse du serveur que vous avez choisi :

Figure 16: Choix du serveur lors de la création d’un compte
Figure 16: Choix du serveur lors de la création d’un compte


Cliquez sur « Continuer », puis renseigner votre nom d’utilisateur et votre mot de passe :

Figure 17: Création du compte utilisateur et du mot de passe
Figure 17: Création du compte utilisateur et du mot de passe


Pour valider votre compte, cliquez sur « S’inscrire ». Bravo ! Votre compte est créé sur le serveur ! Vous allez voir maintenant pouvoir vous connecter à votre compte, le paramétrer, puis créer une conversation.

Note culturelle: Le nom d’utilisateur, « freneza bufo », veut dire « crapaud fou » en langue Espéranto.

 

Se connecter, paramétrer et utiliser son compte

 

Se connecter à un compte


Ouvrez votre logiciel client préféré et cliquez sur « Se connecter » :

Figure 18: Page d’accueil avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 18: Page d’accueil avec le logiciel « Element » (à gauche) et « Fractal » (à droite).



Sur la page suivante, entrez le nom du serveur et cliquez sur « Continuer » ou « Suivant » :

Figure 19: Choix du serveur sur lequel l’utilisateur a un compte avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 19: Choix du serveur sur lequel l’utilisateur a un compte avec le logiciel « Element » (à gauche) et « Fractal » (à droite).



Entrez votre nom d’utilisateur et votre mot de passe, puis cliquez sur « Se connecter »:

Figure 20: Connexion au compte utilisateur avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 20: Connexion au compte utilisateur avec le logiciel « Element » (à gauche) et « Fractal » (à droite).


La première fois que vous vous connectez, l’écran de votre application paraît vide :

Figure 21: Écran d’accueil après une connexion avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 21: Écran d’accueil après une connexion avec le logiciel « Element » (à gauche) et « Fractal » (à droite).



Avant de commencer à contacter un ami, nous allons faire un tour du côté des paramètres utilisateurs.

Paramétrer un compte


La première chose que vous aimeriez sans doute faire, c’est de personnaliser votre compte en y mettant une photo de vous ou un dessin de ce qui vous caractérise ? Voici comment accéder aux « Paramètres » :

Figure 22: Bouton des paramètres avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 22: Bouton des paramètres avec le logiciel « Element » (à gauche) et « Fractal » (à droite).


Sur l’écran suivant, deux informations importantes sont à noter : le moyen de changer votre photo et votre identifiant Matrix.

Figure 23: Paramètres généraux avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 23: Paramètres généraux avec le logiciel « Element » (à gauche) et « Fractal » (à droite).


L’identifiant Matrix est composé de deux parties :

  • le nom de l’utilisateur, qui correspond à la partie avant le signe de ponctuation « : ». Dans mon cas, c’est @freneza_bufo
  • le nom du serveur, qui correspond à la partie après le signe de ponctuation « : ». Dans mon cas, c’est matrix.domainepublic.net


Votre identifiant permet à quelqu’un de vous joindre.

Envoyer un message


Retournez à la page d’accueil et cliquez sur le bouton « Envoyer un message privé » ou « Nouvelle discussion directe » :

Figure 24: Envoyer un message privé avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 24: Envoyer un message privé avec le logiciel « Element » (à gauche) et « Fractal » (à droite).



En tapant les 3 premières lettres d’un utilisateur (avec ou sans le « @ »), la liste des utilisateurs s’affichent :

Figure 25: Envoyer un message privé avec le logiciel « Element » (à gauche) et « Fractal » (à droite).
Figure 25: Envoyer un message privé avec le logiciel « Element » (à gauche) et « Fractal » (à droite).



Il est tout à fait possible de contacter un autre utilisateur, qui ne se trouve pas sur le même serveur que le mien. C’est le cas de l’utilisateur « mose », à qui je vais écrire un message. En cliquant sur son nom, une fenêtre de conversation s’ouvre et je lui envoie ce message : 

Figure 26: Exemple d’un envoi de message avec le logiciel « Element »
Figure 26: Exemple d’un envoi de message avec le logiciel « Element »



Ainsi, le schéma que l’on peut représenter pour l’envoi de ce message est  :

Figure 27: Schéma de l’envoi d’un message à l’utilisateur mose
Figure 27: Schéma de l’envoi d’un message à l’utilisateur mose

 

Conclusion


La présentation est maintenant terminée. Il est assez simple de découvrir les autres fonctionnalités que proposent le standard Matrix, comme avoir une conversation audio ou vidéo, inviter une troisième personne, ou rejoindre un salon de discussion existant… À vous de les explorer.

Si vous souhaiter acquérir des connaissances plus avancées sur Matrix, le site https://matrix.org/discover/ vous sera une aide inestimable, puisqu’il est celui de la fondation suivant de près l’évolution de ce projet. Bonne conversation avec Matrix !

Contributors to this page: Rubujeto .
Page last modified on Friday 1 April, 2022 08:58:34 CEST.
List Slides