logo cbna cbn alpin

Stage : Développement d’un outil de migration de Simethis vers GeoNature

Le Conservatoire Botanique National Alpin (CBNA) propose un stage de 6 mois.

Contexte

Le Conservatoire Botanique National Alpin (CBNA) est un établissement public dédié à la
connaissance et à la conservation de la flore sur l’arc alpin français. Le CBNA se compose d’une
quarantaine d’agents, répartis sur 2 sites : le siège à Gap (05) et une antenne à Chambéry (73).

Le stage se déroulera au sein du service Système d’Informations (SI), qui occupe une place
transversale aux côtés des autres services. En effet, le service est en charge de la gestion des outils informatiques, du stockage et de l’administration des données, ainsi que de leur diffusion. Le service SI est composé d’un géomaticien/chef de service, un informaticien réseaux, un géomaticien, une technicienne SIG, une opératrice de saisie, et de deux développeurs web.
Depuis 3 ans, le service SI a fait le choix de se tourner vers des outils informatiques libres et souhaite accompagner les agents du CBNA vers l’usage d’une nouvel outil métier : GeoNature.
GeoNature est une application web pour la gestion et la diffusion des données faune, flore et habitats (voir http://geonature.fr et https://github.com/PnX-SI/GeoNature/). C’est un outil open-source reconnu dans les milieux des systèmes d’informations naturalistes qui est aujourd’hui utilisé par plus d’une soixantaine de structures en France.
Les agents du CBNA ont pour habitude de travailler avec une autre application web métier, SImethis, développée et détenue par le Conservatoire Botanique National Méditerranéen (CBNMed). Cette application répond bien à leurs besoins métiers, mais le CBNA souhaite se tourner vers GeoNature car c’est une solution libre, disposant d’une communauté importante de développeurs et utilisée par de nombreux partenaires du CBNA. En outre, elle permettra de mettre en commun les développements réalisés dans le cadre des SINP régionaux (régions Auvergne-Rhône-Alpes et Sud) et ceux réalisés par les autres structures.
Les données flore et habitats du CBNA sont hébergées sur le serveur du CBNMed, auquel le CBNA a accès. Le CBNA souhaite changer progressivement d’outil métier, en passant de SImethis à
GeoNature. Pour cela, nous souhaitons récupérer de manière régulière les données flore et habitats de la base SImethis et les injecter dans une base GeoNature afin de faciliter la transition vers l’usage définitif de GeoNature. L’objectif du stage sera de tester plusieurs solutions pour migrer cette base de données en développant un ou plusieurs outils python.

Missions

Développement d’un outil de migration d’une base de données d’application web à une autre.

Lors de l’analyse des moyens à mettre en place pour récupérer les données de la base SImethis :

  • Tester plusieurs méthodes pour récupérer les données : directement depuis le serveur distant ou à l’aide d’un dump, par exemple.
  • Argumenter et choisir la solution la plus performante

Lors de l’analyse des bases de données et des transformations nécessaires :

  • Installer sur son poste de travail sous Linux Debian 11 la version de GeoNature 2.10 avec une copie de la base de données flore et habitats
  • Analyser les schémas, tables et champs de destination des données dans la base GeoNature
  • Configurer GeoNature et ses modules pour qu’ils soient le plus conforme aux besoins des utilisateurs

Lors du développement de l’outil en Python de migration de la base de données :

  • Tester les requêtes SQL de transformation des données
  • Transformer ces requêtes SQL en python avec Psycopg 2
  • Assurer la bonne réalisation de la migration
  • Automatiser la migration de manière quotidienne
  • Fournir un mécanisme d’alerte de l’état du transfert
  • Documenter et illustrer les développements réalisés

Profil recherché

  • Formation en informatique.
  • Bac +5
  • Compétences et connaissances requises
  • Maîtrise des langages SQL et Python
  • Maîtrise des concepts du développement
  • Maîtrise en base de données PostgreSQL/PostGIS
  • Connaissance de Git et Github
  • Connaissance de Linux, de Bash et de SSH
  • Aptitude à travailler en autonomie et en équipe.
  • Prise d’initiative, sens de l’organisation, sérieux et rigueur.

Vous marquez des points si …

  • Vous êtes sensible au monde de l’open-source et vous avez même déjà participé à un tel projet.
  • Plonger dans des environnements applicatifs complexes et manipuler de grosses bases de données ne vous fait pas peur.
  • Vous avez des connaissances concernant la flore et les habitats.
  • Vous n’êtes pas (encore) un expert, mais vous avez avant tout l’envie d’apprendre.

Poste et conditions

Dans le cadre de ce stage, vous rejoindrez une petite équipe de deux développeurs.
Dans ce contexte, vous travaillerez en premier lieu à tester et analyser comment récupérer les
données flore et habitats hébergées sur le serveur du CBNMed, pour les stocker dans une base
GeoNature, sur un serveur Linux du CBNA. Cette première étape vous permettra d’appréhender les modèles conceptuels de données des deux bases, SImethis et GeoNature. Un travail d’analyse de ces deux bases pourra débuter afin de repérer les transformations nécessaires pour que les données se conforment au modèle de données de GeoNature.
Ce travail préparatoire permettra de faciliter le développement d’un outil en Python qui se chargera d’effectuer cette migration de base de données de manière quotidienne. La base concernée est constituée de près de 9 millions de données floristiques et 300 000 données habitats. Il faudra ainsi veiller à ne pas altérer le fonctionnement du serveur qui héberge la base SImethis lors de la récupération des données. Plusieurs solutions pourront alors être testées afin de sélectionner la meilleure méthode. Le code devra être bien structuré et évolutif afin de permettre de transférer des données supplémentaires au besoin.

Encadrement :

Jean-Pascal Milcent et Cendrine HOARAU, Développeurs.
Le Conservatoire Botanique National Alpin accueille chaque année quelques stagiaires. Ces stages doivent avoir un caractère obligatoire dans le cursus universitaire. Ils donnent lieu à une convention tripartite entre l’établissement d’enseignement, le stagiaire et le conservatoire. Ils doivent obligatoirement faire l’objet d’un rapport de stage dont le contenu sera précisé au début et en cours de stage.
Il est indispensable qu’un enseignant apporte son concours au suivi du stagiaire avant et durant le stage.

La résidence administrative du stagiaire est fixée au siège du Conservatoire Botanique National Alpin à Gap.

Indemnité de stage : selon le barème légal en vigueur.
Véhicule personnel.

Durée : 6 mois en 2023, idéalement d’avril à septembre.

Modalités de candidature

CV et lettre de motivation à adresser avant le 31 janvier 2022 à jp.milcent@cbn-alpin.fr.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.