====== 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.