Consultation des annonces
👤 Grand Public · 🏢 Agence · 🔧 Admin
- Galerie photos haute qualité (carousel, plein écran)
- Plan d'étage 2D obligatoire sur chaque annonce
- Caractéristiques : surface, chambres, SDB, garage, jardin, PEB
- Prix + historique des prix du bien (remises en vente)
- Localisation sur carte interactive (sans révéler l'adresse exacte)
- Description libre du vendeur/agence
- Informations légales : PEB, précompte immobilier, charges
- Badges : Nouveau (< 7j), Prix réduit, Sous offre, Vendu
- Timeline des prix successifs du bien
- Dates de mise en vente / retrait / republication
- Variation du prix en % depuis la 1re mise en vente
- Durée moyenne sur le marché
Table listing_price_history liée à chaque listing_id. Trigger automatique à chaque modification de prix.
- Carousel responsive avec navigation clavier
- Mode plein écran / lightbox
- Miniatures avec catégories (salon, cuisine, chambre…)
- Compteur de photos
- Lazy loading pour performances mobile
Recherche & Filtres
👤 Grand Public · 🏢 Agence
- Autocomplétion des communes belges (FR + NL)
- Recherche multi-communes simultanée
- Rayon kilométrique autour d'un point
- Historique des recherches récentes
- Clustering des marqueurs (agrégation par zoom)
- Basculement liste ↔ carte en temps réel
- Dessin de zone personnalisée (polygone libre)
- Affichage du prix sur le marqueur
- Performances optimisées mobile
Mapbox GL JS avec clustering côté client. Données via GET /search/geo?bbox= avec pagination cursor.
- Type : appartement, maison, studio, terrain, garage…
- Transaction : vente / location
- Prix min/max (slider + saisie libre)
- Surface habitable min/max
- Nombre de chambres (1, 2, 3, 4+)
- Options : jardin, garage, terrasse, ascenseur, meublé
- Score PEB (A, B, C, D, E, F, G)
- Sauvegarde des filtres comme recherche
- Nommer et sauvegarder une recherche
- Accès rapide depuis le tableau de bord
- Lier une alerte à une recherche sauvegardée
- Partager une recherche par lien
Compte utilisateur & Favoris
👤 Grand Public
- Email + mot de passe (validation email obligatoire)
- Social login : Google, Apple
- Mot de passe oublié par email
- Session persistante (remember me 30 jours)
- Déconnexion de tous les appareils
- Ajouter/retirer un bien des favoris en 1 clic
- Créer des listes nommées (ex: "Bruxelles budget serré")
- Notes personnelles sur chaque bien sauvegardé
- Partager une liste par lien
- Notification si un bien favori change de prix ou statut
- Liste des 50 derniers biens consultés
- Tri par date de consultation
- Indication si le prix a changé depuis la dernière visite
- Indication si le bien est toujours disponible
- Nom, prénom, téléphone, photo de profil
- Langue préférée (FR / NL)
- Préférences de notification (email, push)
- Gestion du consentement RGPD
- Export de ses données (RGPD Article 20)
- Suppression de compte
Alertes & Notifications
👤 Grand Public · 🏢 Agence · 🔧 Admin
- Basée sur une recherche sauvegardée
- Canal : email ET/OU notification push
- Fréquence configurable : immédiat, quotidien, hebdo
- Aperçu du bien dans la notification
- Désactivation en 1 clic depuis l'email
- Déclenchée sur les biens en favoris uniquement
- Affichage de l'ancien prix, nouveau prix et % de baisse
- Notification push + email
- Notification push + email immédiate
- Résumé du message dans la notification
- Lien direct vers la conversation
- Notification globale (maintenance, mise à jour)
- Ciblage par rôle (agences uniquement, public uniquement)
- Planification de l'envoi
Messagerie & Demandes de visites
👤 Grand Public · 🏢 Agence
- Fil de conversation par annonce
- Envoi de messages texte
- Indicateur "lu / non lu"
- Historique complet de la conversation
- Notification push à chaque nouveau message
- Anti-spam : vérification email avant envoi
- Formulaire : nom, téléphone, message, disponibilités
- Confirmation par email automatique aux deux parties
- L'agence peut confirmer ou proposer un autre créneau
- Rappel automatique 24h avant la visite confirmée
- Statut : En attente / Confirmée / Annulée
Publication par un particulier
👤 Grand Public (vendeur/bailleur)
- Formulaire guidé étape par étape (wizard)
- Type de transaction : vente ou location
- Adresse complète (non visible publiquement, seule la commune)
- Upload de photos (max 20, 5MB/photo)
- Upload plan d'étage (PDF ou image)
- Description libre avec mise en forme basique
- Prix demandé
- Validation email du compte avant publication
- Nombre de vues totales et par jour
- Nombre de contacts reçus
- Nombre de fois ajouté en favoris
- Modifier / désactiver / republier son annonce
Publication & gestion des annonces (Agence)
🏢 Agence / Propriétaire professionnel
- Tous les champs du formulaire particulier +
- Référence interne agence
- Upload plan d'étage 2D obligatoire
- Informations légales : PEB, précompte, charges copropriété
- Prix affiché / prix sur demande
- Option "Exclusivité agence"
- Programmation de la date de publication
- 🆕 Nouveau : automatique si publié < 7 jours
- ⬇️ Prix réduit : automatique à chaque baisse de prix
- 🤝 Sous offre : manuel par l'agence
- ✅ Vendu / Loué : archivage automatique
- Liste paginée de toutes les annonces (actives, archivées)
- Filtres : statut, type, agent responsable
- Actions groupées : archiver, republier, modifier le prix
- Tri par : date, vues, contacts, prix
Dashboard Agence
🏢 Agence / Propriétaire professionnel
- Vues totales (7j / 30j / tout)
- Nombre de contacts reçus
- Nombre de demandes de visite
- Taux de contact (contacts / vues en %)
- Annonces les plus vues
- Évolution semaine vs semaine précédente
- Logo, nom, description, adresse
- Numéro de téléphone et site web
- Toutes les annonces actives de l'agence
- Badge de réactivité (temps de réponse moyen)
Gestion des visites (Agence)
🏢 Agence
- Liste de toutes les visites (en attente / confirmées / passées)
- Accepter / refuser / proposer un autre créneau
- Ajouter des notes sur un visiteur
- Export CSV des visites
Modération des annonces
🔧 Administrateur
- File d'attente des annonces à valider
- Approbation / rejet avec motif
- Signalement par les utilisateurs
- Suppression d'urgence d'une annonce en ligne
- Historique des actions de modération
- Lecture des conversations signalées
- Blocage d'un utilisateur
- Suppression de messages abusifs
Gestion des comptes
🔧 Administrateur
- Liste et recherche de tous les utilisateurs
- Voir le profil, les annonces, les messages d'un compte
- Suspendre / réactiver un compte
- Supprimer un compte (conformité RGPD)
- Changer le rôle d'un utilisateur
- Formulaire d'inscription agence (KBONR, IPI, documents)
- File de validation admin
- Approbation / rejet avec notification email
- Badge "Agence vérifiée" sur le profil public
KPIs & Supervision plateforme
🔧 Administrateur
- Utilisateurs actifs (jour, semaine, mois)
- Nouvelles inscriptions
- Annonces publiées / archivées
- Messages envoyés
- Visites demandées
- Alertes système (erreurs, performances)
User Stories clés
Format : En tant que [rôle], je veux [action] afin de [bénéfice]
Planning de développement — 12 semaines
Estimation pour une équipe de 2-3 développeurs full-stack
Risques & Mitigation
Principaux risques identifiés pour le MVP 1