Skip to content

Cahier des charges

PasRP-Theo edited this page Jan 11, 2025 · 8 revisions

Automatisation d'un système de gestion d'inventaire

Contexte

Une entreprise locale vous fournit des fichiers CSV contenant des informations sur ses stocks ( nom du produit, quantité, prix unitaire, catégorie, ... ). Chaque fichier correspond à une catégorie ou un département.

Elle souhaite :

  • Consolider ces fichiers en une base unique.
  • Recherchez rapidement des informations (par produit, catégorie, prix, etc.).
  • Générer un rapport récapitulatif exportable.
  • Votre mission est de développer une solution (en ligne de commande uniquement) qui répond à ces besoins.

Fonctionnalitées Smart

(Proposé par moi)

Introduction

Ce script Python permet de gérer un inventaire à partir de fichiers CSV. Il inclut des fonctionnalités telles que le chargement de fichiers, la recherche de produits, le filtrage, et la génération de rapports. Toutes les actions sont accessibles via une interface en ligne de commande (CLI).


Commandes Disponibles

1. load_csv_files

  • Description : Charge tous les fichiers CSV d’un répertoire.
  • Arguments :
    • <chemin_du_dossier> : Chemin vers le répertoire contenant les fichiers CSV.
  • Fonctionnement :
    • Valide les fichiers CSV pour s’assurer qu’ils sont au format requis.
    • Combine les fichiers valides en un DataFrame unique.
  • Exemple :
    charger /chemin du script
  • Retour : Nombre de fichiers valides chargés ou affichage d'erreurs.

2. show_menu

  • Description : Affiche un menu qui permet de naviguer entre les fonctionnalités disponibles.
  • Arguments :
  • Fonctionnement :
    • Liste les commandes disponibles et leur description.
  • Exemple :
    aide

3. search_product

  • Description : Rechercher un produit dans l’inventaire a l'aide de son nom.
  • Arguments :
    • <nom_du_produit> : Terme à rechercher dans la colonne nom du produit.
  • Fonctionnement :
    • N'est pas sensible à la casse.
    • Retourne toutes les lignes correspondant a la de recherche.
  • Exemple :
    rechercher "chaise"
  • Retour : Résultats correspondants ou affichage d’erreur si aucun produit n'est trouvé.

4. filter_by_category

  • Description : Filtre les données par une catégorie.
  • Arguments :
    • <catégorie> : Catégorie à filtrer.
  • Fonctionnement :
    • Retourne toutes les lignes correspondant à la catégorie.
  • Exemple :
    filter_by_category "meubles"

5. filter_by_price

  • Description : Filtre les données par une plage de prix.
  • Arguments :
    • <min_prix> : Limite min du prix.
    • <max_prix> : Limite max du prix.
  • Fonctionnement :
    • Retourne toutes les lignes correspondant à la plage de prix indiqué.
  • Exemple :
    filter_by_price 50 
    

Demande a l'ia

"Fais moi des fonctionnalitées Smart sur base de ce script"

1. Commande load_csv_files

  • Spécifique : Charge tous les fichiers CSV d’un répertoire et les combine en une seule base de données.
  • Mesurable : Vérifie que les fichiers sont valides et les combine en un DataFrame sans erreurs.
  • Atteignable : il fait fournir le chemin vers le répertoire des fichiers CSV.
  • Pertinent : aide a centraliser les données pour une gestion facile.

2. Commande show_menu

  • Spécifique : Affiche un menu qui permet de naviguer entre les fonctionnalités.
  • Mesurable : Tout est documentées et accessibles par l'utilisateur.
  • Atteignable : Interface facile pour les utilisateurs.
  • Pertinent : Simplifie l'utilisation du script.

3. Commande search_product

  • Spécifique : Rechercher un produit dans la ligne nom du produit.
  • Mesurable : Retourne les infos correspondant aux critères donnés.
  • Atteignable : Insensible à la casse.
  • Pertinent : Permet une recherche rapide de produits.

4. Commande filter_by_category

  • Spécifique : Filtre les données par une catégorie spécifique.
  • Mesurable : Retourne les entrées correspondant à la catégorie donnée.
  • Atteignable : Fonctionne sur n'importe quelle colonne contenant la catégorie.
  • Pertinent : Permet de rechercher facilement les produits par catégorie.

5. Commande filter_by_price

  • Spécifique : Filtre les données par plage de prix.
  • Mesurable : Retourne les entrées correspondant à la plage de prix définie.
  • Atteignable : La saisie des limites de prix est réalisée sous forme de valeurs numériques.
  • Pertinent : Permet d'examiner les produits en fonction de leur prix.

6. Commande generate_report

  • Spécifique : Génère un rapport regroupé par catégorie avec les quantités totales et les prix moyens.
  • Mesurable : Crée un rapport exporté en CSV.
  • Atteignable : L'utilisateur spécifie le chemin pour sauvegarder le fichier.
  • Pertinent : Permet l'analyse du stock par catégorie pour une prise de décision éclairée.

7. Commande show_first_rows

  • Spécifique : Affiche les premières lignes du DataFrame consolidé pour validation ou inspection.
  • Mesurable : L'utilisateur peut spécifier combien de lignes à afficher.
  • Atteignable : Fonctionne avec de grands volumes de données.
  • Pertinent : Offre un aperçu rapide pour vérifier la validité des données.

8. Commande exit_program

  • Spécifique : Quitte le programme proprement.
  • Mesurable : Le programme se termine sans erreur.
  • Atteignable : Simplement en saisissant un choix.
  • Pertinent : Permet de sortir de l’application sans perdre les données.

Clone this wiki locally