69 lines
2.6 KiB
Markdown
69 lines
2.6 KiB
Markdown
# Data Project
|
||
|
||
Création d'une API unifié pour accéder à l'ensemble des données dont P4Pillon a besoin.
|
||
|
||
Le principe du projet est de pouvoir intérroger les données de l'open data depuis un réseau local et ainsi s'affranchir des pannes d'internet. Les données pourront être mise à jour régulièrement pour permettre d'avoir les dernières mise à jour.
|
||
|
||
|
||
## Données
|
||
|
||
Voici les données dont nous rappatrirons.
|
||
|
||
### FINESS
|
||
|
||
Informations sur les établissements sanitaires, sociaux, médico-sociaux, et de formation aux professions de ces secteurs.
|
||
|
||
Liens :
|
||
- [Site web](https://finess.esante.gouv.fr/)
|
||
- [Page web sur l'Open Data du gouvernement](https://www.data.gouv.fr/fr/datasets/finess-extraction-du-fichier-des-etablissements/)
|
||
|
||
### INPI
|
||
|
||
L'Institut national de la propriété industrielle, abrégé par le sigle INPI, est un établissement public à caractère administratif, placé sous la tutelle du ministère français de l'Économie, de l'Industrie et du Numérique.
|
||
|
||
Il y a 2 posibilités pour récupérer les données de l'ensemble des entreprises française :
|
||
- depuis l'API
|
||
- depuis [des fichiers](https://www.data.gouv.fr/fr/datasets/base-sirene-des-entreprises-et-de-leurs-etablissements-siren-siret/)
|
||
|
||
|
||
## Script
|
||
|
||
Nous mettons à disposition des scripts d'import des données de l'Open Data.
|
||
|
||
```
|
||
npm run install # Install les dépendances du projet
|
||
npm run download # Télécharge toutes les données
|
||
npm run transform # Transforme les données téléchargés dans un format que postgres pourra intégrer
|
||
```
|
||
|
||
## Composants logiciels du projet
|
||
|
||
- Base de données : [PostgreSQL](https://www.postgresql.org/)
|
||
- API : [PostgREST](https://postgrest.org/) ([Documentation](https://postgrest.org/en/stable/explanations/install.html#docker))
|
||
- UI : [Swagger UI](https://swagger.io/tools/swagger-ui/)
|
||
- Orchestrateur : [Docker Compose](https://docs.docker.com/compose/)
|
||
|
||
### Docker Compose
|
||
|
||
Nous utilisons Docker Compose pour la mise en place des différents services.
|
||
|
||
Le projet propose 3 fichiers permettant une execution local ou sur un serveur ayant un serveur Traefik de configuré.
|
||
|
||
La configuration se fait à l'aide d'un fichier `.env`, vous devez modifier les valeurs du fichier `.env.template`.
|
||
|
||
Voici quelques commandes possibles :
|
||
|
||
```
|
||
docker compose up -d # Création des conteneurs
|
||
docker compose down -v # Suppresion des conteneurs ainsi que des données
|
||
```
|
||
|
||
### PostgreSQL
|
||
|
||
Nous utilisons la fonction
|
||
|
||
### PostgREST
|
||
|
||
Pour la configuration : https://postgrest.org/en/latest/configuration.html#environment-variables
|
||
https://postgrest.org/en/stable/references/api/tables_views.html#horizontal-filtering-rows
|