-
Notifications
You must be signed in to change notification settings - Fork 0
Cahier des charges
PasRP-Theo edited this page Jan 14, 2025
·
8 revisions
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.
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).
- 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.
- Description : Affiche un menu qui permet de naviguer entre les fonctionnalités disponibles.
- Arguments :
-
Fonctionnement :
- Liste les commandes disponibles et leur description.
-
Exemple :
aide
- Description : Rechercher un produit dans l’inventaire a l'aide de son nom.
-
Arguments :
-
<nom_du_produit>: Terme à rechercher dans la colonnenom du produit.
-
-
Fonctionnement :
- N'est pas sensible à la casse.
- Retourne toutes les lignes correspondant a la de recherche.
-
Exemple :
chercher "chaise" - Retour : Résultats correspondants ou affichage d’erreur si aucun produit n'est trouvé.
- 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"
- 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
"Fais moi des fonctionnalitées Smart sur base de ce script"
- 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.
- 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.
-
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.
- 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.
- 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.
- 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.
- 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.
- 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.