Accueil > Formations > Développement et Ingénierie de Logiciels > Langages & Écosystèmes Backend > Rust
Rust
Montez en compétences sur Rust, un langage de programmation sûr et ultra-rapide !
Vue d'ensemble
Des connaissances en programmation et sur les systèmes Unix.
Objectifs pédagogiques
Programme détaillé
Introduction à la formation Rust
Présentation générale et objectifs de cette formation Rust
Principales caractéristiques du langage, avantages et positionnement
Fonctionnement de Rust (vitesse, erreurs, sûreté, multithreading) et paradigmes de programmation
Installer Rust et Cargo, le gestionnaire de packages pour gérer dépendances et compilation
Démarrer un nouveau projet : crates et structure de base
Outils de développement
Documentation
Tour de table, échanges sur les différents contextes professionnels et les perspectives d’application des nouvelles compétences, installation de rustup et mise en place de différents outils de développement. Codage d’un premier programme en Rust via notre formation.
Syntaxe et concepts basiques de programmation Rust
Blocs de code, accolades, structures… découvrir la syntaxe de Rust
Variables, constantes et (im)mutabilité
Types primitifs : entiers, flottants, strings, tuples…
Expressions if, if else, boucles et boucles conditionnelles
Fonctions : déclaration, paramètres et retours
Définir un module
Tableaux et slices
Introduction aux macros
Commentaires
Création de divers programmes en Rust (conversion de température, génération du nième nombre de la suite Fibonacci…) pour manipuler les concepts de base du langage.
Propriété (ownership) et emprunt (borrowing)
Principe de fonctionnement et intérêt de l’ownership : mémoire et allocation
Comprendre les règles de l’ownership
Transférer la propriété : les moves
Références et borrowing
Opérateurs & et & mut
Résolution de problèmes de programmation pour comprendre et mettre en application les concepts de propriété, emprunt et les slices. Echanges sur l’apport de tels principes dans les programmes Rust en termes de sécurité et de gestion de la mémoire, comparaison avec d’autres langages.
Types personnalisés : structures (structs) et énumérations (enums)
Utiliser les structs pour organiser la donnée : définition et instanciation
Méthodes et fonctions
Enumérations : Option et autres usages communs
Filtrage par motif (pattern matching) avec l’expression match
Déstructuration : tuples, énumérations, pointeurs…
Écriture de programmes utilisant les structs et les enums, corrections de morceaux de code pour faire passer des tests (rustlings GitHub) et mise en œuvre de quelques patterns et anti-patterns de programmation Rust.
Gestion des erreurs
Les deux types d’erreurs sous Rust : recoverable et unrecoverable
Apports de l’approche Rust pour la gestion des erreurs
Utiliser la macro panic!
Result, principes de fonctionnement
La propagation d’erreurs
Gérer les erreurs dans main()
Utilisation de la macro panic, résolution de problèmes de programmation avec l’enum Option, la méthode unwrap et les combinateurs, l’enum Result et ses alias, gestion de multiples types d’erreur avec try.
Généricité en Rust, traits et lifetimes
Principes de fonctionnement des traits dans Rust
Créer et implémenter un trait : Into, Drop, Iterator, Clone…
L’attribut derive
La surcharge d’opérateurs
Références et concept de durée de vie (lifetime)
Durées de vie statiques et associées
La généricité en Rust : types, fonctions, implémentations, restrictions…
Implémentations de différents types de traits, surcharge de l’opérateur d’addition avec le trait Add, mise en œuvre de types et fonctionnalités génériques, utilisation de la clause where pour expliciter une restriction.
Closures et itérateurs
Les closures (aussi appelées lambdas) : caractéristiques et syntaxe
Closures passées en paramètres
Types anonymes
Fonctions passées en paramètres
Fonctions d’ordre supérieur (HOF)
Créer ses propres itérateurs avec le trait Iterator
Capture de variables par référence, par valeur, utilisation des closures avec des outils de la bibliothèque standard (itérateurs any, find), refactoring et mise en œuvre de la méthode next.
Multi-threading
Créer des threads
Transfert de données entre thread : message passing
Les traits Sync et Send
Création de threads avec spawn, communication entre threads et manipulation de concepts de programmation concurrente.
Quelques concepts de programmation avancée en Rust
Fonctionnement des macros
Contourner la sûreté de Rust avec les blocs unsafe
Interfaçage avec C/C++
Prochaines sessions
28 juil. 2026
Distance - Français
28 juil. 2026
Grenoble - Français
28 juil. 2026
Toulouse - Français
28 juil. 2026
Aix-en-Provence - Français
28 juil. 2026
Lyon - Français
1 sept. 2026
Paris - Français
1 sept. 2026
Distance - Français
1 sept. 2026
Lille - Français
1 sept. 2026
Nantes - Français
19 oct. 2026
Grenoble - Français
19 oct. 2026
Aix-en-Provence - Français
19 oct. 2026
Toulouse - Français
19 oct. 2026
Distance - Français
19 oct. 2026
Lyon - Français
17 nov. 2026
Paris - Français
17 nov. 2026
Distance - Français
17 nov. 2026
Lille - Français
17 nov. 2026
Nantes - Français
15 déc. 2026
Lyon - Français
15 déc. 2026
Distance - Français
15 déc. 2026
Grenoble - Français
15 déc. 2026
Toulouse - Français
15 déc. 2026
Aix-en-Provence - Français
Avis des participants
Financement
Cette formation est éligible aux financements OPCO et FNE-Formation. Nos équipes vous accompagnent dans le montage de votre dossier.
En savoir plus sur le financement
