101 lines
2.3 KiB
Markdown
101 lines
2.3 KiB
Markdown
# Chezlepro SOC 2 Type II Cockpit
|
||
|
||
Cockpit web React orienté **conformité opérationnelle SOC 2 Type II** pour Chezlepro Inc.
|
||
|
||
L’application 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 d’authentification 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.
|