PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
104 stars 102 forks source link

[ref_geo] Transformer le schéma ref_geo de la base de données de GeoNature en un service indépendant #1607

Open mvergez opened 2 years ago

mvergez commented 2 years ago

Contexte

La suppression de la dépendance au schema ref_geo dans GeoNatureCitizen, a conduit à de nombreuses discussions (cf. PR: https://github.com/PnX-SI/GeoNature-citizen/pull/321) autour notamment de la duplication du schema ref_geo. Il serait intéressant d'en créer un service indépendant. Ce dernier serait composé d'une base de donnée et d'une API REST. Ainsi ce schéma pourrait être supprimé de la base de données de GeoNature.

Proposition d'implémentation

L'utilitaire PostgREST permet, à partir d'un schéma Postgresql, de générer automatiquement une API REST. Cette dernière respecte les derniers standards OpenAPI. Une documentation Swagger peut être également générée automatiquement. Les query possibles dans l'API générée par PostgREST sont assez nombreuse (cf. doc)

Ce service se résumerait donc à un docker-compose.yml et à un éventuel Dockerfile copiant un fichier SQL permettant de générer le schéma ref_geo à l'initialisation du volume docker.

Avantages

Lié en partie à #228

camillemonchicourt commented 2 years ago

Oui en effet l'idée initiale était bien d'en faire un outil autonome, comme évoqué ici : https://github.com/PnX-SI/GeoNature/issues/228#issuecomment-327810913

Ce serait une bonne chose d'en faire une application autonome, intégrable dans d'autres outils ou utilisable indépendamment comme une API.

Néanmoins pour l'usage avec GeoNature, je préfère que l'on garde le ref_geo dans la BDD de GeoNature pour des questions de performances des traitements mais aussi pour les besoins d'analyse de données directement dans la BDD.