#0. Portée, autorité et méthode
#0.1 Ce que ce document décide
Ce document fixe l'étoile polaire unique de KySpectra, l'arbre d'indicateurs qui la soutient, la source de donnée réelle de chaque mesure, les seuils d'alerte, la maquette du tableau de bord, et les garde-fous éthiques qui interdisent certaines mesures et certaines optimisations.
Il est subordonné au brief commun (Strategielancement/00-brief-commun.md). En cas de contradiction, le brief gagne et ce document doit être corrigé. Il s'aligne sur la stratégie marketing (04-marketing/01-strategie-marketing.md), qui reste la référence pour les indicateurs de canal ; ce document-ci traite des indicateurs de produit et d'entreprise.
#0.2 Trois règles de mesure non négociables
| # |
Règle |
Formulation opérationnelle |
| M-A |
Une mesure sans source nommée n'existe pas |
Chaque indicateur cite le service et l'endpoint de la plateforme qui le produit. Une mesure dont la source est hors plateforme est étiquetée comme telle, et son outil reste [Gabarit : … ] tant qu'il n'est pas arrêté. |
| M-B |
Une mesure ne porte que sur une capacité Livrée |
Aucun indicateur ne s'appuie sur les applications mobiles, les pilotes nuage natifs, le provisionnement automatique de fournisseur d'identité ou la place de marché de capacités. |
| M-C |
Une cible est une hypothèse tant qu'elle n'est pas arrêtée |
Toute valeur cible porte l'étiquette [Hypothèse]. Seuls les chiffres du §8.3 du brief décrivent un fait mesuré aujourd'hui. |
#0.3 Vocabulaire
| Terme |
Définition retenue dans ce document |
| Locataire |
Organisation cliente isolée. Unité de facturation et d'isolation. Jamais « tenant ». |
| Espace de travail |
Périmètre de travail d'un projet à l'intérieur du portail client. Jamais « workspace ». |
| Exigence |
Objet de spécification versionné, typé et relié. Jamais « requirement » à l'écrit public. |
| Chaîne tracée |
Suite reliée : exigence → artefact → exécution → déploiement approuvé, vérifiable dans le journal d'audit. |
| Contre-indicateur |
Indicateur dont la dégradation invalide un gain sur l'indicateur principal. Sert d'anti-triche. |
#1. L'étoile polaire
#1.1 Énoncé
Étoile polaire — EGP : « Exigences gouvernées mises en production ».
Nombre d'exigences distinctes qui, sur une semaine glissante, franchissent la chaîne complète — spécification acceptée, artefact produit, déploiement approuvé — avec une chaîne d'audit vérifiée valide.
Une seule étoile polaire. Toutes les autres mesures de ce document sont des explications de son mouvement, jamais des remplaçantes.
EGP(S) = card {
e ∈ Exigences
| statut(e, fin de S) = « accepté »
∧ ∃ a ∈ Artefacts, relie(a, e)
∧ ∃ d ∈ ExecutionsDeDeploiement, relie(d, a) ∧ statut(d) = « approuvé » ∧ approbateur(d) ≠ soumissionnaire(d)
∧ verification_chaine_audit(e, a, d) = valide
}
Où S est une semaine glissante de sept jours, fuseau America/Toronto, et où chaque exigence est comptée une seule fois, à sa première traversée complète.
#1.3 Source de donnée réelle
| Élément de la formule |
Service |
Endpoint réel |
| Exigences et leur statut |
spec-service (4107) |
GET /api/v1/spec-items · GET /api/v1/projects |
| Liens de traçabilité exigence → artefact |
dependency-graph-service (4117) |
GET /api/v1/dependency-graph/projects/{id} |
| Artefacts produits |
artifact-service (4129) |
GET /api/v1/artifacts · GET /api/v1/diagrams |
| Exécutions et approbations de déploiement |
deploy-service (4121) |
GET /api/v1/deploy/deploy-runs · GET /api/v1/deploy/deployments |
| Séparation des devoirs sur l'approbation |
collaboration-service (4128) |
GET /api/v1/reviews |
| Vérification de la chaîne d'audit |
audit-compliance-service (4113) |
GET /api/v1/audit-compliance/audit/verify-chain |
| Agrégation et publication de la valeur |
observability-board-service (4114) |
GET /api/v1/observability/metrics/{metric_id}/values |
Fréquence : calcul quotidien sur fenêtre glissante de sept jours ; publication hebdomadaire le lundi 09:00 (America/Toronto).
Propriétaire : Responsable produit. Suppléant : Responsable ingénierie plateforme.
#1.4 Pourquoi celle-là, et pas une autre
Sept candidates ont été examinées. Une seule survit aux quatre tests : dit-elle la valeur réellement livrée au client ?, bouge-t-elle avant le revenu ?, résiste-t-elle à la triche ?, est-elle mesurable dans notre propre plateforme sans outil tiers ?
| Candidate |
Valeur client ? |
Précède le revenu ? |
Résiste à la triche ? |
Mesurable chez nous ? |
Verdict |
| EGP — exigences gouvernées mises en production |
Oui : c'est exactement la promesse de la phrase canonique |
Oui : une équipe qui traverse la chaîne renouvelle |
Oui : exige un déploiement approuvé par un tiers, donc coûteux à simuler |
Oui : six services, tous Livrés |
Retenue |
| Comptes créés |
Non : un compte n'est pas une valeur reçue |
Faiblement |
Non : achetable en publicité |
Oui |
Rejetée — indicateur d'acquisition, pas d'étoile |
| Utilisateurs actifs mensuels |
Non : la présence n'est pas la valeur |
Faiblement |
Non : gonflable par notifications |
Partiellement |
Rejetée — métrique de vanité déguisée |
| Jetons consommés |
Non : c'est notre coût, pas leur gain |
Oui, mécaniquement |
Non : encourage la surconsommation |
Oui |
Rejetée pour raison éthique — voir §6.2 |
| Nombre d'exécutions d'agents |
Non : une exécution ratée compte autant |
Faiblement |
Non : boucle de relance = croissance apparente |
Oui |
Rejetée |
| Revenu récurrent mensuel |
Oui, mais tardivement |
Non : c'est un résultat, pas un signal |
Oui |
Partiellement : la grille tarifaire n'est pas arrêtée |
Rejetée — indicateur de résultat, suivi en famille REV |
| Spécifications créées |
Partiellement |
Oui |
Non : créer une exigence coûte une phrase |
Oui |
Rejetée — retenue comme indicateur d'activation ACT3 |
Trois raisons de fond en faveur d'EGP :
- Elle mesure la promesse, pas l'usage. La phrase canonique parle d'une intention transformée en logiciel gouverné. EGP compte exactement cela. Si EGP monte sans que le client en tire un bénéfice, c'est que notre promesse est fausse — et il faut réviser la promesse, pas l'indicateur.
- Elle est chère à falsifier. Une traversée complète exige un déploiement approuvé par une personne différente du soumissionnaire, dans un locataire distinct, avec une chaîne d'audit vérifiée. Le coût de la simulation dépasse le bénéfice de la simulation.
- Elle réconcilie les douze personas. Le développeur, l'architecte, le responsable qualité, la personne responsable de la conformité et la direction lisent tous la même valeur, chacun pour une raison différente. Un indicateur commun évite les arbitrages tirés par une seule fonction.
#1.5 Contre-indicateurs obligatoires de l'étoile polaire
EGP n'est jamais lue seule. Trois contre-indicateurs l'accompagnent sur la même ligne du tableau de bord. Une hausse d'EGP accompagnée d'une dégradation d'un contre-indicateur est traitée comme une baisse.
| Code |
Contre-indicateur |
Ce qu'il empêche |
Source |
| CX1 |
Jetons consommés par exigence gouvernée mise en production |
Empêche d'acheter de l'EGP en brûlant du budget client |
billing-usage-service · GET /api/v1/billing-usage/usage/summary |
| CX2 |
Part des déploiements suivis d'un retour arrière sous 24 h |
Empêche de compter des mises en production instables |
deploy-service · GET /api/v1/deploy/deploy-runs |
| CX3 |
Part des refus par défaut contournés par élévation de capacité |
Empêche de gagner en vitesse en desserrant la gouvernance |
audit-compliance-service · GET /api/v1/audit-compliance/audit/events |
#1.6 Cibles d'étoile polaire
Toutes les valeurs ci-dessous sont des [Hypothèse], à arrêter par le propriétaire. Aucune n'est un engagement.
| Jalon |
Date |
Cible EGP hebdomadaire [Hypothèse] |
Commentaire |
| Fin des pilotes fermés |
2026-10-04 |
15 |
Sur les partenaires de conception uniquement |
| Ouverture de la bêta |
2026-10-05 |
25 |
— |
| Veille du lancement |
2026-11-09 |
60 |
— |
| Jour J |
2026-11-10 |
Instrumentation vérifiée, pas de cible |
Le jour J mesure la disponibilité, pas la production |
| J+30 |
2026-12-10 |
120 |
— |
| J+89 |
2027-02-07 |
300 |
Objectif de fin de fenêtre de lancement |
#2. Arbre d'indicateurs
#2.1 Vue d'ensemble
#2.2 Lecture de l'arbre
| Famille |
Question à laquelle elle répond |
Rôle vis-à-vis de l'étoile polaire |
| Acquisition |
Combien d'équipes arrivent, et par quel chemin ? |
Alimente le haut de la chaîne |
| Activation |
Combien traversent la chaîne au moins une fois ? |
Convertit l'arrivée en étoile polaire |
| Rétention |
Combien recommencent, et à quelle fréquence ? |
Transforme un pic en flux |
| Revenu |
La valeur produite finance-t-elle la plateforme ? |
Résultat, jamais objectif intermédiaire |
| Recommandation |
Les équipes en font-elles venir d'autres ? |
Boucle de retour vers l'acquisition |
| Qualité produit |
Ce qui traverse la chaîne tient-il ? |
Condition de validité de l'étoile polaire |
| Santé plateforme |
La chaîne est-elle disponible, étanche et vérifiable ? |
Condition d'existence de l'étoile polaire |
#3. Indicateurs détaillés par famille
Convention de lecture des tableaux : Formule est le calcul exact ; Source réelle nomme le service de la plateforme et l'endpoint qui fournit la donnée ; Fréq. est la fréquence de calcul ; Propriétaire est un rôle, jamais une personne nommée.
#3.1 Acquisition
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| ACQ1 |
Comptes créés |
card(utilisateurs créés sur la période) |
user-service (4101) · GET /api/v1/users |
Quotidienne |
Responsable croissance |
| ACQ2 |
Locataires créés |
card(organisations créées sur la période) |
user-service · GET /api/v1/organizations |
Quotidienne |
Responsable croissance |
| ACQ3 |
Invitations envoyées |
card(invitations émises) |
user-service · GET /api/v1/invitations |
Quotidienne |
Responsable croissance |
| ACQ4 |
Taux d'acceptation d'invitation |
invitations acceptées ÷ invitations envoyées |
user-service · GET /api/v1/invitations |
Hebdomadaire |
Responsable croissance |
| ACQ5 |
Part francophone des comptes |
comptes en locale fr ÷ comptes totaux |
user-service · GET /api/v1/settings (préférence de langue du profil) |
Hebdomadaire |
Responsable marketing |
| ACQ6 |
Répartition par palier à l'inscription |
card(comptes) groupé par code de plan |
user-service · GET /api/v1/billing/plans + abonnements |
Hebdomadaire |
Responsable croissance |
| ACQ7 |
Sessions organiques de la documentation |
sessions sur kyspectradoc.kyrieva.com |
Hors plateforme — [Gabarit : outil d'analytique sans témoin de suivi à arrêter par le propriétaire ; exigence : agrégation à la source, aucune donnée personnelle, hébergement conforme Loi 25] |
Hebdomadaire |
Responsable marketing |
| ACQ8 |
Inscriptions en liste d'attente avant J0 |
card(adresses vérifiées) |
Hors plateforme — [Gabarit : registre de liste d'attente à arrêter ; à défaut, table dédiée exposée par user-service] |
Quotidienne |
Responsable croissance |
| ACQ9 |
Coût par compte créé |
dépense payante ÷ comptes créés attribués |
Régies publicitaires + user-service · GET /api/v1/users |
Hebdomadaire |
Responsable marketing |
| ACQ10 |
Part des comptes issus d'une source non payante |
comptes sans attribution payante ÷ comptes totaux |
Régies + user-service |
Hebdomadaire |
Responsable marketing |
#3.2 Activation
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| ACT1 |
Premier dépôt importé |
locataires ayant ≥ 1 travail de rétro-ingénierie terminé ÷ locataires créés |
reverse-engineering-service (4120) · GET /api/v1/reverse-engineering/jobs |
Quotidienne |
Responsable produit |
| ACT2 |
Délai jusqu'au premier artefact |
médiane(horodatage 1er artefact − horodatage création du locataire) |
reverse-engineering-service · /jobs puis artifact-service (4129) · GET /api/v1/artifacts |
Hebdomadaire |
Responsable produit |
| ACT3 |
Première exigence acceptée |
locataires avec ≥ 1 exigence au statut accepté ÷ locataires créés |
spec-service (4107) · GET /api/v1/spec-items |
Quotidienne |
Responsable produit |
| ACT4 |
Projets créés par locataire |
card(projets) ÷ card(locataires) |
spec-service · GET /api/v1/projects |
Hebdomadaire |
Responsable produit |
| ACT5 |
Assistant guidé achevé |
assistants terminés ÷ assistants démarrés |
portal-experience-service (4127) · GET /api/v1/wizards · GET /api/v1/onboarding |
Quotidienne |
Responsable produit |
| ACT6 |
Première exécution d'agent réussie |
locataires avec ≥ 1 exécution en succès ÷ locataires créés |
copilot-service (4118) · /api/v1/copilot · et agentic-core-service (8095) · GET /api/v1/agentic-core/mas/tasks |
Quotidienne |
Responsable produit |
| ACT7 |
Premier déploiement approuvé |
locataires avec ≥ 1 exécution de déploiement approuvée ÷ locataires créés |
deploy-service (4121) · GET /api/v1/deploy/deploy-runs |
Quotidienne |
Responsable produit |
| ACT8 |
Activation d'équipe (2ᵉ utilisateur actif) |
locataires avec ≥ 2 utilisateurs actifs sur 7 j ÷ locataires créés |
user-service · GET /api/v1/users + collaboration-service (4128) · GET /api/v1/spaces |
Hebdomadaire |
Responsable produit |
| ACT9 |
Délai jusqu'à la première EGP |
médiane(1ʳᵉ traversée complète − création du locataire) |
Chaîne complète du §1.3 |
Hebdomadaire |
Responsable produit |
| ACT10 |
Taux d'abandon en cours d'assistant |
assistants abandonnés ÷ assistants démarrés, ventilé par étape |
portal-experience-service · GET /api/v1/wizards |
Hebdomadaire |
Responsable produit |
#3.3 Rétention
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| RET1 |
Locataires actifs sur 7 jours |
card(locataires avec ≥ 1 action journalisée sur 7 j) |
observability-board-service (4114) · GET /api/v1/observability/activity |
Quotidienne |
Responsable produit |
| RET2 |
Locataires actifs sur 28 jours |
Idem sur 28 jours |
observability-board-service · /activity |
Hebdomadaire |
Responsable produit |
| RET3 |
Rapport d'intensité (7 j ÷ 28 j) |
RET1 ÷ RET2 |
Calcul dérivé |
Hebdomadaire |
Responsable produit |
| RET4 |
Rétention de cohorte S+1 / S+4 / S+12 |
locataires de la cohorte encore actifs à S+n ÷ taille de la cohorte |
user-service · /api/v1/organizations + observability-board-service · /activity |
Hebdomadaire |
Responsable produit |
| RET5 |
Espaces de travail à deux utilisateurs actifs ou plus |
card(espaces avec ≥ 2 utilisateurs actifs sur 28 j) |
collaboration-service · GET /api/v1/spaces |
Hebdomadaire |
Responsable produit |
| RET6 |
Traversées répétées de la chaîne |
EGP ÷ card(locataires ayant produit ≥ 1 EGP) |
Chaîne complète du §1.3 |
Hebdomadaire |
Responsable produit |
| RET7 |
Reconduction après l'essai de 14 jours |
abonnements poursuivis ÷ essais arrivés à échéance |
user-service · /api/v1/billing |
Hebdomadaire |
Responsable croissance |
| RET8 |
Rétrogradations vers le palier gratuit |
card(locataires rétrogradés à l'expiration) |
user-service · /api/v1/billing |
Hebdomadaire |
Responsable croissance |
| RET9 |
Réengagement après rétrogradation |
locataires rétrogradés redevenus actifs sous 30 j ÷ rétrogradations |
user-service + observability-board-service · /activity |
Mensuelle |
Responsable croissance |
| RET10 |
Attrition de locataires payants |
résiliations du mois ÷ locataires payants en début de mois |
user-service · /api/v1/billing |
Mensuelle |
Direction |
#3.4 Revenu
⚠️ Tant que le catalogue de plans n'est pas nettoyé (préalable bloquant du brief §10.1), les indicateurs REV sont calculés en interne uniquement et ne sont ni publiés ni utilisés pour arbitrer une décision produit.
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| REV1 |
Revenu récurrent mensuel |
Σ(abonnements actifs × prix mensuel du palier) en CAD |
user-service · GET /api/v1/billing/plans + abonnements |
Mensuelle |
Direction |
| REV2 |
Conversion essai → palier payant |
essais convertis ÷ essais démarrés |
user-service · /api/v1/billing |
Hebdomadaire |
Responsable croissance |
| REV3 |
Revenu moyen par locataire payant |
REV1 ÷ card(locataires payants) |
Calcul dérivé |
Mensuelle |
Direction |
| REV4 |
Consommation de jetons rapportée au budget |
jetons consommés ÷ budget de jetons alloué, par périmètre |
billing-usage-service (4115) · GET /api/v1/billing-usage/usage/summary · GET /api/v1/billing-usage/budgets |
Quotidienne |
Responsable ingénierie plateforme |
| REV5 |
Coût de service IA par locataire |
Σ(appels × prix par modèle) |
billing-usage-service · GET /api/v1/billing-usage/usage/catalog |
Hebdomadaire |
Responsable ingénierie plateforme |
| REV6 |
Marge brute de service IA |
(revenu attribué − coût de service IA) ÷ revenu attribué |
user-service /api/v1/billing + billing-usage-service /usage/catalog |
Mensuelle |
Direction |
| REV7 |
Reçus non métrés (metered=false) |
card(reçus metered=false) ÷ card(reçus) |
billing-usage-service · GET /api/v1/billing-usage/accounts |
Quotidienne |
Responsable ingénierie plateforme |
| REV8 |
Fenêtres de quota atteintes |
card(fenêtres de quota saturées) |
billing-usage-service · GET /api/v1/billing-usage/quota-windows |
Quotidienne |
Responsable ingénierie plateforme |
REV7 est un indicateur d'honnêteté, pas un indicateur de performance. Il compte les reçus émis sans service de facturation joignable. Sa valeur attendue est faible ; sa hausse déclenche une enquête technique, jamais une pression commerciale.
#3.5 Recommandation
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| REC1 |
Taux de recommandation net |
% promoteurs − % détracteurs sur enquête produit |
feedback-service (4130) · GET /api/v1/feedback/surveys |
Mensuelle |
Responsable produit |
| REC2 |
Retours déposés via le widget embarquable |
card(retours capturés) |
feedback-service · GET /api/v1/feedback/feedback · GET /api/v1/feedback/widget-keys |
Hebdomadaire |
Responsable produit |
| REC3 |
Votes sur le tableau public de retours |
card(votes) |
feedback-service · GET /api/v1/feedback/public/board |
Hebdomadaire |
Responsable communauté |
| REC4 |
Locataires issus d'un parrainage identifié |
card(locataires avec code de parrainage) ÷ locataires créés |
user-service · GET /api/v1/invitations |
Mensuelle |
Responsable croissance |
| REC5 |
Ambassadeurs actifs sur 30 jours |
card(ambassadeurs ayant publié ≥ 1 contenu et tenu ≥ 1 présence) |
Hors plateforme — registre du programme, animé par la communauté |
Mensuelle |
Responsable communauté |
| REC6 |
Contributions communautaires publiques |
card(discussions GitHub + fils Discord ouverts par des membres) |
Hors plateforme — GitHub Insights + statistiques Discord |
Hebdomadaire |
Responsable communauté |
| REC7 |
Boucle de retour fermée |
retours marqués livrés et annoncés ÷ retours acceptés |
feedback-service · GET /api/v1/feedback/changelog |
Mensuelle |
Responsable produit |
REC1 n'est jamais collecté par sollicitation répétée. Une seule invitation par locataire et par trimestre, refusable, sans relance automatique. Un taux de réponse faible est un résultat, pas un problème à corriger par insistance.
#3.6 Qualité produit
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| QUA1 |
Taux de réussite des exécutions d'agents |
exécutions en succès ÷ exécutions totales |
agentic-core-service · GET /api/v1/agentic-core/mas/tasks + copilot-service · /api/v1/copilot |
Quotidienne |
Responsable ingénierie plateforme |
| QUA2 |
Refus par défaut journalisés |
card(événements avec policy_id = deny-by-default) |
audit-compliance-service · GET /api/v1/audit-compliance/audit/events |
Quotidienne |
Responsable conformité |
| QUA3 |
Réponses 501 Not Implemented servies |
card(réponses 501) ÷ card(requêtes) |
api-gateway (4100) · GET /health/aggregate + observability-board-service · GET /api/v1/observability/metrics |
Quotidienne |
Responsable ingénierie plateforme |
| QUA4 |
Portes de qualité franchies |
portes en succès ÷ portes évaluées |
observability-board-service · GET /api/v1/observability/gates |
Quotidienne |
Responsable qualité |
| QUA5 |
Exécutions de tests vertes |
exécutions vertes ÷ exécutions totales |
test-quality-service (4109) · GET /api/v1/test-quality/runs |
Quotidienne |
Responsable qualité |
| QUA6 |
Défauts reliés à une exigence |
défauts avec lien de traçabilité ÷ défauts totaux |
observability-board-service · GET /api/v1/observability/projects/{id}/defects + dependency-graph-service |
Hebdomadaire |
Responsable qualité |
| QUA7 |
Couverture de la rétro-ingénierie par langage |
dépôts analysés avec résultat exploitable ÷ dépôts soumis, ventilé par langage |
reverse-engineering-service · GET /api/v1/reverse-engineering/jobs |
Hebdomadaire |
Responsable produit |
| QUA8 |
Types UML avec rendu spécialisé |
types rendus spécifiquement ÷ types déclarés |
artifact-service · GET /api/v1/diagrams |
Mensuelle |
Responsable produit |
| QUA9 |
Jeux de données de test synthétiques produits |
card(jeux générés) |
test-data-factory-service (4110) · GET /api/v1/test-data-factory/test-datasets |
Hebdomadaire |
Responsable qualité |
| QUA10 |
Délai médian de correction d'un défaut relié |
médiane(clôture − ouverture) sur défauts reliés |
observability-board-service · /projects/{id}/defects |
Hebdomadaire |
Responsable qualité |
Deux honnêtetés à tenir dans la lecture de QUA7 et QUA8.
QUA7 : l'analyse statique de la rétro-ingénierie ne couvre réellement que Python. Les autres langages sont traités par des chemins non spécialisés. Ce ratio doit donc toujours être publié ventilé par langage, jamais en valeur globale — une valeur globale laisserait croire à une couverture multilingue qui n'existe pas.
QUA8 : le service d'artefacts déclare 14 types UML, mais 5 seulement disposent d'un rendu spécialisé. QUA8 vaut donc aujourd'hui 5/14. Ce chiffre est un objectif d'ingénierie interne ; il ne doit jamais servir d'argument commercial tant qu'il n'a pas progressé.
| Code |
Indicateur |
Formule |
Source réelle (service · endpoint) |
Fréq. |
Propriétaire |
| SAN1 |
Disponibilité par environnement |
1 − (minutes indisponibles ÷ minutes de la période) |
api-gateway · GET /health/aggregate · GET /health/live |
Continue |
Responsable ingénierie plateforme |
| SAN2 |
Latence de passerelle au 95ᵉ centile |
p95(durée de requête) |
observability-board-service · endpoint Prometheus du service |
Continue |
Responsable ingénierie plateforme |
| SAN3 |
Taux d'erreurs serveur |
card(réponses 5xx) ÷ card(requêtes) |
api-gateway + observability-board-service · /metrics |
Continue |
Responsable ingénierie plateforme |
| SAN4 |
Intégrité de la chaîne d'audit |
vérifications valides ÷ vérifications exécutées — valeur attendue : 100 % |
audit-compliance-service · GET /api/v1/audit-compliance/audit/verify-chain |
Quotidienne |
Responsable conformité |
| SAN5 |
Tentatives d'accès inter-locataires |
card(requêtes de locataire discordant) — la plateforme répond 404, pas 403 |
audit-compliance-service · /audit/events |
Quotidienne |
Responsable conformité |
| SAN6 |
Délai de génération d'un rapport Loi 25 |
médiane(durée de production du rapport) |
audit-compliance-service · GET /api/v1/audit-compliance/compliance/reports |
Mensuelle |
Responsable conformité |
| SAN7 |
Dérive de configuration de plateforme |
card(écarts détectés entre configuration déclarée et appliquée) |
platform-config-service (4112) · GET /api/v1/platform-config/feature-flags |
Hebdomadaire |
Responsable ingénierie plateforme |
| SAN8 |
Agents présents au registre central |
card(agents enregistrés) par environnement |
ai-orchestrator (4106) · GET /api/v1/agents |
Hebdomadaire |
Responsable ingénierie plateforme |
| SAN9 |
Exécutions de code en tâches éphémères |
card(tâches lancées) et taux d'échec d'ordonnancement |
agent-runtime-service (4119) · GET /api/v1/agent-runtime/... |
Quotidienne |
Responsable ingénierie plateforme |
| SAN10 |
Parité des clés de traduction FR/EN |
clés présentes dans les deux langues ÷ clés totales — valeur attendue : 100 % |
Contrôle d'intégration continue sur les portails |
À chaque livraison |
Responsable ingénierie plateforme |
#4. Seuils d'alerte
#4.1 Convention de couleur
Les couleurs sont celles du brief §4.3 : 🟢 #0e7a50 · 🟡 #9a6912 · 🔴 #c4342f.
#4.2 Table des seuils
Les valeurs numériques de seuil sont des [Hypothèse] à arrêter par le propriétaire, sauf les trois seuils marqués absolus, qui découlent d'un comportement du produit et ne se négocient pas.
| Code |
🟢 Vert |
🟡 Ambre |
🔴 Rouge |
Délai de réaction |
Escalade |
| EGP |
≥ 90 % de la cible de la semaine |
70 – 89 % |
< 70 % |
48 h |
Responsable produit → Direction si deux semaines rouges |
| CX1 (jetons par EGP) |
≤ référence + 10 % |
+11 à +30 % |
> +30 % |
24 h |
Responsable ingénierie plateforme |
| CX2 (retours arrière < 24 h) |
≤ 3 % |
4 – 8 % |
> 8 % |
24 h |
Responsable ingénierie plateforme |
| CX3 (contournements de refus) |
0 |
1 – 2 par semaine |
≥ 3 par semaine |
Immédiat |
Responsable conformité → Direction |
| ACT1 (premier dépôt importé) |
≥ 55 % |
35 – 54 % |
< 35 % |
1 semaine |
Responsable produit |
| ACT9 (délai jusqu'à la 1ʳᵉ EGP) |
≤ 3 jours |
4 – 7 jours |
> 7 jours |
1 semaine |
Responsable produit |
| RET4 (rétention S+4) |
≥ 45 % |
30 – 44 % |
< 30 % |
2 semaines |
Responsable produit |
| REV7 (reçus non métrés) |
≤ 1 % |
2 – 5 % |
> 5 % |
24 h |
Responsable ingénierie plateforme |
| QUA5 (exécutions de tests vertes) |
≥ 95 % |
85 – 94 % |
< 85 % |
24 h |
Responsable qualité |
| SAN1 (disponibilité production) |
≥ 99,5 % |
99,0 – 99,4 % |
< 99,0 % |
Immédiat |
Responsable ingénierie plateforme → Direction |
| SAN4 (intégrité de chaîne d'audit) |
100 % — absolu |
— |
< 100 % |
Immédiat |
Responsable conformité → Direction · gel des communications |
| SAN5 (accès inter-locataires abouti) |
0 — absolu |
— |
≥ 1 |
Immédiat |
Responsable conformité → Direction · procédure d'incident de sécurité |
| SAN10 (parité FR/EN) |
100 % — absolu |
— |
< 100 % |
Avant livraison |
Blocage de la livraison |
#4.3 Protocole d'escalade
| Étape |
Déclencheur |
Action |
Délai |
| E0 |
Un indicateur passe en ambre |
Note dans le journal de mesure, observation sur un cycle |
Cycle suivant |
| E1 |
Un indicateur passe en rouge |
Le propriétaire ouvre une hypothèse de cause écrite, avec la donnée à l'appui |
48 h |
| E2 |
Un indicateur reste rouge deux cycles |
Revue dédiée, décision d'action ou décision explicite de ne rien faire, tracée |
1 semaine |
| E3 |
Seuil absolu franchi (SAN4, SAN5, SAN10, CX3) |
Procédure d'incident : gel des publications marketing concernées, information de la Direction, correction avant reprise |
Immédiat |
#5. Maquette du tableau de bord
#5.1 Principes de la maquette
| Principe |
Application |
| Une seule valeur dominante |
L'étoile polaire occupe le premier bandeau, seule, avec ses trois contre-indicateurs sur la même ligne |
| Pas de graphique décoratif |
Chaque visualisation répond à une question écrite au-dessus d'elle |
| Palette imposée |
Séries 1→5 : #0f6fde #7c5cfc #1fa971 #c98a1f #0e7490 — provenance IA en #7c5cfc exclusivement |
| Source visible |
Chaque tuile affiche le service et l'endpoint d'origine en JetBrains Mono, en pied de tuile |
| Fraîcheur visible |
Chaque tuile affiche l'horodatage du dernier calcul ; une donnée périmée s'affiche grisée, jamais extrapolée |
| Bilingue |
Tous les libellés existent en français et en anglais, à parité stricte de clés |
#5.2 Disposition
┌──────────────────────────────────────────────────────────────────────────────┐
│ KySpectra — Tableau de bord de lancement Semaine du 2026-11-10 │
│ Fuseau America/Toronto · dernière actualisation 09:00 │
├──────────────────────────────────────────────────────────────────────────────┤
│ ETOILE POLAIRE │
│ ┌────────────────────────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ EGP │ │ CX1 │ │ CX2 │ │ CX3 │ │
│ │ Exigences gouvernées │ │ jetons │ │ retours │ │ contour- │ │
│ │ mises en production │ │ par EGP │ │ arrière │ │ nements │ │
│ │ —— /semaine │ │ —— │ │ —— % │ │ —— │ │
│ │ cible [Hypothèse] : —— │ │ 🟢/🟡/🔴 │ │ 🟢/🟡/🔴 │ │ 🟢/🟡/🔴 │ │
│ │ spec+artifact+deploy+audit│ │ billing- │ │ deploy- │ │ audit- │ │
│ └────────────────────────────┘ └──────────┘ └──────────┘ └──────────┘ │
├──────────────────────────────────────────────────────────────────────────────┤
│ BANDEAU 2 — ENTONNOIR │
│ Acquisition → Activation → Rétention, en barres empilées horizontales. │
│ ACQ1 comptes · ACQ2 locataires · ACT1 1er dépôt · ACT3 1re exigence · │
│ ACT7 1er déploiement · ACT9 délai jusqu'à la 1re EGP · RET4 cohortes S+1/4/12│
├──────────────────────────────────────────────────────────────────────────────┤
│ BANDEAU 3 — QUALITE │ BANDEAU 4 — SANTE PLATEFORME │
│ QUA1 succès d'agents │ SAN1 disponibilité par environnement │
│ QUA4 portes franchies │ SAN2 latence p95 │
│ QUA5 tests verts │ SAN3 taux d'erreurs serveur │
│ QUA6 défauts reliés │ SAN4 intégrité de chaîne d'audit (absolu) │
│ QUA7 rétro-ingénierie │ SAN5 accès inter-locataires (absolu) │
│ VENTILÉE PAR LANGAGE │ SAN10 parité FR/EN (absolu) │
│ QUA8 types UML rendus 5/14 │ │
├──────────────────────────────────────────────────────────────────────────────┤
│ BANDEAU 5 — REVENU (interne, non publié) │ BANDEAU 6 — COMMUNAUTE │
│ REV2 conversion d'essai │ REC1 recommandation nette │
│ REV4 jetons / budget │ REC2 retours déposés │
│ REV7 reçus non métrés (honnêteté) │ REC7 boucle fermée │
├──────────────────────────────────────────────────────────────────────────────┤
│ PIED — Journal de mesure : 3 derniers changements de définition, │
│ avec date, auteur (rôle), motif et effet sur l'historique. │
└──────────────────────────────────────────────────────────────────────────────┘
#5.3 Réalisation technique
| Élément |
Décision |
| Surface d'affichage |
Portail administration, plan de contrôle — 🟢 Livré, 16 destinations existantes |
| Service producteur des séries |
observability-board-service (4114) · GET /api/v1/observability/metrics · GET /api/v1/observability/metrics/{metric_id}/values |
| Définition des cibles |
observability-board-service · GET /api/v1/observability/kpi-targets · GET /api/v1/observability/kpi-targets/{target_id}/status |
| Disposition personnalisable |
observability-board-service · GET /api/v1/observability/board-layouts |
| Rafraîchissement |
Calcul quotidien 06:00, publication 09:00 (America/Toronto) |
| Export |
Export CSV agrégé, sans donnée personnelle, à destination de la revue de direction |
#6. Garde-fous éthiques
#6.1 Principe fondateur
Nous refusons de mesurer ce que nous ne voudrions pas voir optimisé. Un indicateur n'est jamais neutre : dès qu'il est affiché, une organisation s'organise pour le faire monter. Nous nous interdisons donc certaines mesures, non parce qu'elles sont difficiles, mais parce que leur optimisation produirait un comportement contraire à nos valeurs.
Ce principe découle directement de deux valeurs du brief §3.2 : honnêteté d'ingénierie et sobriété assumée.
#6.2 Ce que nous refusons de mesurer ou d'optimiser
| # |
Mesure refusée |
Pourquoi elle est refusée |
Ce que nous mesurons à la place |
| G1 |
Jetons consommés comme objectif de croissance |
Optimiser cette valeur revient à pousser le client à dépenser davantage pour un même résultat. Incompatible avec la sobriété assumée. |
CX1 : jetons par exigence gouvernée mise en production, avec objectif à la baisse |
| G2 |
Temps passé dans l'interface |
Un outil de gouvernance qui retient l'utilisateur longtemps est un outil qui lui fait perdre du temps. |
ACT9 : délai jusqu'à la première EGP, objectif à la baisse |
| G3 |
Nombre d'exécutions d'agents |
Une boucle de relance fait grimper la valeur sans produire de résultat. |
QUA1 : taux de réussite des exécutions |
| G4 |
Impressions, abonnés, téléchargements bruts |
Métriques de vanité : ne prédisent ni l'activation, ni la rétention, ni le revenu. |
Clics vers la documentation, comptes créés, EGP |
| G5 |
Productivité individuelle d'une personne développeuse |
Transformerait la plateforme en outil de surveillance des personnes. Aucun classement individuel n'est produit, ni exposé, ni exportable. |
Indicateurs d'équipe et de locataire, jamais nominatifs |
| G6 |
Taux d'ouverture obtenu par objet de courriel trompeur |
Achète une statistique contre une perte de confiance. |
Taux de clic vers une page utile, et taux de désabonnement, lu comme signal de qualité |
| G7 |
Croissance obtenue par consentement dégradé |
Case précochée, consentement groupé, désinscription à obstacles : gains immédiats, dette de confiance durable. |
ACQ1 et ACQ8 mesurés uniquement sur consentements explicites et révocables |
| G8 |
Nombre d'agents déployés par un client |
Encourage l'empilement d'agents plutôt que la qualité de gouvernance. |
SAN8 pour la santé technique du registre, sans cible de croissance |
| G9 |
Taux de conversion obtenu par obstacle à l'annulation |
Un client retenu contre son gré n'est pas un client. |
RET7 mesuré à l'échéance de l'essai, avec annulation en un geste |
| G10 |
Comparaison publique de vélocité entre clients |
Classerait des équipes entre elles sur une donnée sortie de son contexte. |
Aucune comparaison inter-locataires n'est produite ni exposée |
#6.3 Interdits d'optimisation
| # |
Interdit |
Contrôle |
| O1 |
Aucune notification n'est envoyée dans le seul but de faire remonter un indicateur d'activité |
Revue des déclencheurs de notification à chaque livraison |
| O2 |
Aucune fonctionnalité n'est conçue pour augmenter la consommation de jetons |
Toute évolution touchant la consommation passe par une revue de sobriété |
| O3 |
Aucun indicateur n'est calculé sur une capacité non Livrée |
Contrôle systématique contre le tableau de preuves de 00-vision-mission-historique.md §8 |
| O4 |
Aucune donnée personnelle n'entre dans un tableau de bord d'entreprise |
Agrégation obligatoire à la source, seuil minimal de 5 individus par agrégat |
| O5 |
Aucun indicateur n'est modifié rétroactivement sans journal |
Journal de mesure obligatoire, visible en pied du tableau de bord |
| O6 |
Aucune cible d'indicateur n'est convertie en objectif individuel de rémunération |
Décision de gouvernance, applicable à toute l'équipe |
#6.4 Journal de mesure
Toute modification de définition, de formule, de source ou de seuil est consignée. Sans ce journal, une série temporelle n'est pas interprétable.
| Champ |
Contenu |
| Date |
Date de prise d'effet |
| Indicateur |
Code (EGP, ACT1, …) |
| Nature |
Définition · formule · source · seuil · propriétaire |
| Auteur |
Rôle, jamais un nom de personne |
| Motif |
Une phrase, en français |
| Effet sur l'historique |
Recalculé · non recalculé · rupture de série signalée |
#7.1 Position de principe
Nous vendons de la traçabilité. Une mesure marketing ou produit qui violerait la protection des renseignements personnels détruirait notre argument principal. La mesure est soumise aux mêmes règles que le produit.
#7.2 Application article par article de notre pratique
| Exigence de la Loi 25 |
Application chez KySpectra |
Preuve ou mécanisme |
| Finalité déterminée, explicite et légitime |
Chaque catégorie de mesure déclare sa finalité dans le registre de traitements : améliorer le produit, mesurer l'acquisition, facturer l'usage. Aucune finalité « analyse générale ». |
Registre de traitements — [Gabarit : registre de traitements à tenir par la personne responsable de la protection des renseignements personnels] |
| Consentement manifeste, libre et éclairé |
Analytique documentaire par défaut désactivée tant que le consentement n'est pas donné. Aucune case précochée. Aucun consentement groupé : une finalité, un consentement. |
Bandeau de consentement du portail de documentation |
| Retrait aussi simple que le consentement |
Retrait en un geste, depuis le même écran que le consentement, sans justification demandée. |
Écran de préférences |
| Minimisation |
Agrégation à la source. Aucun identifiant personnel dans les tableaux de bord d'entreprise. Seuil minimal de 5 individus par agrégat publié. |
Garde-fou O4 du §6.3 |
| Transparence des décisions automatisées |
Toute décision d'agent affectant un utilisateur est journalisée, avec le motif et le plafond d'autonomie appliqué. |
audit-compliance-service · GET /api/v1/audit-compliance/audit/events |
| Traçabilité opposable |
Journal d'audit à chaîne de hachage, vérifiable par endpoint dédié. |
GET /api/v1/audit-compliance/audit/verify-chain |
| Rapport sur période |
Un rapport de conformité est produit sur une période demandée. |
GET /api/v1/audit-compliance/compliance/reports |
| Conservation limitée |
Données de mesure brutes conservées 13 mois, puis agrégées définitivement. Données d'analytique documentaire : [Gabarit : durée de conservation à arrêter par la personne responsable de la protection des renseignements personnels]. |
Politique de conservation |
| Isolation entre locataires |
Un identifiant de locataire en désaccord avec le jeton reçoit 404, pas 403. Aucune mesure ne franchit la frontière d'un locataire. |
Comportement produit, indicateur SAN5 |
| Évaluation des facteurs relatifs à la vie privée |
Toute nouvelle catégorie de mesure fait l'objet d'une évaluation avant activation. |
[Gabarit : modèle d'évaluation des facteurs relatifs à la vie privée à formaliser] |
| Données de test |
Aucune donnée réelle de client n'est utilisée pour la mise au point des indicateurs : jeux synthétiques uniquement. |
test-data-factory-service · GET /api/v1/test-data-factory/test-datasets |
#7.3 Ce que nous ne ferons pas, même si c'est légal ailleurs
| # |
Pratique écartée |
| P1 |
Suivi inter-sites de nos visiteurs par un traceur publicitaire tiers |
| P2 |
Enrichissement d'un profil de prospect par achat de base de données |
| P3 |
Envoi d'une infolettre à une adresse obtenue sans consentement, y compris professionnelle |
| P4 |
Réidentification d'un agrégat par croisement de plusieurs mesures |
| P5 |
Conservation d'un journal de mesure au-delà de sa finalité déclarée |
| P6 |
Transfert d'une donnée de mesure vers un sous-traitant sans clause écrite ni évaluation |
#8. Gouvernance de la mesure
#8.1 Rythme de revue
| Rythme |
Contenu |
Participants (rôles) |
Sortie |
| Quotidien (jours ouvrés, 09:15) |
Étoile polaire, contre-indicateurs, seuils absolus |
Responsable produit, Responsable ingénierie plateforme |
Aucune, sauf incident |
| Hebdomadaire (lundi, 10:00) |
Arbre complet, cohortes, décisions d'action |
Produit, Croissance, Qualité, Ingénierie plateforme |
Une décision écrite par indicateur rouge |
| Mensuel |
Revenu, conformité, journal de mesure |
Direction, Conformité |
Réallocation éventuelle |
| À J+6, J+30, J+89 |
Bilan de phase de lancement |
Direction |
Révision des cibles [Hypothèse] |
#8.2 Répartition des propriétaires
| Rôle |
Indicateurs sous sa responsabilité |
| Responsable produit |
EGP, ACT1 → ACT10, RET1 → RET6, REC1, REC2, REC7, QUA7, QUA8 |
| Responsable croissance |
ACQ1 → ACQ4, ACQ6, ACQ8 → ACQ10, RET7 → RET10, REV2, REC4 |
| Responsable marketing |
ACQ5, ACQ7, ACQ9, ACQ10 |
| Responsable qualité |
QUA4, QUA5, QUA6, QUA9, QUA10 |
| Responsable ingénierie plateforme |
CX1, CX2, QUA1, QUA3, REV4, REV5, REV7, REV8, SAN1 → SAN3, SAN7 → SAN10 |
| Responsable conformité (protection des renseignements personnels) |
CX3, QUA2, SAN4, SAN5, SAN6, §7 dans son ensemble |
| Responsable communauté |
REC3, REC5, REC6 |
| Direction |
REV1, REV3, REV6, arbitrages d'escalade E2 et E3 |
#8.3 Préalables bloquants à l'instrumentation
| # |
Préalable |
Effet s'il n'est pas levé |
Échéance |
| B1 |
Nettoyage du catalogue de plans (brief §10.1) |
Les indicateurs REV restent internes et non publiés |
2026-11-02 |
| B2 |
Choix de l'outil d'analytique documentaire sans traceur |
ACQ7 non mesurable |
2026-09-06 |
| B3 |
Choix de l'outil de liste d'attente |
ACQ8 non mesurable |
2026-09-06 |
| B4 |
Correction de common.appName vers KySpectra (brief §1.1) |
Aucune capture du tableau de bord n'est publiable |
2026-11-08 |
| B5 |
Registre de traitements tenu et à jour |
Aucune collecte nouvelle n'est activée |
2026-10-05 |
#9. Gabarits ouverts à renseigner
| # |
Gabarit |
Responsable (rôle) |
Échéance |
| K1 |
[Gabarit : outil d'analytique sans témoin de suivi à arrêter par le propriétaire] |
Responsable marketing |
2026-09-06 |
| K2 |
[Gabarit : registre de liste d'attente à arrêter] |
Responsable croissance |
2026-09-06 |
| K3 |
[Gabarit : registre de traitements à tenir] |
Responsable conformité |
2026-10-05 |
| K4 |
[Gabarit : durée de conservation des données d'analytique documentaire] |
Responsable conformité |
2026-10-05 |
| K5 |
[Gabarit : modèle d'évaluation des facteurs relatifs à la vie privée] |
Responsable conformité |
2026-10-19 |
| K6 |
[Gabarit : valeurs de seuil définitives à arrêter par le propriétaire] — remplace les [Hypothèse] du §4.2 |
Direction |
2026-11-02 |
| K7 |
[Gabarit : grille tarifaire définitive arrêtée par le propriétaire] — condition de publication des indicateurs REV |
Direction |
2026-11-02 |
| K8 |
[Gabarit : référence initiale de CX1 — jetons par EGP, à établir sur les pilotes fermés] |
Responsable ingénierie plateforme |
2026-10-04 |
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.