Dans un paysage technologique où les systèmes embarqués sont au cœur des innovations les plus exigeantes - de l'automobile aux dispositifs médicaux en passant par l'IoT industriel - la formation Rust Embarqué de Cénotélie vous offre l'opportunité d'acquérir des compétences rares et recherchées. Cette formation intensive de 4 jours est spécialement conçue pour les développeurs, ingénieurs et architectes souhaitant maîtriser Rust dans des environnements contraints. En combinant théorie et pratique sur cibles matérielles réelles (cartes STM32 et Raspberry Pi Pico), vous découvrirez comment Rust résout les défis historiques du développement embarqué tout en garantissant sécurité mémoire et performances optimales.




L'apprentissage s'effectue, pour chaque module, à 60% par des exercices pratiques et à 40% par des présentations. A la fin de la formation, les stagiaires sont autonomes dans leurs développements dans ce langage et seront capables de :

Depuis 2019, Cénotélie se spécialise dans des formations d'excellence sur des technologies stratégiques dont la programmation système avec Rust et l'intelligence artificielle. Notre différenciation ? Des formations de niche, résolument pratiques et animées par des experts du terrain, conçues pour une application immédiate en milieu professionnel. Certifié Qualiopi, notre centre propose des parcours accessibles à tous (salariés, indépendants, demandeurs d'emploi) qui peuvent être financés via les OPCO ou le CPF. Que ce soit en distanciel ou dans vos locaux, bénéficiez d'un enseignement de qualité qui allie expertise technique et pédagogie éprouvée.

Chaque session est conçue en fonction de vos objectifs, profils et contraintes techniques. Un accompagnement continu optionnel peut être proposé en complément pour constituer une solution « full service ». Ce suivi expert, allant du conseil stratégique au déploiement clé en main, vous permet de bénéficier d'un guidage à chaque étape. Cette approche sur mesure accélère l'adoption de Rust et garantit que vos équipes deviennent efficaces et autonomes, en exploitant pleinement le potentiel du langage.

Chez Cénotélie, nos formateurs sont des praticiens expérimentés ayant déployé des projets Rust en production (industriel, cloud, systèmes critiques). Co-organisateurs de la Rust Paris Conference avec Systematic et animateurs de la communauté rustacéenne française, nous sommes au cœur de l'écosystème Rust. Cette double expertise – terrain et communautaire – garantit des formations toujours à jour, alignées sur les dernières pratiques industrielles et les standards de la communauté.
Ce module inaugural consolide les fondamentaux de Rust indispensables avant d'aborder la programmation embarquée. Nous réviserons le système d'ownership et de borrowing (crucial pour la gestion mémoire sans allocateur), les traits et la généricité (fondamentaux pour les HAL embarquées), la gestion d'erreurs sans panique, et les bases du multi-threading. Cette révision ciblée permet d'homogénéiser le niveau du groupe et de s'assurer que chacun maîtrise les concepts qui seront poussés à leurs limites dans les environnements contraints. Des exercices pratiques permettront d'identifier rapidement les points à renforcer avant d'entrer dans le vif du sujet embarqué.
Les systèmes embarqués imposent des contraintes drastiques : microcontrôleurs avec 32 KB de RAM, absence de système d'exploitation, impossibilité de paniquer. Ce module vous plonge dans l'univers no_std où seule la bibliothèque core (sous-ensemble minimal de Rust) est disponible, excluant les types alloués dynamiquement (Vec, String, Box). Vous apprendrez à évaluer et adapter des bibliothèques tierces pour la compatibilité no_std, à programmer en allocation statique uniquement, et quand l'allocation dynamique est inévitable, à implémenter votre propre allocateur optimisé pour les contraintes de votre cible. L'écriture d'un panic handler personnalisé sera également couverte, car dans l'embarqué critique, un panic doit souvent se traduire par une réinitialisation contrôlée ou l'entrée en mode dégradé plutôt qu'un simple arrêt.
Passer du développement sur PC à la programmation d'un microcontrôleur ARM Cortex-M ou RISC-V nécessite de maîtriser une chaîne d'outils spécifique. Ce module couvre la configuration complète de l'environnement de cross-compilation avec rustup et cargo, la sélection et configuration des targets (thumbv7em-none-eabihf, riscv32imc-unknown-none-elf, etc.), et le flashing du code sur la cible réelle. Le debugging embarqué sera pratiqué avec GDB, OpenOCD, probe-rs et les sondes JTAG/SWD. Nous explorerons les HAL (Hardware Abstraction Layers) qui fournissent des abstractions type-safe pour accéder aux périphériques (GPIO, UART, SPI, I2C, timers), et comment écrire du code portable entre différents microcontrôleurs. Enfin, la gestion des interruptions matérielles sera abordée en détail, élément central de tout firmware embarqué réactif.
L'asynchronisme en environnement embarqué diffère radicalement du modèle desktop/serveur : pas d'allocateur, contraintes temps réel strictes, ressources minimales. Ce module explore les runtimes asynchrones spécialisés pour l'embarqué, notamment Embassy (executor moderne, léger, sans allocation) et RTIC (Real-Time Interrupt-driven Concurrency), qui transforment les interruptions matérielles en tâches asynchrones avec priorités. Vous apprendrez les spécificités du code async dans un contexte no_std : utilisation de futures sans heap, patterns pour éviter les allocations, et comment orchestrer des périphériques matériels (capteurs, communications) de manière asynchrone efficace. Ce paradigme permet d'écrire du firmware lisible et maintenable tout en conservant les performances et le déterminisme requis par les systèmes temps réel.
Depuis Linux 6.1, Rust est officiellement supporté comme second langage de développement du kernel aux côtés du C, ouvrant des perspectives inédites pour la sécurité et la fiabilité du système d'exploitation le plus déployé au monde. Ce module vous guide dans l'écriture d'un module kernel Linux en Rust : nous couvrirons la mise en place complète de l'environnement de développement (kernel avec support Rust activé, bindgen pour les bindings C), la structure d'un module Rust kernel (registration, init/exit), l'accès aux APIs kernel via les abstractions safe fournies, et la chaîne de compilation spécifique avec rustc intégré au build system du kernel (Kbuild). Vous développerez et chargerez un module réel (driver de périphérique simple, syscall personnalisé), expérimentant ainsi comment Rust peut améliorer la robustesse du code kernel tout en interopérant avec l'écosystème C existant.
Des formats sur mesure peuvent être proposés en fonction de vos attentes et de vos besoins. Contactez-nous pour organiser un entretien avec un de nos conseillers.
Les sessions sont programmées à la demande. N'hésitez pas à nous contacter pour organiser une session selon votre convenance.
Les indicateurs de qualité pour cette formation seront disponibles après la réalisation des premières sessions.
Laurent Wouters pratique Rust en production depuis 2017 et maîtrise ce langage au plus haut niveau. Cofondateur de Cénotélie et docteur en Théorie des langages, il a développé une expertise unique alliant fondements théoriques et réalisations industrielles concrètes. Son expérience comprend le développement complet d'une plateforme de suivi des cultures agricoles par analyse satellite (entièrement en Rust côté serveur) et des contributions à plusieurs projets open source, dont Hime et Cratery. Consultant senior recherché, Laurent a mené de multiples missions de développement de plateformes complexes pour des clients exigeants. Animateur de la communauté Rust française (https://rustaceans.fr/), il reste au cœur des évolutions du langage et partage les meilleures pratiques émergentes. Son parcours d'enseignant dans de grandes universités parisiennes, dont l'École Centrale Paris, lui confère une pédagogie éprouvée pour transmettre les concepts les plus avancés. Laurent vous accompagnera dans la maîtrise des aspects les plus sophistiqués de Rust : architecture de systèmes complexes, optimisations avancées, patterns idiomatiques et intégration en environnement professionnel. Une formation dispensée par l'un des meilleurs experts Rust français.

Cette formation peut être réalisée en présentiel ou à distance. Le délai d'accès estimé pour cette formation est de maximum un mois.
Avant la formation
Pendant la formation
A la fin de la formation
Après la formation