Apparence
5. Périmètre & Hors-périmètre
✅ Dans le périmètre (fonctionnalités réellement présentes)
- Authentification (inscription / connexion email-mot de passe via Better Auth).
- Gestion projet (création, édition — réservée admin).
- Gestion modules / métiers (création, édition style/icône, suppression en cascade).
- Structuration hiérarchique fonctionnalité → scénario → flux (test) → étape.
- Gestion des CRIMs (exigences spécifiques) : ajout, édition, import en masse, suppression.
- Gestion des campagnes (création, édition, activation avec snapshot, désactivation, suppression).
- Exécution des tests : saisie de résultat par étape, commentaire, gravité.
- Anomalies : déclaration sur une étape KO, triage (statut, assignation, lien Jira), pièce jointe (preuve).
- Preuves (evidence) : upload d'images/PDF vers Convex File Storage, URL d'accès.
- Journal d'exécution : historique des exécutions (runs) par campagne.
- Synthèse : arbre métier → fonctionnalité → scénario → flux, filtres, réordonnancement.
- Accueil : tableau de bord modules + avancement.
- Administration : gestion des utilisateurs (rôles, suppression) et des projets.
- Export Excel (7 feuilles) depuis plusieurs écrans.
⛔ Hors périmètre (absent du code)
- Aucune intégration bidirectionnelle avec un outil de ticketing (le lien Jira est un simple champ texte
jira_link, pas une intégration API). - Aucun envoi d'email transactionnel applicatif (seuls les emails de vérification Better Auth existent).
- Aucune tâche planifiée / cron / job de fond.
- Aucun module de reporting/BI au-delà de l'export Excel et des statistiques d'écran.
- Aucune gestion documentaire hors preuves d'anomalie/exécution.
- Aucune API publique documentée pour tiers (en v2, le backend est exposé comme fonctions Convex internes, pas une API REST publique).
- Pas de mode hors-ligne, pas de PWA.
- ℹ️ Le mode sombre, absent en v1, est présent en v2 (
packages/uitheme.tsx).
- ℹ️ Le mode sombre, absent en v1, est présent en v2 (
- Pas d'internationalisation : l'application est exclusivement en français.
⏳ Périmètre partiellement implémenté / différé
- Le multi-tenant (organisations) : préparé en v1 (colonnes
organization_id, RLS org-scopée) et posé dès le socle en v2 (champorganizationId+ hook ABACcanInContext, cf.lib/authz.ts). L'onboarding (rattachement d'un nouvel inscrit à une organisation) reste à définir → voir Dette technique. - Le composant ModalTestRun (enregistrement manuel d'une exécution) était un reliquat v1 ; la saisie des résultats passe par les étapes → non repris tel quel en v2, voir Fonctionnalités inaccessibles.