pr-daaif c8b3c1769a feat(r4.3): file d'écriture, verrou optimiste D2, Synchro & conflits
Serveur : updatedAt exposé au détail OT ; baseUpdatedAt optionnel sur
transition/coche/bilan → 409 « Conflit de version » contextualisé (qui,
quand) ; toute écriture secondaire (coche, bilan, commentaire, conso,
MO) fait avancer la version — sans version fournie, le web est
inchangé. ADR-003 : sécurité & protocole de routage mobile (qui vit où
sur l'appareil, purge complète à la déconnexion — correctif réel : la
file et le cache persisté survivaient au logout).

Mobile : file persistée AsyncStorage rejouée dans l'ordre — succès →
propagation de la version fraîche aux saisies restantes du même OT
(nos écritures ne se conflictent pas entre elles, un écart étranger
reste détecté) ; coupure → tout attend ; refus → CONFLIT, la file
s'arrête, l'humain tranche (voir l'OT / rejouer sur version à jour /
abandonner). Transitions, coches, bilan et photos (D5, compressées
~1600 px) passent par la file avec patch optimiste du cache ; écran
Synchro (badge tabbar ambre/rouge) ; préchargement parc + référentiels
(le bilan hors-ligne a ses vocabulaires).

Recette « mode avion » 13/13 en Expo web piloté : gestes hors-ligne →
3 en file → modification concurrente de Salma → conflit tranché →
serveur Terminé avec bilan. 17 tests jest-expo, 74 tests API.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 09:50:02 +01:00

SIOP V2 — GMAO pour la maintenance d'ascenseurs

CI

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 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 (v1, gelée — elle sert de référence de lecture). 100 % nouveau code.

Le playbook

Phase Dossier Contenu
Vision docs/00-vision Charte projet, personas, benchmark Atlas
Cadrage docs/01-cadrage Releases, user-story map, exigences, risques
Design docs/02-design Charte graphique, design tokens, maquettes HD
Architecture docs/03-architecture ADRs, C4, modèle de données, contrat d'API
Développement docs/04-developpement Conventions, déroulé d'un sprint
Tests docs/05-tests Stratégie, plans, recettes par release
Production docs/06-production Runbook Dokploy, sauvegardes, sécurité
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)

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.

Description
SIOP V2 — GMAO ascenseurs (clone Atlas CMMS adapté) : produit complet + playbook pédagogique du cycle de vie logiciel
Readme 2 MiB
Languages
TypeScript 90.3%
Python 4.7%
CSS 4.1%
Dockerfile 0.5%
JavaScript 0.3%