html | ||
initdb | ||
scripts | ||
.env.template | ||
.gitignore | ||
docker-compose.yml | ||
package-lock.json | ||
package.json | ||
README.md |
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 :
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
## 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
- API : PostgREST (Documentation)
- UI : Swagger UI
- Orchestrateur : Docker 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