Evolution de "SDI CONSISTENCE CHECK (SDI CC)" : synthèse travaux GeoCom 2024 #80
Replies: 2 comments 5 replies
-
Merci @gryckelynck pour cette synthèse (désolé au geocom je n'ai pu y participer, trop de sujets..), j'en profite pour faire une petite synthèse sur ma 'vision' du besoin.. disclaimer: je ne connais pas très bien sdi-consistency-check, je viens de l'essayer et il a l'air d'avoir du mal a analyser mes liens entre GS et GN, alors que pourtant l'url pointe bien vers la version XML de la MD..
j'ai aussi regardé https://github.com/datagrandest/sdi-cc-report et les exemples sur https://www.datagrandest.fr/public/sdi-cc-report/ passifil y'a quelques années j'avais eu un besoin similaire et j'avais pondu https://github.com/landryb/geoserver-datadir-checker qui avait un objectif similaire, avec ces spécificités:
il n'est actuellement pas utilisé en prod au craig, mais les premiers résultats m'avaient permis de corriger une foule d'erreurs dans notre geoserver. Donc le besoin existe toujours.. présentavec le recul, les différentes discussions sur le sujet, et l'évolution des briques de georchestra, je vois plusieurs besoins (qui pourraient être remplis par le même outil ?)
dans le détailLe besoin ici revient avec l'arrivée de mapstore - qui stocke tout dans le
pareil pour le lien GS/GN qui est actuellement fait par SDI CC en mode offline, on voudrait pouvoir rapidement lier/aller d'une couche GS a sa MD et vice-versa.. en mode vision/preview et en mode édition Donc pour le dashboard admin, j'envisage des entrées 'tabulaires' pour chacun des composants listant:
digressions
ca pose rapidement un pbm de synchro/cache en cas de modification/correction coté GS/GN l'état est a maj dans le dashboard.. techniqueca n'est pas la priorité, mais il faut en parler a un moment. Je suis d'accord sur l'utilisation de python, qui reste accessible au plus grand nombre et a des libs de base pour tout (json..), et on trouve un certain nombre de briques utiles:
pour moi on ne peut pas se restreindre aux APIs OGC, car les APIs spécifiques GS/GN/MS2 et l'accès a la bdd pour MS2 et au datadir GS permettent de faire beaucoup plus de choses que les APIs standard... Voila, c'est peut-être un peu décousu, mais c'est l'idée que je me fais du périmètre d'un tel outil... je n'ai pas fait cette synthèse sur la liste de discussion car github permet de mieux formatter, et on retrouve cette 'discussion' plus facilement ? Ceci étant dit, je vais voir a bricoler un prototype flask/sqlalchemy/requests/owslib pour évaluer la faisabilité d'une 'surcouche' a l'API/BDD de mapstore pour naviguer dans les objets de la BDD MS et les lier aux couches GS, on verra ce qu'il en sort... |
Beta Was this translation helpful? Give feedback.
-
Salut, On voit bien qu'il y a pas mal d'attentes autour d'outils comme SDI-CC par les administrateurs des plateformes car les liens entre les ressources proposées par la plateforme sont administrés la plupart du temps manuellement et sont sous la responsabilité d'une multitude d'outils disposant de leurs propres mécanismes de gestion. Comme le dit @gryckelynck si l'on groupe l'ensemble des propositions qui sont mentionnées ici on a sans doute quelque chose d'ambitieux. Comme le dit @landryb c'est décousu car ont été abordés à la fois les besoins, des propositions relevant de l'architecture et des solutions techniques particulières. Puisque certains d'entre vous pensent qu'une remise à plat de SDI-CC est préférable à une simple évolution, je suis assez d'accord avec @f-necas qui faisait remarquer la semaine dernière à @gryckelynck et moi qu'il faudrait sans doute se limiter, dans un premier temps, au besoin. Les autres aspects viendront naturellement ensuite. Sinon à titre individuel, partir sur un outil qui contrôle des liens de multiples natures en exploitant des API spécifiques d'outils me fait plutôt peur. Créer des dépendances/adhérences à des outils enfonce le projet dans une niche. À moins que son architecture soit modulaire et extensive. Mais ça risque d'en faire tout de même une usine à gaz. L'avantage actuel de SDI-CC c'est que c'est assez simple à mettre en œuvre et qu'il n'y a quasiment rien de spécifique aux outils déployés sur la plateforme (mis à part les standards avec lesquels les ressources sont exposées). |
Beta Was this translation helpful? Give feedback.
-
Document visant à proposer des pistes d'évolution de l'application SDI CC (cf. https://github.com/georchestra/sdi-consistence-check).
Il fait suite aux travaux du GeoCom 2024 sur le sujet (échanges du 20/06/2024)
Rappels
Application réalisée en 2016 par la société Camptocamp suite à une commande de Rennes Métropole.
L'objectif était de pouvoir analyser la cohérence d'une IDG en matière de données et métadonnées.
Le langage de programmation utilisé est Python.
Un développement complémentaire permet de corriger automatiquement certaines erreurs en synchronisant les informations de la fiche de métadonnées avec celles des données (via API GS et GN - à confirmer).
Pour des raisons d'interopérabilité, le choix a été fait de s'appuyer sur les services web CSW, WMS et WFS pour interroger la plateforme de données et de ne pas prendre en compte les API spécifiques des solutions utilisées (ex.: GeoServer et GeoNetwork).
Constats
A noter que des tests de conversion en CSV et de génération de tableaux de bords à la volée ont été réalisés (cf. https://github.com/datagrandest/sdi-cc-report).
Enfin, il existe une forte attente de la part des utilisateurs geOrchestra, notamment les administrateurs de plateformes, pour disposer d'une vision intégrée de leur plateforme. Les travaux autour de SDI CC pourraient constituer un point de départ dans cette direction.
Propositions
Choix du langage de développement
Le langage Python initialement choisi pour développer SDI CC fait sens.
En effet, il est bien adapté au traitement de données et à l'exploitation de services web issues d'une IDG. Des modules robustes et reconnus sont disponibles pour faciliter le développement et la maintenance d'une telle application.
Par ailleurs, ce langage est globalement bien connu des administrateurs et utilisateurs de plateformes de données (profil de type "data scientist"), ce qui élargi les possibilités de contributions. Il ne nécessite pas de mettre en place des environnements de développement complexes et le déploiement des applications reste globalement simple côté serveur.
Certains développeurs confirmés soulignent les faibles performances du langage Python et expriment une crainte à ce sujet. Cela nécessite, le cas échéant une analyse et confirmation au regard des usages envisagés.
Architecture
L’architecture globale envisagée est la suivante :
Elle est actuellement imaginée autour de 4 éléments principaux :
NB:
Champ fonctionnel
Cette liste de fonctionnalité sert ici d'aide mémoire. Elle reste à compléter, réorganiser et détailler.
L'ordre de priorités est à préciser.
Dans un premier temps, il est proposé de réutiliser les vérifications proposées par SDI CC sans modifier de façon notable "l'intelligence du code" (sauf pour restructurer le code ou corriger des erreurs).
Un travail complémentaire pourra être réalisé dans un second temps sur la nature et la pertinence des vérifications proposées. Cela pourra faire l'objet d'un groupe de réflexion spécifique.
Par ailleurs, à ce stade, il est proposé :
Beta Was this translation helpful? Give feedback.
All reactions