Nos prestations Python
.avif)
En plus de son logiciel éponyme, Isogeo propose des prestations visant à accompagner nos utilisateurs dans l’intégration de notre solution au sein de leur organisme. Parmi ces prestations, on retrouve les prestations Python.
Celles-ci consistent à développer et exécuter des scripts répondant aux besoins ponctuels des clients (migration de fiches de métadonnées suite à un changement de base de données, import de fiches depuis un document Excel, etc.).
Les objectifs des prestations Python
L'objectif de ces prestations est double :
- gagner du temps,
- éviter les erreurs humaines.
Une prestation peut, par exemple, consister à ajouter un lien de téléchargement avec un URL contenant le nom de la donnée à chaque fiche vecteur d'un groupe de travail. Ce besoin pourrait être satisfait "manuellement" dans app.isogeo.com, mais cela prendrait beaucoup de temps et des erreurs pourraient être commises. On pourra donc développer un script Python utilisant la librairie isogeo-pysdk (ou SDK Python) pour effectuer toutes les requêtes à l'API nécessaires à la création des liens de téléchargement. Le script effectuera les opérations suivantes :
- requête des fiches de métadonnées relatives à des données vecteur appartenant au groupe de travail concerné
- pour chacune des fiches :
- génération d’un URL à partir d’une base préalablement indiquée et du nom de la donnée décrite par la fiche
- ajout à la fiche d’un lien vers l’URL précédemment générée
La durée d’exécution du script variera en fonction du nombre de requêtes à envoyer à l’API et donc en l’occurrence du nombre de fiches concernées. En revanche, le temps de travail se résume à la durée de développement du script. Par conséquent, qu’il s’agisse d’ajouter le lien de téléchargement à 30 ou à 1500 fiches, le temps de travail est identique, ce qui n’est pas le cas en procédant manuellement.
L’exemple de la migration
Une prestation plus complexe peut consister à faire une migration de fiches de métadonnées. Il s'agit alors de déplacer ou de dupliquer le contenu d'un ensemble de fiches de métadonnées sources vers un ensemble de fiches de métadonnées cibles. Là encore, on pourrait procéder "manuellement" dans app.isogeo.com, mais l’utilisation des scripts Python permet un gain de temps et de qualité de travail considérable.

Dans le cadre de ce type de prestations, le développeur a recours à un ensemble de modules Python qui constituent une sorte de sur-couche au SDK Python Isogeo. Qu'il s'agisse d'établir une correspondance entre fiches sources et fiches cibles ou de procéder à l'import du contenu de la source dans la cible, ces différents modules contiennent des méthodes qui facilitent la démarche en utilisant la librairie isogeo-pysdk pour faire toutes les requêtes nécessaires à l'API Isogeo.
Les autres prestations Python
Ces modules forment le migrations-toolbelt. Leur code source est hébergé sur un dépôt GitHub dans lequel on trouve également tous les scripts Python développés pour effectuer des prestations ou répondre à des besoins internes en utilisant le SDK Python Isogeo et/ou le migrations-toolbelt.
Il existe différents types de prestations dont la finalité est établie et qui ont déjà été effectuées pour un certain nombre de clients :
- migration (voir paragraphe précédent)
- métadonnées de référence (intégration de fiches de métadonnées pré-remplies, issues des données d'organismes de référence nationale, à l’inventaire des clients)

- import Excel (intégration de métadonnées stockées dans des tableurs Excel à l’inventaire du client)

D'autres prestations n'appartiennent à aucun de ces types et répondent au besoin spécifique d'un client particulier.
Les grandes étapes d’une prestation
De manière générale, la mise en oeuvre d'une prestation Python peut se décomposer en plusieurs types d'opérations :
- la définition du besoin du client par le chef de projet, donnant lieu à la rédaction d'un ticket dans le dépôt GitHub du migrations-toolbelt
- la création du/des script(s) Python par le développeur, pouvant nécessiter de nouveaux échanges avec le client pour ajuster les spécifications
- l'exécution du/des script(s) Python par le développeur, souvent suivie d'une vérification de la qualité du travail accompli par le chef de projet
Vous utilisez Isogeo et cherchez à automatiser certaines actions pour optimiser la gestion de votre inventaire ? Prenez contact avec votre chef de projet dédié !