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.
Il faut un serveur Linux (ici, nous prendrons Ubuntu 20.04 comme exemple)
$ git clone https://github.com/etalab/DVF-app
$ cd DVF
Pour participer au développement de l'interface utilisateur, il n'est pas nécessaire d'installer Python et PostgreSQL.
- Node.js 8 ou supérieur
$ sudo apt-get update && sudo apt install nodejs
$ nodejs -v
v10.19.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.22.5
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-12
$ psql -V
psql (PostgreSQL) 12.6 (Ubuntu 12.6-0ubuntu0.20.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\n" > 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
$ sudo apt install python3-pip
$ pip3 install flask
$ pip3 install python-dotenv
Démarrage du serveur Web (port 5000 par défaut)
$ python3 app.py
Certains paramètres peuvent être écrasés au moyen d'un fichier .env
. Le fichier .env.sample
est fourni en exemple.
yarn build-communes-mapping