Skip to content

Prototype de la future API de gestion de la Base adresses nationale

Notifications You must be signed in to change notification settings

fb98/ban

 
 

Repository files navigation

Build Status Coverage Status Requirements Status # BAN

This is a POC of API for managing the future "Base adresses nationale".

Install

OSX

Install system dependencies with homebrew (or by hand)

brew install postgres postgis

Linux

Install system dependencies

sudo apt-get build-dep python-psycopg2
sudo apt-get install python3.4 python3.4-dev python-virtualenv postgresql-9.4 postgis build-essential libffi-dev

Create a virtualenv (but you'd better use virtualenvwrapper or pew):

virtualenv banenv --python=`which python3.4`
source banenv/bin/activate

Install developpement tools

pip install ipython ipdb

Create a psql database

sudo -u postgres createdb ban -O youruser

Add postgis and hstore extensions

psql ban
CREATE EXTENSION postgis;
CREATE EXTENSION hstore;

Windows

Install system dependencies

-Configure your environment variables: setx path "%PATH%;C:\New Folder" (user variable) or set path "%PATH%;C:\New Folder" (system variable)

Create a virtualenv

pip install virtualenv
virtualenv banenv
banenv/Scripts/activate.bat

Install developpement tools

pip install ipython pyreadline ipdb

Create a psql database

createdb -U youruser ban

Add postgis and hstore extensions

psql ban youruser
CREATE EXTENSION postgis;
CREATE EXTENSION hstore;

Project configuration

Clone repository

git clone https://github.com/BaseAdresseNationale/ban
cd ban/

Install python dependencies

pip install -r requirements.txt

Install ban locally

python setup.py develop

Data setup

Create tables

ban db:create

Create at least use staff user

ban auth:createuser --is-staff

Import municipalities (get the file from http://www.collectivites-locales.gouv.fr/files/files/epcicom2015.csv)

ban import:municipalities epcicom2015.csv --departement 33

Import some adresses (get data from http://bano.openstreetmap.fr/BAN_odbl/)

ban import:oldban BAN_odbl_33-json

Run the server

Create a dummy token for development:

ban auth:dummytoken blablablabla

You will need to use it for any request to the API, passing the header Authorization: Bearer blablablabla. Replace blablablabla both on the command line and header value by any other value you can remember easily.

http 'http://localhost:5959/' Authorization:'Bearer blablablabla'

This is just for development, never user this command in production servers.

For development:

ban server:run

For production, you need to use either gunicorn or uwsgi.

Load the API root to get the available endpoints:

http http://localhost:5959/

About

Prototype de la future API de gestion de la Base adresses nationale

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%