|
12 | 12 |
|
13 | 13 | ## Description |
14 | 14 | Sésame est une application open source conçue pour faciliter la synchronisation d'identités entre différentes sources de données, y compris des bases de données, des annuaires LDAP/Active Directory et des applications tierces, vers des serveurs OpenLDAP ou Active Directory. Le projet se compose de deux modules principaux : l'orchestrateur et le démon. |
15 | | - |
| 15 | +## Sesame Orchestrateur |
| 16 | +API du projet SESAME |
16 | 17 | ## Architecture du projet |
17 | 18 | [Figma](https://www.figma.com/file/OplQ0tHFHS5rFz5K6OCgEd/Sesame?type=whiteboard&node-id=0%3A1&t=ZiPEDwJPp0id8frN-1) |
18 | 19 |
|
19 | | -## Modules |
20 | | -### Orchestrateur |
21 | | -- Gère la synchronisation des identités. |
22 | | -- Maintient une base d'identités pour faciliter la synchronisation. |
23 | | -- Permet la configuration de schémas additionnels pour une flexibilité totale. |
24 | | -- Expose des entrypoints via une API REST avec des tokens JWT. |
25 | | - |
26 | | -### Deamon |
27 | | -- Déclenche les scripts backend pour effectuer les opérations de synchronisation. |
28 | | -- Utilise BullMQ et Redis pour communiquer avec l'orchestrateur. |
29 | | - |
30 | | -## Schémas d'Identité |
31 | | -- Utilise le schéma LDAP `InetOrgPerson` pour stocker les informations dans une base de données MongoDB. |
32 | | -- Possibilité de configurer des schémas additionnels pour des champs différents dans chaque enregistrement. |
33 | | -- Permet de définir le typage, les règles, et la présence des champs dans les identités. |
34 | | -- Schémas optionnels tels que `Supann` et/ou `Renater` pour une utilisation fréquente. |
35 | | - |
36 | | -## Technologies utilisées |
37 | | -- Langages : NodeJS et NestJS. |
38 | | -- Communication Démon-Orchestrateur : BullMQ et Redis. |
39 | | -- Authentification Orchestrateur : Comptes stockés dans MongoDB, mots de passe dans un serveur tiers (OpenLDAP). |
40 | | -- Backends : Scripts système en Python, PowerShell, Perl, Bash, etc. |
41 | | - |
42 | | -## Interfaces Utilisateur |
43 | | -- Frontend : Interfaces permettant la configuration de l'orchestrateur et la manipulation des données à importer. |
44 | | - |
45 | | -## Conclusion |
46 | | -Sésame offre une solution puissante et flexible pour la synchronisation d'identités à partir de diverses sources vers des serveurs cibles. Son architecture modulaire et ses fonctionnalités avancées en font un outil idéal pour les environnements complexes nécessitant une gestion fine des schémas et des processus de synchronisation. |
47 | | - |
48 | | -## Variables d'environnements |
49 | | -``` |
50 | | -#Host Redis |
51 | | -REDIS_HOST=redis |
52 | | -#Port Redis |
53 | | -REDIS_PORT=6379 |
54 | | -# redis credentials (si ces variables n existe pas, pas d'authentification par defaut |
55 | | -REDIS_USER=monUser |
56 | | -REDIS_PASSWORD=xx |
57 | | -#Log level ( fatal,error,warn,info,debug) |
58 | | -LOG_LEVEL=info |
59 | | -#Nom de la queue (bullMQ) Redis |
60 | | -NAME_QUEUE=backend |
61 | | -``` |
| 20 | +## Documentation |
| 21 | +[ Aller à la documentation](https://libertech-fr.github.io/sesame-doc/) |
0 commit comments