# Plan de releases — SIOP V2 > **Rôle de ce document (playbook)** : découper le produit en releases **fermées** — chaque > release a un périmètre figé, une définition de fini (DoD) et se termine par une recette > formelle + un déploiement. On n'ouvre pas Rn+1 avant la clôture de Rn. C'est l'antidote > à la dérive de périmètre constatée en v1. ## Définition de fini (DoD) commune à toutes les releases 1. Toutes les stories de la release recettées (critères d'acceptation × preuves). 2. CI verte : lint, typecheck, tests (couverture API ≥ 70 % bloquante), contrat OpenAPI à jour. 3. **Revue pixel** : les écrans livrés sont conformes aux maquettes validées. 4. Déployé en production (Dokploy) et vérifié en ligne. 5. Chapitre(s) de playbook de la release relus par le référent. 6. Journal + tag git `release/rX`. ## R0 — Fondations *(aucun écran métier)* **But** : tout ce qui rend les releases suivantes rapides et propres. - Playbook 00-vision, 01-cadrage, 02-design (charte + tokens + **maquettes HD validées**), 03-architecture (ADRs, C4, modèle de données). - Monorepo pnpm/Turborepo, infra Docker locale (PostgreSQL + Redis + MinIO), CI (4 pipelines : node, contrat, python, e2e). - `apps/api` : auth JWT, matrice de permissions (7 rôles × objets × droits, en base), seed réaliste (parc d'ascenseurs de démonstration). - **Sélecteur de compte démo** (`DEMO_MODE=true`) : bascule de rôle en < 3 s, local et démo, jamais en prod réelle. - `apps/web` : coquille applicative (login, layout, navigation, design system appliqué, page vitrine du design system). - Déploiement Dokploy « hello SIOP » (l'app en ligne dès R0). **Hors R0** : tout écran métier. ## R1 — Référentiel Sites/emplacements (hiérarchie + carte), ascenseurs + organes (hiérarchie, statuts, QR imprimable), catégories, personnes & équipes (invitation, activation, profils). **Recette type** : créer un site → un ascenseur → ses organes → imprimer l'étiquette QR → inviter un technicien. ## R2 — Exploitation Ordres de travail (machine à états, priorités dont **« personne bloquée »**, assignation, commentaires, pièces jointes), **bilan codé** (6 champs + référentiels administrables + garde de clôture), portail de demandes (public via QR + interne) convergeant vers l'OT, préventif (gabarits à périodicité, génération mensuelle idempotente, checklist, premier contrôle), compteurs. **Recette type** : demande gardien → approbation → OT → intervention → bilan codé → clôture → suivi demandeur ; génération du préventif de juillet. ## R3 — Gestion Stock (mouvements, seuils, alertes), consommation sur OT à prix figé, bons de commande, tiers, main-d'œuvre valorisée (taux figé) et coût total OT, analytics (KPI + graphiques), bibliothèque de fichiers (documents rattachables). **Recette type** : consommer sous seuil → BC → réception → réappro ; coût complet d'un OT ; tableau de bord direction. ## R4 — Mobile technicien App Expo offline-first : OT assignés, fiche, scan QR → fiche ascenseur, checklist du mois cochable hors-ligne, clôture terrain, synchro à verrou optimiste (patron validé en v1). **Recette type** : mode avion en sous-sol → cocher la grille → retour réseau → synchro. ## R5 — IA Assistant RAG (notices + historiques ingérés, réponses **citant leurs sources**), aide à la saisie du bilan (suggestion de codes à partir d'une description libre). Si budget temps : transcription vocale du bilan. Principe : l'IA propose, l'humain valide. **Recette type** : « quel couple de serrage pour les guides du Gen2 ? » → réponse sourcée. ## Après v1 (backlog v2) PV PDF signé hors-ligne, check-in/out géolocalisés, agent vocal, affectation géospatiale automatique, multi-langue, exports comptables.