pr-daaif b69c54ed0f feat(r5): recette sans clé API + durcissement production siop2-ai
Recette (mode extractif, aucune clé) — elle a invalidé le modèle R5.1 :
- MiniLM-384 classait la page-réponse DERRIÈRE des passages sans rapport
  (0,24 vs 0,41 sur la question type du plan) → bascule mesurée vers
  paraphrase-multilingual-mpnet-base-v2 (768 d, local/CPU), ADR-004 amendé
  avec le banc comparatif (e5-large écarté : 2,2 Go, scores compressés).
- Migration r5_embeddings_mpnet : pgvector 384 → 768, index vidé
  (re-dérivable par « Réindexer tout »).
- Découpage affiné (~350 caractères) : la phrase-réponse ne se noie plus,
  l'extrait cité est lisible ; seuils par défaut recalés 0,45/0,40/0,55.
- Rejouée après bascule : réponse sourcée p. 2 en tête, refus honnête
  chiffré, suggestions étagées — 16/16 Playwright, 78 API, 23 pytest.
- Revue pixel publiée (6 écrans réels vs maquettes, 3 arbitrages).

Durcissement :
- apps/ai/Dockerfile : uv, modèle ONNX téléchargé AU BUILD (ADR-004 §1),
  non-root, healthcheck ; répétition locale conteneurisée validée
  (healthz, reindex via MinIO/pgvector, 401 sans jeton, refus de boot
  api-sans-clé, réponse sourcée depuis le conteneur).
- Compose Dokploy : siop2-ai interne (jamais sur dokploy-network,
  AI_SERVICE_TOKEN requis, génération opt-in, seuils par env) ;
  siop2-api branché (AI_SERVICE_URL).
- Runbook §5-6 : service IA en production, calibrage des seuils sur le
  corpus client, réindexation post-déploiement.

Le tag release/r5 attend la validation de la revue pixel par le référent.

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