Table des matières
Phase A — MVP Investisseur
Changement de stratégie
À partir de maintenant, le programme entre dans une nouvelle phase :
PHASE A MVP INVESTISSEUR
L'objectif n'est plus d'ajouter de nouveaux domaines métier.
L'objectif devient :
Rendre démontrable Tester les parcours Valider l'UX Obtenir un MVP investissable Préparer les UAT
État actuel
Backend
Le backend Enterprise est considéré comme :
Fonctionnellement complet pour le MVP
Les domaines disponibles sont :
CRM Properties Reservations Portfolio Distribution Marketing Loyalty Referral Analytics Executive Developer Platform Marketplace
Nouvelle Roadmap
Sprint 11
UX Foundation & Design System
Design System Navigation Layouts Dashboard Framework Data Tables Forms Permissions UX Responsive Foundation
Sprint 12
Property & Reservation MVP
Property UI Availability Calendar Pricing UI Reservation UI Guest UI Check-In Check-Out
Sprint 13
CRM & Operations MVP
Customer UI Communications Notes Housekeeping Maintenance Guest Requests Operations Dashboard
Sprint 14
Analytics & Executive MVP
Property Dashboard Reservation Dashboard CRM Dashboard Executive Dashboard KPI Center Reporting UI
Sprint 15
Validation & Investor Demo
UAT Bug Fixes Demo Data Investor Scenario Pilot Validation Release Candidate
Critères MVP
Le MVP est considéré terminé lorsque l'utilisateur peut :
Créer une propriété Ajouter des disponibilités Configurer des tarifs Créer une réservation Ajouter un voyageur Encaisser un paiement Effectuer un check-in Effectuer un check-out Consulter les KPI
sans intervention technique.
Parcours Investisseur
Démonstration officielle
Durée cible :
10 minutes
Scénario
Connexion ↓ Création propriété ↓ Ajout disponibilités ↓ Création réservation ↓ Paiement ↓ Check-In ↓ Demande voyageur ↓ Check-Out ↓ Facture ↓ Dashboard exécutif
Phase B
Après validation MVP :
Sprint 16 Operations & Observability Sprint 17 Security Operations Sprint 18 Enterprise AI Platform Sprint 19 Scalabilité Enterprise
Le backlog Enterprise est conservé intégralement.
Aucun domaine métier précédemment conçu n'est supprimé.
Sprint 11-A.1 — UX Foundation & Design System
Objectif
Construire le socle UI de toute la plateforme.
Cette étape devient la référence unique pour :
CRM Properties Reservations Operations Analytics Executive Marketplace
afin de garantir :
Cohérence Rapidité de développement Qualité UX Scalabilité Frontend Expérience investisseur
À l'issue de cette étape :
✓ Design Tokens ✓ Component Library ✓ Layout System ✓ Navigation Framework ✓ Theme System ✓ Responsive Grid ✓ Data Tables ✓ Form Framework
Architecture Frontend cible
apps/web ├── app ├── pages ├── layouts ├── modules ├── shared │ ├── ui │ ├── forms │ ├── tables │ ├── charts │ └── navigation ├── design-system └── themes
Sprint 11-A.1-A
Design Tokens
Étape 1 — Structure
src/design-system/tokens ├── colors.ts ├── spacing.ts ├── typography.ts ├── shadows.ts ├── radius.ts ├── z-index.ts └── index.ts
Étape 2 — Couleurs
Palette
Primary Secondary Success Warning Danger Info Neutral
Exemple
export const colors = {
primary: {
50: '#EFF6FF',
100: '#DBEAFE',
500: '#3B82F6',
600: '#2563EB',
700: '#1D4ED8'
}
};
Étape 3 — Espacements
4 8 12 16 24 32 48 64 96
Étape 4 — Typographie
Display Heading Body Caption Label
Étape 5 — Radius
sm md lg xl 2xl full
Sprint 11-A.1-B
Theme System
Étape 6 — Supporter
Light Theme Dark Theme System Theme
Étape 7 — Structure
src/themes ├── light.ts ├── dark.ts ├── provider.tsx └── hooks.ts
Étape 8 — Provider
<ThemeProvider>
{children}
</ThemeProvider>
Sprint 11-A.1-C
Responsive Grid
Étape 9 — Breakpoints
xs 0 sm 640 md 768 lg 1024 xl 1280 2xl 1536
Étape 10 — Grid
Composants
Container Row Col Stack Grid
Étape 11 — Objectif
Compatible :
Desktop Tablet Mobile
sans réécriture.
Sprint 11-A.1-D
Layout Framework
Étape 12 — Layouts
Créer
AuthLayout DashboardLayout SettingsLayout PublicLayout FullscreenLayout
Étape 13 — Dashboard Layout
Contient
Sidebar Header Breadcrumbs Notifications Workspace Footer
Étape 14 — Navigation
Navigation principale
Dashboard CRM Properties Reservations Operations Analytics Executive Marketplace Settings
Sprint 11-A.1-E
Component Library
Étape 15 — Base Components
Button Input Textarea Select Checkbox Radio Switch Badge Avatar Card Modal Drawer Tooltip Tabs
Étape 16 — Feedback
Alert Toast Skeleton Progress EmptyState ErrorState
Étape 17 — Structure
src/shared/ui ├── button ├── input ├── modal ├── card ├── badge └── ...
Sprint 11-A.1-F
Data Tables
Étape 18 — DataTable
Fonctionnalités
Pagination Sorting Filtering Column Visibility Export CSV Bulk Actions
Étape 19 — Utilisation
Customers Properties Reservations Invoices Tickets
Étape 20 — Composants
DataTable DataToolbar ColumnFilter BulkActions Pagination
Sprint 11-A.1-G
Form Framework
Étape 21 — Standard
React Hook Form Zod Nest DTO
Étape 22 — Form Components
Form FormField FormInput FormSelect FormDatePicker FormCurrency FormTextarea
Étape 23 — Validation
Supporter
Realtime Async Server Validation Field Dependencies
Sprint 11-A.1-H
Dashboard Widgets
Étape 24 — Widgets Foundation
Créer
StatCard KpiCard ChartCard ActivityFeed QuickActions RecentItems
Étape 25 — Charts
Standardiser
Line Chart Bar Chart Area Chart Pie Chart Heatmap
Sprint 11-A.1-I
UX Standards
Étape 26 — États
Tous les écrans doivent supporter
Loading Empty Error Success Offline
Étape 27 — Accessibilité
Respecter
WCAG AA Keyboard Navigation Screen Readers Focus Management
Étape 28 — Performance
Objectifs
LCP < 2.5s TTI < 3s CLS < 0.1
Sprint 11-A.1-J
Validation
Étape 29 — Storybook
Mettre en place
Component Catalog Design Documentation Usage Examples Visual Testing
Étape 30 — Tests UI
Vérifier
Responsive Dark Mode Navigation Forms Tables Accessibility
Étape 31 — Démonstration
À la fin du sprint
L'investisseur doit pouvoir voir :
Connexion ↓ Dashboard ↓ Navigation complète ↓ Tables CRM ↓ Formulaires ↓ Composants Enterprise ↓ Dark Mode
sans backend finalisé.
Définition de terminé
Le Sprint 11-A.1 est terminé lorsque :
✓ Design Tokens créés ✓ Theme System créé ✓ Layouts créés ✓ Navigation créée ✓ Component Library créée ✓ Data Tables créées ✓ Form Framework créé ✓ Storybook opérationnel
Livrables
Design Tokens Theme Provider Responsive Grid Dashboard Layout Navigation Framework Component Library DataTable Framework Form Framework Dashboard Widgets Storybook UI Foundation
Sprint 11-A.2 — Authentication UX & Workspace Foundation
Objectif
Construire la porte d'entrée du MVP investisseur.
Cette étape fournit la première expérience utilisateur visible de la plateforme.
L'utilisateur doit pouvoir :
Se connecter Choisir son tenant Accéder à son espace Naviguer rapidement Recevoir des notifications Effectuer des recherches globales
À l'issue de cette étape :
✓ Login ✓ Register ✓ Forgot Password ✓ Tenant Switcher ✓ Workspace Selector ✓ User Menu ✓ Notifications Center ✓ Global Search Bar
Architecture UX
Authentication ↓ Tenant Selection ↓ Workspace Selection ↓ Dashboard ↓ Global Navigation
Sprint 11-A.2-A
Authentication Pages
Étape 1 — Structure
src/app/(auth) ├── login ├── register ├── forgot-password ├── reset-password └── verify-email
Étape 2 — Login Page
Créer
/login
Champs
Email Password Remember Me
Actions
Login Forgot Password Register
Étape 3 — Composants
LoginForm LoginCard SocialLoginButtons AuthHeader AuthFooter
Étape 4 — États
Supporter
Loading Invalid Credentials Account Locked MFA Required Success
Sprint 11-A.2-B
Registration
Étape 5 — Register Page
Créer
/register
Champs
First Name Last Name Email Password Confirm Password Company Name
Étape 6 — Validation
Vérifier
Email Unique Password Strength Terms Acceptance
Étape 7 — Workflow
Register ↓ Email Verification ↓ Tenant Creation ↓ Workspace Setup
Sprint 11-A.2-C
Password Recovery
Étape 8 — Forgot Password
Créer
/forgot-password
Processus
Email ↓ Reset Link ↓ New Password ↓ Success
Étape 9 — Reset Password
Créer
/reset-password
Sécurité
Token Validation Expiration Password Policy
Sprint 11-A.2-D
Tenant Switcher
Étape 10 — Tenant Switcher
Créer
TenantSwitcher
Afficher
Tenant Name Role Environment Status
Étape 11 — Utilisation
Compatible :
Multi-Tenant Multi-Portfolio Partner Accounts Internal Users
Étape 12 — Exemple UX
Acme Hospitality ▼ Production ↓ Switch Tenant
Sprint 11-A.2-E
Workspace Selector
Étape 13 — Workspace Selector
Créer
WorkspaceSelector
Espaces
Operations CRM Reservations Analytics Executive Marketplace
Étape 14 — Objectif
Permettre :
Accès rapide Navigation métier Réduction du bruit visuel
Sprint 11-A.2-F
User Menu
Étape 15 — UserMenu
Créer
UserMenu
Contenu
Profile Preferences Notifications Security API Keys Logout
Étape 16 — Avatar
Supporter
Photo Initials Presence Status
Sprint 11-A.2-G
Notifications Center
Étape 17 — NotificationCenter
Créer
NotificationCenter
Types
Reservations Payments Operations Marketing System Security
Étape 18 — Fonctionnalités
Unread Count Mark As Read Priority Deep Link
Étape 19 — Exemple
Nouvelle réservation Property: Villa Horizon Il y a 2 min
Sprint 11-A.2-H
Global Search Bar
Étape 20 — Search Component
Créer
GlobalSearchBar
Recherche
Customers Properties Reservations Invoices Tickets Tasks
Étape 21 — UX
Supporter
Instant Search Keyboard Shortcut Recent Searches Suggestions
Étape 22 — Raccourci
⌘ K CTRL K
Sprint 11-A.2-I
Layout Integration
Étape 23 — Dashboard Header
Intégrer
Logo Breadcrumbs Global Search Notifications Tenant Switcher User Menu
Étape 24 — Sidebar
Afficher
Dashboard CRM Properties Reservations Operations Analytics Executive Marketplace Settings
Étape 25 — Mobile
Supporter
Collapsible Sidebar Bottom Navigation Touch Friendly
Sprint 11-A.2-J
Validation MVP
Étape 26 — Tests UX
Vérifier
Login Registration Password Reset Tenant Switching Workspace Navigation Notifications Search
Étape 27 — Tests Accessibilité
Vérifier
Keyboard Navigation Screen Readers Focus Management Color Contrast
Étape 28 — Démonstration Investisseur
Parcours
Login ↓ Tenant Selection ↓ Workspace Selection ↓ Dashboard ↓ Search Reservation ↓ Open Customer ↓ Notification Center ↓ Logout
Définition de terminé
Le Sprint 11-A.2 est terminé lorsque :
✓ Login créé ✓ Register créé ✓ Forgot Password créé ✓ Tenant Switcher créé ✓ Workspace Selector créé ✓ User Menu créé ✓ Notifications Center créé ✓ Global Search Bar créée ✓ Workspace Foundation opérationnelle
Livrables
Login Page Register Page Forgot Password Flow Reset Password Flow TenantSwitcher WorkspaceSelector UserMenu NotificationCenter GlobalSearchBar Workspace Foundation
Sprint 11-B.1 — Property Management UI
Objectif
Construire le premier parcours métier complet visible du MVP.
Cette étape permet à un utilisateur de :
Créer une propriété Consulter une propriété Modifier une propriété Gérer ses équipements Gérer ses photos Visualiser son état Piloter ses performances
Ce sprint constitue la première démonstration concrète du produit pour un investisseur.
À l'issue de cette étape :
✓ Property List ✓ Property Details ✓ Property Creation Wizard ✓ Property Gallery ✓ Property Amenities ✓ Property Status ✓ Property Actions ✓ Property Dashboard
Architecture UI
Properties ├── Property List ├── Property Detail ├── Property Create ├── Property Edit ├── Property Gallery ├── Property Amenities ├── Property Status └── Property Dashboard
Sprint 11-B.1-A
Property List
Étape 1 — Route
/properties
Étape 2 — Écran
Afficher
Property Name Type Status Capacity Location Score Occupancy Actions
Étape 3 — DataTable
Supporter
Pagination Sorting Filtering Bulk Actions Export CSV
Étape 4 — Filtres
Status Type City Capacity Score Owner
Étape 5 — Actions
View Edit Duplicate Archive Delete
Sprint 11-B.1-B
Property Details
Étape 6 — Route
/properties/{id}
Étape 7 — Structure
Overview Gallery Amenities Availability Pricing Policies Reviews
Étape 8 — Header
Afficher
Property Name Status Type Location Quick Actions
Étape 9 — KPI Cards
Occupancy Revenue Reservations Review Score
Sprint 11-B.1-C
Property Creation Wizard
Étape 10 — Route
/properties/new
Étape 11 — Wizard
Étape 1
Basic Information
Champs :
Name Type Category Description
Étape 2
Location
Champs :
Country City Address Coordinates
Étape 3
Capacity
Champs :
Guests Bedrooms Bathrooms Beds
Étape 4
Amenities
Sélection :
WiFi Parking Pool Kitchen Air Conditioning
Étape 5
Media
Upload :
Photos Cover Image
Étape 6
Confirmation
Résumé avant création.
Étape 12 — Sauvegarde
Supporter
Auto Save Draft Resume Later
Sprint 11-B.1-D
Property Gallery
Étape 13 — Composant
PropertyGallery
Étape 14 — Fonctionnalités
Upload Drag & Drop Reordering Cover Photo Delete
Étape 15 — Affichage
Grid View Lightbox Preview
Sprint 11-B.1-E
Property Amenities
Étape 16 — Composant
PropertyAmenities
Étape 17 — Catégories
General Comfort Kitchen Safety Entertainment Outdoor
Étape 18 — UX
Supporter
Search Multi Select Popular Amenities Recommended Amenities
Sprint 11-B.1-F
Property Status
Étape 19 — Statuts
Draft Pending Review Active Inactive Archived
Étape 20 — Badge
Afficher
Status Compliance Quality Score Health Score
Étape 21 — Validation
Vérifier
Mandatory Data Images Amenities Availability
Sprint 11-B.1-G
Property Actions
Étape 22 — Actions rapides
Edit Publish Duplicate Archive Delete
Étape 23 — Menu contextuel
Supporter
More Actions History Audit Trail Integrations
Sprint 11-B.1-H
Property Dashboard
Étape 24 — Route
/properties/{id}/dashboard
Étape 25 — Widgets
Occupancy Revenue Reservations Reviews Availability
Étape 26 — Graphiques
Occupancy Trend Revenue Trend Reservations Trend Review Trend
Étape 27 — Activité récente
Afficher
New Reservation Review Received Price Updated Availability Changed
Sprint 11-B.1-I
États UI
Étape 28 — Supporter
Loading Empty Error No Permission Offline
Étape 29 — Responsive
Vérifier
Desktop Tablet Mobile
Sprint 11-B.1-J
Validation MVP
Étape 30 — Tests Fonctionnels
Scénario
Créer propriété ↓ Ajouter équipements ↓ Ajouter photos ↓ Publier propriété ↓ Consulter dashboard
Étape 31 — Démonstration Investisseur
Parcours
Login ↓ Properties ↓ Create Property ↓ Upload Images ↓ Configure Amenities ↓ Publish ↓ Property Dashboard
Durée cible :
3 minutes
Définition de terminé
Le Sprint 11-B.1 est terminé lorsque :
✓ Property List créée ✓ Property Details créé ✓ Property Creation Wizard créé ✓ Property Gallery créée ✓ Property Amenities créé ✓ Property Status créé ✓ Property Actions créées ✓ Property Dashboard créé
Livrables
PropertyListPage PropertyDetailsPage PropertyCreationWizard PropertyGallery PropertyAmenities PropertyStatus PropertyActions PropertyDashboard Property UI Module
Sprint 11-B.2 — Availability & Pricing Calendar UI
Objectif
Construire l'interface visuelle centrale de gestion des disponibilités et de la tarification.
Ce sprint représente le cœur opérationnel du produit.
L'utilisateur doit pouvoir :
Ouvrir des disponibilités Bloquer des dates Modifier les tarifs Gérer les saisons Appliquer des règles tarifaires Visualiser les revenus prévisionnels
À l'issue de cette étape :
✓ Availability Calendar ✓ Pricing Calendar ✓ Inventory View ✓ Season Management ✓ Rate Plans ✓ Calendar Intelligence ✓ Bulk Updates ✓ Revenue Preview
Architecture UI
Properties
└── Availability & Pricing
├── Availability Calendar
├── Pricing Calendar
├── Inventory View
├── Seasons
├── Rate Plans
├── Bulk Updates
└── Revenue Forecast
Sprint 11-B.2-A
Availability Calendar
Étape 1 — Route
/properties/{id}/availability
Étape 2 — Vue Calendrier
Afficher
Month Week Day
Étape 3 — États
Supporter
Available Booked Blocked Maintenance External OTA Block
Étape 4 — Couleurs
Green Available Red Booked Gray Blocked Orange Maintenance Purple OTA
Étape 5 — Actions
Open Dates Block Dates Edit Availability Create Maintenance Block
Sprint 11-B.2-B
Pricing Calendar
Étape 6 — Route
/properties/{id}/pricing
Étape 7 — Affichage
Montrer
Daily Rate Seasonal Rate Dynamic Rate Discount Rate
Étape 8 — Visualisation
Chaque cellule affiche
Date Price Availability Occupancy Signal
Étape 9 — Modifications
Supporter
Single Day Date Range Entire Month Entire Season
Sprint 11-B.2-C
Inventory View
Étape 10 — Vue Inventaire
Créer
InventoryGrid
Étape 11 — Afficher
Property Availability Rate Occupancy Revenue
Étape 12 — Cas d'usage
Compatible :
Portfolio Property Groups Multi-Site Operations
Sprint 11-B.2-D
Season Management
Étape 13 — Route
/properties/{id}/seasons
Étape 14 — Gestion
Créer
High Season Mid Season Low Season Special Events
Étape 15 — Champs
Name Start Date End Date Multiplier Description
Étape 16 — Vue Timeline
Afficher
Annual Timeline Season Overlaps Season Gaps
Sprint 11-B.2-E
Rate Plans
Étape 17 — Route
/properties/{id}/rate-plans
Étape 18 — Types
Standard Rate Non Refundable Weekly Rate Monthly Rate Corporate Rate Promotional Rate
Étape 19 — Configuration
Définir
Base Price Minimum Stay Maximum Stay Cancellation Rules Restrictions
Étape 20 — Assistant
Supporter
Rate Plan Wizard Templates Recommendations
Sprint 11-B.2-F
Calendar Intelligence
Étape 21 — Intelligence
Afficher
Occupancy Forecast Demand Forecast Revenue Forecast Price Recommendations
Étape 22 — Alertes
Détecter
Underpriced Days Overpriced Days Availability Gaps Revenue Opportunities
Étape 23 — Exemples
Weekend du 15 août Demande élevée + 22% revenu potentiel
Sprint 11-B.2-G
Bulk Updates
Étape 24 — Bulk Update Panel
Créer
BulkUpdateDrawer
Étape 25 — Actions
Increase Prices Decrease Prices Block Dates Open Dates Assign Season Assign Rate Plan
Étape 26 — Portée
Appliquer à
Selected Dates Current Month Current Season Entire Property
Sprint 11-B.2-H
Revenue Preview
Étape 27 — Revenue Forecast Widget
Afficher
Expected Revenue Occupancy Forecast ADR RevPAR
Étape 28 — Graphiques
Revenue Trend Occupancy Trend Pricing Trend
Étape 29 — Simulations
Supporter
+5% Price +10% Price Season Adjustment Promotion Scenario
Sprint 11-B.2-I
UX Enterprise
Étape 30 — Interactions
Supporter
Drag & Drop Multi Selection Context Menu Keyboard Navigation
Étape 31 — États
Loading Empty Error Offline Read Only
Étape 32 — Responsive
Vérifier
Desktop Tablet Mobile
La vue calendrier reste utilisable sur tablette.
Sprint 11-B.2-J
Validation MVP
Étape 33 — Tests Fonctionnels
Scénario
Créer propriété ↓ Ouvrir disponibilités ↓ Créer saison ↓ Créer plan tarifaire ↓ Modifier prix ↓ Prévisualiser revenu
Étape 34 — Démonstration Investisseur
Parcours
Property ↓ Availability Calendar ↓ Block Dates ↓ Season Management ↓ Rate Plan ↓ Revenue Preview
Durée cible :
3 minutes
Définition de terminé
Le Sprint 11-B.2 est terminé lorsque :
✓ Availability Calendar créé ✓ Pricing Calendar créé ✓ Inventory View créé ✓ Season Management créé ✓ Rate Plans créés ✓ Calendar Intelligence créé ✓ Bulk Updates créés ✓ Revenue Preview créé
Livrables
AvailabilityCalendar PricingCalendar InventoryGrid SeasonManagement RatePlanManagement CalendarIntelligence BulkUpdateDrawer RevenuePreview Availability & Pricing UI Module