En poursuivant votre navigation sur ce site, vous acceptez le dépôt de cookies dans votre navigateur. (En savoir plus)
Portail > Offres > Offre UMR5602-EMILER-004 - Ingénieur d'étude en ingénierie logicielle et développement python backend Django / OpenAPI / web sémantique - sparQL (H/F)

Ingénieur d'étude en ingénierie logicielle et développement python backend Django / OpenAPI / web sémantique - sparQL (H/F)


Date Limite Candidature : dimanche 26 décembre 2021

Assurez-vous que votre profil candidat soit correctement renseigné avant de postuler. Les informations de votre profil complètent celles associées à chaque candidature. Afin d’augmenter votre visibilité sur notre Portail Emploi et ainsi permettre aux recruteurs de consulter votre profil candidat, vous avez la possibilité de déposer votre CV dans notre CVThèque en un clic !

Faites connaître cette offre !

Informations générales

Référence : UMR5602-EMILER-004
Lieu de travail : TOULOUSE
Date de publication : lundi 25 octobre 2021
Type de contrat : CDD Technique/Administratif
Durée du contrat : 6 mois
Date d'embauche prévue : 1 décembre 2021
Quotité de travail : Temps complet
Rémunération : entre 2019 et 2372 € brut mensuel selon expérience + 10% d'indemnité en fin de contrat (montant donné à titre indicatif)
Niveau d'études souhaité : Bac+5
Expérience souhaitée : Indifférent

Missions

Dans le cadre d'un projet de recherche, vous effectuerez une mission de développement sur une plateforme internet de gestion de données.
Il s'agira d'intervenir sur la partie serveur de la plateforme qui offre un ensemble de services internet à destination d'une IHM web javascript ou de programmes utilisateurs. Ces services s'appuient sur les frameworks python Django et sur un système de gestion de bases de données sémantique sparQL. Cette plateforme manipule principalement des métadonnées gérées dans une base de données triplestore RDF/RDFS. Le langage de requêtage sparQL est une extension du SQL. La plateforme est en interaction avec un ensemble de services de ressources de l'éco-système numérique de la science ouverte comme des catalogues, des jeux de données, des publications et des codes sources.
En collaboration avec les membres du projet, vous travaillerez à faire évoluer la dernière version de la plateforme et son API pour en améliorer la qualité technique et les fonctionnalités comme le dépôt de données ou l'accès à de nouveaux serveurs, de nouvelles ressources de l'écosystème numérique de la recherche aux niveaux national et international comme les services institutionnels ou les services des e-infrastructures de recherche.
Il s'agira de faire du refactoring de l'API (API REST et micro-services) et de développer de nouveaux services. Vous ferez la documentation, documentation de conception avec UML, documentation de l'API avec openAPI, documentation du développeur avec Markdown. Vous travaillerez à l'industrialisation de la solution avec la mise en place des tests unitaires, de non régression et des tests fonctionnels sous forme de programmes client de démonstration conformes aux maquettes de l'IHM et des scénarios d'usage attendus. Vous collaborerez avec d'autres développeurs sur le serveur et avec un partenaire en charge du développement de l'IHM pour faire l'intégration de votre travail.
Vous contribuerez à l'environnement de développement et à l'architecture de la plateforme.
Vous vous assurerez du déploiement de la solution sur un serveur.
Vous serez encadré et vous serez immergé dans un contexte riche qui vous permettra de démontrer et d'enrichir vos compétences.

Environnement technologique :
Les développements se feront selon l'état de l'art des développements internet et des standards liés aux données ouvertes comme par exemple les API REST, openAPI pour le backend et les frameworks javascript pour le frontend compatibles ordinateur et smartphone. Nous utiliserons les technologies du web sémantique et du W3C pour décrire et utiliser les ressources (cf. SPARQL, RDF, RDFS, OWL, DCAT https://www.w3.org/TR/vocab-dcat-3/).

Activités

Principales: développement, test, documentation et déploiement
Secondaires: conception

- Participer à la modélisation, la conception et/ou paramétrer tout ou partie de la solution logicielle
- Développer et tester les objets et composants
- Élaborer la stratégie de test, concevoir, spécifier et exécuter des tests fonctionnels et/ou techniques
- Assurer la maintenance évolutive et curative des développements réalisés
- Contribuer à la mise en place et au respect des dispositions qualité et des normes
- Rédiger et mettre à niveau les documentations techniques et fonctionnelles
- Veiller à l'intégration des composants dans l'environnement numérique
- Créer et tester les packages applicatifs et les scripts de déploiement en production
- Réceptionner, installer, documenter, mettre à disposition les packages en assurant le suivi des versions
- Assurer une assistance fonctionnelle et/ou technique aux exploitants et aux utilisateurs
- Concevoir les actions de formation techniques et fonctionnelles
- Déploiement sur des serveurs linux

Compétences

- Connaissance en ingénierie logicielle
- Bonne connaissance de python et de Django
- Bonne connaissance de l'algorithmique
- Connaissance du développement orienté objet
- Connaître Gitlab, Github voire Docker
- Connaissance de l'environnement de développement python et d'un framework (Django)
- Connaissance de l'IDE Visual code studio
- Connaissance des architectures des systèmes d'information sur internet
- Rédiger et mettre à jour la documentation fonctionnelle et technique (wiki, Markdown voire latex)
- Connaissance d'UML pour mettre à jour la documentation technique
- Travailler en équipe
- Élaborer et mettre en œuvre un plan de test
- Connaissance système et linux : connaissance d'administration d'un système linux bienvenue (ubuntu 20.04)
- Connaissance des outils et standards du web sémantique : RDF et les bases de graphe, langage de requête SPARQL, XML, RDF, OWL, Triplestore, DCAT
- Connaissance du web des données, des bases de données sémantiques et de sparQL. Construire et administrer des bases de données graphes (triplestore graphDB sparQL)
- Connaissance d'un framework javascript est un plus pour bien comprendre le besoin et potentiellement intervenir ponctuellement sur le code du client

Contexte de travail

Faisant suite à l'open data, le mouvement de la science ouverte prône les principes FAIR pour développer une culture de la gestion et du partage des données chez tous les acteurs de la recherche. Les principes FAIR formalisent des lignes directrices pour améliorer le repérage [F], l'accessibilité [A], l'interopérabilité [I] et la réutilisation [R] des ressources numériques scientifiques.
Le contexte métier est celui du dispositif de recherche (LabEx DRIIHM) rassemblant 13 observatoires scientifiques, les observatoires « hommes-milieux » (OHM) qui étudient les dynamiques environnementales, culturelles et sociétales sur ces territoires, à différentes échelles spatiales et temporelles.
Des données hétérogènes et multidisciplinaires sont produites chaque année. Au-delà de leurs incontournables stockage et catalogage, il est crucial d'améliorer le partage et l'ouverture de ces données pour favoriser les analyses croisées interdisciplinaires et communiquer les résultats scientifiques auprès de la société.
Vous serez encadré par Pascal Dayre (IRIT), Emilie Lerigoleur (GEODE) et Mathieu Massaviol (ECCOREV).

Liens utiles : https://www.driihm.fr/, https://anr.fr/fr/lanr-et-la-recherche/engagements-et-valeurs/la-science-ouverte/les-projets-laureats-de-lappel-flash-science-ouverte/projet-so-driihm/

On en parle sur Twitter !