Clap — un puissant framework CLI pour Rust

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce que Clap ?

Clap (Command Line Argument Parser) est un framework populaire et puissant pour créer des interfaces en ligne de commande (CLI) en Rust. Il permet aux développeurs de définir facilement des arguments, des drapeaux, des sous-commandes et de générer automatiquement de l'aide.

Pourquoi utiliser Clap ?

Écrire un analyseur d'arguments manuellement est une tâche fastidieuse et sujette aux erreurs. Clap prend en charge toute la routine : validation des types, vérification des paramètres obligatoires, génération d'indications et d'une aide colorée. Grâce aux derive-macros, le code devient déclaratif et concis.

Installation

Ajoutez dans Cargo.toml :

[dependencies]clap = { version = "4.5", features = ["derive"] }

Fonctionnalités principales

  • Analyse automatique des arguments et des drapeaux
  • Prise en charge des sous-commandes imbriquées (style git)
  • Génération de l'aide et de la version
  • Validation des valeurs (plages, liste de valeurs possibles)
  • Autocomplétion pour bash/zsh/fish/powershell
  • Affichage coloré des erreurs

Exemple de code

use clap::Parser;

#[derive(Parser)]#[command(name = "greet")]#[command(about = "Salutation de l'utilisateur")]struct Cli { /// Nom de l'utilisateur name: String,

/// Nombre de répétitions #[arg(short, long, default_value_t = 1)] count: u32,

/// Afficher en majuscules #[arg(short, long)] uppercase: bool,}

fn main() { let cli = Cli::parse(); for _ in 0..cli.count { let msg = format!("Bonjour, {} !", cli.name); if cli.uppercase { println!("{}", msg.to_uppercase()); } else { println!("{}", msg); } }}

Quand utiliser Clap ?

Utilisez Clap si vous développez :

  • Des utilitaires en ligne de commande (par exemple, grep, sed, curl)
  • Des outils pour DevOps et CI/CD
  • Des CLI complexes avec de nombreuses sous-commandes (comme git ou cargo)
  • Tout projet Rust nécessitant une saisie utilisateur via le terminal

Clap est la norme de facto pour les CLI en Rust. Il allie des performances maximales à la commodité de développement.

Recommendations