Ceci est une ancienne révision du document !
# Cahier des charges fonctionnel et technique
## Application de gestion locative immobilière – Version 1.0
—
# 1. Présentation du projet
## 1.1 Contexte
L'agence souhaite disposer d'une plateforme web centralisée permettant :
- La publication d'offres de location immobilière. - La gestion des biens, propriétaires et locataires. - La réservation et la contractualisation. - La gestion administrative des locations. - Le suivi financier. - La communication entre les différents acteurs.
L'application doit être utilisable aussi bien pour :
- Location saisonnière. - Location courte durée. - Location moyenne durée. - Location longue durée.
—
# 2. Objectifs du projet
## Objectifs métier
- Centraliser les données. - Réduire les tâches administratives. - Automatiser les réservations. - Réduire les erreurs de gestion. - Améliorer l'expérience client. - Offrir un portail propriétaire.
## Objectifs techniques
- Application responsive. - Architecture évolutive. - Sécurité RGPD. - API ouverte. - Hébergement cloud.
—
# 3. Périmètre fonctionnel
Le projet couvre :
### Front Office Client
- Recherche de biens - Réservation - Signature électronique - Paiement - Gestion du compte
### Portail Propriétaire
- Consultation des biens - Consultation des revenus - Téléchargement des documents
### Back Office Agence
- Gestion des biens - Gestion des propriétaires - Gestion des locataires - Gestion des contrats - Gestion financière - Administration
—
# 4. Acteurs
## Super Administrateur
Responsable de la plateforme.
### Droits
- Gestion complète - Paramétrage global - Gestion des utilisateurs
—
## Administrateur Agence
Responsable opérationnel.
### Droits
- Gestion des collaborateurs - Gestion catalogue - Gestion contrats
—
## Gestionnaire
### Droits
- Gestion réservations - Gestion clients - Gestion documents
—
## Commercial
### Droits
- Création de prospects - Gestion des visites - Transformation en locataires
—
## Propriétaire
### Droits
- Consultation de ses biens - Consultation des revenus - Téléchargement des contrats
—
## Client / Locataire
### Droits
- Réservation - Paiement - Signature - Historique
—
# 5. Modules fonctionnels
—
# Module 1 : Authentification
## Fonctionnalités
### Inscription
Informations :
- Nom - Prénom - Email - Téléphone - Mot de passe
### Connexion
- Email / Mot de passe - Double authentification (phase 2)
### Réinitialisation
- Lien email - Expiration 24h
—
# Module 2 : Catalogue des biens
## Création d'un bien
Informations :
### Identification
- Référence - Nom commercial - Statut
### Adresse
- Adresse - Ville - Code postal - Pays - Coordonnées GPS
### Caractéristiques
- Type - Surface - Nombre de pièces - Chambres - Salle de bain - Étage - Capacité
### Équipements
- Wifi - Climatisation - Piscine - Parking - Ascenseur - Terrasse - Jardin
### Description
- Description courte - Description longue
### Médias
- Photos - Vidéos - Documents
—
# Module 3 : Disponibilités
## Calendrier
Actions :
- Bloquer une période - Ouvrir une période - Synchronisation calendrier externe
### Statuts
- Disponible - Option - Réservé - Loué - Maintenance
—
# Module 4 : Recherche
## Critères
- Ville - Rayon - Prix minimum - Prix maximum - Surface - Chambres - Équipements
## Tri
- Prix croissant - Prix décroissant - Surface - Date disponibilité
—
# Module 5 : Réservations
## Processus
### Étape 1
Sélection du bien
### Étape 2
Choix des dates
### Étape 3
Calcul du tarif
### Étape 4
Validation
### Étape 5
Paiement
### Étape 6
Signature
### Étape 7
Confirmation
—
# Module 6 : Gestion Clients
## Fiche client
### Informations
- Identité - Coordonnées - Documents
### Historique
- Réservations - Contrats - Paiements
### Statistiques
- Nombre de locations - Chiffre d'affaires
—
# Module 7 : Gestion Propriétaires
## Fiche propriétaire
### Coordonnées
- Identité - Adresse - Téléphone - Email
### Fiscalité
- Numéro fiscal - TVA
### Paiements
- RIB - Reversements
### Biens associés
Liste des biens
—
# Module 8 : Contrats
## Génération automatique PDF
Variables :
```text Nom locataire Nom propriétaire Adresse du bien Dates Montants Caution Conditions générales ```
## Signature électronique
### Statuts
- Brouillon - Envoyé - Signé - Refusé
—
# Module 9 : Paiements
## Moyens de paiement
- Carte bancaire - Virement - Prélèvement
## Gestion
- Acompte - Solde - Caution
## Facturation
- Facture PDF - Avoir - Relance
—
# Module 10 : Messagerie
## Messages
Agence ↔ Client
Agence ↔ Propriétaire
### Fonctions
- Notifications - Pièces jointes - Historique
—
# Module 11 : Administration
## Paramètres
### Agence
- Logo - Coordonnées - Conditions générales
### Utilisateurs
- Création - Désactivation - Permissions
### Journaux
Traçabilité :
- Connexions - Modifications - Suppressions
—
# 6. Modèle de données (version simplifiée)
```text User ├─ Owner ├─ Tenant └─ Employee
Property ├─ PropertyPhoto ├─ PropertyEquipment ├─ PropertyRate ├─ PropertyAvailability └─ PropertyDocument
Reservation ├─ ReservationStatus ├─ Payment └─ Contract
Contract ├─ Signatures └─ Documents
Invoice
Message
Notification
AuditLog ```
—
# 7. Architecture technique
## Frontend
- Next.js - TypeScript - Tailwind - PWA
## Backend
- NestJS - TypeScript
Architecture :
```text API │ ├── Auth ├── Property ├── Reservation ├── Contract ├── Payment ├── CRM ├── Messaging └── Administration ```
## Base de données
- PostgreSQL
## Stockage fichiers
- S3 Compatible
Exemples :
- AWS S3 - MinIO - OVH Object Storage
—
# 8. API REST (principales)
## Auth
```http POST /api/auth/login POST /api/auth/register POST /api/auth/forgot-password ```
## Biens
```http GET /api/properties GET /api/properties/{id} POST /api/properties PUT /api/properties/{id} DELETE /api/properties/{id} ```
## Réservations
```http GET /api/reservations POST /api/reservations PUT /api/reservations/{id} ```
## Contrats
```http POST /api/contracts/generate POST /api/contracts/sign ```
## Paiements
```http POST /api/payments GET /api/payments/{id} ```
—
# 9. Exigences non fonctionnelles
## Performance
- Temps de réponse inférieur à 2 secondes - 500 utilisateurs simultanés
## Disponibilité
- 99,9 %
## Sécurité
- RGPD - HTTPS - Chiffrement des mots de passe - Journalisation - Gestion des droits
## Sauvegardes
- Quotidiennes - Conservation 30 jours
—
# 10. Roadmap
## MVP (3 mois)
- Authentification - Catalogue - Réservations - Contrats PDF - Gestion clients - Gestion propriétaires
## V2 (6 mois)
- Paiement en ligne - Signature électronique - Portail propriétaire - Notifications
## V3 (9 à 12 mois)
- Application mobile - Synchronisation Airbnb / Booking - Reporting avancé - IA de génération d'annonces - IA d'assistance commerciale
—
# Livrables attendus
1. Maquettes UX/UI (Figma) 2. Schéma de base de données complet 3. Spécifications API (OpenAPI / Swagger) 4. Développement Frontend 5. Développement Backend 6. Tests 7. Documentation d'exploitation 8. Mise en production
—
# Étape suivante
Pour un projet industrialisable, prévoir les documents complémentaires suivants :
- Dossier d'architecture détaillé - Schéma PostgreSQL complet (60 à 80 tables) - Modèle UML (cas d'utilisation, classes, séquences) - Maquettage détaillé des écrans - Spécification OpenAPI complète - Découpage Agile :
- Epics
- Features
- User Stories
- Tasks
```