Développement d’un environnement logiciel embarqué pour un smartphone frugal

Type de contrat : CDD

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

Fonction : Ingénieur scientifique contractuel

A propos du centre ou de la direction fonctionnelle

Le centre Inria de l'Université de Rennes est un des neuf centres d’Inria et compte plus d'une trentaine d’équipes de recherche. Le centre Inria est un acteur majeur et reconnu dans le domaine des sciences numériques. Il est au cœur d'un riche écosystème de R&D et d’innovation : PME fortement innovantes, grands groupes industriels, pôles de compétitivité, acteurs de la recherche et de l’enseignement supérieur, laboratoires d'excellence, institut de recherche technologique

Contexte et atouts du poste

Dans le cadre d’un partenariat.  Ce poste d’ingénieur CDD de 24 mois s’inscrit dans le cadre d’une action exploratoire financée par l’Inria.

Contexte. Le projet SmolPhone est une recherche-action dans le domaine de l’informatique frugale. En pratique, il vise à concevoir une sorte de smartphone low tech doté d’une semaine d’autonomie. L’objectif n’est pas d’optimiser un smartphone classique, mais plutôt de reconsidérer les choix de design habituels en informatique mobile. Le projet vise à servir de terrain de recherches vers une informatique low tech et frugale.

Pour plus d’informations, voir https://inria.hal.science/hal-04156447  et https://inria.hal.science/hal-04589322

Objectif du poste. L’objectif à la fin du contrat est d’avoir un environ- nement logiciel embarqué intégrant les applications classiques d’un as- sistant personnel (téléphone, messagerie, agenda, mail, web, bloc note) pouvant s’exécuter sur un matériel embarqué aux capacités très restreintes. Pour ce faire, la personne recrutée devra assembler un environnement logi- ciel dédié, puis construire les applications cibles dans cet environnement.

Mission confiée

Missions :

La première mission consistera à établir un environnement de développement d’applications graphiques pouvant s’exécuter sur des micro-contrôleurs dotés de quelques centaines de kilo-octets de mémoire seulement. On utilisera le langage Rust en s’appuyant sur la bibliothèque graphique Slint, qui offrent un sur-ensemble de ce dont nous avons besoin. Un mécanisme de délégation de contrôle au co-processeur applicatif devra également être intégré, en s’appuyant sur un prototype existant.

La seconde mission sera de réaliser les applications attendues d’un smart- phone des années 2000 : téléphonie, SMS, agenda et carnet d’adresse partagés, bloc note, podcasts, emails, visualiseur markdown, lecteur d’epub, etc. Les applications développées ne visent pas l’originalité, mais elles montrent l’adéquation de l’environnement de développement choisi.

Si le temps le permet, la troisième mission visera à établir une infras- tructure distribuée autour du SmolPhone. Un pont Matrix permettra de convertir la messagerie instantanée en un protocole unique, pour lequel on implémentera un client adéquat coté micro-contrôleur. L’infrastructure développée devra permettre l’envoi de SMS de contrôle au SmolPhone pour réactiver les données mobiles à distance. La réalisation d’un proxy de rendu HTML5 constitue à priori une action de recherche ne rentrant pas dans le périmètre du poste d’ingénieur·e.

La personne recrutée devra également participer à la rédaction d’articles scientifiques présentant l’environnement réalisé, en collaboration.

Collaboration :

 

Le/la candidat.e travaillera sous la responsabilité de Martin Quinson (enseignant-chercheur dans l’équipe MAGELLAN, ex- pert en systèmes distribués et en informatique frugale) et Simon Rokicki (enseignant-chercheur dans l’équipe TARAN, expert en micro-architecture et compilation), en équipe avec un.e ingénieur.e concevant le matériel prévu pour les applications développées. Il/elle collaborera de plus avec Joseph Paturel et Mickaël Le Gentil (ingénieurs de recherche dans les équipes TARAN et GRANIT, experts en systèmes embarqués).

Responsabilités :

La personne recrutée a la charge de **** et prendra des initiatives pour ****.

Pilotage/Management :
La personne recrutée aura la responsabilité de ****.

Principales activités

 

Activités principales.

  • Conception en lien avec les membres du projet et réalisation.
  • Développement logiciel de l’environnement et des applications.
  • Tester et modifier jusqu’à valider les développements réalisés.
  • Rédiger une documentation pour les futurs contributeurs.
  • Mise en place et administration d’une infrastructure distribuée de soutien s’exécutant sous Android, en adaptant des outils existants.

Activités complémentaires

  • Rédiger le compte rendu hebdomadaire d’avancement. • Participer aux réunions de groupe hebdomadaire.
  • Participer à la rédaction d’articles scientifiques.

Compétences

 

Le niveau attendu est celui d’un.e ingénieur.e nouvellement diplômé.e, sans expérience professionnelle particulière.

Compétences techniques et niveau requis.

  • Ingénierie logicielle et conception de systèmes: bon niveau
  • Développement d’applications embarquées: bon niveau
  • Développement dans un langage de bas niveau comme C, C++ ou
  • Rust: bon niveau. Aucun niveau préliminaire n’est exigé en Rust, mais le/la candidat.e devra avoir une certaine appétence pour apprendre ce langage.
  • Participer à un environnement de recherche ouvert: expérience appréciée

Langues.

  • Français ou anglais comme langue de travail à l’oral (au choix du/de la candidat.e)
  • Anglais écrit pour lire la bibliographie et rédiger la documentation et les articles scientifiques.

Compétences relationnelles.

  • Autonome et réactif
  • Bonne communication avec les collègues pour collaborer, trouver de l’aide et exposer les avancées du projet

Avantages

  • Prise en charge partielle des frais de transport en commun sur le trajet domicile-travail ou
    FMD.
  • Restauration subventionnée
  • Prise en charge partielle des frais de mutuelle
  • Possibilité de télétravail (à hauteur de 90 jours annuels) et d'aménagement du temps de travail

Rémunération

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