-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #204 from BaseAdresseNationale/antoineludeau/db-se…
…ed-service-to-init-data-to-db Improved local deployment
- Loading branch information
Showing
5 changed files
with
62 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,72 +1,86 @@ | ||
# Plateforme Base Adresse Nationale | ||
# Plateforme de la Base Adresse Nationale | ||
|
||
Ce dépôt regroupe l'essentiel des briques faisant partie de la plateforme Base Adresse Nationale, à savoir : | ||
## Architecture | ||
|
||
- les routines d'import ; | ||
- les routines de consolidation ; | ||
- les routines de production des fichiers ; | ||
- un service "worker" réagissant en temps réel à toute modification. | ||
La BAN Plateforme contient : | ||
- Une API synchrone et asynchrone : serveur Express (point d'entrée : server.js). | ||
L'API asynchrone envoit des tâches dans la queue du redis, pris en charge par le worker. | ||
- Un worker (point d'entrée : worker.js) qui récupère les tâches du redis (qui ont été déposées soit par l'API, soit par les scripts). | ||
- Des scripts (imports, consolidation, exports, ...). | ||
|
||
## Installer un environnement de développement | ||
La BAN Plateforme import et export des données d'une base MongoDB. | ||
|
||
### Pré-requis | ||
|
||
- Node.js 16 ou supérieur | ||
- MongoDB 4 ou supérieur | ||
- Redis | ||
- yarn ou npm | ||
## Installation | ||
|
||
### Configuration | ||
Pour mettre en place un environnement fonctionnel, vous pouvez partir du fichier .env.sample et le copier en le renommant .env. | ||
|
||
Pour mettre en place un environnement fonctionnel, vous pouvez partir du fichier `.env.sample` et le copier en le renommant `.env`. | ||
### Deploiement local avec Docker | ||
|
||
Compte-tenu de la puissance de calcul nécessaire pour effectuer les traitements sur France entière il est conseillé de restreindre à un seul département pour les développements. Par exemple `DEPARTEMENTS=57`. | ||
#### Pré-requis | ||
- Docker | ||
- Docker-compose | ||
|
||
### Installation des dépendances | ||
#### Commandes | ||
Pour déployer l'environnement, lancer la commande suivante : | ||
|
||
```bash | ||
yarn | ||
```sh | ||
docker-compose up --build -d | ||
``` | ||
|
||
### Préparation des contours administratifs | ||
--build : permet de builder les images locales. | ||
-d : permet de lancer les conteneurs en arrière plan. | ||
|
||
```bash | ||
yarn prepare-contours | ||
``` | ||
Prepare les contours France entière sans prendre en compte le .env. | ||
La commande précédente va déployer une architecture locale, interconnectée, avec : | ||
- un conteneur "db" (image mongo:4.2.23) | ||
- un conteneur "redis" (image redis:4.0.9) | ||
- un conteneur "api" (à partir de l'image définie dans le fichier docker-resources/api/Dockerfile.dev) => Au lancement de ce conteneur, un script d'initialisation (défini dans le fichier docker-resources/api/start.sh) va permettre le téléchargement des données requises au démarrage de la plateforme. | ||
|
||
### Téléchargement des données nécessaires | ||
### Deploiement local sans Docker | ||
|
||
```bash | ||
yarn download-datasets | ||
``` | ||
Télécharge fantoir.sqlite, gazetteer.sqlite, communes-locaux-adresses.json. | ||
#### Pré-requis | ||
- Node.js 16 ou supérieur | ||
- MongoDB 4 ou supérieur | ||
- Redis | ||
- yarn ou npm | ||
|
||
### Import des différentes sources | ||
#### Commandes | ||
Pour installer les dépendances, lancer la commande suivate : | ||
|
||
```bash | ||
yarn import:ign-api-gestion | ||
yarn import:cadastre | ||
yarn import:ftth | ||
```sh | ||
yarn | ||
``` | ||
Prend en compte le .env pour ne télécharger les données que sur le département concerné. | ||
|
||
### Consolidation des adresses | ||
Il faut ensuite télécharger les fichiers requis au démarrage de la plateforme avec les commandes suivantes : | ||
|
||
```sh | ||
yarn prepare-contours ## Prepare les contours administratifs de la France entière. | ||
``` | ||
|
||
```bash | ||
yarn compose | ||
```sh | ||
yarn download-datasets ## Télécharge fantoir.sqlite, gazetteer.sqlite, communes-locaux-adresses.json. | ||
``` | ||
|
||
### Production des fichiers | ||
Pour déployer l'api et le worker, lancer les deux commandes suivantes en parallèle : | ||
|
||
```bash | ||
yarn dist | ||
```sh | ||
yarn dev | ||
``` | ||
|
||
## Opérations d’exploitation | ||
```sh | ||
yarn worker:dev | ||
``` | ||
|
||
### Autres commandes | ||
|
||
### Appliquer la mise à jour de la liste des communes certifiées d'office | ||
```sh | ||
yarn compose ## Consolidation des adresses | ||
``` | ||
|
||
```bash | ||
yarn apply-batch-certification | ||
```sh | ||
yarn dist ## Production des fichiers d'export | ||
``` | ||
|
||
```sh | ||
yarn apply-batch-certification ## Appliquer la mise à jour de la liste des communes certifiées d'office | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters