-
Notifications
You must be signed in to change notification settings - Fork 3
Architectures et implémentation par les éditeurs
Dans l'architecture de Matrix il existe un lien fort entre le serveur de messagerie Matrix et l'identifiant (MXID) des utilisateurs qu'il héberge. Ceci implique qu'en fonction de l'architecture qui sera choisie, un utilisateur physique pourra avoir 1 ou plusieurs identifiants :
- dans une architecture centralisée (1 seul serveur), chaque utilisateur ne possède qu'un seul identifiant
- dans une architecture fédérée (X serveurs opérés par X éditeurs), un utilisateur physique peut avoir de 1 à X identifiants différents.
L'équipe d'EIMIS est actuellement (fin 2023) en cours d'évaluation des avantages et inconvénients de ces 2 scénarios afin de choisir lequel sera utilisé.
Cependant elle peut déjà fournir aux éditeurs de Messageries Instantanées de Santé les arbres de décision suivants concernant les choix qu'ils auront à faire en terme de mode de raccordement au réseau Matrix EIMIS
flowchart TD
D[En tant qu'éditeur <br> je veux me brancher à EIMIS <br> dans une architecture centralisée]
D --> F{Quel type de raccordement <br> vais-je choisir?}
F --> |bridge| G[le bridge doit être opéré par EIMIS]
F --> |client Matrix| K[client Matrix]
K{Ma solution est-elle <br> déjà basée sur Matrix?}
K --> |oui| M[Je devrai utiliser <br> un client multi-account <br> branché sur serveur EIMIS]
K --> |non| L[Je devrai utiliser <br> un client <br> branché sur serveur EIMIS]
flowchart TD
O[En tant qu'éditeur <br> je veux me brancher à EIMIS <br> dans une architecture décentralisée]
O --> A{Ma solution est-elle <br> déjà compatible avec le protocole Matrix <br> et son principe de fédération?}
A --> |oui| B
B{Quel type de raccordement <br> puis-je choisir?}
B --> |Fédération Matrix| C[Je fédère mon serveur <br> Matrix avec celui d'EIMIS]
B --> |client Matrix| D[Je devrai utiliser <br> un client multi-account <br> branché sur serveur EIMIS]
A --> |non| F
F{Quel type de raccordement <br> puis-je choisir?}
F --> |bridge| I[le bridge peut être opéré <br> ]
F --> |client Matrix| J[Je devrai utiliser <br> un client <br> branché sur serveur EIMIS]
L'éditeur développe un bridge et sa configuration, livre le tout à EIMIS pour être opéré sur son infrastructure.
Implications:
- Le bridge devra être "certifié" par EIMIS pour être raccordé au serveur Matrix central
- A chaque modification du bridge par l'éditeur la nouvelle version devra être livrée à EIMIS avec sa configuration
- Le Bridge n'est pas un bridge Matrix standard et doit utiliser l'option JWT de Synapse. Grâce au jeton récupéré on peut ensuite demandé un token valide pour n'importe quel utilisateur.
- Impact sur l'architecture de la solution éditeur et sur la certification HDS
- Impact sur l'UI : dans les conversations EIMIS seules les fonctionnalités prises en charge par le bridge soient affichées
L'éditeur développe un bridge et sa configuration.
Il opère ce bridge ainsi que le serveur Matrix auquel il est rattaché.
Le serveur Matrix de l'éditeur est fédéré avec le serveur Matrix d'EIMIS.
Détails sur l’implémentation d'un bridge Matrix. Example de déploiement d'un bridge libre pour teams
Implications:
- Bridge standard
- Impact potentiel sur l'architecture de la solution éditeur et sur la certification HDS
- Intégration de la brique de réconciliation des comptes (module Matrix + sdk forkés pas eimis)
- Impact sur l'UI : dans les conversations EIMIS seules les fonctionnalités prises en charge par le bridge soient affichées
L'éditeur intègre dans son application un client Matrix.
Implications:
- Impact sur l'UI de la solution éditeur
- Intégration de la brique de réconciliation des comptes (sdk forkés pas eimis)
L'éditeur développe une fonctionnalité de type multi-comptes sur son client actuel de façon à pouvoir se connecter soit à son serveur Matrix, soit au serveur Matrix d'EIMIS.
Implications:
- Impact sur l'UI de la solution éditeur
- Intégration de la brique de réconciliation des comptes (sdk forkés pas eimis)
L'éditeur fédère son serveur Matrix avec celui d'EIMIS et voici les détails
Implications:
- Intégration de la brique de réconciliation des comptes (module Matrix + sdk forkés pas eimis)