Angelos Lemire
← Tous les projets

No-Code IGA

Une plateforme de gouvernance des identités et des accès, construite avec un partenaire industriel et un laboratoire de recherche.

Projet tutoré — IUT de Créteil-VitryAvec Evidian (Atos) et le laboratoire LISSI2025 — 2026 · en équipe
PythonFastAPIReactKeycloakActive DirectoryOdooMidPointDocker

Dans une organisation, chaque arrivée, changement de poste ou départ doit se répercuter sur tous les outils : annuaire, messagerie, logiciel de gestion. Fait à la main, c'est long, et surtout ça laisse des comptes ouverts derrière — un ancien salarié qui garde son accès est une faille qui ne se voit pas. Le projet consistait à construire la passerelle qui automatise ces mouvements, et à la rendre configurable sans écrire de code.

La page d'accueil de la plateforme : le titre « Gestion des identités multi-agents », les trois agents spécialisés en cartes, et le schéma du routeur qui les dessert.
L'accueil annonce le parti pris : on décrit ce qu'on veut en français, et un routeur choisit l'agent qui sait le faire.

Ce que la plateforme fait

Provisionnement

Création, mise à jour et fermeture automatiques des comptes vers Active Directory et vers le logiciel de gestion.

Circuits de validation

Les parcours d'approbation décrits en BPMN et CMMN, modifiables par un administrateur sans toucher au code.

Authentification centralisée

Session unique par Keycloak, jetons signés, et contrôle des rôles à chaque appel.

Traçabilité

Chaque mouvement de compte est journalisé, avec une recherche sémantique sur l'historique.

Parler à la plateforme en français

Les outils de gestion des identités se pilotent d'habitude par des formulaires touffus, que seuls des administrateurs formés savent remplir. Le pari de l'interface est inverse : on écrit sa demande en langage courant — « crée une identité pour Marie Martin », « liste les groupes de l'annuaire » — et un agent routeur la lit, en extrait le nom, le rôle ou le groupe concerné, puis la confie à l'agent qui sait la traiter.

L'écran de l'assistant : la liste des agents spécialisés à gauche, et au centre une question posée en français avec la réponse de l'agent de reporting.
La même question aurait pu partir vers trois agents différents. Ici le routeur l'a envoyée au reporting, qui répond avec ce qu'il sait faire.
  • Rôles La structure : créer, modifier ou désactiver un rôle, gérer les conflits entre rôles et les règles d'affectation automatique.
  • Habilitations Les personnes : créer une identité, lui attribuer ou lui retirer un rôle, l'ajouter à un groupe de l'annuaire.
  • Reporting Les questions : rechercher une identité, afficher ses habilitations, sortir des statistiques ou vérifier l'état du provisionnement.
  • Sécurité Le garde-fou : un quatrième agent, invisible dans l'interface, à qui le routeur envoie tout ce qui ressemble à une suppression massive, à une escalade de privilèges ou à une tentative de détourner l'assistant.

Le langage naturel ne donne aucun droit supplémentaire, et c'est le point important : chaque demande est confrontée au rôle de la personne connectée — administrateur, manager, opérateur ou lecteur — avant d'atteindre le gestionnaire d'identités. Un lecteur peut tout demander, il n'obtiendra que de la consultation, et les créations de comptes passent de toute façon par l'accord d'un superviseur.

Le banc d'essai

Une passerelle de ce genre ne se teste pas contre des jeux d'essai : il lui faut de vrais systèmes en face. Nous avons donc monté l'écosystème complet en conteneurs — un annuaire avec son interface d'administration, le gestionnaire d'identités qui orchestre les mouvements de comptes, et un logiciel de gestion comme système cible.

C'est un travail qu'on ne montre jamais et qui prend un temps considérable : trois piles à faire démarrer, à faire se parler, et à remettre dans un état connu après chaque essai. J'en ai tiré un guide d'installation pour le groupe, parce qu'un environnement que les autres ne savent pas relancer ne sert à personne.

Ce que j'y ai appris

C'est mon premier contact avec un contexte industriel : des contraintes qui ne viennent pas d'un énoncé, un partenaire qui a ses propres standards, et un existant qu'on ne remplace pas. J'y ai découvert la gestion des identités, un domaine où la question n'est jamais « comment donner un accès » mais « comment être sûr de savoir le reprendre ».