Un CLI avec Rust

Tags :
  • POK
  • 2023-2024
  • temps 3
Auteurs :
  • Assane Diouf

Développement d'une commande avec Rust

Introduction

Lors du premier temps à Do_It, j'ai découvert Rust. Rust est un langage bas niveau très apprécié par les développeurs pour son aspect "safe by design". J'ai donc envie d'appliquer mes connaissances en Rust pour progresser davantages. Dans ce POK, je vais développer un CLI (Command Line Interface). Il s'agit d'un programme qui tourne dans l'invité de commande avec laquelle l'utilisateur peut intéragir grace à des commandes. Pour ce faire je vais utiliser le crate clap.rs, qui vient avec plein d'outils pour créer des commandes avec Rust.

Idée

J'ai pensé développer un outil simple de suivi des projets pour les développeurs sur leur machine locale. Les fonctionnalités seraient les suivantes :

Ce que j'aimerai faire pour le sprint 1

Ce que j'ai fait au premier sprint

Je pense avoir mal évalué le temps nécessaire pour chacune des taches car j'ai pu effectuer toutes les taches prévues ainsi que quelques taches prévues pour le sprint 2.

Réalisé en plus :

Pour la suite j'aimerai aussi passer du temps sur la gestion correcte des erreurs.

En attendant voici quelques images de mon POK. J'ai décidé d'appeler ma commande flow.

Toutes les commandes listées ci-dessous ont bien été entièrement implémentées sauf la commande open qui ne clone pas encore les projets lorsque le chemin d'accès n'est pas déterminé. Fenêtre d'aide

Aide pour la sous-commande add

Informations sur le projet Do-It

Ce que j'aimerai faire au sprint 2

Ce que j'ai fait au sprint 2

Les taches suivantes n'ont pas été réalisée car je ne suis pas sûr de leur utilité dans le projet :

Conclusion

Le CLI fonctionne avec les fonctionnalités attendues ! Je l'utilise régulièrement et, pour la suite, je vois quelques pistes d'évolution comme par exemple :