Consultez nos dernières offres similaires
Contenu de l'offre Développeur Web - Front-End pour Logiciel de Calcul Scientifique Scientifique dans le Domaine Biomédical H/F chez CNRS
CNRS recherche …
La mission principale sera de développer un prototype de site web/front-end pour permettre l'utilisation à distance de notre logiciel. A cette fin, le développeur devra :
1.\tSe familiariser avec le moteur de simulation de BMF, ses caractéristiques, son workflow et pourra être amené à intégrer des prototypes Python ou C++ de qualité recherche dans ce moteur pour mieux comprendre ses composants principaux. Le développeur améliorera les documentations développeur et utilisateur en amenant son point de vue extérieur sur le projet.
2.\tDéfinir avec l'équipe du projet les spécifications fonctionnelles du front-end. Ces spécifications doivent distinguer l'ensemble des fonctionnalités qui doivent être mises en oeuvre avant la fin du projet dans un produit minimal viable (PMV), et les fonctionnalités supplémentaires facultatives qui pourraient être mises en oeuvre dans le temps disponible entre la version PMV et la fin du projet.
3.\tProposer une technologie qu'il maîtrise déjà pour traduire les spécifications fonctionnelles en spécifications techniques et formaliser un protocole/une API pour les communications back-end/front-end.
4.\tDévelopper le front-end et participer au développement du back-end pour aboutir au moins à la livraison d'un MVP.
Le développeur devra documenter son travail, utiliser des techniques de développement à l'état de l'art (en termes de documentation, de tests, d'intégration continue, de sécurité...) et proposer et utiliser des langages et des technologies répandues pour le front-end afin de garantir la maintenabilité de l'application.
Activités
Le développeur devra :
- Interagir chaque semaine avec les membres de l'équipe composée de chercheurs qui sont les chefs de projet (financement, orientations principales), de doctorants (utilisateurs de l'application et développeurs de modèles/solveurs), et d'un ingénieur de recherche qui en est le responsable technique (performances HPC, qualité du code, développeur back-end).
- Définir les spécifications fonctionnelles du front-end.
- Co-définir avec le développeur du back-end l'API de communication back-end/front-end.
- Concevoir une interface utilisateur basée sur l'ensemble des spécifications fonctionnelles définissant le PMV.
- Implémenter l'interface utilisateur avec un framework moderne de son choix.
- Documenter toutes les étapes de son travail sur un support adapté (rapports, comptes-rendus de réunions, croquis, diapositives, code...).
Compétences
Compétences techniques : haut niveau dans un framework de développement web (React, Angular, Vue, autre...) et langages associés (HTML, CSS, JS). Conception UI/UX. Idéalement, programmation C++, ou autre langage de bas niveau (C, Fortran, Rust) ou langage orienté objet (Java, Python). L'utilisation et le développement d'applications Docker, ainsi que la connaissance de la programmation parallèle haute performance (MPI) seront très appréciés.
Autres compétences : gestion de projet, maîtrise de l'anglais, capacité d'adaptation et d'anticipation, autonomie et rigueur. Intérêt avéré pour les sujets à l'interface entre les disciplines. Esprit d'équipe.
Contexte de travail
Le groupe Milieux Poreux et Biologiques (MPB) de l'Institut de Mécanique des Fluides de Toulouse recrute un développeur web de haut niveau ayant une solide expérience en génie logiciel, conception UI/UX et développement front-end.
L'objectif principal du développeur sera de développer le front-end d'un moteur de calcul haute performance dédié aux applications biomédicales, et de rendre son utilisation possible à travers une solution Software-as-a-Service (SaaS).
Contexte académique : Ces dernières années, le groupe MPB a développé une forte expertise dans la modélisation des flux sanguins et des échanges sang/tissus dans la microcirculation cérébrale. Les applications concernent les maladies neurodégénératives (de la compréhension des mécanismes fondamentaux, au diagnostic, suivi et évaluation des stratégies thérapeutiques), avec un fort potentiel d'innovation.
En particulier, dans le cadre du projet ERC Consolidator BrainMicroFlow, le groupe MPB a développé un moteur de calcul haute performance, le code BMF (voir ci-dessous), qui, grâce à une représentation sparse du réseau vasculaire sous forme de graphe, résout les problèmes d'écoulement et de transfert au niveau du cerveau entier avec une haute résolution spatiale. Sur la base de ce code, et avec le soutien du fond de prématuration du CNRS, nous voulons désormais développer une solution Software-as-a-Service basée sur ce moteur de calcul, qui sera interactive, facile à utiliser, fiable et efficace, pour les besoins de la recherche biomédicale, c'est-à-dire que des utilisateurs avec des compétences minimales ou inexistantes en programmation (par exemple des ingénieurs biomédicaux ou des biologistes) pourraient utiliser à distance.
BMF : ce logiciel est un moteur de simulation C++17 de haute qualité, entièrement testé et doté de capacités de calcul haute performance basées sur une décomposition de domaine MPI. Il s'appuie bibliothèques externes, notamment PETSc pour l'algèbre linéaire et non linéaire, PARMETIS et PT-Scotch pour le partitionnement des réseaux non structurés, GoogleTest pour les tests unitaires et fonctionnels, GPROF et GCOV pour l'analyse des performances et la mesure de la couverture de test, DOXYGEN pour la génération automatisée de documentation, et CMake pour la gestion de la compilation. La qualité du code est assurée par des hooks pré-commit (linting, clang-tidy...) et une chaine d'intégration continue basé sur Gitlab-runner. Tous les composants de l'application sont configurables par le biais de fichier de configuration JSON et les opérations d'E/S utilisent le format de données HDF5 pour bénéficier d'opérations parallèles rapides. Le code fonctionne sur des plateformes Linux (Ubuntu 20.04, 22.04 et environnements Docker standardisés), sur macOS ainsi que sur des super-calculateurs (e.g. Olympe au mésocentre HPC régional CALMIP).
Informations complémentaires
Financement par le programme de prématuration du CNRS, pour une durée de 17 mois.
On en parle sur Twitter !