Stage - Conteneurisation sur MCU

Lyon, Auvergne-Rhône-Alpes, France | Engineering | Full-time

Apply

Witekio est expert du logiciel embarqué / IoT, avec une approche système globale, intégrant différentes couches logicielles, du hardware jusqu'au cloud. Depuis octobre 2019, Witekio a démarré une nouvelle aventure en rejoignant le groupe Avnet, fournisseur mondial d'électronique & IoT. Dans le cadre d'un plan stratégique visant à renforcer le Centre d'Excellence Embarqué du Groupe Avnet, nous lançons la création et l'expansion de plusieurs équipes tournées vers l'international au sein de Witekio et localisées en France.

Pour en savoir plus sur nos réalisations, retrouvez quelques-uns de nos case studies : https://witekio.com/category/case-studies/

Nos chiffres clés :

  • 5 entités : Siège à Lyon et des bureaux à Paris, Bristol, Stuttgart et Seattle
  • +110 experts passionnés
  • +20 ans d'expérience dans le logiciel embarqué

 

Contexte :

 Aujourd'hui, mettre à jour une application sur un microcontrôleur (MCU) impose généralement de reflasher l'intégralité du firmware monolithique. Cette approche est coûteuse en bande passante et en stockage — d'autant plus que la plupart des appareils reposent sur une architecture de partitions A/B où la moitié de la mémoire flash reste inutilisée. Les mises à jour complètes sont également risquées et difficiles à réaliser sans interruption de service. De plus, lorsqu'un client souhaite modifier une fonctionnalité applicative précise, reflasher l'ensemble de l'appareil peut exposer des secrets de sécurité.

Sous Linux, les applications se sont massivement tournées vers des conteneurs isolés comme Docker ou Podman. Les conteneurs empêchent une application compromise d'accéder aux fichiers, au matériel ou aux autres processus de la machine hôte sans autorisation explicite, réduisant ainsi considérablement la surface d'attaque par rapport à une application traditionnelle.

Les conteneurs commencent aujourd'hui à apparaître sur les microcontrôleurs, malgré des ressources mémoire et de calcul très contraintes. On voit émerger des solutions comme WebAssembly directement intégrées à Zephyr RTOS, ainsi que des cas d'usage concrets : Sony utilise par exemple des conteneurs pour les applications de sa plateforme AITRIOS, permettant de traiter directement sur l'appareil les résultats d'un traitement d'image par IA au sein d'applications utilisateur.

 

Objectifs :

Dites adieu aux reflashs de firmware risqués et aux redémarrages monolithiques : vous allez transformer la façon dont les logiciels embarqués sont déployés sur les MCU modernes.

  • Mises à jour OTA à distance : déployer des micro-applications légères (5 à 10 Ko) par-dessus l'air, en quelques secondes, sans redémarrer l'appareil.
  • Développement applicatif moderne : développer l'application de votre choix s'exécutant dans le conteneur. Exemples d'applications envisageables :
    • Moteur graphique : portage d'un moteur de jeu rétro (ex. Snake, Pong, ou — plus ambitieux — DOOM)
    • DSP audio temps réel : mise en œuvre d'un pipeline de traitement audio (ex. filtrage ou modulation vocale en temps réel)
    • Pipeline Edge AI : développement de la logique de post-traitement d'un modèle d'IA embarqué
  • Exécution en bac à sable (sandbox) : exécuter des micro-applications isolées en toute sécurité, sans risquer de faire planter le RTOS hôte, en restreignant l'accès aux périphériques (GPIO, I2C, SPI) aux seules API autorisées.

À l'issue du stage, vous présenterez une application en bac à sable fonctionnant sur un MCU, mise à jour à distance et exposant une API sécurisée aux développeurs.

 

Vos missions :

  1. Explorer les technologies de conteneurisation MCU existantes
    • Étudier les technologies de micro, pico et femto-conteneurs disponibles pour les MCU
    • Construire une preuve de concept (PoC) avec la solution la plus prometteuse afin de l'évaluer en profondeur
  2. Définir l'architecture système
    • Choisir l'application de démonstration et le cas d'usage à développer
    • Sélectionner en conséquence la solution de conteneurisation et la plateforme matérielle cible
    • Rédiger la documentation technique complète de l'architecture
  3. Développer le runtime de conteneurisation et l'application
    • Intégrer un runtime de conteneurisation au RTOS cible
    • Concevoir des API hôte exposant de manière sécurisée les capacités clés du MCU aux applications conteneurisées
    • Développer l'application conteneurisée
  4. Renforcer la sécurité et l'isolation d'exécution
    • Restreindre l'accès mémoire et imposer des quotas de ressources (RAM, Flash, CPU)
    • Garantir l'isolation du bac à sable afin qu'un plantage applicatif ne déstabilise pas ou ne fasse pas planter l'ensemble du RTOS hôte
    • Appliquer un contrôle d'accès strict aux périphériques, en n'autorisant les conteneurs qu'aux fonctionnalités de l'API hôte explicitement permises
  5. Mises à jour applicatives à distance
    • Mettre en œuvre des mécanismes de mise à jour dynamique des conteneurs sur le MCU
    • Déployer des mises à jour OTA (over-the-air) dynamiques

 

Livrables attendus :

  • Un état de l'art : évaluation technique des technologies de conteneurisation MCU disponibles
  • Une documentation d'architecture : spécifications complètes de l'architecture système et de la conception de sécurité
  • Une application en bac à sable fonctionnelle : démonstrateur opérationnel intégré aux périphériques matériels avec isolation de sécurité
  • Un pipeline de mise à jour à distance : pipeline de déploiement OTA opérationnel, intégré à Kamea IoT

 

Environnement technique :

  • Embarqué : Zephyr RTOS, WebAssembly, C
  • Langages : C, Python, Rust, WebAssembly
  • Outils : GitHub, CMake, West
  • Matériel : cartes d'évaluation NXP, STM32, Nordic

 

Pourquoi rejoindre Witekio ?

  • Une culture technique forte, avec des équipes multidisciplinaires et des projets variés.
  • Un environnement collaboratif et bienveillant, où l'on valorise la curiosité, le partage de connaissances et l'autonomie, notamment grâce à des Lunch & Learn.
  • Une passion pour l'innovation : on aime les défis technologiques, les produits intelligents et les solutions sur-mesure.
  • Dans une volonté de transparence, des Hangouts chaque mois pour partager les informations vis-à-vis de la société.
  • Des Witekian Days permettant de se former sur tout type de sujets.
  • Des projets concrets et impactants.

 

Processus de recrutement :

  • 1 premier échange téléphonique côté RH
  • 1 test technique rapide
  • 1 échange technique avec notre équipe

 

Nous garantissons l'accessibilité de l'ensemble de nos opportunités professionnelles aux personnes en situation de handicap.