Apprenti(e) ingénieur(e)/développeur(se) en informatique embarquée/sécurisée

Type de contrat : Contrat d'apprentissage

Contrat renouvelable : Oui

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

Fonction : Apprenti de l'ingénierie

A propos du centre ou de la direction fonctionnelle

Le centre de recherche Inria de Saclay a été créé en 2008. Sa dynamique s’inscrit dans le développement du plateau de Saclay, en partenariat étroit d’une part avec le pôle de l’Université Paris-Saclay et d’autre part avec le pôle de l’Institut Polytechnique de Paris . Afin de construire une politique de site ambitieuse, le centre Inria de Saclay a signé en 2021 des accords stratégiques avec ces deux partenaires territoriaux privilégiés.

Le centre compte 39 équipes-projets , dont 27 sont communes avec l’Université Paris-Saclay ou l’Institut Polytechnique de Paris. Son action mobilise plus de 600 personnes , scientifiques et personnels d’appui à la recherche et à l’innovation, issues de 54 nationalités.

Le centre Inria Saclay - Île-de-France est un acteur essentiel de la recherche en sciences du numérique sur le plateau de Saclay. Il porte les valeurs et les projets qui font l’originalité d’Inria dans le paysage de la recherche : l’excellence scientifique, le transfert technologique, les partenariats pluridisciplinaires avec des établissements aux compétences complémentaires aux nôtres, afin de maximiser l’impact scientifique, économique et sociétal d’Inria.

Contexte et atouts du poste

Profil recherché : Nous recherchons un(e) étudiant(e) en M1/M2 dans une formation en informatique (école ou université). L'apprenti(e) doit être motivé(e) pour apprendre, prêt(e) à travailler avec des chercheurs et ingénieurs dans le cadre de l'industrialisation d'un prototype de recherche.

Résumé du poste :

L’apprenti(e) intégrera l’équipe de recherche PETRUS pour une durée d’un ou deux ans selon son niveau d’étude.

L’équipe PETRUS articule sa recherche autour du paradigme du Cloud Personnel, permettant à chaque individu de rassembler l'ensemble de son environnement numérique et d'en réguler l'usage et le partage sous son contrôle. L'équipe développe des plateformes logicielles qui combinent des techniques de l'informatique de confiance (processeurs sécurisés avancés type Intel SGX, ou plus traditionnels type TPM/smartcard), des technologies bases de données (opérateurs SQL, exécution distribuée type Spark, etc.) et cryptographiques (protocoles de sécurité). Une version de cette plateforme, dénommée PlugDB©, est aujourd'hui utilisée comme support d'un dossier médico-social électronique facilitant la coordination des soins auprès des personnes dépendantes. Ce dossier patient est en cours de déploiement dans les Yvelines et dans les Hauts de Seine auprès de 20.000 patients, en association avec la société Hippocad et l'agence interdépartementale des Yvelines et des Hauts de Seine. L'apprenti(e) sera chargé(e) de diverses tâches liées au développement de PlugDB©, avec un focus particulier sur la simplification du code existant et l'enrichissement de la base de tests.

Partenaires: Dans le cadre de l'opération d'industrialisation en cours, le principal partenaire industriel de l'équipe est la société Hippocad avec laquelle un laboratoire commun d'innovation (IILab) a été créé. Des liens avec d'autres industriels tels que STMicroelectronics et des cabinets d'étude hardware sont également présents dans cette action. 

Environnement de travail : L’équipe PETRUS est basée sur le campus des Sciences de l'Université de Versailles Saint-Quentin-en-Yvelines. Le site est bien desservi par les transports en commun et se situe à 30 minutes du centre de Paris. L'apprenti(e) travaillera sous la direction de Ludovic Javet, qui lui confiera des tâches adaptées en fonction de son niveau et de son évolution.

Formations : Des formations sont possibles et fortement encouragées : développement, outils, méthodes, anglais, etc…

Perspectives : A l'issue de la période d'apprentissage, l'apprenti(e) pourrait intégrer l'équipe, soit via un poste d'ingénieur à l'Université de Versailles (PETRUS est une équipe mixte INRIA/UVSQ), soit via une embauche chez notre partenaire industriel Hippocad, filiale du groupe La Poste.

Mission confiée

Description détaillée de la mission de l’apprenti(e) :

Le système PlugDB©, en phase d'industrialisation, est un système de gestion de base de données embarqué (stockage, indexation, opérateurs algébriques, transactions) écrit en langage C, capable de fonctionner dans des environnements sécurisés de l’informatique de confiance (par exemple, microcontrôleur adossé à un TPM, secure element de type smartcard). Dans sa version actuelle déployée dans les Yvelines, il est intégré dans une box autonome utilisable à domicile. L'apprenti(e), sous la supervision de Ludovic Javet et en collaboration avec les autres membres de l'équipe, contribuera à l'industrialisation de cette solution. Cette mission nécessite une combinaison de compétences variées couvrant plusieurs aspects du développement logiciel embarqué, de la sécurité cryptographique et matérielle, du traitement des bases de données, ainsi que des procédures de tests de qualité industrielle. Des membres expérimentés de l'équipe seront disponibles pour guider et former l'apprenti(e) dans l'acquisition de ces compétences.

Principales activités

Activités principales:

  • Implémentation de nouvelles fonctionnalités en C/C++ et Python
  • Simplification du code existant (syntaxe et logique algorithmique)
  • Réalisation de tests unitaires et de bout en bout
  • Amélioration de l'infrastructure de tests et de déploiement
  • Documentation des modules du logiciel PlugDB©

Compétences

L'apprenti(e) devra avoir de bonnes connaissances en développement informatique et avoir une appétence pour la conception logicielle pour les environnements matériels spécifiques et/ou contraints (à faible mémoire, très sécurisé, etc.) avec une recherche d’optimisation des ressources, un goût pour la sécurité informatique et la gestion de données (stockage, indexation, évaluation de requêtes). Autonome et rigoureux(se), il/elle dispose d'une bonne capacité relationnelle.

Les compétences suivantes sont requises, et seront renforcées lors de l'apprentissage : 

  • Bonne connaissance du langage de programmation C
  • Connaissance basique des outils de développement (gcc, git, vscode)
  • Notion sur les principes de fonctionnement d’un SGBD

Compétences complémentaires appréciées :

  • Connaissance des langages de programmation C++ et Python
  • Expérience en programmation embarquée sur microcontrôleur

Avantages

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
  • Possibilité de télétravail (après 6 mois d'ancienneté) et aménagement du temps de travail
  • Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
  • Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
  • Accès à la formation professionnelle
  • Sécurité sociale

Rémunération

Rémunération selon la grille d'apprentissage