Développeur·se logiciel en alternance (M1-M2)
Apprentissage · Stage autre · 24 mois Bac+3 / Licence INRAE Occitanie-Toulouse · Toulouse (France)
Date de prise de poste : 1 octobre 2024
Mots-Clés
dotplot comparaison de génome visualisation informatique développement web high-performance computing (HPC) python javascript
Description
Description
Offre de contrat d'apprentissage à destination d'un·e étudiant·e suivant un parcours informatique en développement logiciel.
Environnement professionnel
La plateforme INRAE GenoToul-Bioinfo est une plateforme de bioinformatique créée en 2000. L'équipe de la plateforme est composée d’une quinzaine de personnes pour ~12 ETP (Équivalent Temps Plein). Elle est située à Auzeville-Tolosane, dans le périphérie Sud de Toulouse. La plateforme fait partie de l’unité MIAT du département INRAE MathNum. Elle fait également partie du GIS GenoToul, et depuis 2009 et c’est aussi l’une des 13 plateformes bioinformatique IBISA.
La plateforme GenoToul-Bioinfo propose l’accès à un service de calcul scientifique haute performance au travers d’un cluster (HPC) de 5000 cœurs et 80 Tio de RAM, à une expertise en bioanalyse, des formations en bioinformatique et dispose d’un pôle de développement logiciel. Elle est certifiée ISO 9001:2015 pour l’intégralité de ses activités. La plateforme collabore avec des unités de recherche et d’autres plateformes au niveau local, national et international, aussi bien sur des projets de développement logiciels que sur des projets d’analyse de données.
Vous serez intégré(e) au collectif d’informaticiens de l'unité MIAT en vous voyant confier progressivement la responsabilité de votre propre projet logiciel. Votre apprentissage s'articulera autour de la réécriture du logiciel D-Genies. L’apprenti·e sera encadré par Philippe Bordron.
Projet
Le projet de l’apprentissage consiste en la refonte et la modernisation d’un logiciel et service web nommé D-Genies, qui permet de comparer deux génomes de façon interactive. D-Genies a été développé par la plateforme en 2018 sous l’impulsion de Christophe Klopp qui jouera le rôle de Product Owner. Il peut-être installé à l’aide des gestionnaires de paquets pip ou conda. Il est également déployé en tant que service sur la plateforme GenoToul-Bioinfo. D-Genies a été téléchargé plus de 30 000 fois depuis sa création, tandis que le service fourni par la plateforme a été utilisé plus de 36 000 fois en 2023.
Techniquement, D-Genies consiste en une application client-serveur. Le client est une application web qui sert d’interface utilisateur et qui utilise la bibliothèque javascript d3.js pour l’affichage des résultats. Le serveur, quant-à lui, récupère les demandes des utilisateurs pour soumettre les calculs sur le cluster de la plateforme GenoToul-Bioinfo. L’application web a été développée avec des technologies web qui deviennent obsolètes et n’utilise pas de framework particulier. La partie serveur s’appuie sur la bibliothèque flask et est écrite en python. Elle utilise une base que données SQL pour gérer les jobs soumis.
Dans ce contexte, les missions de l’apprenti·e au cours de son alternance de 2 ans seront :
- d’analyser le logiciel existant et de proposer des modélisations pour sa modernisation,
- de réécrire la partie web à l’aide d’un javascript moderne (ES6+ ou Typescript), en utilisant les notions de composants, et éventuellement un framework pour faciliter sa maintenance et son évolution
- de moderniser la partie serveur en migrant du système de threads actuellement utilisé à un système de coroutines plus légères.
- de faire évoluer la documentation à la fois pour le développeur et l’utilisateur.
- d’ajouter de nouvelles fonctionnalités telles que la comparaison des chromosomes
Compétences et savoir-êtres nécessaires :
- Être à l’aise avec l’environnement Unix/Linux
- Langue anglaise : B2 à C1
- esprit d’initiative
Compétences et savoir être importants qui seront acquis au cours de l’apprentissage:
- Outils de développement classiques : gestionnaire de version (git), forge (github, gitlab), ci-cd, etc.
- Tests logiciels
- Programmation en Python et javascript
- Utilisation d’un cluster de calcul
- Bonnes pratiques de la sciences ouverte (principes FAIR)
- Sobriété numérique
- Rigueur
- Autonomie
- Organisation
- Esprit d’initiative
- Capacité à travailler en équipe
- Compétences rédactionnelles
Rémunération : selon la grille définit par le code du travail (en fonction de l'âge et cycle de formation).
Avantages : restaurant d'entreprise, CSE (activités culturelles, sportives et sociales), participation au transport en commun en fonction de la localisation et selon le Plan de Déplacement Entreprise.
Candidature
Procédure : Candidature : Envoyez votre CV et une lettre de motivation par email à Philippe Bordron (philippe.bordron@inrae.fr) et à Christophe Klopp (christophe.klopp@inrae.fr)
Date limite : 30 juin 2024
Contacts
Philippe Bordron
phNOSPAMilippe.bordron@inrae.fr
Offre publiée le 25 mai 2024, affichage jusqu'au 1 juillet 2024