Giter Club home page Giter Club logo

dvf-app's Introduction

Explorer les données de DVF (Demandes de Valeur Foncière)

La base de données DVF recense les mutations à titre onéreux (vente, vente en l'état futur d'achèvement, vente terrain à bâtir, échange, adjudication, expropriation) advenues les 5 dernières années.

L'application https://app.dvf.etalab.gouv.fr prend appui sur ces données et propose de visualiser les transactions à la maille de la parcelle cadastrale. Elle a été développée par l'équipe de la mission Etalab.

Nous lirons volontiers vos suggestions d'amélioration.

Les données de Mayotte ainsi que de l'Alsace et de la Moselle sont manquantes car gérées par le Livre Foncier et non par la DGFiP

Une API développée par Christian Quest est disponible ici, avec sa documentation.

Installation

1- Pré-requis

Il faut un serveur Linux (ici, nous prendrons Ubuntu 18.04 comme exemple)

2- Récupération du dépôt

$ git clone https://github.com/etalab/DVF-app
$ cd DVF

3- Installation minimale : pour développer l'interface utilisateur seule (Front End)

Pour participer au développement de l'interface utilisateur, il n'est pas nécessaire d'installer Python et PostgreSQL.

$ sudo apt-get update && sudo apt install nodejs
$ nodejs -v
v8.10.0 
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt-get update && sudo apt-get install yarn
$ yarn --version
1.15.2

Un script Node.js permet de servir l'interface et de faire proxy vers l'API de production.

installation des dépendances Node.js

$ yarn

Démarrage du serveur Web (port 3000 par défaut)

$ yarn start

4- Suite de l'installation : pour développer l'ensemble de l'application (Full Stack: Back End + Front End)

PostgreSQL

$ sudo apt-get update && sudo apt install postgresql-10
$ psql -V
psql (PostgreSQL) 10.7 (Ubuntu 10.7-0ubuntu0.18.04.1)

Creation de la base de données et import des données :

Le script commence par créer une base de données PostgreSQL et une table, puis télécharge les données DVF retraitées par Etalab, disponibles ici. Enfin quelques post-traitements sont effectués (traitement de quelques minutes).

$ sh db/build_db.sh

Configuration de l'accès à la base de données

Dans la commande ci-dessous, remplacer par votre mot de passe.

$ sudo -u postgres psql
postgres=# \password postgres
Enter new password: <YOUR PASSWORD>
Enter it again: <YOUR PASSWORD>
postgres=# \q

$ echo -e "postgres\n<YOUR PASSWORD>\nlocalhost" > config.csv

Installation des packages pythons :

$ sudo apt-get update && sudo apt install python3
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
$ sudo apt install libpq-dev python-dev
$ sudo apt install python3-psycopg2 python3-flask python3-pandas python3-sqlalchemy python3-psycopg2

Démarrage du serveur Web (port 5000 par défaut)

$ python app.py

Configuration

Certains paramètres peuvent être écrasés au moyen d'un fichier .env. Le fichier .env.sample est fourni en exemple.

Re-générer le fichier communes-mapping.json

yarn build-communes-mapping

dvf-app's People

Contributors

abulte avatar antoineaugusti avatar bzg avatar cvagner avatar geoffreyaldebert avatar gllmr avatar jbledevehat avatar jdesboeufs avatar kriom avatar louisdecharson avatar marion-paclot avatar pierlou avatar pimpin avatar pomeh avatar thomasg77 avatar tmerlier avatar villfa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dvf-app's Issues

Pas de date de mutation pour 2018

Bonjour,

Pour une commune comme Orchies (59), sur plusieurs sections de cadastre, je n'ai aucune date de mutation pour 2018 (jusque fin juin pour cette année-là), tout s'arrête à fin 2017...
Est-ce normal ? Les données sont-elles manquantes ou ne sont pas remontées par "l'app" ?
Merci.
Cordialement

Recherche par adresse

Est-il possible d'ajouter une recherche par adresse ?
Pas toujours facile de trouver la parcelle qu'on cherche !

minor fix in README

Juste une correction mineure dans le README: ce n'est pas seulement l'Alsace qui manque,
mais aussi la Moselle il me semble.

Merci pour cette tres belle appli !

Liens profonds

Actuellement l'application ne dispose que d'une seule URL, ce qui ne permet pas de pointer facilement du contenu lorsqu'on échange avec quelqu'un.

Je veux par exemple pointer les transactions sur une parcelle proche d'un bien convoité par un ami et lui transmettre via une messagerie instantanée.
Ou alors je suis un agent immobilier et je veux illustrer un échange avec un client par email avec des éléments chiffrés "officiels".

Dans un premier temps je propose de mettre en place ces nouvelles URL :

Qu'en pensez-vous ?

quid des mutations sur plusieurs sections

Bonjour,
Dans le découpage, il semblerait que les mutations sont cloisonnées par département, commune, section. Mais je crois qu'une mutation peut concerner plusieurs sections. est-ce bien pris en compte par l'outil ?

Certaines parcelles cadastrales n'apparaissent plus (Hauts de Seine)

Bonjour,
Certaines parcelles cadastrales, qui étaient accessibles avant la dernière mise à jour, n'apparaissent plus. Par exemple, les parcelles D et AM à Suresnes (92) ou AL à Rueil Malmaison (92). Pourtant, des transactions sont bien présentes dans les données brutes.
Bonne journée

Boutton A propos non fonctionnel

Bonjour,

Le bouton A propos dans le bandeau d’entête ne fonctionne pas.
Quand on le clique l'URL change en https://app.dvf.etalab.gouv.fr/#about mais rien n’apparaît.
Testé sous Firefox 66 et Chrome 73.

Cordialement,

Guillaume

Alsace manquante

Merci pour ce super boulot !
J'ai diffusé en interne l'outil et on m'a signalé que l'Alsace manquait. (on a bien les parcelles cadastrales mais pas de valeurs foncières derrière)

Mais je ne sais pas si le jeu de données initial comporte ces données

Tri sur les mutations

L'affichage par date décroissante des mutations a sauté lors de la pr cataclysme

Failed to initialize WebGL

Pour information depuis le commit replace-leaflet 2720ba8 WebGL est obligatoire.

Cela implique que l'on perd une partie des utilisateurs ayant un matériel ne supportant pas cette fonctionnalité.

Screenshot from 2019-05-17 09-21-29

@tmerlier Est-ce envisageable d'avoir une rétrocompatibilité avec leaflet dans le cas ou WebGL ne fonctionnerait pas ?

Bien cordialement,

DVF pour les dates antérieures à 2014

Bonjour,

Fantastique initiative !
Ce n'est probablement pas une "issue", mais j'ai remarqué que les données n'étaient pas disponible avant 2014.
Est-il prévu de les ajouter ?

Olivier

Site HS aujourdhui ?

Bonjour,

Semble ne pas fonctionne aujourd'hui la même chose chez vous ?
Toutes les inputs du menu ne sont pas accessible. Pas de carte au centre.

Chrome Version 76.0.3809.100 + Windows 10.

Use integer when possible in database

Bonjour,

Certains champs sont toujours des entiers. Il serait donc judicieux de les déclarer en tant que tel lors de la création de la table.

Cela permettrait de faire des requêtes sur les valeurs et surfaces des lots.

--- create_table.sql	2019-04-28 21:45:30.079744401 +0200
+++ create_table2.sql	2019-05-01 23:01:07.760996864 +0200
@@ -14,7 +14,7 @@
 	"No disposition" character varying,
 	"Date mutation" date,
 	"Nature mutation" character varying,
-	"Valeur fonciere" character varying,
+	"Valeur fonciere" bigint,
 	"No voie" character varying,
 	"B/T/Q" character varying,
 	"Type de voie" character varying,
@@ -29,15 +29,15 @@
 	"No plan" character varying,
 	"No Volume" character varying,
 	"1er lot" character varying,
-	"Surface Carrez du 1er lot" character varying,
+	"Surface Carrez du 1er lot" integer,
 	"2eme lot" character varying,
-	"Surface Carrez du 2eme lot" character varying,
+	"Surface Carrez du 2eme lot" integer,
 	"3eme lot" character varying,
-	"Surface Carrez du 3eme lot" character varying,
+	"Surface Carrez du 3eme lot" integer,
 	"4eme lot" character varying,
-	"Surface Carrez du 4eme lot" character varying,
+	"Surface Carrez du 4eme lot" integer,
 	"5eme lot" character varying,
-	"Surface Carrez du 5eme lot" character varying,
+	"Surface Carrez du 5eme lot" integer,
 	"Nombre de lots" integer,
 	"Code type local" integer,
 	"Type local" character varying,

lien cassé

Une API développée par Christian Quest est disponible ici, avec sa documentation.

le premier lien est cassé.

Remplissage SQL à partir des données DGFIP

Les données DVF sont livrées dans un format texte, mais l'application semble parler à une base SQL. Avez-vous prévu de publier le script qui crée la base SQL à partir des données source ?

An error occurred "section_prefix"

Good afternoon.

When I import data for 2019 ( add to previously imported data from 2014 to 2018, script import here line 26 https://github.com/etalab/DVF-app/blob/master/db/build_db.sh ) in postgresql on MacBook Pro (installed OS latest version) error occurs-missing data for column "section_prefixe". Please specify how you can fix it and correctly import data. The error log is given below:

ERROR: missing data for column "section_prefixe"
CONTEXT: COPY dvf, line 2: "2019-1,2019-01-11,000001,Vente,84000,552,,AV DE LYON,0260,01960,01289,Péronnas,01,,,01289000AD0226,..."

id_mutation,date_mutation,numero_disposition,nature_mutation,valeur_fonciere,adresse_numero,adresse_suffixe,adresse_nom_voie,adresse_code_voie,code_postal,code_commune,nom_commune,code_departement,ancien_code_commune,ancien_nom_commune,id_parcelle,ancien_id_parcelle,numero_volume,lot1_numero,lot1_surface_carrez,lot2_numero,lot2_surface_carrez,lot3_numero,lot3_surface_carrez,lot4_numero,lot4_surface_carrez,lot5_numero,lot5_surface_carrez,nombre_lots,code_type_local,type_local,surface_reelle_bati,nombre_pieces_principales,code_nature_culture,nature_culture,code_nature_culture_speciale,nature_culture_speciale,surface_terrain,longitude,latitude
2019-1,2019-01-11,000001,Vente,84000,552,,AV DE LYON,0260,01960,01289,Péronnas,01,,,01289000AD0226,,,44,,,,,,,,,,1,3,Dépendance,,0,,,,,,5.208543,46.187709
2019-1,2019-01-11,000001,Vente,84000,552,,AV DE LYON,0260,01960,01289,Péronnas,01,,,01289000AD0226,,,1,,36,67.08,,,,,,,2,2,Appartement,67,3,,,,,,5.208543,46.187709
2019-2,2019-02-08,000001,Vente,210000,5189,,LE METRILLOT,B041,01250,01254,Montagnat,01,,,01254000BB0023,,,,,,,,,,,,,0,1,Maison,118,4,AG,terrains d'agrément,PARC,Parc,913,5.270659,46.164406
2019-2,2019-02-08,000001,Vente,210000,5189,,LE METRILLOT,B041,01250,01254,Montagnat,01,,,01254000BB0023,,,,,,,,,,,,,0,1,Maison,118,4,S,sols,,,1000,5.270659,46.164406
2019-3,2019-04-04,000001,Vente,36000,40,,PL DE LA FONTAINE,0090,01560,01367,Saint-Julien-sur-Reyssouze,01,,,013670000A0138,,,,,,,,,,,,,0,1,Maison,60,3,S,sols,,,96,5.110259,46.400996
2019-4,2019-05-28,000003,Vente,600000,17,,AV ARSENE D ARSONVAL,0015,01000,01053,Bourg-en-Bresse,01,,,01053000BO0552,,,,,,,,,,,,,0,,,,,S,sols,,,1,5.218298,46.218864
2019-4,2019-05-28,000003,Vente,600000,17,B,AV ARSENE D ARSONVAL,0015,01000,01053,Bourg-en-Bresse,01,,,01053000BO0553,,,,,,,,,,,,,0,4,Local industriel. commercial ou assimilé,900,0,S,sols,,,8912,5.218055,46.219114
2019-4,2019-05-28,000003,Vente,600000,17,B,AV ARSENE D ARSONVAL,0015,01000,01053,Bourg-en-Bresse,01,,,01053000BO0553,,,,,,,,,,,,,0,4,Local industriel. commercial ou assimilé,800,0,S,sols,,,8912,5.218055,46.219114
2019-5,2019-01-08,000001,Vente,84920,25,,RUE DE LA COMMUNE 1871,0246,01500,01004,Ambérieu-en-Bugey,01,,,01004000AP0963,,,2,39.42,,,,,,,,,1,2,Appartement,39,2,,,,,,5.350335,45.969487

Pas d'affichage informations

Bonjour,

Merci pour le travail réalisé.

Il doit y avoir des problèmes liés aux nouvelles communes :
Par exemple 89 Montholon 473ZN

Pas d'affichage de l'information concernant la vente si clic sur une parcelle bleue.

Cordialement.

MISE A JOUR DES DONNÉES DVF

Bonjour, il était - me semble t'il - prévu une mise à jour des données DVF et cela 2 fois par an en Avril et Octobre, quelqu'un saurait-il quand la mise à jour d'Octobre aura lieu et comment nous serons prévenus que les nouvelles données immobilières ont été mises à jour?
Par avance merci,
Gilles.

Fenêtre trop grande sur iPhone 6s

Lorsque je charge la page sur mon iPhone 6s (Safari), la fenêtre est trop haute et scrollable.
Cela ne permet pas de voir facilement le bas de la page, et donc les attributions OSM.

Pour la PR #54 cela va devenir problématique.

Image from iOS (1)

Couleur des parcelles avec transaction

Sur certains terrains, c'est particulièrement dur de reconnaître le bleu du "il y a une transaction ici". Par exemple

image

Est-ce qu'on pourrait avoir une couleur plus flash ?

Barres de défilement

Depuis la mise en production du correctif pour la barre de défilement à droite, mon navigateur m'affiche deux barres inutiles (une dans le menu de gauche et une sur la page entière). Voir la capture ci-dessous.

image

Pour reproduire : démarrer l'application sans rien faire.

Windows 7 / Chrome Version 74.0.3729.131 (Build officiel) (64 bits) / Toutes tailles de fenêtre

Sols en " nan m² "

La parcelle à Vaires-sur-Marne (77360) N°77479000AM0004 affiche pour les appartements un sols dont la valeur est "nan m²"

[FEATURE] : Géolocalisation

Bonjour,

Est-il envisageable d'ajouter une fonction liée à la géolocalisation ?

Scénario : je suis en vacances à tel endroit, je veux faire le curieux, j'ouvre DVF-app, je me géolocalise, et j'arrive directement sur la section cadastrale correspondante.

Erreur javascript - compatibilité

Rien à faire l'appli ne fonctionne pas sur ma machine.
FEDORA 29
Chrome Version 74.0.3729.108 (Build officiel) (64 bits)

Si etalab est un service de l'état il se doit d'être accessible.

Object.keys(json[0])

Uncaught TypeError: Cannot convert undefined or null to object
    at Function.keys (<anonymous>)
    at exportCSV (index.js?version=1:125)
    at HTMLAnchorElement.onclick ((index):1)
function exportCSV(el, data, fileName) {
	
	var json = data;
	var fields = Object.keys(json[0])
	var replacer = function(key, value) { return value === null ? '' : value } 
	var csv = json.map(function(row){
	  return fields.map(function(fieldName){
		return JSON.stringify(row[fieldName], replacer)
	  }).join(';')
	})
	csv.unshift(fields.join(';')); // add header column
	csv = csv.join('\r\n');
	
	el.setAttribute("href", "data:text/csv;charset=utf-8," + encodeURIComponent(csv));
	el.setAttribute("download", fileName);
}

Je vois également des console.log trainés un peu pas partout, il me semble que ça casse la compatibilité avec certain navigateur.

Problème lorsque l'on change le menu déroulant

Bonjour,
Il me semble que lorsqu'on change simplement dans le menu déroulant la section cadastrale ou la commune, la page n'est pas chargée comme il faut. Je m'explique : je fais une première recherche sur une section cadastrale particulière. Je change ensuite la section cadastrale, le plan cadastral s'affiche mais aucune transaction n'apparait... Alors que si je recharge la page web complètement et que je vérifie le résultat pour la deuxième section cadastrale que je voulais consulter, il y a effectivement des transactions qui s'affiche pour cette deuxième section cadastrale.
Merci et bonne journée et bravo pour le développement de cet outil hyper pratique !
Cécile

Menu du haut pour téléphones étroits

Actuellement, si on a un téléphone de poche, le menu du haut est très encombrant

image

Serait-il possible de le condenser, par exemple comme ci-dessous (en plus joli) ?

image

Le javascript mélange toutes les mutations d'une parcelle

Lorsqu'on sélectionne une parcelle avec plusieurs mutations différentes (dans le cas d'une copropriété par exemple), chaque mutation se voit affecter tous les lots de toutes les mutations. Ainsi le contenu des toutes les mutations est identique et comprends tous les lots (seuls les valeurs foncières et date de mutation diffèrent).

A priori l'erreur est dans la partie javascript, car les données retournées par l'API semblent correctes (id_mutation différents). Par exemple, un appel à https://app.dvf.etalab.gouv.fr/api/mutations2/75107/000BM/from=01-01-2014&to=31-12-2018 puis un filtre sur la parcelle 0037 montre bien des mutations différentes alors que le site liste les même lots pour chaque mutation.

Une API est-elle prévue?

Bonjour,

Cet "issue" n'en est pas une.
Je voudrais juste savoir si une API est prévue?
Merci.

François

Périmètre + critères de recherche (cf. PATRIM)

Bonjour,
Serait-il possible via l'interface de faire une extraction, comme sur l'ancienne base PATRIM, permettant une recherche autour d'une adresse donnée pour un ou plusieurs types de bien (nombre de pièces), et dans une fourchette de surfaces donnée ?
Une restitution en tableau .xls ou .csv permettrait d'exploiter le résultat.
La cerise sur le gateau (donc dispensable) serait une localisation des occurrences retenues sur la map, comme ci-dessous.

Bien cordialement,

Patrim-1
Patrim-2
Patrim-3

Copropriété sans données ?

La parcelle à Vaires-sur-Marne (77360) N°77479000AR0092 est une copropriété de 600 appartements. Elle devrait avoir des transactions, et même quelques dizaines de transactions. Est-ce une absence de données ?

Filtrage sur les dates en JS ?

Quitte à continuer à optimiser le nombre de requêtes servies par le cache Nginx, pourquoi ne pas retirer les paramètres de plage temporelle de la route /api/mutations2/ et laisser le client JavaScript faire lui-même le filtrage ?

Etage de l'appartement

Bonjour,

Bravo pour la volonté de rendre ce projet opensource !

Sur le site des impôts, Patrim, on avait accès au numéro d'étage des appartements. C'est une information essentielle sans quoi les données sont peu exploitables.

Est-ce qu'il est prévu de rajouter cette information ?

D'avance je vous en remercie.

Prix au m²

Bonjour,
En tant que développeur premièrement merci et bravo pour cette appli !
Serait-il possible d'avoir le prix au m² ? Car pour l'instant je suis obligé de faire à chaque fois une division par exemple 172 750 € et 83m² : 172 750÷83=181€/m²
Merci !

Mise a jour de octobre 2020 ?

Bonjour,

La MAJ est sortie le : Publiée le 26 octobre 2020 17:23
Savez-vous dans combien de temps elle sera disponible sur app.dvf.etalab.gouv.fr ?

En vous remerciant,
Cordialement.

Impossible de sélectionner une commune

Après avoir choisi le département, aucune commune n'est proposée...:
Uncaught (in promise) TypeError: Cannot read property 'setData' of undefined
at afficherCommunesDepartement (index.js?v=1:517)

Merci.

Ajouter to-do list/roadmap du projet dans le readme

Bonjour,

Tout d'abord super initiative et outil agréable à utiliser !

J'ai vu d'en un commentaire sur une autre issue qu'il y avait une roadmap, est il possible de la mettre public dans le readme ?

Merci d'avance !

Problème d'affichage de ventes multiples pour une parcelle

Lors de la sélection d'une parcelle ayant eu plusieurs vente sur la période donnée, toutes les ventes s'affichent avec les mêmes valeur en prix d'achat et date de vente. Les surfaces des biens semblent correctes quand il y a différents bien vendus dans cette parcelle.

dvf wordpress

bonjour
est ce que on peut intégrer DVF dans wordpress? si oui comment?
merci

Mauvais code Insee commune saint Martin

Bonjour
dans mes analyses je constate que le code insee de saint Martin, département 971 est encore de 97127 (ancien) dans les fichiers, alors qu'il a changé et que c'est maintenant 97801 (nouveau) .
Merci

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.