Aller au contenu
← projets / Estimap

Estimap

Carte interactive de France fusionnant 16 sources de données publiques immobilières — DVF, cadastre, BDNB, DPE, INSEE, risques, écoles, transports — au service d'un moteur d'estimation de prix.

Fiche
année
2025
rôle
Conception et développement full-stack
statut
En développement
front
Nuxt 3, MapLibre GL
back
FastAPI, Celery
données
PostGIS, Redis
Estimap — vue carte plein écran
Estimap — vue d'ensemble

Contexte

Le problème

Les données immobilières françaises sont publiques et gratuites. Elles sont aussi éparpillées : les transactions dans DVF, la géométrie des parcelles dans le cadastre, les caractéristiques du bâti dans la BDNB, la performance énergétique dans les DPE, la démographie à l'INSEE, l'exposition aux risques ailleurs encore — et bien d'autres : équipements de proximité, transports, fibre, écoles, permis de construire, copropriétés.

Chacune a son format, sa granularité et son identifiant pivot. Croiser « le prix au m² des maisons construites avant 1975 avec un DPE F ou G dans un secteur inondable » demande donc un travail de fusion préalable considérable.

L'objectif produit

Un moteur d'estimation de prix immobilier — la carte est le support d'exploration, mais l'objectif est de nourrir un modèle avec des caractéristiques réellement croisées.

La phase 1 (comparables kNN pondérés, rayons progressifs, garde-fous de plausibilité) est en production et répond aujourd'hui à 100 % des requêtes d'estimation. La phase 2 (LightGBM, 27 features) est en cours d'entraînement final avant promotion, avec un gate de promotion automatique qui compare tout nouveau modèle au modèle actuellement servi.

Architecture

  • Frontend : Nuxt 3 + MapLibre GL, tuiles PMTiles — carte, fiche de bien, backoffice
  • Backend : FastAPI + SQLAlchemy, avec Celery pour les traitements longs
  • Données : PostgreSQL / PostGIS pour le spatial, Redis comme broker et cache
  • Infra : docker-compose, workers séparés par file d'attente

Les workers sont scindés en deux files : imports pour l'ingestion des sources, et mutations pour les rebuilds, l'enrichissement, la génération de tuiles et l'entraînement du modèle. Cette séparation évite qu'un import de plusieurs heures bloque un recalcul de tuiles de quelques minutes.

Un backoffice /admin pilote 15 connecteurs de sources et suit l'état des imports.

Ce que couvre la carte

Environ 7 millions de ventes immobilières (18 M de lignes DVF brutes) affichées en points colorés par prix/m² ou en heatmap, filtrables par type, prix, DPE, piscine. Un clic ouvre la fiche de bien : historique des ventes, DPE étendu, contexte du bien (annexes, fibre, école avec IPS, copropriété, permis récents, parc/eau/bruit), risques réglementaires live, et les services à proximité affichables sur la carte.

Méthode

Le projet s'appuie sur une documentation en dix fichiers — architecture, sources, modèle de données, pipelines, API, frontend, backoffice, runbook, roadmap — tenue à jour à chaque évolution significative. Le runbook consigne notamment les pièges d'infrastructure appris à la dure, ce qui évite de les réapprendre.

Ce que j'en retire

Sur ce type de projet, la difficulté n'est jamais l'algorithme : c'est la réconciliation d'identifiants entre référentiels qui ne se sont jamais parlé. Une parcelle cadastrale et un bâtiment BDNB ne partagent pas de clé — il faut la reconstruire spatialement, et accepter un taux d'appariement imparfait. Et une mesure de qualité (un medAPE de backtest, par exemple) ne vaut que si son protocole est audité : une fuite temporelle entre comparables et vente testée a longtemps faussé le chiffre affiché.

Architecture

01 · Frontend

Nuxt 3 + MapLibre GL (tuiles PMTiles) — carte, fiche de bien, backoffice.

02 · Backend

FastAPI + SQLAlchemy, Celery pour les traitements longs, deux files séparées (imports/mutations).

03 · Données

PostgreSQL / PostGIS (~100 M de lignes) pour le spatial, Redis comme broker et cache.

04 · Infra

Docker Compose, workers séparés par file d'attente.

Interface

Fiche de bien — vente, DPE, risques Géorisques, contexte et services à proximité.
Backoffice — santé des services, tuiles DVF et suivi des jobs en temps réel.
Backoffice — pilotage des 15 connecteurs de sources de données.

Projet suivant

Globe Satellites

Continuer