Files
siop2/README.md
pr-daaif 83efc33f0f ci(r0.12): pipeline GitHub Actions — ci-contract, api (couverture ≥ 70 %), web
- ci-contract : régénère docs/openapi.json + schema.d.ts et échoue au
  moindre diff — la règle d'or (ADR-001) devient bloquante
- api : services PostgreSQL 18 + Redis, prisma migrate deploy, typecheck,
  Jest avec coverageThreshold global 70 % (mesuré : 97,5 % stmts / 90,7 % branches)
- web : typecheck + vitest + build de production
- test unitaire PermissionsGuard (23 tests au total) ; badge CI au README

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 22:24:59 +01:00

49 lines
2.4 KiB
Markdown

# SIOP V2 — GMAO pour la maintenance d'ascenseurs
[![CI](https://github.com/siop-spelev/siop2/actions/workflows/ci.yml/badge.svg)](https://github.com/siop-spelev/siop2/actions/workflows/ci.yml)
**SIOP** (Système Intégré d'Opérations de maintenance Préventive) est une GMAO complète
dédiée à la maintenance d'ascenseurs, inspirée fonctionnellement d'[Atlas CMMS](https://github.com/grashjs/cmms)
et adaptée au métier (carnet d'intervention, périodicités réglementaires, PV signés,
urgence « personne bloquée »), avec une couche IA différenciante.
Ce dépôt poursuit **deux objectifs jumeaux** :
1. **Le produit** — une application web + mobile + IA complètement fonctionnelle,
déployée en production (Dokploy).
2. **Le playbook** — la documentation *pédagogique* de toutes les phases du cycle de
vie logiciel (cadrage → design → architecture → développement → tests → production
→ formation), réutilisable comme support de cours et comme méthode d'entreprise.
> V2 : refondation *design-first* du projet [siop](https://github.com/siop-spelev/siop)
> (v1, gelée — elle sert de référence de lecture). 100 % nouveau code.
## Le playbook
| Phase | Dossier | Contenu |
| --- | --- | --- |
| Vision | [docs/00-vision](docs/00-vision/) | Charte projet, personas, benchmark Atlas |
| Cadrage | [docs/01-cadrage](docs/01-cadrage/) | Releases, user-story map, exigences, risques |
| Design | [docs/02-design](docs/02-design/) | Charte graphique, design tokens, maquettes HD |
| Architecture | [docs/03-architecture](docs/03-architecture/) | ADRs, C4, modèle de données, contrat d'API |
| Développement | [docs/04-developpement](docs/04-developpement/) | Conventions, déroulé d'un sprint |
| Tests | [docs/05-tests](docs/05-tests/) | Stratégie, plans, recettes par release |
| Production | [docs/06-production](docs/06-production/) | Runbook Dokploy, sauvegardes, sécurité |
| Formation | [docs/07-formation](docs/07-formation/) | Manuels, supports, exercices étudiants |
## Releases
`R0` Fondations → `R1` Référentiel → `R2` Exploitation → `R3` Gestion → `R4` Mobile → `R5` IA.
Règle : **une release n'ouvre pas tant que la précédente n'est pas recettée et déployée.**
## Démarrage (à partir de R0)
```bash
nvm use && pnpm install
pnpm infra:up # PostgreSQL + Redis + MinIO (Docker)
pnpm dev
```
---
Projet mené par le Pr. Daaif (ENSET Mohammedia) avec ses étudiants, en partenariat avec SPELEV.