LePrixImmo.fr

Consultez les prix immobiliers officiels de 35 000 communes françaises. Données DVF, statistiques et transactions des 5 dernières années.

LePrixImmo.fr

Plateforme de Données Immobilières DVF

Site web permettant la consultation et l'analyse des données officielles de transactions immobilières françaises (Demande de Valeurs Foncières)

Architecture Technique

Backend

  • Framework : Django
  • Base de données : SQLite avec optimisations (WAL mode, cache_size, mmap_size)
  • Cache : Redis avec django-redis pour la mise en cache des requêtes fréquentes
  • Tâches asynchrones : Celery avec Celery Beat pour les tâches planifiées
  • Stockage fichiers : MinIO/S3 via django-storages pour les médias
  • API REST : Django REST Framework pour les endpoints API

Frontend

  • Framework CSS : Tailwind CSS compilé via django-tailwind
  • Interactivité : HTMX pour les interactions dynamiques sans rechargement de page
  • Templates : Système de templates Django avec héritage et inclusions
  • JavaScript : Vanilla JavaScript pour l'autocomplétion et les graphiques

Fonctionnalités Principales

Recherche Intelligente de Communes

  • Système de recherche multi-critères avec autocomplétion en temps réel
  • Recherche par nom, code INSEE, code postal avec priorisation des résultats
  • Normalisation des requêtes (suppression d'espaces multiples, gestion de la casse)
  • Recherche par mots-clés multiples avec combinaison logique AND
  • Suggestions affichées via API JSON et injection HTML dynamique

Navigation Géographique

  • Hiérarchie : Régions → Départements → Communes → Voies
  • URLs SEO-friendly avec slugs normalisés
  • Validation des relations géographiques pour éviter les erreurs 404
  • Pagination optimisée pour les grandes listes (communes, voies, transactions)

Affichage des Données Immobilières

  • Statistiques pré-calculées : Stockage des statistiques dans des modèles dédiés pour performances optimales
  • Données par type de bien : Maisons, appartements, locaux commerciaux
  • Indicateurs : Prix moyen/médian au m², nombre de ventes, évolution en pourcentage
  • Graphiques d'évolution : Visualisation temporelle des prix avec données mensuelles/trimestrielles
  • Transactions récentes : Affichage des 20 dernières transactions avec détails complets
  • Statistiques par voie : Agrégation des ventes par rue/avenue avec calculs optimisés via ORM

Modèles de Données DVF

  • Modèles dynamiques par année (DVF2020, DVF2021, DVF2022, DVF2023, DVF2024, DVF2025)
  • Fonction factory pour récupérer le modèle approprié selon l'année
  • Indexation sur code_insee, code_commune, voie_slug pour performances
  • Calcul automatique du prix au m² côté requête et pré-calcul pour les statistiques

Calculs Statistiques

  • Statistiques globales : Agrégation pour chaque commune, département, région
  • Évolution temporelle : Comparaison année N vs année N-1 avec calcul de pourcentage
  • Prix médians : Calcul de la médiane pour éviter les biais des valeurs extrêmes
  • Optimisations : Utilisation de select_related, prefetch_related, only() pour limiter les requêtes
  • Agrégation ORM : Utilisation d'annotate() et aggregate() pour calculs en base de données

Communes Voisines

  • Détection géographique via coordonnées GPS (latitude/longitude)
  • Calcul de distance avec formule de Haversine
  • Rayon de recherche configurable (par défaut 20km)
  • Affichage des statistiques comparatives des communes proches

Système de Blog Intégré

  • Gestion de contenu : Articles avec catégories, tags, auteurs
  • Recherche HTMX : Recherche dynamique sans rechargement dans le blog
  • Gestion des médias : Images optimisées avec Pillow, stockage S3
  • SEO : Meta tags dynamiques, temps de lecture estimé
  • Pagination : Système de pagination pour listes d'articles

Outils Immobiliers

  • Calculateur de rentabilité : Outil de calcul pour investissements immobiliers
  • Simulateur de prêt : Calcul des mensualités de prêt immobilier
  • Comparateur de prix : Comparaison entre différentes zones géographiques

Optimisations et Performance

Cache

  • Cache de page avec cache_page() pour la page d'accueil (1 heure)
  • Redis pour cache distribué en production
  • Cache des requêtes fréquentes (villes populaires, statistiques)

Optimisation des Requêtes

  • select_related() pour les jointures ForeignKey
  • prefetch_related() pour les relations ManyToMany et reverse ForeignKey
  • only() et defer() pour limiter les champs chargés
  • Indexation sur champs fréquemment recherchés
  • Agrégation en base de données plutôt qu'en Python

Base de Données

  • Mode WAL (Write-Ahead Logging) pour meilleures performances en lecture/écriture simultanées
  • Configuration du cache SQLite (cache_size=2000 pages)
  • MMap pour les grandes bases de données (mmap_size=128MB)
  • Index composés sur combinaisons fréquentes de champs

Tâches Asynchrones (Celery)

  • Import de données DVF : Tâche planifiée pour importer les nouvelles données (tous les 6 mois)
  • Calcul de statistiques : Calcul automatique des statistiques communes
  • Récupération d'informations : Mise à jour des données géographiques des communes et départements
  • Publication réseaux sociaux : Génération et publication automatique de posts (Twitter/Bluesky)

Sécurité et Production

  • HTTPS : Configuration SSL avec SECURE_SSL_REDIRECT
  • HSTS : HTTP Strict Transport Security activé
  • Cookies sécurisés : CSRF et Session cookies en mode sécurisé
  • Headers sécurité : X_FRAME_OPTIONS pour protection clickjacking
  • Gestion des logs : Système de logging structuré avec colorlog

SEO et Accessibilité

  • Schema.org : Données structurées FAQPage et WebSite avec SearchAction
  • Meta tags dynamiques : Title, description, Open Graph, Twitter Cards personnalisés par page
  • Sitemap : Génération automatique de sitemap XML
  • URLs optimisées : Slugs normalisés, structure hiérarchique claire
  • Robots.txt : Configuration pour les moteurs de recherche

Données et Volume

  • 35 000+ communes : Couverture complète de la France métropolitaine et DOM-TOM
  • 5 années de données : Historique complet de 2020 à 2024
  • Millions de transactions : Base de données contenant toutes les transactions DVF officielles
  • Statistiques pré-calculées : Modèle StatistiqueCommune pour accès rapide
  • Données géographiques : Coordonnées GPS, contours GeoJSON, informations administratives

Architecture Modulaire

  • mainSite : Application principale pour la consultation des données immobilières
  • blog : Module de blog avec articles, catégories, tags, auteurs
  • outils : Modules d'outils de calcul immobilier
  • api : API REST pour accès programmatique aux données
  • theme : Configuration Tailwind CSS

Technologies et Bibliothèques

  • Backend : Django, Celery, Redis, django-redis, django-celery-beat
  • API : Django REST Framework
  • Frontend : Tailwind CSS, HTMX
  • Stockage : django-storages, boto3
  • Images : Pillow pour traitement d'images
  • Visualisation : Matplotlib pour génération de graphiques
  • Logging : colorlog pour logs colorés en développement

Informations

Statut

Site ouvert

Visiter le site

Comparez les prix immo

Galerie d'images

Calculator

Calculator

Calculator

Toulouse

Toulouse

Toulouse

Tools

Tools

Tools