Et ensuite ? Continuer à apprendre Rust
Si vous avez suivi les sujets de ce cours, vous en savez déjà assez en Rust pour écrire de vrais programmes : variables, structures de contrôle, fonctions, ownership (possession), borrowing (emprunt), collections, modules, gestion des erreurs, traits, génériques, et même threads, pointeurs intelligents, unsafe et macros. C’est vraiment l’essentiel de ce que vous utiliserez au quotidien. Ce qui reste, c’est surtout de la pratique, et des connaissances propres à certaines bibliothèques, que vous apprendrez au fur et à mesure de vos besoins.
Construisez quelque chose de petit
Section intitulée « Construisez quelque chose de petit »À partir d’ici, le meilleur moyen de progresser, c’est de choisir un petit projet et de rester bloqué quelques fois. Ce site propose cinq projets guidés pour commencer :
- Jeu de devinettes : le grand classique du premier projet Rust, avec la saisie clavier, les boucles et
match. - Compteur de mots : lire un fichier texte et compter les mots avec une
HashMap. - Liste de tâches en ligne de commande : pratiquer
Vec,struct,enumet la sauvegarde dans un fichier. - Outil CLI avec clap : un vrai outil en ligne de commande, avec des sous-commandes et
--help. - API web avec Axum : un serveur d’API JSON construit avec async/await.
Une fois ceux-là terminés, lancez-vous seul dans l’un de ces projets :
- Une calculatrice simple : pour pratiquer
match,Resultet la gestion des erreurs quand l’entrée est invalide. - Un lecteur de configuration JSON : charger des paramètres depuis un fichier avec Serde.
- Un petit scraper web ou client d’API : récupérer une URL avec
reqwest, en s’appuyant sur async/await.
Vous ne savez pas encore quel genre de programme vous voulez créer ? Les pages « Ce que vous pouvez créer » montrent où Rust excelle et quelles crates on utilise : le réseau, les bases de données, les applications graphiques de bureau, les jeux et les microcontrôleurs.
Vous préférez d’abord vous entraîner sur plus petit ? Faites les Exercices, ou testez-vous avec les Questions d’entretien.
Les crates à connaître
Section intitulée « Les crates à connaître »L’écosystème de paquets de Rust (les crates, distribuées sur crates.io) couvre presque tout ce pour quoi vous voudriez une bibliothèque. En voici quelques-unes qui reviennent sans arrêt :
serde: lire et écrire du JSON (et d’autres formats) ; voir JSON avec Serdeclap: analyser les arguments de la ligne de commande ; voir le projet clapanyhow/thiserror: gérer les erreurs dans les applications et les bibliothèques ; voir anyhow et thiserrorrand,regexetchrono: nombres aléatoires, expressions régulières et dates ; voir Nombres aléatoires, Expressions régulières et Dates et heureslog/tracing: la journalisation ; voir Journalisation (logging)reqwest: envoyer des requêtes HTTPtokio: la programmation asynchrone ; voir Async/Await
Pour ajouter l’une d’elles à un projet, il suffit de cargo add <nom de la crate>, sans gestionnaire de paquets à part. La page Cargo et les crates explique comment cela fonctionne et comment choisir une bonne crate.
Ce que ce cours n’a pas abordé
Section intitulée « Ce que ce cours n’a pas abordé »Ce cours est allé plus loin que la plupart des tutoriels pour débutants : pointeurs intelligents, threads et canaux, async/await, Rust unsafe, appel de code C (FFI), WebAssembly, et même l’écriture de vos propres macros macro_rules!. Quelques sujets plus poussés ont leur propre page, pour le moment où vous serez prêt :
- Les macros procédurales : la cousine plus puissante (et plus complexe) des macros
macro_rules!de la page Les macros en Rust. Ce sont elles qui font fonctionner#[derive(Debug)]et compagnie en coulisses. - no_std / Rust embarqué : écrire du Rust sans la bibliothèque standard, pour des microcontrôleurs et d’autres environnements aux ressources limitées.
Vous n’avez besoin d’aucun de ces sujets pour écrire du Rust utile. Il est bon de savoir qu’ils existent, et de les apprendre le jour où vous tomberez sur un problème qui les demande vraiment.
Où continuer à apprendre
Section intitulée « Où continuer à apprendre »- The Rust Book (en anglais) : relisez-le maintenant que les bases sont acquises ; beaucoup de passages seront plus clairs la deuxième fois.
- Rust by Example (en anglais) : encore plus de code commenté à lire.
- Rustlings (en anglais) : de petits exercices à corriger, directement dans votre terminal.
- This Week in Rust (en anglais) : une newsletter hebdomadaire pour voir ce que construit la communauté.
Un dernier mot, en toute franchise
Section intitulée « Un dernier mot, en toute franchise »Vous tomberez encore sur des erreurs du compilateur qui vous laisseront perplexe, et c’est normal. Cela arrive aussi à des gens qui écrivent du Rust depuis des années, pas seulement aux débutants. Avec l’expérience, les erreurs ne disparaissent pas : vous apprenez simplement à les lire plus vite. Continuez à écrire du code, continuez à lire ce que le compilateur vous dit, et ça deviendra de plus en plus facile.
Bonne chance, et merci d’avoir tenu jusqu’ici. 🦀
Petit quiz
Section intitulée « Petit quiz »Petit quiz
1. Quelle crate cette page recommande-t-elle pour lire et écrire du JSON ?
2. Quelle crate est citée pour la programmation asynchrone ?
3. Lequel de ces sujets la page cite-t-elle comme NON abordé dans le cours ?
Score : 0 / 3