Ruby est un langage de programmation polyvalent et convivial, idéal pour créer des outils en ligne de commande (CLI). Dans cet article, nous allons explorer comment écrire un outil CLI simple en Ruby. Que vous soyez un débutant ou un développeur expérimenté, ce guide vous fournira les étapes nécessaires pour créer votre propre outil CLI.
Un outil CLI (Command Line Interface) est un programme qui permet aux utilisateurs d'interagir avec le système d'exploitation via des commandes textuelles. Contrairement aux interfaces graphiques, les outils CLI sont souvent plus rapides et plus légers, ce qui les rend idéaux pour les tâches automatisées et les scripts.
Ruby est un excellent choix pour le développement d'outils CLI pour plusieurs raisons :
Avant de commencer, assurez-vous d'avoir Ruby installé sur votre machine. Vous pouvez vérifier cela en exécutant la commande suivante dans votre terminal :
ruby -v
Si Ruby n'est pas installé, vous pouvez le télécharger depuis le site officiel de Ruby.
Pour commencer, créez un nouveau répertoire pour votre projet CLI. Ouvrez votre terminal et exécutez les commandes suivantes :
mkdir mon_outil_cli cd mon_outil_cli
Ensuite, créez un fichier Ruby pour votre outil. Par convention, nous allons l'appeler mon_outil.rb
:
touch mon_outil.rb
Ouvrez le fichier mon_outil.rb
dans votre éditeur de texte préféré et commencez par écrire le code de base. Voici un exemple simple qui affiche un message de bienvenue :
# mon_outil.rb puts "Bienvenue dans mon outil CLI !"
Pour exécuter votre outil, utilisez la commande suivante dans le terminal :
ruby mon_outil.rb
Vous devriez voir le message "Bienvenue dans mon outil CLI !" s'afficher.
Les outils CLI sont souvent utilisés avec des arguments pour personnaliser leur comportement. Ruby fournit une méthode simple pour gérer les arguments de ligne de commande via le tableau ARGV
. Modifions notre outil pour qu'il prenne un nom en argument :
# mon_outil.rb if ARGV.empty? puts "Veuillez fournir un nom." else nom = ARGV[0] puts "Bienvenue, #{nom} !" end
Maintenant, si vous exécutez votre outil avec un nom, il affichera un message personnalisé :
ruby mon_outil.rb Alice
Vous devriez voir "Bienvenue, Alice !" s'afficher.
Pour rendre notre outil plus puissant, nous pouvons ajouter des options à l'aide de la bibliothèque OptionParser
. Cela permet aux utilisateurs de spécifier des options comme --help
ou --version
. Voici comment procéder :
# mon_outil.rb require 'optparse' options = {} OptionParser.new do |opts| opts.banner = "Usage: mon_outil.rb [options]" opts.on("-v", "--version", "Afficher la version") do puts "Mon Outil CLI version 1.0" exit end opts.on("-h", "--help", "Afficher l'aide") do puts opts exit end end.parse! if ARGV.empty? puts "Veuillez fournir un nom." else nom = ARGV[0] puts "Bienvenue, #{nom} !" end
Avec ce code, vous pouvez maintenant exécuter votre outil avec les options --version
ou --help
:
ruby mon_outil.rb --version
Vous devriez voir "Mon Outil CLI version 1.0" s'afficher.
Maintenant que nous avons les bases, ajoutons quelques fonctionnalités à notre outil. Imaginons que nous voulons créer un outil qui calcule la somme de deux nombres. Voici comment nous pourrions le faire :
# mon_outil.rb require 'optparse' options = {} OptionParser.new do |opts| opts.banner = "Usage: mon_outil.rb [options]" opts.on("-v", "--version", "Afficher la version") do puts "Mon Outil CLI version 1.0" exit end opts.on("-h", "--help", "Afficher l'aide") do puts opts exit end opts.on("-a NUM1 NUM2", "--add NUM1 NUM2", "Ajouter deux nombres") do |num1, num2| somme = num1.to_i + num2.to_i puts "La somme de #{num1} et #{num2} est #{somme}." exit end end.parse! if ARGV.empty? puts "Veuillez fournir un nom." else nom = ARGV[0] puts "Bienvenue, #{nom} !" end
Vous pouvez maintenant exécuter votre outil pour additionner deux nombres :
ruby mon_outil.rb --add 5 10
Vous devriez voir "La somme de 5 et 10 est 15."
Pour rendre notre outil encore plus convivial, nous pouvons ajouter des messages d'erreur et des validations. Par exemple, nous pouvons vérifier si les arguments fournis pour l'addition sont des nombres :
# mon_outil.rb require 'optparse' options = {} OptionParser.new do |opts| opts.banner = "Usage: mon_outil.rb [options]" opts.on("-v", "--version", "Afficher la version") do puts "Mon Outil CLI version 1.0" exit end opts.on("-h", "--help", "Afficher l'aide") do puts opts exit end opts.on("-a NUM1 NUM2", "--add NUM1 NUM2", "Ajouter deux nombres") do |num1, num2| if num1 =~ /\A-?\d+(\.\d+)?\z/ && num2 =~ /\A-?\d+(\.\d+)?\z/ somme = num1.to_f + num2.to_f puts "La somme de #{num1} et #{num2} est #{somme}." else puts "Erreur : Veuillez fournir deux nombres valides." end exit end end.parse! if ARGV.empty? puts "Veuillez fournir un nom." else nom = ARGV[0] puts "Bienvenue, #{nom} !" end
Avec cette validation, si vous essayez d'additionner des valeurs non numériques, vous obtiendrez un message d'erreur approprié.
Félicitations ! Vous avez maintenant un outil CLI simple mais fonctionnel écrit en Ruby. Vous avez appris à :
Les outils CLI peuvent être très puissants et utiles pour automatiser des tâches. N'hésitez pas à étendre votre outil avec d'autres fonctionnalités et à explorer davantage les possibilités offertes par Ruby.
Merci d'avoir suivi ce guide, et amusez-vous à coder !
© 2024 RailsInsights. All rights reserved.