====== Sprint 11 — Administration & Paramétrage ====== ===== Objectif du Sprint ===== Permettre à chaque agence d'adapter la plateforme à son organisation, ses processus métier et ses règles de gestion sans intervention technique. À l'issue du Sprint 11 : * Les paramètres agence sont configurables * Les workflows sont personnalisables * Les champs métiers sont extensibles * Les audits sont consultables * Les journaux système sont centralisés * Les fonctionnalités peuvent être activées ou désactivées * Le mode multi-agence est pleinement opérationnel Ce sprint transforme la plateforme en véritable solution SaaS configurable. ---- ====== Périmètre ====== ===== Modules concernés ===== AdministrationModule AgencySettingsModule WorkflowModule CustomFieldsModule AuditModule FeatureFlagsModule TenantManagementModule ---- ====== Architecture Fonctionnelle ====== Tenant ↓ Configuration Agence ├── Paramètres ├── Workflows ├── Champs personnalisés ├── Permissions ├── Feature Flags └── Audit ---- ====== User Stories ====== ===== US-1101 : Consulter les paramètres agence ===== **En tant qu'administrateur d'agence** Je souhaite consulter la configuration de mon agence Afin de piloter mon activité. ---- ===== Endpoint ===== GET /admin/settings ---- ===== Paramètres ===== Nom agence Adresse Téléphone Email Site web Logo Fuseau horaire Devise ---- ====== US-1102 : Modifier les paramètres agence ====== ===== Endpoint ===== PUT /admin/settings ---- ===== Contraintes ===== Droits administrateur requis ---- ====== US-1103 : Gérer les paramètres financiers ====== ===== Endpoint ===== GET /admin/settings/finance PUT /admin/settings/finance ---- ===== Paramètres ===== Taux acompte Taux TVA Taxe séjour Devise Conditions paiement ---- ====== Workflows ====== ===== US-1104 : Configurer le workflow réservation ===== ===== Objectif ===== Permettre à chaque agence de définir son cycle métier. ---- ===== Exemple ===== PENDING ↓ CONFIRMED ↓ SIGNED ↓ PAID ↓ COMPLETED ---- ===== Endpoint ===== GET /admin/workflows PUT /admin/workflows ---- ====== US-1105 : Configurer les statuts personnalisés ====== ===== Exemple ===== EN_ATTENTE_VALIDATION DOSSIER_INCOMPLET CHECKIN_EFFECTUE ---- ====== Champs personnalisés ====== ===== US-1106 : Créer un champ personnalisé ===== ===== Endpoint ===== POST /admin/custom-fields ---- ===== Types ===== TEXT TEXTAREA NUMBER BOOLEAN DATE SELECT MULTISELECT ---- ===== Entités compatibles ===== Client Propriétaire Bien Réservation Contrat ---- ====== US-1107 : Associer un champ à une entité ===== ===== Exemple ===== Bien ↓ Champ : Classification interne ---- ====== Feature Flags ====== ===== US-1108 : Activer une fonctionnalité ===== ===== Endpoint ===== GET /admin/feature-flags PUT /admin/feature-flags ---- ===== Exemples ===== CRM SMS Paiement Stripe Paiement MangoPay IA Signature électronique ---- ===== Cas d'usage ===== Agence A CRM activé Agence B CRM désactivé ---- ====== Audit ====== ===== US-1109 : Consulter les audits ===== ===== Endpoint ===== GET /admin/audit ---- ===== Informations ===== Utilisateur Action Date Adresse IP Entité Valeurs avant Valeurs après ---- ====== US-1110 : Rechercher dans les audits ===== ===== Filtres ===== Utilisateur Date Type Module Entité ---- ====== Journaux système ====== ===== US-1111 : Consulter les logs ===== ===== Endpoint ===== GET /admin/system/logs ---- ===== Niveaux ===== INFO WARNING ERROR CRITICAL ---- ====== US-1112 : Consulter les erreurs applicatives ===== ===== Informations ===== Date Service Exception Stack Trace Contexte ---- ====== Gestion Multi-Agence ====== ===== US-1113 : Gérer les agences ===== ===== Endpoint ===== GET /admin/agencies POST /admin/agencies ---- ===== Données ===== Nom Code Statut Plan Quota ---- ====== US-1114 : Activer ou suspendre une agence ===== ===== Statuts ===== ACTIVE SUSPENDED TRIAL ARCHIVED ---- ====== Gestion des quotas ====== ===== US-1115 : Configurer les limites ===== ===== Exemples ===== Nombre biens Nombre utilisateurs Stockage Emails mensuels ---- ====== Modèle Prisma ====== ===== Tenant ===== model Tenant { id String @id @default(uuid()) code String @unique name String status String createdAt DateTime @default(now()) } ---- ===== AgencySetting ===== model AgencySetting { id String @id @default(uuid()) tenantId String settingKey String settingValue Json } ---- ===== WorkflowDefinition ===== model WorkflowDefinition { id String @id @default(uuid()) tenantId String entityType String definition Json } ---- ===== CustomField ===== model CustomField { id String @id @default(uuid()) tenantId String entityType String fieldName String fieldType String } ---- ===== AuditLog ===== model AuditLog { id String @id @default(uuid()) tenantId String userId String entityType String entityId String action String beforeData Json? afterData Json? createdAt DateTime @default(now()) } ---- ===== FeatureFlag ===== model FeatureFlag { id String @id @default(uuid()) tenantId String code String enabled Boolean } ---- ====== Architecture Backend ====== src/modules/administration ├── agencies │ ├── settings │ ├── workflows │ ├── custom-fields │ ├── audit │ ├── feature-flags │ └── system ---- ====== Domain Services ====== AgencyService SettingsService WorkflowService CustomFieldService AuditService FeatureFlagService ---- ====== Événements métier ====== ===== AgencyCreated ===== AgencyCreated ---- ===== FeatureFlagChanged ===== FeatureFlagChanged ---- ===== WorkflowUpdated ===== WorkflowUpdated ---- ====== Swagger ====== ===== Tags ===== Administration Settings Workflows CustomFields Audit FeatureFlags Tenants ---- ===== Volume API ===== Environ : 40 endpoints ---- ====== Frontend ====== ===== Pages ===== /admin /admin/settings /admin/workflows /admin/custom-fields /admin/feature-flags /admin/audit /admin/system /admin/agencies ---- ===== Composants ===== SettingsForm WorkflowEditor CustomFieldManager AuditTable FeatureFlagSwitch TenantManagementTable ---- ====== Dashboard Administration ====== ===== KPI ===== Agences actives Utilisateurs actifs Stockage utilisé Emails envoyés Erreurs système Fonctionnalités activées ---- ====== Tests ====== ===== Unitaires ===== SettingsService WorkflowService AuditService FeatureFlagService ---- ===== Intégration ===== Modification paramètre ↓ Audit ↓ Propagation configuration ---- ===== E2E ===== Connexion Admin ↓ Modification paramètre agence ↓ Création champ personnalisé ↓ Activation fonctionnalité ↓ Consultation audit ---- ====== Définition de terminé ====== Le Sprint 11 est terminé lorsque : * Paramètres agence opérationnels * Workflows configurables * Champs personnalisés opérationnels * Audit complet opérationnel * Journaux système consultables * Feature Flags opérationnels * Multi-agence opérationnel * Swagger à jour * Tests verts * CI verte ---- ====== Livrables ====== * AdministrationModule * AgencySettingsModule * WorkflowModule * CustomFieldsModule * AuditModule * FeatureFlagsModule * TenantManagementModule * DTO * Swagger * Tests * Migrations Prisma ---- ====== Bilan Release 2.1 ====== À l'issue du Sprint 11 : * Plateforme entièrement configurable * Multi-tenant avancé * Audit complet * Paramétrage métier sans code * Gouvernance opérationnelle La solution devient exploitable comme produit SaaS multi-agences. ---- ====== Sprint suivant ====== ===== Sprint 12 — Maintenance, Exploitation & Observabilité ===== Objectif : Industrialiser l'exploitation de la plateforme en production. Modules concernés : MonitoringModule LoggingModule MetricsModule AlertingModule BackupModule HealthCheckModule Fonctionnalités : * Monitoring temps réel * Centralisation des logs * Tableaux de bord techniques * Alertes automatiques * Sauvegardes automatisées * Supervision applicative * Santé des services À l'issue du Sprint 12, la plateforme sera prête pour une exploitation SaaS à grande échelle.