# 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