Formation Programmation - Langage Rust
Description
Objectif de formation : Comprendre le fonctionnement du langage Rust, ses avantages puis maîtriser son utilisation et ses concepts pratiques
- Découvrir, comprendre et utiliser le langage Rust et son écosystème dans vos futurs projets
- Utiliser la programmation concurrente et la bonne gestion d’erreur avec Rust
- Migrer efficacement vos applications C ou C ++ vers un environnement Rust
- Développeurs
- Architectes
- Connaissances de base d’un système Unix
- Connaissance en programmation bas niveau
- 1
Introduction
- 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
- Cas pratiques : 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
- 2
Syntaxe et concepts basiques de programmation Rust
- Présentation de la syntaxe de Rust
- Variables, constantes et (im)mutabilité
- Types primitifs
- Expressions if, if else, boucles et boucles conditionnelles
- Fonctions : déclaration, paramètres et retours
- Définition d'un module
- Tableaux et slices
- Introduction aux macros
- Commentaires
- Cas pratiques : 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.
- 3
Ownership & Borrowing
- Utilisation des structs pour organiser la donnée : définition & instanciation
- Méthodes & fonctions
- Enumérations
- Filtrage par motif (pattern matching) avec l’expression match
- Déstructuration
- Cas pratiques : é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
- 4
Gestion des erreurs
- Erreurs recoverable & unrecoverable
- Rust & la gestion des erreurs
- Macro panic!
- Result, principes de fonctionnement
- Propagation d’erreurs
- Gestion des erreurs dans main()
- Cas pratiques : 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.
- 5
Généricité en Rust, traits et lifetimes
- Principes de fonctionnement des traits dans Rust
- Création & implémentation d'un trait
- Attribut derive
- Surcharge d’opérateurs
- Références et concept de durée de vie (lifetime)
- Durées de vie statiques et associées
- Généricité en Rust
- Cas pratiques : 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
- 6
Closures
- Capturing variables
- Closures
- Performance
- Sécurité
- FnOnce & FnMut
- Callbacks
- 7
Itérateurs
- Iterator & IntoIterator traits
- Adapters
- Consuming iterators
- Implémentation de son propre itérateur
- Cas pratiques : 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
- 8
Multi-threading
- Création des threads
- Transfert de données entre thread
- Traits Sync et Send
- Cas pratiques : création de threads avec spawn, communication entre threads et manipulation de concepts de programmation concurrente.
- 9
Pour aller plus loin avec Rust
- Fonctionnement des macros
- Contournement de la sûreté de Rust avec les blocs unsafe
- Interfaçage avec C/C++
Ils nous font Confiance
Nos partenaires de confiance








































Questions fréquentes
FAQ : Formation Programmation - Langage Rust
Oui, mais la prise en charge d'une formation professionnelle par un OPCO dépend de votre opérateur de compétences, de votre branche d'activité et des critères de financement applicables. Ascent Formation vous accompagne dans l'identification des possibilités de financement adaptées à votre entreprise.
Une formation inter-entreprises réunit des participants issus de différentes organisations, tandis qu'une formation intra-entreprise est organisée pour les collaborateurs d'une même entreprise. Le format intra permet notamment d'adapter le contenu et les modalités aux besoins spécifiques de vos équipes.
Selon la formation proposée, il est possible de suivre une formation professionnelle à distance, en présentiel ou selon d'autres modalités disponibles. Consultez les informations de la session concernée ou contactez-nous pour connaître les formats possibles.
Oui, une formation professionnelle peut être adaptée aux objectifs, au niveau des participants et aux besoins opérationnels de votre entreprise. Ascent Formation vous propose des parcours personnalisés pour accompagner le développement des compétences de vos équipes.