PULSARCHU DE GUYANE · DSIO
Principe d'architecture

Cockpit d'intervention DSIO & double validation inter-sites

AP-COCKPIT-001v1.0 · 2026-06-13Statut : adopté
Auteur : William MERI (DSIO)
Normes : ISO 27001 (A.8/9/12), RGPD (5/25/32), AI Act (12/13), PGSSI-S, HDS
Dépend de : AP-CANON-001, Privacy Engine (chu/privacy_engine), audit chaîné SHA-256, recette/auth.py

1.Intention

Faire du cockpit web un outil DSIO complet et natif de PULSAR-CHU : un poste de conduite d'intervention opérateur-centré (l'humain agit, l'IA assiste), couvrant deux modalités — à distance (la sonde) et sur site (accès physique) — sur un seul socle de gouvernance. Le système ne profite plus seulement aux agents : il outille les administrateurs et produit ses preuves d'intervention automatiquement.

2.Principe directeur

CapterProtéger (PHI)Raisonner (IA)ProposerApprouver (le bon humain)Agir (déterministe)Prouver

L'IA ne touche jamais directement un système critique. Toute opération mutante/sensible passe par approbation ; les plus sensibles par double validation inter-sites.

3.Placement & intégration (par réutilisation)

Nouveau package chu/cockpit/ monté sur le serveur d'opérations (FastAPI), réutilisant les briques existantes :

Brique cockpitModule réutiliséRôle
Auth / RBAC / TOTPrecette/auth.pyqui peut voir/proposer/approuver/exécuter
Exécution distantemodèle agent/commandejouer un playbook via la sonde
Exécution locale (sur site)exécuteurs déterministesplaybooks sur le poste/relais
Caviardage PHIchu/privacy_engineaucune donnée patient dans logs/IA/rapport
Journal inviolableaudit chaîné SHA-256chaque étape/approbation/action tracée
PV d'interventiongenerer_livrable.pylivrable parfait fond + forme (AP-CANON-001)
Décision à acter : monter le cockpit sur le serveur d'ops le plus complet (auth + audit + agent + livrable). Promouvoir auth.py, l'audit et generer_livrable.py en modules partagés (chu/commun/).

4.Modèle de données (chu/cockpit/)

5.Surface d'API (/api/cockpit/…)

EndpointRôlePermission
GET /catalogueplaybooks (filtrés RBAC)voir
POST /interventionsouvrir une interventionproposer
POST /interventions/{id}/etapejouer une étape (lecture directe ; mutante → file)exécuter
POST /interventions/{id}/operationproposer une opération sensibleproposer
POST /operations/{id}/approuverapprouver (TOTP, identité distincte) — M-parmi-Napprouver
POST /operations/{id}/appliquerexécuter (dry-run + rollback) une fois le quorum atteintexécuter
GET/POST /interventions/{id}/chatchat caviardévoir / proposer
POST /interventions/{id}/pvgénérer le PV d'interventionvoir

6.La double validation (four-eyes / SoD)

Une opération sensible n'est applicable que si quorum atteint avec des identités réellement distinctes, chacune confirmée par TOTP, le proposeur exclu. Extensible en M-parmi-N (ex. 2-sur-3). Toujours : dry-run → application → rollback armé, exécuteur déterministe et à moindre privilège, fenêtre de changement.

7.Feuille de route (tranches verticales)

TrancheContenuImpact système
0 — Fondationscatalogue (playbooks.yaml) + modèles + UI servieadditif, non-disruptif
1 — Diagnostics lectureplaybooks lecture via sonde/exécuteur, sorties caviardées + tracéeslecture seule
2 — Double validationOperationSensible M-parmi-N + file + dry-run/rollback + connecteur firewall (simulation)mutant, gated
3 — Chat d'interventionchat caviardé, lié au plan d'interactionadditif
4 — PV automatiquegenerer_livrable → PV signéadditif
5 — Connecteurs réelsfirewall / hyperviseur / IGA, least-privilege, fenêtressensible, encadré

8.Vigilance

Première tranche verticale recommandée pour démonstration : diagnostic réseau inter-sites + une modification firewall en double validation + PV automatique — concret, spectaculaire, 100 % sur l'existant.