Une interface de ligne de commande est un outil puissant pour les développeurs et les administrateurs. Cet outil vous aide à automatiser les activités de routine et vous permet d’accéder facilement à toute la puissance d’un langage de programmation. Il existe de nombreuses interfaces de ligne de commande différentes, mais aujourd’hui, nous allons voir comment créer une CLI en utilisant Python et une bibliothèque appelée click.
Qu’est-ce que le CLI ?
L’interface de ligne de commande (CLI) est une manière d’interagir avec un programme informatique où l’utilisateur tape une commande dans un terminal de texte. Un programme qui nécessite que l’utilisateur tape des commandes est souvent appelé interface de ligne de commande, langage de commande ou interface de terminal. Par exemple, l’interpréteur Python peut être appelé à l’aide de la commande python. Les systèmes d’exploitation peuvent également disposer d’une interface de ligne de commande permettant de contrôler certaines fonctions, comme l’imagerie disque avec la commande dd dans les systèmes d’exploitation de type Unix. En Python, on peut accéder à un programme via la ligne de commande en créant un script Python, appelé CLI (command-line interface).
Conditions préalables :
Créez un environnement virtuel :
Pour créer l’environnement virtuel, utilisez la commande suivante dans votre terminal ou votre invite de commande
Créer un environnement virtuel
Activez l’environnement dans Windows
Activer l’environnement sous Linux
Click:
Click est un paquetage Python qui permet aux applications d’avoir des interfaces uniques et personnalisées, construites de manière organisée et composable. Il permet aux développeurs de configurer et d’étendre l’interface avec un minimum d’effort et fournit des valeurs par défaut judicieuses qui permettent une configuration rapide.
Il vise à rendre le processus d’écriture d’outils en ligne de commande rapide et amusant, ainsi que flexible afin d’éviter toute frustration liée à l’impossibilité d’implémenter une API CLI prévue.
Vous pouvez installer click en utilisant la commande suivante dans votre terminal.
Exemple -1 :
Ce que nous faisons faire à ce CLI est que si quelqu’un tape son nom pendant l’exécution du script, il dira en retour hello et ensuite le nom de l’utilisateur. Vous comprendrez mieux si vous regardez la sortie.
Explication du code :
- Importez la bibliothèque de clics.
- Attachez le décorateur à la fonction principale. Et développez notre exemple en paramétrant le nom à l’aide d’un décorateur click.command.
- Ajout du deuxième décorateur click.argument pour spécifier le nom de la variable qui va contenir l’argument que nous allons passer.
Sortie :

Comme vous pouvez le constater, notre premier petit CLI fonctionne parfaitement. Nous allons maintenant ajouter quelques fonctions supplémentaires à ce CLI.
Cet exemple est plus ou moins similaire au précédent mais ici nous avons ajouté un décorateur supplémentaire click.option qui spécifie également le type de données et nous l’ajoutons dans la boucle for afin qu’il puisse le retourner plusieurs fois dans la sortie.
Sortie

Comme vous pouvez le voir, nous pouvons maintenant donner une option dans la ligne de commande et améliorer notre fonctionnalité.
L’un des aspects intéressants du clic est qu’il vous permet d’incorporer un massage d’aide progressif. Si nous nous mettons à la place de l’utilisateur final, nous pouvons nous demander s’il est familier avec le script ou s’il connaît bien le codage. Alors ce qu’ils peuvent faire, laissez-moi vous le montrer.
L’utilisateur peut utiliser le paramètre –help pour générer une sortie dynamique. En dehors de la boîte, le clic tente de fournir une sorte d’assistance sur ce que vous pouvez faire avec le script.

Comme vous pouvez le voir dans la sortie, ce clic vous donne quelques astuces d’utilisation supplémentaires du script, il vous donne également les options. Rappelez-vous que cette sortie est générée dynamiquement, donc si votre script est différent de celui-ci, la sortie sera également différente.
Vous pouvez également ajouter le message d’aide dans le script afin que l’utilisateur final puisse mieux comprendre le cli.
Sortie
Comme vous pouvez le constater, l’utilisateur final saura exactement ce qu’il doit saisir pour utiliser le cli.

Exemple -2 :
Dans cet exemple, nous allons créer une CLI afin que l’utilisateur ne puisse saisir que des valeurs spécifiques.
Le code est très simple, ce que nous avons fait ici est simplement d’utiliser le décorateur click.option qui est disponible dans la bibliothèque clicked et le reste est le même que l’exemple précédent.
Sortie

Exemple 3 : Créer une CLI avec un groupe de commandes
Il s’agit d’un exemple de restaurant où les utilisateurs veulent commander le déjeuner ou le dîner et savoir s’ils préfèrent la pizza aux hamburgers. Vous comprendrez mieux cela en regardant le résultat.
Ici, nous créons un groupe de commandes que l’utilisateur final pourra utiliser et cliquer sur le paramètre group.
Sortie

Comme vous pouvez le voir maintenant, l’utilisateur a la possibilité de sélectionner le dîner ou le déjeuner, puis le plat qu’il souhaite commander.
Voici une astuce pour rendre votre ligne de commande plus intéressante. Nous allons utiliser ici une bibliothèque Python appelée color que vous pouvez installer en utilisant la commande suivante.
Importez maintenant la bibliothèque dans votre code comme ceci
Définissez ensuite la couleur dans l’instruction print comme suit
Et c’est tout ! Vous générez maintenant la sortie de la console en couleur comme vous l’avez défini. C’est simple et rapide à générer, mais cela donne à votre message plus de caractère et de personnalité que le bon vieux texte en noir et blanc.

Le mot de la fin
Dans cet article de blog, nous avons appris à créer des CLI à l’aide de python et de la bibliothèque click. Les CLI peuvent s’avérer utiles dans plusieurs situations différentes, et nous avons expliqué quelques situations différentes ici en vous donnant des exemples. Nous avons également utilisé la bibliothèque colors pour ajouter de la couleur à la sortie.