README.md 2.07 KB
Newer Older
Nicolas Joyard's avatar
Nicolas Joyard committed
1 2 3 4 5 6 7 8 9
ParlAPI
=======

L'objectif de ParlAPI est de fournir une API réellement utilisable sur l'Open
Data parlementaire.

Les données proviennent des portails Open Data parlementaires :
* [data.assemblee-nationale.fr](http://data.assemblee-nationale.fr/)
* [data.senat.fr](http://data.senat.fr/)
10

Nicolas Joyard's avatar
Nicolas Joyard committed
11
ParlAPI est conçu de manière à respecter le plus fidèlement possible le schéma
12
de données des sources parlementaires.  En particulier, aucune donnée calculée
Nicolas Joyard's avatar
Nicolas Joyard committed
13 14 15 16 17 18
n'est ajoutée au modèle.

## Installation

### Prérequis

19
- Python 3.6
Nicolas Joyard's avatar
Nicolas Joyard committed
20 21
- PostgreSQL 9.2+
- pip
Nicolas Joyard's avatar
Nicolas Joyard committed
22
- virtualenv
Damien's avatar
Damien committed
23
- graphviz + headers (`libgraphviz-dev` sous ubuntu)
24
- libyajl2 + headers
Nicolas Joyard's avatar
Nicolas Joyard committed
25

Nicolas Joyard's avatar
Nicolas Joyard committed
26 27 28
### Installation

```bash
David Guillot's avatar
David Guillot committed
29
$ git clone https://git.regardscitoyens.org/regardscitoyens/parlapi.git
Nicolas Joyard's avatar
Nicolas Joyard committed
30 31 32 33 34 35 36 37 38 39 40
$ cd parlapi
$ virtualenv ve
$ source ve/bin/activate
$ pip install -e .
$ psql -c "create user parlapi with password 'parlapi';"
$ psql -c "create database parlapi with owner parlapi;"
```

### Utilisation

```bash
41
$ parlapi db upgrade
Damien's avatar
Damien committed
42 43 44 45 46 47 48 49 50 51
$ parlapi job --job an_amo20 # AN: députés-sénateurs-ministres
$ parlapi job --job an_amo30 # AN: députés (historique)
$ parlapi job --job an_dossiers14 # AN: dossiers législatifs XIVème
$ parlapi job --job an_dossiers15 # AN: dossiers législatifs
$ parlapi job --job an_amendements14 # AN: amendements XIVème
$ parlapi job --job an_amendements15 # AN: amendements XVème
$ parlapi job --job an_scrutins14 # AN: scrutins XIVème
$ parlapi job --job an_scrutins15 # AN: scrutins XVème
$ parlapi job --job an_reunions14 # AN: réunions XIVème
$ parlapi job --job an_reunions15 # AN: réunions XIVème
Nicolas Joyard's avatar
Nicolas Joyard committed
52 53
$ parlapi runserver
```
54

David Guillot's avatar
David Guillot committed
55 56 57
### Mise à jour d'une installation existante

```bash
58
$ parlapi db upgrade
David Guillot's avatar
David Guillot committed
59 60
```

61 62 63 64
### Déploiement Apache2/mod_wsgi

Voir le rôle `parlapi` dans le [playbook citoyen][gh-playbook]

65 66
## Développement

Nicolas Joyard's avatar
Nicolas Joyard committed
67
### Génération de migrations
68 69 70 71

Après avoir modifié les modèles Python :

```bash
Nicolas Joyard's avatar
Nicolas Joyard committed
72
$ parlapi db migrate -m <description>
73 74 75
$ parlapi db upgrade
```

Nicolas Joyard's avatar
Nicolas Joyard committed
76 77 78 79 80
### Création de migration vierge

```bash
$ parlapi db revision -m <description>
```
81 82

[gh-playbook]: https://github.com/regardscitoyens/playbook-citoyen