cours dans Rust Skill Tree

Créez votre première CLI en Rust

Dépassez les bases de Rust en ajoutant une véritable dépendance, en appliquant une boucle qualité reproductible et en réalisant un projet en ligne de commande testé avec stockage sur fichier au fil de trois laboratoires guidés et trois défis.

Rust

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

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.toml et Cargo.lock
  • Activer une fonctionnalité de crate et utiliser les macros derive de clap pour 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é.

Enseignant

labby
Labby
Labby is the LabEx teacher.

Recommandé pour vous

no data