soc2-cockpit/README.md
2026-04-17 14:17:56 +00:00

101 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Chezlepro SOC 2 Type II Cockpit
Cockpit web React orienté **conformité opérationnelle SOC 2 Type II** pour Chezlepro Inc.
Lapplication fournit :
- un **radar des 5 piliers** SOC 2 ;
- un suivi **pondéré des jalons** ;
- une **bibliothèque de preuves** éditable ;
- une **salle auditeur** avec paquets de revue ;
- une **source de vérité JSON** persistée localement ;
- des **exports/manifests** pour préparer un dépôt Git versionné.
## Architecture
```text
src/
App.jsx
styles.css
model/
schema.js
seed.js
stages.js
lib/
utils.js
validation.js
selectors.js
view.js
features/
hooks/
useSoc2Registry.js
components/
PillarOverviewCard.jsx
MilestoneCard.jsx
EvidenceLibrary.jsx
EvidenceEditor.jsx
DataTab.jsx
ui/
primitives.jsx
```
## Principes de conception
- **Modèle** : constantes, schéma, seed data, états des contrôles.
- **Lib métier** : normalisation, validation, calculs, sélecteurs.
- **Hook de registre** : persistance locale, import/export, mutations synchronisées.
- **Composants** : interface séparée du moteur métier.
Le cockpit est prêt à évoluer vers une vraie source de vérité Git/Forgejo :
- chemin recommandé pour le registre : `compliance/soc2/registry/soc2-registry.json`
- pièces jointes recommandées : `compliance/soc2/evidence/`
## Lancer le projet
```bash
npm install
npm run dev
```
Build de production :
```bash
npm run build
npm run preview
```
## Dépendances
- React
- Vite
- Recharts
- Framer Motion
- Lucide React
## Source de vérité
Le cockpit persiste son état dans `localStorage` pour le prototype.
La prochaine étape naturelle est de remplacer cette persistance par :
1. un fichier JSON versionné dans un dépôt Forgejo ;
2. une API légère de lecture/écriture ;
3. éventuellement une ingestion automatique depuis Icinga, Keycloak et les registres internes.
## Limites actuelles
- pas dauthentification applicative ;
- pas de backend ;
- pas de gestion de fichiers binaires de preuves ;
- pas encore de synchronisation distante.
## Recommandation dévolution
Séquence recommandée :
1. brancher le registre JSON versionné ;
2. ajouter gestion de pièces jointes ;
3. ajouter règles de validation plus strictes ;
4. ajouter API backend ;
5. brancher les collecteurs automatiques de preuves.