Détails
- 9 Sections
- 56 Lessons
- 21
Expand all sectionsCollapse all sections
- Introduction8
- 1.1Présentation générale et objectifs de cette formation Rust
- 1.2Principales caractéristiques du langage, avantages et positionnement
- 1.3Fonctionnement de Rust (vitesse, erreurs, sûreté, multithreading) et paradigmes de programmation
- 1.4Installer Rust et Cargo, le gestionnaire de packages pour gérer dépendances et compilation
- 1.5Démarrer un nouveau projet : crates et structure de base
- 1.6Outils de développement
- 1.7Documentation
- 1.8Cas 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
- Syntaxe et concepts basiques de programmation Rust10
- 2.9Présentation de la syntaxe de Rust
- 2.10Variables, constantes et (im)mutabilité
- 2.11Types primitifs
- 2.12Expressions if, if else, boucles et boucles conditionnelles
- 2.13Fonctions : déclaration, paramètres et retours
- 2.14Définition d’un module
- 2.15Tableaux et slices
- 2.16Introduction aux macros
- 2.17Commentaires
- 2.18Cas 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.
- Ownership & Borrowing6
- 3.19Utilisation des structs pour organiser la donnée : définition & instanciation
- 3.20Méthodes & fonctions
- 3.21Enumérations
- 3.22Filtrage par motif (pattern matching) avec l’expression match
- 3.23Déstructuration
- 3.24Cas 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
- Gestion des erreurs7
- 4.25Erreurs recoverable & unrecoverable
- 4.26Rust & la gestion des erreurs
- 4.27Macro panic!
- 4.28Result, principes de fonctionnement
- 4.29Propagation d’erreurs
- 4.30Gestion des erreurs dans main()
- 4.31Cas 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.
- Généricité en Rust, traits et lifetimes8
- 5.32Principes de fonctionnement des traits dans Rust
- 5.33Création & implémentation d’un trait
- 5.34Attribut derive
- 5.35Surcharge d’opérateurs
- 5.36Références et concept de durée de vie (lifetime)
- 5.37Durées de vie statiques et associées
- 5.38Généricité en Rust
- 5.39Cas 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
- Closures6
- Itérateurs4
- 7.46Iterator & IntoIterator traits
- 7.48Consuming iterators
- 7.49Implémentation de son propre itérateur
- 7.50Cas 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
- Multi-threading4
- Pour aller plus loin avec Rust3