axione-elig-test/README.md

54 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2021-10-17 18:16:29 +02:00
# Axione FTTH - Test d'Éligibilité
## Configuration
Ce programme se configure à l'aide du fichier ini se trouvant à `/etc/axione-elig-test.ini`. Vous pouvez utiliser `./elig-test.ini.sample` de ce dépôt git comme point de départ.
## Travailler sur l'Application Python
Nous utilisons [poetry](https://python-poetry.org/) pour gérer les dépendances python. Vous pouvez l'installer a l'aide du package manager de votre distribution. Si vous utilisez Nix, vous pouvez l'obtenir en entrant en tapant `nix-shell`.
Une fois poetry installé, vous pouvez obtenir les dépendances Python à l'aide de `poetry install`. Vous pouvez ensuite obtenir un interprêteur Python pré-configuré pour utiliser ces dépendances à l'aide de `poetry shell`.
2021-10-17 18:16:29 +02:00
## Jouer les Tests
Nous avons quelques tests pour le parseur. Vous pouvez les jouer à l'aide de:
```bash
2021-11-10 23:22:46 +01:00
$ poetry run pytest
```
2021-10-17 18:16:29 +02:00
## Debugger l'Application Localement
Travailler depuis la VM whitelistée par Axione est peu pratique. C'est pourquoi nous avons ajouté un mode debug permettant de simuler les réponses d'Axione.
Pour lancer la webapp localement en mode debug, vous pouvez utiliser le script `run-dev-server`:
2021-10-17 18:16:29 +02:00
```bash
./run-dev-server
2021-10-17 18:16:29 +02:00
```
2021-11-02 15:35:21 +01:00
### Tester la recherche d'adresses
Pour tester la recherche d'addresse il faut en local la DB sqlite contenant les infos de Fantoir et de la base de la Poste (Infos sur les communes)
Dans le fichier elig-test.ini bien renseigner le chemin en local vers cette base (champ `db_addresses_sqlite_path` dans la section `[ADDRESSES]`)
Une fois le serveur lancer comme décrit plus haut, on peut tester l'API via curl :
```bash
# Obtenir la liste de toutes les communes
2021-11-10 23:23:58 +01:00
curl -v http://127.0.0.1:5000/addresses/communes
2021-11-02 15:35:21 +01:00
# Chercher une commune par nom
curl -v http://127.0.0.1:5000/addresses/communes?s=plonevez+du+faou
# Chercher une commune par code postal
curl -v http://127.0.0.1:5000/addresses/communes?s=29530
# Chercher les voies d'une commune via son code insee
curl -v http://127.0.0.1:5000/addresses/fantoirvoies/29036
2021-11-10 23:23:58 +01:00
```
### Jeux de données
#### Insee
Importez ce CSV https://www.data.gouv.fr/fr/datasets/base-officielle-des-codes-postaux/ dans la base de données