pr-daaif 45ae491827 feat(r5.2): assistant au contrat + suggestion de codes de bilan
apps/ai : /internal/ask — seuil de pertinence, extraits sourcés ou
refus honnête portant la taille du corpus cherché (D2), rédaction via
le Generateur opt-in ; /internal/suggest — similarité sémantique entre
la description libre et les libellés ACTIFS des référentiels, un code
par champ, confiance FORTE/MOYENNE, « N bilans similaires sur ce
parc ». Sans LLM : déterministe, explicable. 23 pytest.

Contrat (74 opérations) : POST /assistant/ask → AssistantAnswer
(EXTRACTIVE/GENERATED/REFUSAL, extraits cités, corpus cherché) et
POST /assistant/suggest-bilan (codes existants seulement) ; clients
web/mobile régénérés.

API NestJS : module assistant — proxy vers siop2-ai (AI_SERVICE_URL/
AI_SERVICE_TOKEN, ADR-004 §4), permissions matrice (ask=view,
suggest=edit), traduction interne→contrat, 503 propre si service
éteint. 6 e2e sur stub HTTP (76 tests API).

Bug débusqué par la vraie chaîne : fastembed ne norme pas ses
vecteurs — la similarité des suggestions dépassait 1 (pgvector
normalisait dans son opérateur, masquant l'écart). Normalisation à
l'encodage + réindexation : bilans en tête (0.41), refus hors corpus,
scores cosinus ≤ 1.

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