Créez votre première CLI en Rust est la suite orientée projet de Rust pour débutants. En six activités pratiques, vous passerez de petits programmes Rust à une application complète en ligne de commande avec une dépendance externe, des contrôles qualité reproductibles, un état stocké dans un fichier, des tests et un exécutable de production.
Le cours associe trois laboratoires guidés à trois défis ciblés. Les fichiers source longs, arborescences de modules, dispositifs de test et manifestes sont fournis sous forme de projets de départ. Avec nano, vous effectuerez de petites modifications pertinentes aux limites étudiées, sans recopier de longs programmes dans le terminal.
Ce que vous apprendrez
- Ajouter un crate avec Cargo et expliquer les rôles différents de
Cargo.tomletCargo.lock - Activer une fonctionnalité de crate et utiliser les macros derive de
clappour créer arguments, options et sous-commandes typés - Lire l’aide générée et utiliser la validation typée de la ligne de commande
- Appliquer rustfmt, Clippy en mode strict, les tests et rustdoc comme boucle qualité reproductible avant livraison
- Parcourir un petit projet Rust multimodule sans regrouper toutes les responsabilités dans
main.rs - Persister les données derrière une limite de fichier ciblée et propager des erreurs contextualisées
- Construire, tester et exécuter un binaire de production optimisé avec un graphe de dépendances verrouillé
- Étendre une CLI dans ses couches d’analyse, de bibliothèque, de stockage et de sortie sans casser le comportement existant
À qui s’adresse ce cours
Ce cours s’adresse aux personnes ayant terminé Rust pour débutants ou possédant des connaissances équivalentes sur la propriété, les emprunts, structs, enums, collections, itérateurs, Result, fichiers, modules, tests, génériques, traits et le comportement élémentaire des processus en ligne de commande.
Prérequis : Vous devez savoir lire un projet Cargo et y apporter de petites modifications. Aucune expérience du choix de crates externes, de clap, de Clippy, de rustdoc ou de l’organisation d’une CLI complète n’est requise ; ces notions sont présentées avant leur utilisation.
Environnement d’apprentissage : Chaque activité s’exécute dans un nouveau terminal Linux LabEx où Rust et le projet de départ sont préparés. nano est l’éditeur par défaut. Les activités ne partagent pas leur système de fichiers ; chaque défi contient donc un projet indépendant.
Questions fréquentes
Devrai-je écrire une application complète à partir d’un fichier vide ?
Non. La structure, les longues implémentations, le code répétitif de l’analyseur, les tests et les données sont préparés par le setup. Les étapes guidées vous font compléter une petite limite de stockage, de commande ou de domaine à la fois.
Pourquoi le cours utilise-t-il clap ?
La bibliothèque standard suffit à la collecte simple d’arguments enseignée dans le cours précédent. clap ajoute options typées, sous-commandes, aide générée et erreurs cohérentes : c’est une première dépendance pratique pour une véritable CLI.
Que signifie « prêt à transmettre » ici ?
Un autre développeur peut reproduire les dépendances, lire l’interface publique, exécuter les tests et vérifier un format cohérent ainsi qu’un lint propre. Le cours traduit ces attentes en commandes Cargo concrètes.
Que vais-je construire ?
Vous terminerez un gestionnaire de tâches sur fichier avec les sous-commandes add, list et done, le testerez et produirez un exécutable de production. Vous étendrez ensuite une version neuve avec un filtre des tâches ouvertes et un résumé.


