Aller au contenu principal

Diagrammes UML — cas d'utilisation

  • DocumentStrategielancement/01-produit/10-diagrammes-uml-cas-utilisation.md
  • Version1.0
  • Date2026-08-17
  • StatutLivré
  • Publicinterne
  • MarqueKySpectra (par Kyrieva)

Strategielancement/01-produit/10-diagrammes-uml-cas-utilisation.mdFichier source

#Sommaire

§ Domaine fonctionnel Diagrammes
0 Conventions de lecture
1 Gestion de projet 1
2 Spécification exécutable 1
3 Rétro-ingénierie code vers spécification 1
4 Artefacts d'architecture et documentation 1
5 Agents IA et personnel virtuel 1
6 Qualité, tests et vérification 1
7 Déploiement et mise en ligne 1
8 Collaboration et revue 1
9 Retours utilisateurs et feuille de route 1
10 Administration du plan de contrôle 1
11 Facturation, plans et budgets 1
12 Sécurité, audit et conformité 1
13 Identité, accès et locataires 1
14 Synthèse des acteurs
15 Ce que ces diagrammes n'affirment pas

Total : 13 diagrammes de cas d'utilisation.


#0. Conventions de lecture

#0.1 Notation retenue

Mermaid ne dispose pas d'un type natif de diagramme de cas d'utilisation. La notation ci-dessous est donc une transposition rigoureuse et constante dans tout le dossier.

Élément UML Transposition Mermaid Exemple
Acteur Cercle, à gauche acteur(("Éditeur"))
Cas d'utilisation Forme arrondie, au centre uc(["Créer un projet"])
Frontière du système subgraph fermé par end subgraph SYS["Portail client"]
Association acteur / cas Flèche pleine -->
Relation include Flèche pointillée annotée `-.->
Relation extend Flèche pointillée annotée `-.->
Service ou dépendance externe Flèche épaisse ==>

Les identifiants de nœuds sont sans accent, sans espace et sans tiret. Les libellés sont toujours entre guillemets.

#0.2 Acteurs humains — la hiérarchie réelle

La hiérarchie ci-dessous est celle du module partagé d'autorisation. Un rang supérieur satisfait toujours l'exigence d'un rang inférieur.

Rang Acteur Signification opérationnelle
0 Lecteur (VIEWER) Lecture seule sur le périmètre du locataire
1 Éditeur (EDITOR) Création et modification des objets de travail
2 Publieur (PUBLISHER) Décisions de revue, promotion, transitions de statut
3 Administrateur (ADMIN) Gestion des utilisateurs, déploiement, révocation
4 Propriétaire (OWNER) Accès complet au locataire
5 Administrateur de plateforme (SUPERADMIN) Portée plateforme, hors locataire client

Le portail d'administration expose en outre trois rôles de plan de contrôle qui lui sont propres : viewer, platform_operator, platform_admin.

⚠️ Écart connu. Cinq rôles sectoriels hérités d'un domaine antérieur subsistent hors hiérarchie et ne satisfont jamais une exigence de rang minimum. Leur retrait fait partie du chantier de généricisation.

#0.3 Acteurs non humains

Acteur système Nature réelle
Copilote Service de génération assistée, langage naturel vers spécification
Orchestrateur Moteur de graphes d'agents
Exécuteur de code Runner de tâches Kubernetes éphémères
Passerelle API Point d'entrée unique, source de vérité des routes
Keycloak Serveur d'identité, flux code d'autorisation avec PKCE S256

#0.4 Convention de statut

🟢 Livré · 🟡 En cours · ⚪ Planifié · 🔴 Bloqué


#1. Domaine — Gestion de projet

Le projet est l'unité de portée de tout le produit. L'entité projet nue appartient au service de spécification ; tout autre service conscient des projets est atteint par un montage scopé de la passerelle.

Aucun diagramme à afficher

Diagramme 1 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Créer un projet Éditeur Locataire résolu ; rôle ≥ EDITOR Saisie du nom et du descriptif, envoi, réception de l'identifiant canonique Locataire absent ⇒ 400 ; identifiant de locataire en désaccord avec le jeton ⇒ 404 Un projet existe, scopé au locataire POST /api/v1/projects — spec-service 🟢 Livré
Lister les projets Lecteur Locataire résolu Lecture de la collection, filtrage côté portail Aucune donnée ⇒ état vide explicite Aucune GET /api/v1/projects 🟢 Livré
Consulter l'aperçu d'un projet Lecteur Projet existant dans le locataire Chargement de l'entête et des compteurs Projet d'un autre locataire ⇒ 404 Aucune GET /api/v1/projects/{projectId} 🟢 Livré
Modifier les métadonnées Éditeur Rôle ≥ EDITOR Modification partielle, envoi Conflit de version ⇒ erreur typée Métadonnées à jour PATCH /api/v1/projects/{projectId} 🟢 Livré
Archiver un projet Propriétaire Rôle ≥ ADMIN Confirmation, suppression logique Refus si dépendances actives Projet retiré des listes actives DELETE /api/v1/projects/{projectId} 🟢 Livré
Ouvrir l'espace de travail Lecteur Projet existant Ouverture, restauration de la dernière vue Vue inconnue dans l'URL ⇒ repli sur la vue spec Vue active mémorisée par projet /projects/{projectId}/workspace?view= 🟢 Livré
Basculer entre les 11 vues canoniques Lecteur Capacité de lecture de la vue visée Sélection de la vue, remplacement d'URL sans rechargement Capacité absente ⇒ vue masquée URL partageable et signet possible Registre WORKSPACE_VIEWS — 11 vues 🟢 Livré
Déclarer une source de code du projet Éditeur Rôle ≥ EDITOR ; secret référencé par chemin de coffre Saisie de l'adresse du dépôt et du chemin de coffre Secret en clair dans le corps ⇒ 422 Source durable enregistrée POST /api/v1/reverse-engineering/projects/{id}/sources 🟢 Livré
Résoudre le locataire courant Passerelle API Jeton vérifié ou en-tête X-Tenant-ID Précédence en-tête, puis revendication du jeton, puis paramètre Désaccord avec la revendication ⇒ 404, jamais 403 Contexte de locataire posé pour la requête Intergiciel partagé de résolution de locataire 🟢 Livré

Règle vérifiée. L'espace de travail expose exactement onze vues canoniques : spec, graph, boards, config, agentops, test, review, docs, artifacts, delivery, workforce. Un test unitaire verrouille cette liste et son ordre.


#2. Domaine — Spécification exécutable

La spécification est la structure de données centrale du produit : des objets typés, versionnés et reliés, pas des paragraphes.

Aucun diagramme à afficher

Diagramme 2 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Rédiger un objet de spécification Éditeur Projet existant ; rôle ≥ EDITOR Choix du type, saisie du titre et des attributs, envoi Type hors métamodèle ⇒ 422 Objet créé au statut draft POST /api/v1/projects/{projectId}/spec-items 🟢 Livré
Générer une spécification depuis le langage naturel Copilote pour le compte d'un Éditeur Passerelle LLM configurée Envoi de l'intention, génération, proposition d'objets à écrire Modèle indisponible ⇒ erreur typée, jamais de contenu fabriqué Proposition d'objets soumise à validation POST /api/v1/copilot/ask — copilot-service 🟢 Livré
Valider la grammaire EARS Copilote Critères d'acceptation générés Évaluation de la forme EARS, taux de couverture Formulation non conforme ⇒ rapport d'écarts Rapport de validation, provenance renseignée POST /api/v1/ears/validate-generated 🟢 Livré
Créer une relation entre deux objets Éditeur Deux objets existants du même locataire Choix du type de relation, envoi Type de relation hors vocabulaire ⇒ 422 ; cycle sur depends_on détecté Arête ajoutée au graphe de traçabilité POST /api/v1/spec-items/{itemId}/relationships 🟢 Livré
Consulter la traçabilité d'un objet Lecteur Objet existant Lecture du rapport amont et aval Objet isolé ⇒ rapport vide honnête Aucune GET /api/v1/spec-items/{itemId}/traceability 🟢 Livré
Calculer l'impact d'un changement Éditeur Objet existant Parcours du graphe, restitution des objets touchés Graphe trop profond ⇒ résultat borné et signalé Rapport d'impact affiché avant application POST /api/v1/spec-items/{itemId}/impact 🟢 Livré
Analyser les écarts de couverture Publieur Projet doté d'exigences et de tests Corrélation exigence vers test par relations de vérification Aucune relation de vérification ⇒ exigence signalée non couverte Liste d'écarts exploitable POST /api/v1/projects/{projectId}/spec/analyze 🟢 Livré
Valider le métamodèle du projet Éditeur Métamodèle défini pour le projet Vérification des types et des liens autorisés Violation ⇒ rapport détaillé, écriture refusée Conformité établie POST /api/v1/projects/{projectId}/model/validate 🟢 Livré
Explorer et filtrer la spécification Lecteur Projet existant Filtres par type, statut, texte Aucun résultat ⇒ état vide explicite Aucune GET /api/v1/projects/{projectId}/spec-items 🟢 Livré
Consulter l'historique de versions Lecteur Objet existant Lecture des versions successives Aucune Aucune GET /api/v1/spec-items/{itemId} 🟢 Livré

Vocabulaires réels. Statuts d'un objet de spécification : draft, clarified, planned, in_dev, implemented, verified, deprecated. Les relations de vérification prises en compte par l'analyse de couverture sont verifies et traces_to.


#3. Domaine — Rétro-ingénierie code vers spécification

Ce domaine est le maillon « Comprendre » : partir de l'existant plutôt que d'une page blanche.

Aucun diagramme à afficher

Diagramme 3 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Importer un dépôt de code Éditeur Adresse du dépôt ; règle de sortie réseau vers le port 443 Création du travail au statut queued, planification du pipeline en tâche de fond, réponse 201 immédiate Système de source non pris en charge ⇒ 422 typé Travail d'analyse enregistré POST /api/v1/reverse-engineering/jobs 🟢 Livré, prouvé en production
Cloner en profondeur 1 Pipeline d'analyse Binaire git présent dans l'image Clone --depth 1 --single-branch, jeton injecté par en-tête HTTP éphémère Identifiants absents ⇒ 502 typé ; suppression du répertoire temporaire garantie Arbre local temporaire disponible Ingestion interne du service 🟢 Livré
Ingérer les sources déclarées Pipeline d'analyse Au moins une source Dispatch par système : dépôt, schéma SQL, OpenAPI, IaC, documents, historique Système reconnu mais sans analyseur ⇒ 422 explicite Faits horodatés par fichier:ligne Statut du travail : ingesting 🟢 Livré
Analyser statiquement le code Python Pipeline d'analyse Fichiers .py collectés Arbre syntaxique, complexité, graphe d'appels, points d'entrée HTTP, entités Fichier illisible ⇒ fait d'erreur isolé, jamais d'invention Faits persistés Statut du travail : analyzing 🟢 Livré
Inférer des candidats de spécification Pipeline d'analyse Faits disponibles Calcul de confiance à partir de signaux comptés, ouverture d'une tâche de validation humaine Candidat sans preuve ⇒ refusé structurellement Candidats en attente de décision Statut du travail : inferring puis ready 🟢 Livré
Émettre les 7 familles d'artefacts Éditeur Travail au statut ready Reconstruction en lecture seule : C4, modèle entité-relation, OpenAPI, machines à états, séquences, dictionnaire de données, traçabilité Aucun fait support ⇒ modèle honnêtement vide Aucune écriture, aucune promotion GET /api/v1/reverse-engineering/jobs/{jobId}/emit 🟢 Livré
Décider sur un candidat en file humaine Publieur Candidat au statut pending ; rôle ≥ PUBLISHER Lecture de la preuve, approbation ou rejet Candidat déjà décidé ⇒ 409 Décision attribuable et auditée POST /api/v1/reverse-engineering/validation-tasks/{taskId}/decision 🟢 Livré
Promouvoir un candidat en spécification Publieur ou pipeline Tâche de validation approuvée Création de l'objet chez le service de spécification, identifiant canonique renvoyé par le serveur Service de spécification injoignable ⇒ transaction annulée, tâche rejouable Objet de spécification au statut draft, provenance reverse:<mode> POST /api/v1/projects/{projectId}/spec-items 🟢 Livré
Détecter la dérive spécification contre code Éditeur Travail analysé Comparaison, persistance des constats Aucun écart ⇒ liste vide Constats de dérive consultables POST /api/v1/reverse-engineering/jobs/{jobId}/drift/analyze 🟢 Livré
Traiter un événement de dépôt Éditeur Signature de rappel valide Vérification de la signature, calcul du différentiel, ensemble impacté Signature invalide ⇒ 401 Analyse incrémentale enregistrée POST /api/v1/reverse-engineering/jobs/{jobId}/incremental 🟢 Livré

⚠️ Nuance vérifiée et opposable. L'analyse statique profonde ne couvre réellement que Python. Les fichiers JavaScript, TypeScript, Go, Java, Ruby et C# sont détectés puis rangés dans la liste unsupported : ils sont signalés, jamais analysés ni fabriqués. Le schéma SQL et GraphQL sont traités par heuristique, pas par un analyseur syntaxique complet.

Promotion automatique. Le drapeau d'auto-promotion vaut true par défaut avec un seuil de confiance de 0,7, mais l'adresse du service de spécification n'est pas définie dans le manifeste de développement : la promotion automatique est alors inerte et le signale explicitement. Les candidats sous le seuil restent dans la file humaine.


#4. Domaine — Artefacts d'architecture et documentation

Les artefacts sont projetés depuis la spécification. Le rendu graphique est déterministe et sans modèle de langage.

Aucun diagramme à afficher

Diagramme 4 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Déposer un document d'exigences produit Éditeur Au moins une référence de spécification valide Vérification des références, persistance du contenu tel quel Référence orpheline ⇒ 422 listant les identifiants manquants Artefact prd au statut generated POST /api/v1/artifacts/prd 🟢 Livré
Générer un artefact assisté par IA Éditeur Passerelle de prompts joignable Récupération des objets, assemblage, envoi, contenu validé par contrat Assemblage refusé ⇒ 502 typé ; contrat violé ⇒ 502 ; jamais d'artefact fabriqué Artefact avec provenance prompt-orch:<identifiant> POST /api/v1/artifacts/generate 🟢 Livré
Produire un diagramme UML Éditeur Modèle de diagramme fourni Rendu déterministe vers texte Mermaid, persistance Type hors des 14 valeurs admises ⇒ 422 listant les valeurs Artefact uml avec sous-type POST /api/v1/diagrams/uml 🟢 Livré
Produire un diagramme BPMN Éditeur Modèle de processus Rendu vers organigramme Mermaid, couloirs par sous-graphe Type de nœud inconnu ⇒ forme de tâche par défaut Artefact bpmn POST /api/v1/diagrams/bpmn 🟢 Livré
Produire un diagramme entité-relation Éditeur Entités et relations Rendu erDiagram natif avec cardinalités Modèle vide ⇒ entête valide sans contenu Artefact erd POST /api/v1/diagrams/erd 🟢 Livré
Produire une vue TOGAF Éditeur Phase parmi les 10 valeurs admises Persistance ; diagramme produit uniquement si des nœuds ou des arêtes sont fournis Forme catalog ou matrix ⇒ stockage seul, sans rendu Artefact togaf, phase en sous-type POST /api/v1/togaf 🟢 Livré
Produire un artefact de sécurité Éditeur Sous-type parmi modèle de menaces STRIDE, DFD, confiance zéro, IAM Validation des catégories STRIDE, rendu du DFD sous-jacent Catégorie inconnue ⇒ 422 ; modèle IAM sans rôles ⇒ artefact sans diagramme Artefact security POST /api/v1/sec-artifacts 🟢 Livré
Projeter la documentation depuis la spécification Éditeur Références de spécification valides Lecture des objets, rendu Markdown bilingue, empreinte de source Doublon locataire, projet, type, langue, titre ⇒ 409 Document en version 1 POST /api/v1/documentation 🟢 Livré
Détecter la dérive documentaire Lecteur Document existant Relecture de la spécification, recalcul de l'empreinte, comparaison Aucune Verdict de dérive GET /api/v1/documentation/{docId}/drift 🟢 Livré
Reprojeter un document Éditeur Document existant Nouvelle projection ; nouvelle version seulement si l'empreinte change Empreinte identique ⇒ opération neutre Version incrémentée le cas échéant POST /api/v1/documentation/{docId}/reproject 🟢 Livré
Exporter un document Lecteur Document existant Choix du format md, pdf ou docx Moteur de rendu absent ⇒ 501 explicite, jamais un fichier vide ; format inconnu ⇒ 422 Fichier téléchargé GET /api/v1/documentation/{docId}/export?format= 🟢 Livré
Créer une version immuable Éditeur Artefact existant ; motif de changement obligatoire Verrouillage de la ligne, incrément, écriture de l'instantané Motif absent ⇒ 422 Version figée et horodatée POST /api/v1/artifacts/{artifactId}/versions 🟢 Livré
Changer le statut d'un artefact Publieur Rôle ≥ PUBLISHER Choix parmi draft, generated, reviewed, published, deprecated Statut hors liste ⇒ refus Statut mis à jour POST /api/v1/artifacts/{artifactId}/status 🟢 Livré
Vérifier les références de spécification Service d'artefacts Service de spécification joignable Appel réel par référence, avant toute persistance Référence introuvable ⇒ 422 ; service injoignable ⇒ 502 Aucun artefact orphelin Appel GET /api/v1/spec-items/{itemId} 🟢 Livré

⚠️ Nuance vérifiée et opposable. Le service d'artefacts déclare 14 types de diagrammes UML — le compte est verrouillé par une assertion à l'import — mais 5 seulement possèdent un générateur spécialisé : classe, machine à états, séquence, composant et déploiement. Les 9 autres retombent sur un organigramme générique. Toute communication qui présenterait « 14 diagrammes UML rendus nativement » serait fausse.

Autre écart réel. Le routeur ArchiMate est monté dans le service mais son préfixe n'est pas déclaré dans la passerelle : il est inatteignable depuis les portails.


#5. Domaine — Agents IA et personnel virtuel

C'est le différenciateur central : les agents sont gouvernés comme des employés.

Aucun diagramme à afficher

Diagramme 5 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Lancer une exécution d'agent Éditeur Rôle ≥ EDITOR ; plan d'étapes sous le plafond de 500 Création du run, application de la politique, exécution étape par étape Plan trop long ⇒ refus ; exécuteur inconnu ⇒ 500 sonore, jamais de repli silencieux Run au statut running POST /api/v1/agent-runtime/runs 🟢 Livré
Évaluer la politique hors boucle Exécuteur de code Liste d'autorisations chargée Vérification de l'action contre la liste Action non couverte ⇒ refus journalisé sous deny-by-default Verdict persisté Moteur de politique de agent-runtime-service 🟢 Livré
Suspendre une exécution Éditeur Run au statut running Écriture d'un point de reprise, passage au statut suspended Run non running ⇒ 409 État externalisé POST /api/v1/agent-runtime/runs/{runId}/suspend 🟢 Livré
Reprendre depuis un point de reprise Éditeur Run au statut suspended Restauration du dernier point de reprise Run non suspended ⇒ 409 Run de nouveau running POST /api/v1/agent-runtime/runs/{runId}/resume 🟢 Livré
Interrompre une exécution Administrateur Run actif Confirmation, annulation Run déjà terminal ⇒ opération neutre Run interrompu et tracé POST /api/v1/agent-runtime/runs/{runId}/interrupt 🟢 Livré
Suivre le flux d'activité rejouable Agent IA vers portail Ticket de flux Flux d'événements serveur amorcé depuis la table d'événements persistés Reconnexion ⇒ reprise par Last-Event-ID Aucun événement perdu GET /api/v1/agent-runtime/runs/{runId}/events 🟢 Livré
Recruter un membre du personnel virtuel Éditeur Rôle ≥ EDITOR Choix du rôle, de l'équipe et du niveau d'autonomie, envoi Rôle inconnu ⇒ refus Membre au statut active POST /api/v1/agentic-core/workforce/staff 🟢 Livré, prouvé en navigateur réel
Assigner une tâche à un membre Éditeur Membre existant et actif Saisie de la tâche, envoi, rafraîchissement de la file Membre en pause ⇒ bouton bloqué Tâche en file POST /api/v1/agentic-core/workforce/staff/{staffId}/tasks 🟢 Livré
Consulter la file de travail Éditeur Membre existant Lecture des tâches ouvertes et closes File vide ⇒ état vide explicite Aucune GET /api/v1/agentic-core/workforce/staff/{staffId}/tasks 🟢 Livré
Consulter l'organigramme et l'activité Éditeur Personnel existant Lecture de la synthèse, des équipes et du flux d'activité Aucune Aucune GET /api/v1/agentic-core/workforce/overview et /teams 🟢 Livré
Consulter le registre central d'agents Administrateur de plateforme Rôle plateforme Lecture du registre : nom, nature, capacités, compétences, serveurs d'outils, santé Registre vide ⇒ synchronisation à déclencher Aucune GET /api/v1/agents/registry 🟢 Livré
Appliquer le plafond d'autonomie Plateforme Rôle virtuel et plan résolus Calcul du minimum entre plafond du rôle et plafond du plan Service d'entitlements dégradé ⇒ repli sur N1, jamais vers le haut Autonomie effective bornée Résolution d'entitlements, échelle N0 à N3 🟢 Livré, 🟡 drapeau désactivé par défaut
Vérifier le budget de jetons Plateforme Budget configuré Pré-vérification avant appel facturable, règlement après coup Budget épuisé ⇒ 402 Consommation enregistrée Garde de crédit partagée 🟢 Livré

Personnel virtuel — périmètre exact. La phase 1 couvre le recrutement depuis l'interface, l'assignation de tâches, la file par membre, le flux d'activité et l'organigramme. L'autonomie déléguée, l'escalade et la chaîne d'imputabilité sont ⚪ Planifiées : elles existent en conception seulement.


#6. Domaine — Qualité, tests et vérification

Aucun diagramme à afficher

Diagramme 6 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Générer des tests depuis les critères d'acceptation Éditeur Critères d'acceptation existants Sélection des critères, génération de scénarios Aucun critère ⇒ refus explicite Scénarios rattachés aux exigences test-quality-service, scope /api/v1/test-quality 🟢 Livré
Éditer un scénario Gherkin Éditeur Scénario existant Édition dans l'éditeur intégré Syntaxe invalide ⇒ signalement immédiat Scénario mis à jour Composant GherkinEditor du système de conception 🟢 Livré
Consulter la carte de chaleur de couverture Responsable qualité Exigences et tests reliés Lecture croisée exigence contre test Exigence sans relation de vérification ⇒ case signalée Aucune Vue test de l'espace de travail 🟢 Livré
Produire des données de test synthétiques Éditeur Schéma cible connu Génération conforme, aucune donnée personnelle réelle Schéma inconnu ⇒ refus Jeu de données utilisable test-data-factory-service, scope /api/v1/test-data-factory 🟢 Livré
Exécuter un test navigateur réel Éditeur Exécuteur configuré Lancement d'un navigateur réel en tâche, collecte des preuves Navigateur indisponible ⇒ verdict inconclusive, jamais un faux vert Preuves nettoyées des données sensibles POST /api/v1/agent-runtime/runs 🟢 Livré en développement
Comparer visuellement contre une référence Éditeur Deux captures disponibles Différentiel pixel et perceptuel Comparaison visuelle désactivée ⇒ 503 honnête Rapport de différence POST /api/v1/agent-runtime/visual/compare 🟢 Livré
Approuver une capture de référence Publieur Rôle ≥ PUBLISHER Revue de la capture, approbation Rôle insuffisant ⇒ 403 Référence opposable POST /api/v1/agent-runtime/visual/baselines/{id}/approve 🟢 Livré
Analyser une base de données en exploitation Responsable qualité Accès à la base configuré Lecture des statistiques de tables Base injoignable ⇒ erreur typée Rapport d'analyse Capacité d'analyse de base réelle 🟢 Livré en développement et production
Évaluer une porte de qualité Responsable qualité Verdicts amont disponibles Dérivation du verdict à partir des étapes réelles Étape amont non franchie ⇒ porte refusée Décision de porte enregistrée Étape gate du pipeline de déploiement 🟢 Livré
Consulter les brèches de niveau de service Responsable qualité Tableau d'observabilité alimenté Lecture du panneau de brèches Aucune brèche ⇒ liste vide Aucune GET /api/v1/observability/gates/breaches 🟢 Livré
Scorer le triage d'une défaillance Responsable qualité Registre de modèles amorcé Calcul de probabilités calibrées et de contributions explicables Modèle absent du registre ⇒ 501 typé Score explicable POST /api/v1/ml/triage-score 🟢 Livré

Automatisation robotisée de navigateur. Le drapeau correspondant vaut false par défaut : une exécution en mode action navigateur répond alors par un 404 typé. Statut 🟡 En cours.


#7. Domaine — Déploiement et mise en ligne

Aucun diagramme à afficher

Diagramme 7 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Créer une exécution de déploiement Administrateur Rôle ≥ ADMIN Création du run et amorçage des 6 étapes au statut pending Environnement hors dev, staging, prod ⇒ refus Run et étapes ordonnées créés POST /api/v1/deploy/deploy-runs 🟢 Livré
Simuler le déploiement sans effet Publieur Run existant Résolution de la cible, état des étapes, portes non franchies, verdict de disponibilité Aucune Aucune écriture, aucune infrastructure touchée POST /api/v1/deploy/deploy-runs/{runId}/plan 🟢 Livré
Construire l'image Administrateur Outil de construction disponible Clone, construction, publication du journal en stockage objet Outil absent ⇒ 501 typé, jamais un vert fabriqué Étape build passed ou failed Étape 1 du pipeline 🟢 Livré en développement
Exécuter la suite de tests Administrateur Commande de test configurée Exécution dans l'arbre cloné, code de retour comme verdict Binaire absent ⇒ 501 Étape test décidée Étape 2 du pipeline 🟢 Livré
Analyser sécurité et dépendances Administrateur Analyseurs présents Trois dimensions réelles : code, dépendances, secrets Analyseur manquant ⇒ 501 nommant l'outil absent Étape scan décidée Étape 3 du pipeline 🟢 Livré
Franchir la porte dérivée Système Trois étapes amont décidées Verdict calculé sans outil externe Une étape amont en échec ⇒ porte refusée Étape gate décidée Étape 4 du pipeline 🟢 Livré
Approuver la mise en production Approbateur distinct Demandeur identifié ; approbateur différent Décision approved ou rejected motivée Auto-approbation ⇒ 409 typé Décision enregistrée dans la piste d'audit POST /api/v1/deploy/deploy-runs/{runId}/approve 🟢 Livré
Appliquer le déploiement et ré-interroger Administrateur Portes franchies ; approbation obtenue Application, puis ré-interrogation de l'état du workload Portes non franchies ⇒ 409 ; exécution réelle désactivée ⇒ 501 explicite Statut live seulement si les répliques convergent POST /api/v1/deploy/deploy-runs/{runId}/deploy 🟢 Livré en production
Vérifier la convergence après déploiement Système Déploiement appliqué Relecture de l'état, verdict de convergence Non convergé ⇒ retour vers la spécification, boucle fermée Étape monitor décidée Étape 6 du pipeline 🟢 Livré
Revenir à la version précédente Administrateur Déploiement enregistré Déploiement inverse réel, marquage de l'original Aucun déploiement antérieur ⇒ refus Nouvelle ligne portant la référence de retour arrière POST /api/v1/deploy/deployments/{id}/rollback 🟢 Livré
Publier sur un sous-domaine avec TLS Publieur Mise en ligne activée Rendu et application du déploiement, du service et de l'entrée ; certificat automatique Mise en ligne désactivée ⇒ 501 honnête Produit servi sur <projet>.kyrieva.com POST /api/v1/deploy/go-live/{projectId} 🟢 Livré en production
Générer un pipeline d'intégration continue Publieur Fournisseur choisi parmi quatre Génération puis commit réel dans le dépôt Dépôt inaccessible ⇒ erreur typée Fichier de pipeline commité POST /api/v1/deploy/cicd/setup 🟢 Livré en développement
Vérifier le lien au registre d'images Publieur Identifiants déposés par référence de coffre Poignée de main réelle avec le registre Registres nuage exigeant un échange de jeton ⇒ signalé explicitement Verdict de connexion POST /api/v1/deploy/registries/verify 🟢 Livré

Interrupteur maître. Le drapeau d'exécution réelle vaut false par défaut : sans lui, aucun déploiement n'est simulé, le produit répond 501 Not Implemented. Le drapeau d'approbation obligatoire impose une personne différente du demandeur.

Écart réel. Les pilotes natifs de nuages publics répondent 501 : ils sont ⚪ Planifiés. Le provisionnement automatique d'un fournisseur d'identité pour le produit client est 🔴 Bloqué par des droits d'administration insuffisants sur le serveur d'identité.


#8. Domaine — Collaboration et revue

Aucun diagramme à afficher

Diagramme 8 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Créer un espace de collaboration Éditeur Rôle ≥ EDITOR Création de l'espace, rattachement au projet Aucune Espace disponible POST /api/v1/spaces 🟢 Livré
Gérer les membres d'un espace Éditeur Espace existant Ajout et retrait de membres Membre hors locataire ⇒ 404 Composition à jour GET /api/v1/spaces/{spaceId}/members 🟢 Livré
Ouvrir un fil de commentaires Éditeur Cible identifiée Création du fil, marquage bloquant optionnel Aucune Fil ouvert POST /api/v1/comments/threads 🟢 Livré
Résoudre un fil bloquant Éditeur Fil ouvert Résolution avec motif Fil déjà résolu ⇒ opération neutre Fil résolu POST /api/v1/comments/threads/{threadId}/resolve 🟢 Livré
Rouvrir un fil résolu Éditeur Fil résolu Réouverture motivée Aucune Fil de nouveau ouvert POST /api/v1/comments/threads/{threadId}/reopen 🟢 Livré
Créer une revue Éditeur Cible de revue existante Création au statut draft Aucune Revue en brouillon POST /api/v1/reviews 🟢 Livré
Soumettre une revue Éditeur Revue au statut draft ou changes_requested Passage au statut submitted, soumissionnaire enregistré Transition illégale ⇒ 409 typé listant les transitions permises Revue soumise POST /api/v1/reviews/{reviewId}/submit 🟢 Livré
Commenter une revue Éditeur Revue existante Ajout d'un commentaire Aucune Commentaire attaché POST /api/v1/reviews/{reviewId}/comment 🟢 Livré
Rendre une décision de revue Publieur Revue au statut submitted ; rôle ≥ PUBLISHER Verdict approved, changes_requested ou rejected Verdict approved avec fil bloquant ouvert ⇒ 422 critères non satisfaits Revue au statut correspondant POST /api/v1/reviews/{reviewId}/decision 🟢 Livré
Vérifier la séparation des devoirs Système Soumissionnaire et relecteur connus Comparaison des identifiants Identité identique ⇒ 403 auto-approbation interdite Décision refusée en position fermée Machine à états de revue 🟢 Livré
Vérifier les critères de porte Système Contexte de porte disponible Comptage des fils bloquants et des critères non satisfaits Critère non satisfait ⇒ 422 Approbation autorisée ou refusée Machine à états de revue 🟢 Livré
Consulter la carte de contextes Lecteur Contextes déclarés Lecture des contextes bornés et de leurs agrégats, rendu Mermaid Aucun contexte ⇒ liste vide Aucune GET /api/v1/ddd/contexts/{contextId} 🟢 Livré

Cycle de vie réel d'une revue. draft vers submitted ; submitted vers approved, changes_requested ou rejected ; changes_requested vers submitted. Les statuts approved et rejected sont terminaux.


#9. Domaine — Retours utilisateurs et feuille de route

Aucun diagramme à afficher

Diagramme 9 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Soumettre une idée ou un défaut Visiteur anonyme Route publique exemptée de la garde d'authentification Saisie du titre et du descriptif, envoi Route publique non exemptée ⇒ redirection vers la connexion — écart corrigé Retour enregistré POST /api/v1/feedback/public/... et page /public/feedback 🟢 Livré
Voter pour une idée Lecteur Retour existant Vote unique par personne Vote déjà émis ⇒ opération neutre Compteur incrémenté feedback-service, scope /api/v1/feedback 🟢 Livré
Consulter le tableau des retours Lecteur Locataire résolu Lecture triée et filtrée Aucun retour ⇒ état vide Aucune GET /api/v1/feedback/board 🟢 Livré
Consulter la feuille de route publique Visiteur anonyme Aucune Lecture des éléments planifiés Aucune Aucune GET /api/v1/feedback/roadmap 🟢 Livré
Consulter le journal des changements Visiteur anonyme Aucune Lecture des entrées publiées Aucune Aucune GET /api/v1/feedback/changelog 🟢 Livré
Commenter un retour Éditeur Retour existant Ajout d'un commentaire Aucune Fil enrichi GET /api/v1/feedback/feedback/{itemId}/comments 🟢 Livré
Changer le statut d'un retour Publieur Rôle ≥ PUBLISHER Transition de statut motivée Transition non permise ⇒ 409 Statut à jour, journal des changements alimentable feedback-service 🟢 Livré
Rattacher un retour à une exigence Éditeur Retour et objet de spécification existants Création de la relation de traçabilité Objet inexistant ⇒ 404 Boucle de retour fermée vers la spécification POST /api/v1/spec-items/{itemId}/relationships 🟢 Livré
Répondre à une enquête Visiteur anonyme Enquête publiée Saisie et envoi Enquête close ⇒ refus Réponse enregistrée GET /api/v1/feedback/surveys 🟢 Livré
Charger la configuration du widget Visiteur anonyme Clé de widget valide Lecture de la configuration publique Clé inconnue ⇒ 404 Widget initialisé chez le client GET /api/v1/feedback/widget-config 🟢 Livré

Widget embarquable. Un bundle autonome, intégrable dans un produit client, existe dans le dépôt des paquets frontaux. Statut 🟢 Livré.


#10. Domaine — Administration du plan de contrôle

Le portail d'administration expose 16 destinations. Ce diagramme en couvre les usages structurants.

Aucun diagramme à afficher

Diagramme 10 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Lire l'état de santé des services Observateur Portail chargé Agrégation honnête : 200 seulement si tous les amonts répondent Un amont en échec ⇒ 503 réel, pas un vert de complaisance Aucune GET /health/aggregate — passerelle 🟢 Livré
Superviser la flotte d'exécutions Opérateur de plateforme Capacité fleet:interrupt pour l'action Compteurs par statut, graphe d'exécution, tiroir de détail, interruption sur confirmation Aucun run ⇒ état vide Exécution interrompue le cas échéant GET /api/v1/agent-runtime/runs puis .../interrupt 🟢 Livré
Créer et gérer un locataire Administrateur de plateforme Capacité tenants:manage Saisie de l'identifiant court, du nom et du plan Suspension de locataire absente du service ⇒ écart affiché explicitement dans l'interface Locataire créé POST /api/v1/admin/tenants 🟢 Livré
Gérer les utilisateurs et leurs rôles Administrateur de plateforme Capacité users:manage Création avec mot de passe validé, édition, ajout et retrait de rôles au serveur d'identité Proxy d'administration d'identité non configuré ⇒ 501 reconnu par l'interface Compte et rôles à jour POST /api/v1/keycloak/users/{id}/roles 🟢 Livré
Créer une dérogation de permission Administrateur de plateforme Capacité rbac:edit Choix de l'effet, de la priorité et du motif Moteur de permissions non raccordé ⇒ message dédié Dérogation active et auditée POST /api/v1/permissions/overrides 🟢 Livré
Traiter une revue de gouvernance Administrateur de plateforme Identité agissante déclarée Chargement des revues du sujet, approbation ou rejet Auto-approbation ⇒ bouton bloqué côté interface et 409 côté serveur Décision persistée POST /api/v1/extension-registry/extensions/{kind}/{id}/review 🟢 Livré
Piloter un drapeau de fonctionnalité Opérateur de plateforme Capacité flags:manage Création, portée globale ou locataire, déploiement progressif de 0 à 100 % Clé hors motif autorisé ⇒ refus Drapeau actif POST /api/v1/platform-config/feature-flags 🟢 Livré
Configurer un modèle et un adaptateur Administrateur de plateforme Capacité models:manage Fournisseur, identifiant de modèle, chemin de coffre, valeur par défaut Chemin de coffre absent ⇒ refus Configuration disponible POST /api/v1/platform-config/model-configs 🟢 Livré
Éditer un garde-fou et une politique d'exécution Administrateur de plateforme Capacité policies:manage Motif d'action, effet, priorité, exigence d'approbation ; politique réseau devant commencer par un refus Politique réseau permissive ⇒ refus Politique appliquée POST /api/v1/platform-config/guardrail-policies 🟢 Livré
Évaluer une action à la volée Administrateur de plateforme Politique existante Saisie de l'action, verdict immédiat Évaluateur non raccordé ⇒ message explicite Aucune POST /api/v1/platform-config/guardrail-policies/evaluate 🟢 Livré
Gouverner compétences, outils et prompts Administrateur de plateforme Capacité registry:manage Rédaction, import du jeu curaté, enregistrement de serveurs d'outils, révocation motivée Import ⇒ atterrissage en revue, jamais d'auto-approbation Catalogue gouverné POST /api/v1/extension-registry/catalog/import/seed 🟢 Livré
Activer ou désactiver un agent Administrateur de plateforme Capacité agents:manage Lecture du registre, bascule d'état Registre vide ⇒ synchronisation requise Agent activé ou désactivé PATCH /api/v1/agents/{agentId} 🟢 Livré
Ajuster le plafond d'autonomie d'un rôle virtuel Administrateur de plateforme Drapeau des rôles virtuels activé Sélection du rôle, choix du niveau N0 à N3 Drapeau désactivé ⇒ 404 traité honnêtement par l'interface Plafond mis à jour PATCH /api/v1/extension-registry/virtual-roles/{roleId} 🟡 En cours — drapeau désactivé par défaut
Provisionner le locataire de démonstration Administrateur de plateforme Capacité demo:manage Provisionnement en mode rédigé ou agentique, réinitialisation, suppression Module de démonstration désactivé par défaut Locataire de démonstration prêt POST /api/v1/demo/provision 🟢 Livré

#11. Domaine — Facturation, plans et budgets

Aucun diagramme à afficher

Diagramme 11 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Consulter le catalogue de plans Visiteur anonyme Aucune — lecture publique Lecture des plans triés par ordre d'affichage Catalogue non nettoyé ⇒ vocabulaire hérité visible — écart connu Aucune GET /api/v1/billing/plans — table app_plans 🟢 Livré, 🟡 catalogue à nettoyer
Souscrire à un plan Propriétaire Compte créé Choix du plan, création de l'abonnement Fournisseur de paiement non configuré ⇒ 503, jamais un succès simulé Abonnement actif POST /api/v1/billing/subscription/change-plan 🟢 Livré
Démarrer un essai de 14 jours Propriétaire Profil de facturation configuré Essai sans carte, rappels à J-7, J-3 et J-1 Expiration ⇒ rétrogradation vers le palier gratuit Essai en cours Profils de facturation, table app_trial_records 🟢 Livré
Changer de plan avec prorata Propriétaire Abonnement actif Modification avec calcul de prorata Plan cible inexistant ⇒ refus Nouveau plan actif POST /api/v1/billing/subscription/change-plan 🟢 Livré
Annuler en fin de période Propriétaire Abonnement actif Annulation différée à la fin de la période Aucune Abonnement en période de grâce POST /api/v1/billing/subscription/cancel 🟢 Livré
Consulter les factures Propriétaire Abonnement existant Lecture de la liste et du détail Aucune facture ⇒ liste vide Aucune GET /api/v1/billing/invoices 🟢 Livré
Gérer un moyen de paiement Propriétaire Fournisseur configuré Ajout par intention de configuration, choix du défaut, suppression Fournisseur non configuré ⇒ 503 explicite Moyen de paiement enregistré POST /api/v1/billing/payment-methods/setup-intent 🟢 Livré
Définir un budget par portée Opérateur de plateforme Capacité budgets:manage Limite en dollars, seuil d'avertissement, seuil critique Limite absente ⇒ refus Budget suivi par jauge POST /api/v1/billing-usage/budgets 🟢 Livré
Consulter les fenêtres de quota Opérateur de plateforme Budgets définis Lecture de la consommation, du pourcentage et de la date de réinitialisation Aucune fenêtre ⇒ liste vide Aucune GET /api/v1/billing-usage/quota-windows 🟢 Livré
Vérifier le solde de crédits Propriétaire Économie de crédits activée Lecture du solde et des transactions Service de facturation injoignable ⇒ reçu portant metered=false, jamais un montant inventé Aucune GET /api/v1/billing-usage/credits/balance 🟢 Livré
Résoudre les droits du plan Administrateur de plateforme Drapeau des rôles virtuels activé Lecture des 10 fonctions et des 6 quotas du plan Drapeau désactivé ⇒ 404 byte-identique à l'absence de fonctionnalité Droits résolus GET /api/v1/entitlements 🟡 En cours
Plafonner l'autonomie par le plan Plateforme Rôle virtuel et plan connus Minimum entre plafond du rôle et plafond du plan Dégradation du service ⇒ repli sur N1 Autonomie effective bornée Résolution d'entitlements 🟢 Livré, 🟡 non activé par manifeste

Grille réellement en base. Gratuit à 0 $ CAD, Équipe à 49,00 $ CAD par mois avec un annuel à 490,00 $, Entreprise sur devis. Devise unique : CAD. Plafonds d'autonomie associés : N1, N2, N3.


#12. Domaine — Sécurité, audit et conformité

Aucun diagramme à afficher

Diagramme 12 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Rechercher dans le journal d'audit Responsable conformité Locataire résolu Filtres par acteur, action, ressource ou texte libre Aucun événement ⇒ liste vide Aucune GET /api/v1/audit-compliance/audit/events 🟢 Livré
Vérifier la chaîne de hachage Auditeur externe Journal alimenté Recalcul de la chaîne, confirmation d'intégrité Rupture détectée ⇒ signalement explicite Preuve d'intégrité opposable GET /api/v1/audit-compliance/audit/verify-chain 🟢 Livré
Générer un rapport Loi 25 Responsable conformité Période choisie Génération sur période, agrégation des événements Période vide ⇒ rapport honnêtement vide Rapport persisté POST /api/v1/audit-compliance/compliance/reports 🟢 Livré
Exporter un rapport de conformité Responsable conformité Rapport généré Téléchargement local Aucune Fichier chez le demandeur GET /api/v1/audit-compliance/compliance/reports/{reportId} 🟢 Livré
Enregistrer un consentement Personne concernée Compte existant Écriture dans un journal en ajout seul Aucune Preuve de consentement conservée Routes de confidentialité du service utilisateurs 🟢 Livré
Traiter une demande d'accès aux renseignements Personne concernée Compte existant Ouverture de la demande, suivi du traitement Demande hors délai ⇒ signalement Demande tracée Routes de demande d'accès du service utilisateurs 🟢 Livré
Produire un export de données personnelles Personne concernée Demande acceptée Constitution du travail d'export Export volumineux ⇒ traitement différé Archive disponible Table des travaux d'export du service utilisateurs 🟢 Livré
Déposer un secret de projet Administrateur de plateforme Coffre joignable Écriture par chemin, jamais par valeur en base Secret inline détecté ⇒ 422 sans jamais renvoyer la matière offensante Secret déposé Coffre de secrets, référence credential_ref 🟢 Livré
Relire un secret indépendamment Administrateur de plateforme Secret déposé Relecture par un chemin indépendant Coffre injoignable ⇒ erreur typée Preuve de dépôt réel Coffre de secrets 🟢 Livré
Appliquer l'isolation multi-locataire Plateforme Requête entrante Résolution du locataire, sécurité au niveau des lignes Désaccord avec la revendication ⇒ 404, jamais 403 Aucune fuite entre clients Politiques de sécurité au niveau des lignes 🟢 Livré
Refuser par défaut une action non couverte Moteur de politique Liste d'autorisations chargée Évaluation, refus si non couverte Refus journalisé sous deny-by-default Action bloquée et tracée Moteur de politique du service d'exécution 🟢 Livré
Masquer les renseignements détectés Plateforme Détecteur actif Détection par expressions régulières et somme de contrôle, échantillon masqué Valeur brute jamais persistée Constats exploitables sans exposer la donnée Détecteur de renseignements personnels 🟢 Livré

Garantie structurelle. Les tables de bail de secrets et de session de rebond ne comportent aucune colonne de secret. Cette absence est vérifiée par un test de structure.


#13. Domaine — Identité, accès et locataires

Aucun diagramme à afficher

Diagramme 13 — flowchart

Cas d'usage Acteur principal Préconditions Déroulé nominal Extensions Postconditions Route ou service réel Statut
Se connecter par code d'autorisation avec PKCE Utilisateur Client public déclaré, méthode de défi S256 Redirection vers le serveur d'identité, saisie, retour avec code Route publique ou route d'authentification ⇒ garde exemptée Jeton en stockage de session Client public, redirect_uri = <origine>/auth/callback 🟢 Livré
Traiter le retour d'authentification Keycloak vers portail Code reçu Échange code contre jeton, lecture des revendications Échange refusé ⇒ message d'erreur explicite Session ouverte Page /auth/callback 🟢 Livré
Rafraîchir le jeton silencieusement Portail Session ouverte Renouvellement automatique Renouvellement impossible ⇒ redirection vers la connexion Session prolongée Renouvellement silencieux activé 🟢 Livré
Se déconnecter Utilisateur Session ouverte Fermeture locale et redirection de fin de session Aucune Session close Client d'authentification partagé 🟢 Livré
Inviter une personne dans l'organisation Administrateur Rôle ≥ ADMIN Saisie de l'adresse, génération d'un jeton valable 7 jours Adresse déjà membre ⇒ refus Invitation en attente POST /api/v1/users/invite 🟢 Livré
Accepter une invitation Personne invitée Jeton valide et non expiré Résolution du jeton, création du compte et de l'adhésion active Jeton inconnu ou expiré ⇒ 404, sans fuite d'information Membre actif POST /api/v1/invitations/{token}/accept 🟢 Livré
Attribuer un rôle à un membre Administrateur Rôle ≥ ADMIN Choix du rôle dans la hiérarchie Auto-modification interdite par séparation des devoirs Rôle appliqué PUT /api/v1/admin/users/{userId}/roles 🟢 Livré
Créer une organisation Administrateur Identifiant court disponible Vérification de disponibilité, création Identifiant déjà pris ⇒ refus Organisation créée POST /api/v1/organizations 🟢 Livré
Activer la double authentification Utilisateur Compte actif Configuration, activation, codes de secours Code invalide ⇒ refus Second facteur actif POST /api/v1/security/2fa/setup 🟢 Livré
Révoquer une session Utilisateur Sessions listées Sélection et révocation Session déjà close ⇒ opération neutre Session close DELETE /api/v1/security/sessions/{sessionId} 🟢 Livré
Basculer de locataire actif Utilisateur Plusieurs adhésions Sélection dans le sélecteur, persistance locale Locataire non autorisé ⇒ 404 Contexte de locataire changé Sélecteur de locataire du portail 🟢 Livré
Résoudre les capacités effectives Portail Jeton vérifié Dérivation des capacités depuis les rôles, application des dérogations Aucune capacité ⇒ interface réduite, jamais d'action fantôme Interface adaptée au rôle Fournisseur de capacités du portail 🟢 Livré

⚠️ Écart connu. Le mode d'authentification par en-têtes auto-déclarés est la valeur par défaut du code et n'est surchargé dans aucun manifeste de déploiement. Le passage explicite au mode strict figure au plan de la phase 0 de pré-lancement.


#14. Synthèse des acteurs

Acteur Domaines où il apparaît Nombre de cas d'utilisation associés
Lecteur 1, 2, 4, 8, 9, 13 14
Éditeur 1, 2, 3, 4, 5, 6, 8, 9 41
Publieur 2, 3, 4, 6, 7, 8, 9 15
Administrateur 1, 5, 7, 13 9
Propriétaire 1, 11 8
Administrateur de plateforme 5, 10, 12 20
Opérateur de plateforme 10, 11 5
Responsable conformité 12 4
Responsable qualité 6 5
Visiteur anonyme 9, 11 7
Personne concernée 12 3
Auditeur externe 12 1
Copilote 2 2
Agent IA 5 1
Pipeline d'analyse 3 3
Passerelle API 1 1
Keycloak 13 1
Approbateur distinct 7 1

#15. Ce que ces diagrammes n'affirment pas

Affirmation absente Pourquoi
Un portail « business » distinct Il n'existe pas de troisième portail. « Business » est une persona à l'intérieur du portail client.
Une application mobile Aucun code mobile n'existe dans le dépôt. Les portails sont responsives et utilisables sur mobile via navigateur. Statut ⚪ Planifié.
Une analyse multi-langage du code La rétro-ingénierie n'analyse réellement que Python. Les autres langages sont signalés comme non pris en charge.
14 diagrammes UML rendus nativement 14 types sont acceptés, 5 seulement disposent d'un générateur spécialisé.
Un pilote natif de nuage public Répond 501 : ⚪ Planifié.
Un témoignage client Il n'en existe aucun à ce jour.

KySpectra — Plateforme agentique SDD/SDLC · par Kyrieva
Documentation : kyspectradoc.kyrieva.com · Dossier de lancement : Strategielancement/
Document interne de pré-lancement — version 1.0 du 2026-08-17. Les données marquées « [Gabarit : … ] » doivent être renseignées ou revalidées avant diffusion externe.