# 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