2019-01492 - Responsable du développement d’un logiciel libre pour les interfaces cerveau-ordinateur (H/F)

Type de contrat : CDD de la fonction publique

Contrat renouvelable : Oui

Niveau de diplôme exigé : Bac + 5 ou équivalent

Fonction : Ingénieur scientifique contractuel

Niveau d'expérience souhaité : De 3 à 5 ans

Contexte et atouts du poste

Inria, au travers de l’action InriaSoft, s’est donnée comme ambition la pérennisation, l’industrialisation et la diffusion de logiciels scientifiques d’envergure.

OpenViBE (http://openvibe.inria.fr), un logiciel open-source pour les interfaces cerveau-ordinateur et le traitement des données cérébrales (EEG ou électro-encéphalographie) en temps-réel, entre dans ce cadre.

Les interfaces cerveau-ordinateur (Brain-Computer Interfaces ou BCI en Anglais) permettent d’envoyer des commandes à un ordinateur directement à l’aide de l’activité cérébrale. L’activité cérébrale est mesurée à l’aide d’électrodes (casque EEG) qui enregistrent l’activité électrique du cerveau en temps-réel, pour pouvoir ensuite l’analyser et la traduire en « commandes mentales ».

En moins de 10 ans le logiciel OpenViBE est devenu l’un des logiciels les plus utilisés au monde dans le domaine des interfaces cerveau-ordinateur. Le logiciel est téléchargé en moyenne plus de 6000 fois chaque année, et il se trouve au cœur des travaux de nombreux partenaires académiques, cliniques ou industriels.

L’ingénieur recruté collabore avec les équipes de recherche Inria qui utilisent et contribuent au logiciel, et avec l’action InriaSoft qui pilote le montage d’un consortium de partenaires sur ce logiciel.

Le poste proposé a pour objectif de préfigurer et ainsi de démontrer la pertinence d'un poste pérenne pour prendre en charge le travail de développement et de maintenance du logiciel pour le consortium dans la durée.

L’ingénieur participera à la vie d’une équipe-projet Inria : Hybrid (http://team.inria.fr/hybrid) et/ou POTIOC (http://team.inria.fr/potioc).

Des déplacements réguliers auprès des membres du consortium sont prévus ;  les frais de déplacements seront pris en charge dans la limite du barème en vigueur.

 

Mission confiée

Placé(e) sous la responsabilité du responsable technique d’InriaSoft, la mission du ou de la responsable du développement d'OpenViBE est de réaliser des tâches d’édition logicielle nécessaires au développement du logiciel OpenViBE, à sa maintenance et à sa diffusion.

La mission principale de l’ingénieur(e) est de soutenir et développer le logiciel dans ses évolutions à venir. Plus spécifiquement, il ou elle adapte l’architecture logicielle, implémente les nouvelles fonctionnalités, intègre et automatise les tests unitaires de la plateforme en fonction des besoins exprimés par les utilisateurs, au premier rang desquels figurent plusieurs équipes de recherche Inria. Il ou elle est également en charge de la documentation, de la communication, et de la publication de la plateforme vers les équipes de recherche et vers la communauté d’utilisateurs.

Une deuxième mission sera d’être à l’interface avec la communauté d’utilisateurs en dehors d’Inria, pour favoriser la création du consortium de partenaires (entreprises, laboratoires et universités, au niveau national et international) intéressés par le projet OpenViBE et le développement de la communauté de développeur du logiciel. Ce travail impliquera des échanges réguliers, des efforts de spécifications, des réalisations spécifiques, ainsi qu’une participation au travail de marketing et de développement économique lié au consortium.

Principales activités

Les principales activités sont énumérées ci-après

  • Adaptation de l’architecture logicielle
  • Développement de composants logiciels
  • Définition, développement et intégration de jeux de tests unitaires à la plateforme d’intégration continue
  • Animation de la communauté des utilisateurs et contributeurs (via le site web et le forum du logiciel)
  • Participation au développement d’un modèle économique pérenne autour d’un consortium de partenaires extérieurs

En complément, la personne recruté devra aussi travailler sur les activités suivantes:

  • Documentations technique du logiciel
  • Publication de la plateforme vers les équipes de recherche et la communauté d’utilisateurs
  • Présentation à l'oral et à l'écrit des travaux et résultats

Compétences

Compétences techniques et niveau requis :

  • Compétences approfondies en programmation C, C++.
  • Compétences approfondies en conception et architecture logicielle, design patterns
  • Compétences en outils d’intégration continue
  • Connaissance des outils de développement collaboratifs (gestion de version, gestion d’issues), Git, GitHub
  • Expérience avec les environnements Windows, Linux
  • Capacité de rédaction de documents techniques  

Langues : Excellent niveau d’anglais écrit et parlé

Compétences relationnelles :

  • Capacité à travailler en collaboration avec des personnes d'autres domaines de compétences.
  • Autonomie dans la conduite des travaux qui sont confiés,
  • Sens du partenariat et du travail en équipe
  • Aisance à présenter les travaux et à rédiger

Compétences additionnelles appréciées :

  •  Matlab, Python, programmation de GUI

Avantages

  • Restauration subventionnée
  • Transports publics remboursés partiellement

Rémunération

Rémunération mensuelle brute à partir de 2 562 euros selon diplôme et expérience