IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Développement d'un outil python de migration de BDD spatiales

Provence Alpes Côte d'Azur, Gap (05000) - Référence : Stage_CBNA_2023
Originellement mis en ligne le 29 novembre 2022 - Remontée le 2 octobre 2023 par CBNA-Gap (+ d'offres)
CBNA
Type de contrat :Stage
Métier :Développeur informatique
Niveau d'étude requis :BAC+5 ou plus
Expérience :Débutant accepté
Type d'entreprise :Autre type d'entreprise (client final)
Localisation :Provence Alpes Côte d'Azur, Gap (05000)
Salaire :de 7 200 €/an à 43 200 €/an
Télétravail :Télétravail partiel
Compétences requises :Bash, Git, GitHub, Linux, PostGIS, PostgreSQL, Python, SQL
Envoyer une candidature

Poste à pourvoir

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.

Ainsi, le CBNA propose un stage de 6 mois d'analyse de bases de données et de développement
informatique.


Thème : Développement d'un outil de migration d'une base de données d'application web à une autre.


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.


Objectifs du stage :

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.


Ce que vous ferez :

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

Informations pratiques :
- 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.
- CV et lettre de motivation à adresser avant le 31 janvier 2022 à jp.milcent@cbn-alpin.fr et c.hoarau@cbn-alpin.fr

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.

Description de la société

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.

Envoyer une candidature