
Formation Rust
Maîtriser le langage Rust, depuis sa syntaxe et son système d'ownership jusqu'à la concurrence sûre et l'écosystème asynchrone, pour produire du code performant, fiable et maintenable.
Format
Intra-entreprise
Durée recommandée
≈ 21 à 35 heures
Démarrage
Sous 15 jours
Sur-mesure
Programme co-construit avec le formateur
Pour qui ?
- ›Développeurs souhaitant ajouter Rust à leur boîte à outils
- ›Profils backend, systèmes ou embarqué cherchant un langage performant et sûr
- ›Développeurs C, C++, Go ou Java souhaitant adopter Rust progressivement
- ›Architectes techniques évaluant Rust pour des projets exigeants
Prérequis
- ›Avoir des bases de programmation dans au moins un langage (lecture et écriture de code) et être à l'aise avec un terminal. Une expérience en C, C++, Go ou Java est un plus mais n'est pas indispensable.
Objectifs pédagogiques
- ›Comprendre les principes de Rust et son positionnement parmi les langages système
- ›Maîtriser la syntaxe, les types, les structures et les enums
- ›Comprendre l'ownership, l'emprunt et les durées de vie
- ›Exploiter traits, génériques et abstractions de Rust
- ›Gérer les erreurs et tester son code de manière idiomatique
- ›Mettre en place de la concurrence sûre et exploiter l'asynchrone
- ›Structurer un projet Rust réel avec Cargo et les bibliothèques de l'écosystème
Programme détaillé
8 modules, construits autour de vos cas réels.
Durée recommandée ≈ 21 à 35 heures, modulable selon le rythme du groupe et vos contraintes intra-entreprise.
01Comprendre Rust et installer son environnement
Chapitres- Identifier les principes de Rust : sûreté mémoire sans ramasse-miettes, performance native, expressivité
- Comparer Rust à C, C++, Go et Java sur la gestion mémoire et les usages typiques
- Installer la toolchain avec rustup et basculer entre stable, beta et nightly
- Créer et compiler un premier projet avec Cargo et la commande cargo run
- Naviguer dans la documentation officielle, le Rust Book et crates.io
02Syntaxe, types et structures de données
Chapitres- Maîtriser variables, mutabilité, types primitifs, constantes et shadowing
- Écrire fonctions et contrôle de flux en distinguant expressions et instructions
- Définir structures et enums et exploiter le pattern matching avec match
- Manipuler tuples, slices, vecteurs, HashMap et chaînes String et str
03Ownership, emprunts et durées de vie
Chapitres- Comprendre les règles d'ownership et le déplacement de valeurs (move)
- Distinguer emprunt immuable et emprunt mutable et leurs contraintes
- Annoter les durées de vie sur les références et les signatures de fonctions
- Choisir entre Rc, Arc, RefCell et Cell selon le partage de propriété
- Diagnostiquer et corriger les erreurs renvoyées par le borrow checker
- Appliquer les patterns idiomatiques pour passer et retourner la donnée
04Traits, génériques et abstractions
Chapitres- Définir et implémenter ses propres traits avec méthodes par défaut
- Écrire du code générique contraint par des bornes de traits (trait bounds)
- Utiliser les traits standards Display, Debug, Iterator, Clone et From
- Manipuler closures, itérateurs et combinateurs map, filter, collect
- Distinguer dispatch statique et dynamique avec dyn et les trait objects
05Gestion des erreurs et tests
Chapitres- Distinguer panic, Result et Option et identifier leurs cas d'usage
- Propager les erreurs avec l'opérateur ? et construire ses types d'erreur via thiserror et anyhow
- Écrire des tests unitaires et d'intégration et lancer cargo test
- Documenter le code avec Rustdoc et valider les exemples testables
06Organisation du code et écosystème Cargo
Chapitres- Structurer un projet en modules, crates et workspaces multi-paquets
- Gérer les dépendances, les features et les profils dans Cargo.toml
- Intégrer des crates courantes : Serde pour la sérialisation, Clap pour la ligne de commande
- Configurer le formatage avec rustfmt et l'analyse statique avec Clippy
- Publier et versionner une bibliothèque selon le semver
07Concurrence et parallélisme
Chapitres- Lancer des threads et partager la donnée en respectant Send et Sync
- Synchroniser avec Mutex, RwLock, Arc et les canaux mpsc
- Paralléliser un traitement de données avec les itérateurs Rayon
- Identifier les pièges classiques : interblocage, contention, data race
- Mesurer et profiler un programme concurrent pour repérer les goulots
08Asynchrone et applications réseau
Chapitres- Comprendre async, await, les futures et le rôle de l'exécuteur
- Construire un service réseau asynchrone avec le runtime Tokio
- Exploiter les bibliothèques Reqwest pour le client HTTP, SQLx pour la base de données, Axum pour le serveur web
- Gérer les erreurs et l'annulation des tâches asynchrones
- Préparer un binaire de production : compilation release, optimisation et profiling
- Mettre en place une intégration continue qui compile, teste et vérifie le formatage
Évaluation & suivi des acquis
Mill-Forma est certifié Qualiopi. Chaque session respecte les six modalités d'évaluation et de suivi suivantes :
- Feuille de présence émargée quotidiennement par le formateur et chaque stagiaire
- Émargement sécurisé via la plateforme Dendreo (suivi numérique certifié)
- Questionnaire d'auto-positionnement préalable pour évaluer niveau et attentes
- Évaluations formatives et sommatives tout au long de la formation
- Mises en situation pratiques et exercices professionnels en conditions réelles
- Attestation de fin de stage et certificat de réalisation remis au stagiaire
Certification délivrée
Attestation de fin de stage + certificat de réalisation
Délai d'accès
Sous 15 jours après validation du devis
Accessibilité PSH
Adaptations possibles en situation de handicap. En savoir plus.
Méthodes pédagogiques
- ›Alternance d'apports théoriques et de mises en pratique
- ›Études de cas issues de projets clients réels
- ›Support pédagogique numérique remis à chaque stagiaire
- ›Formateur expert métier en activité
Prochaine étape
Construire votre formation Rust
Un échange de 20 minutes suffit pour cadrer vos enjeux et la session. Devis personnalisé sous 48h, démarrage sous 15 jours.
- Réponse sous 24h ouvrées
- 01 85 71 00 29

Pour aller plus loin
Formations associées
Développement ITAPI & GraphQL
Cette formation permet de concevoir, structurer et exploiter des API REST et GraphQL de manière fiable, performante et maintenable.
Voir la fiche
Développement ITArchitecture logicielle, clean code, design patterns, DDD
Cette formation permet de structurer des applications robustes, lisibles et évolutives en combinant principes d’architecture, qualité de code et modélisation métier.
Voir la fiche
Développement ITBases de données (SQL / NoSQL)
Cette formation permet de concevoir, interroger, administrer et exploiter des bases de données relationnelles et non relationnelles selon les usages métiers.
Voir la fiche
Développement ITCI/CD, automatisation des déploiements (GitHub Actions, GitLab CI)
Cette formation permet de concevoir, sécuriser et industrialiser des pipelines CI/CD pour automatiser les tests, builds et déploiements.
Voir la fiche
Développement ITCybersécurité, Gouvernance et PRA
Piloter la cybersécurité d'une organisation : gouvernance, analyse de risques EBIOS, PRA/PCA, conformité RGPD/NIS2/ISO 27001, gestion d'incident et reporting. Formation pour DSI, RSSI et responsables IT.
Voir la fiche
Développement ITCybersécurité réseaux
Maîtriser la sécurisation des réseaux (LAN/WAN/Wi-Fi/VPN) de l’hygiène de base aux mécanismes avancés de défense et de supervision.
Voir la fiche