Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: README #431

Merged
merged 1 commit into from
Mar 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions .env.sample
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,7 @@ SMTP_BCC=
SHOW_EMAILS=YES
EDITOR_URL_PATTERN=https://mes-adresses.data.gouv.fr/bal/<id>/<token>
API_URL=http://localhost:5000
RUN_MIGRATION=0
API_DEPOT_URL=https://plateforme-bal.adresse.data.gouv.fr/api-depot
API_DEPOT_CLIENT_ID=
API_DEPOT_CLIENT_SECRET=
BAN_API_URL=https://plateforme.adresse.data.gouv.fr
URL_CONTOURS_COMMUNES=http://etalab-datasets.geo.data.gouv.fr/contours-administratifs/2023/geojson/communes-100m.geojson
DISABLE_TASKS=false
RUN_CRON_IN_API=false
PRINT_MEMORY_USAGE=false
BAN_API_URL=https://plateforme.adresse.data.gouv.fr
118 changes: 73 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# API Bases Adresse Locales
# Mes Adresses API

API permettant la gestion de bases d’adresses à l’échelon local
Mes adresses api est un dispositif logiciel composé de deux application

[![codecov](https://badgen.net/codecov/c/github/etalab/api-bal)](https://codecov.io/gh/etalab/api-bal)
[![XO code style](https://badgen.net/badge/code%20style/XO/cyan)](https://github.com/xojs/xo)
- API: permettant la gestion de bases d’adresses à l’échelon local coupler avec [Mes adresses](https://github.com/BaseAdresseNationale/mes-adresses)
- CRON: permettant le deploiement continue des BALs de mes-adresses-api vers [Api de depot](https://github.com/BaseAdresseNationale/api-depot)

## Documentation

➡️ [Accéder à la documentation de l'API](https://github.com/etalab/api-bal/wiki/Documentation-de-l'API)
https://adresse-data-gouv-fr.gitbook.io/bal/mes-adresses

## Pré-requis

Expand All @@ -19,82 +19,110 @@ API permettant la gestion de bases d’adresses à l’échelon local

### Installation

Installation des dépendances Node.js

```
yarn
```

### Démarrer le service
Créer les variables d'environnement

```bash
cp .env.sample .env
```

On pourra ensuite éditer les variables d'environnement dans le fichier `.env` si nécessaire.

### Développement

Lancer l'api de développement :

```
yarn start
$ yarn dev:api
```

### Lancer les tests
Lancer le cron de développement :

```
yarn test
$ yarn dev:cron
```

## Mise a jour

### Production

### Contoures des communes
Créer une version de production :

```
yarn update-contours
$ yarn build
```

### Cadastres des communes
Démarrer l'api (port 3000 par défaut) :

```
yarn update-cadastre
$ yarn start:api
```

Démarrer le cron :

## Configuration

Cette application utilise des variables d'environnement pour sa configuration.
Elles peuvent être définies classiquement ou en créant un fichier `.env` sur la base du modèle `.env.sample`.

| Nom de la variable | Description |
| --- | --- |
| `EDITOR_URL_PATTERN ` | Pattern permettant de construire l'URL vers l'édition d'une BAL |
| `MONGODB_URL` | Paramètre de connexion à MongoDB |
| `MONGODB_DBNAME` | Nom de la base de données à utiliser |
| `PORT` | Port à utiliser pour l'API |
| `SMTP_HOST` | Nom d'hôte du serveur SMTP |
| `SMTP_PORT` | Port du serveur SMTP |
| `SMTP_USER` | Nom d'utilisateur pour se connecter au serveur SMTP |
| `SMTP_PASS` | Mot de passe pour se connecter au serveur SMTP |
| `SMTP_SECURE` | Indique si le serveur SMTP nécessite une connexion sécurisée (`YES`) |
| `SMTP_FROM` | Adresse à utiliser en tant qu'expéditeur des emails |
| `SMTP_BCC` | Adresse(s) en copie cachée à utiliser pour tous les envois de notifications |
| `SHOW_EMAILS` | Indique si les courriels doivent être affichés dans les logs (`YES`) |
| `API_URL` | URL de base de l’API |
```
$ yarn start:cron
```

Toutes ces variables ont des valeurs par défaut que vous trouverez dans le fichier `.env.sample`.
### Mise a jour

## Docker
Mettre a jour les liste des communes (code insee) qui ont un cadastre

Il est possible d’executer cette application dans un conteneur Docker afin d’éviter d’avoir à installer toutes ses dépendances sur votre machine.
```
yarn update-cadastre
```

Le fichier `docker-compose.yml` crée les services suivants :
- Une base mongodb, non exposée
- L’API Bases Adresses Locales, exposée sur le port `5000`
- Un service Mongo Express, exposé sur le port `8081` (interface web à mongodb)
### Test

Pour démarrer les services, lancer
Rapport des tests (jest) :

```
docker-compose up
$ yarn test
```

L’image Docker de l’API est construite avec le fichier `Dockerfile`. Les modifications apportées au code ne seront pas détectées automatiquement, il est nécessaire de reconstruire l’image avec
### Linter

Rapport du linter (eslint) :

```
docker-compose build
$ yarn lint
```

## Configuration

Cette application utilise des variables d'environnement pour sa configuration.
Elles peuvent être définies classiquement ou en créant un fichier `.env` sur la base du modèle `.env.sample`.

| Nom de la variable | Description |
| --------------------------| --------------------------------------------------------------------------- |
| `MONGODB_URL` | Paramètre de connexion à MongoDB |
| `MONGODB_DBNAME` | Nom de la base de données à utiliser |
| `PORT` | Port à utiliser pour l'API |
| `SHOW_EMAILS` | Indique si les courriels doivent être affichés dans les logs (`YES`) |
| `API_URL` | URL de base de l’API |
| `API_DEPOT_URL` | URL de l'api-depot |
| `API_DEPOT_CLIENT_ID` | Id du client de l'api-depot |
| `API_DEPOT_CLIENT_SECRET` | Token du client de l'api-depot |
| `EDITOR_URL_PATTERN` | Pattern permettant de construire l'URL vers l'édition d'une BAL |
|---|---|
| `SMTP_HOST` | Nom d'hôte du serveur SMTP |
| `SMTP_PORT` | Port du serveur SMTP |
| `SMTP_USER` | Nom d'utilisateur pour se connecter au serveur SMTP |
| `SMTP_PASS` | Mot de passe pour se connecter au serveur SMTP |
| `SMTP_SECURE` | Indique si le serveur SMTP nécessite une connexion sécurisée (`YES`) |
| `SMTP_FROM` | Adresse à utiliser en tant qu'expéditeur des emails |
| `SMTP_BCC` | Adresse(s) en copie cachée à utiliser pour tous les envois de notifications |

Toutes ces variables ont des valeurs par défaut que vous trouverez dans le fichier `.env.sample`.

## Gouvernance

Ce outil a été conçu à l'initiative d'Etalab. Il est depuis 2020 piloté conjointement par Etalab et l'ANCT.

## Licence

MIT
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
"test:cron": "jest --config ./apps/cron/test/jest-e2e.json",
"test:e2e": "yarn test:api && yarn test:cron",
"update-cadastre": "node ./scripts/update-communes-cadastre.js",
"update-contours": "node ./scripts/update-contours-communes.js",
"push-staging": "./scripts/push-staging.sh"
},
"dependencies": {
Expand Down
Loading