pr-daaif 50254daea4 feat(r2.4): portail public QR — signalement sans compte, suivi par jeton
- 3 routes publiques /portal (les seules @Public métier), throttlées
  (@nestjs/throttler : 10 signalements/min, 60 lectures/min) : résolution
  du QR, signalement (retourne un jeton de suivi opaque), suivi par
  référence + jeton — pas de jeton, pas de lecture, jamais de liste
- migration r2_portail : Request.publicToken (unique)
- page /q/{réf} fidèle à l'écran 6 validé R0 (mobile d'abord) : équipement
  prérempli « détecté par le QR », interrupteur personne bloquée,
  suivi sans jargon Reçu → Intervention → Résolu (dérivé de l'OT lié),
  rejet affiché « Sans suite : {motif} », photo annoncée (upload R3) ;
  signalements gardés sur le téléphone (localStorage, 10 max)
- e2e : LA boucle produit — gardien sans compte → traitement → ✓ Résolu ;
  11 tests Playwright verts, 50 tests API, 52 opérations au contrat
- générateur OpenAPI : paramètres non-« id » plus typés uuid

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:33:10 +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%