# Project Open Data 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 ou des APIs. Les données pourront être mise à jour régulièrement pour permettre d'avoir les dernières mise à jour. ## Liens - [Source du projet](https://forge.p4pillon.org/P4Pillon/data) - [Gestion des tâches](https://projets.p4pillon.org/projects/20/kanban#share-auth-token=wRsBFUyDFfKpcoadOezJjDesIyOtulPAMwwkqMHY) - [API de P4Pillon](https://data.p4pillon.org) - [Interface Swagger pour l'API](https://ui.data.p4pillon.org) - [Support et questionnement](https://matrix.to/#/!UXjiUOiWQMEsMgMNMN:converser.eu) ## Données ### ✅ 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/) ## 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/) - Virtualisation : [Docker](https://docs.docker.com/) - Orchestrateur : [Docker Compose](https://docs.docker.com/compose/) ## Script Un script permet d'initialiser le projet en téléchargeant les dépendences, les données de l'Open Data ainsi que de transformer ses données en fichiers CSV. Il faut avoir Docker d'installé et executer cette commande : ```bash bash build.sh ``` ### 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 : ```bash docker compose --env-file .env up -d # Création des conteneurs docker compose --env-file .env down -v # Suppresion des conteneurs ainsi que des données ``` ### PostgreSQL La fonction `COPY` est utilisé dans les fichiers SQL du dossier `./initdb` permettant d'importer les données d'un fichier CSV dans une base de données. ### PostgREST - [Pour la configuration](https://postgrest.org/en/latest/configuration.html#environment-variables) - [Pour requêter des données](https://postgrest.org/en/stable/references/api/tables_views.html#horizontal-filtering-rows)