Stage - Conteneurisation sur MCU
Lyon, Auvergne-Rhône-Alpes, FranceOn-site or hybridInternFULL_TIMEtodayFresh
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'élec
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 :
Sous Linux, la conteneurisation (Docker, Podman) a permis de résoudre précisément ce problème : isoler les applications, limiter leur accès aux ressources de l’hôte et réduire la surface d’attaque. Cependant, la plupart des firmwares pour microcontrôleurs (MCU) sont encore conçus et mis à jour sous la forme d’une image monolithique unique, ce qui est coûteux en bande passante et en stockage, puisque les appareils réservent généralement une architecture de partitions A/B complète, laissant ainsi la moitié de la mémoire flash inutilisée.
Des approches similaires à la conteneurisation commencent désormais à émerger sur des matériels aux ressources limitées : des runtimes WebAssembly sont intégrés directement à Zephyr RTOS, et des produits réels adoptent déjà ce modèle. La plateforme AITRIOS de Sony, par exemple, exécute des applications de traitement d’images par IA dans des conteneurs directement sur l’appareil.
Ce stage n’est donc pas un simple exercice théorique : le prototype que vous développerez vise à explorer une véritable lacune dans l’écosystème Zephyr, avec le potentiel d’apporter des éléments de réflexion sur la manière dont les futures architectures de firmware pourront gérer des applications modulaires et conteneurisées.
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 (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 sandbox fonctionnant sur un MCU, mise à jour à distance et exposant une API sécurisée aux développeurs.
Vos missions :
-
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
-
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
-
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
-
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 de sandbox, afin qu’un crash d’une application 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
-
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 sandbox 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.
Frequently asked
Is this Stage - Conteneurisation sur MCU role remote?
This role is based in Lyon, Auvergne-Rhône-Alpes, France.