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 :
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 :
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 ».
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) :
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…
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 :
Ces utilisateurs vont devoir faire 2 choses :
- 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.
- 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 :
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 :
Ainsi, le message d’Armand a été stocké sur les 3 serveurs :
Supposons maintenant que Claire réponde au message d’Armand :
Ainsi, le message d’Armand et celui de Claire ont été stockés sur les 3 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 :
- Le stockage d’un message se fait avec le format JSON.
- 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 :
- 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.
- 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 :
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 :
Cliquez sur le bouton « Services », et vous verrez apparaître le formulaire ci-dessous :
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 :
En cliquant sur « Créer un compte », une page web s’ouvre et vous obtenez l’écran suivant :
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 :
Cliquez sur « Continuer », puis renseigner votre nom d’utilisateur et votre 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 » :
Sur la page suivante, entrez le nom du serveur et cliquez sur « Continuer » ou « Suivant » :
Entrez votre nom d’utilisateur et votre mot de passe, puis cliquez sur « Se connecter »:
La première fois que vous vous connectez, l’écran de votre application paraît vide :
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 » :
Sur l’écran suivant, deux informations importantes sont à noter : le moyen de changer votre photo et votre identifiant Matrix.
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 » :
En tapant les 3 premières lettres d’un utilisateur (avec ou sans le « @ »), la liste des utilisateurs s’affichent :
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 :
Ainsi, le schéma que l’on peut représenter pour l’envoi de ce message est :
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 !