-
Notifications
You must be signed in to change notification settings - Fork 0
Documentation
Voici un exemple de gestionnaire d'inventaire interactif et basé sur des fichiers CSV, avec un comportement adapté à vos besoins. Il inclut des fonctionnalités de consolidation, recherche, et génération de rapports, tout en respectant les spécifications mentionnées (gestion des erreurs, utilisation de @property, CLI). Le script inclut aussi une logique d'importation des fichiers et une interface utilisateur simple. Si vous avez besoin d'ajouter ou d'adapter des fonctionnalités spécifiques, je suis à votre disposition !
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 :
rechercher "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.
ChatGPT
- Utilisé pour générer des idées, structurer le code et résoudre des problèmes spécifiques liés à Python.
- Texte : mise en structure des textes
- Résolution rapide des problèmes: ChatGPT donne des informations précises a chaque fois qu'il fait quelques choses.
- Les Smart : chatGPT donne des smarts complete et précise
Personnalisation de ChatGPT : Bien que puissant, il donne parfois des solutions assez générique ou qui ne convient pas a la demande.
La combinaison de ces outils a fortement réduit le temps passé sur le script et a amélioré la qualité du script. Par contre, j'ai du vérifier que tout le code fonctionnait manuellement
Lors de la validation du programme, j'ai utilisé PyLint sans changer sa configuration. Sa configuration ne respecte pas toutes les règles de la PEP8.
J'ai également changer des options dans mon IDE (PyCharm) pour avoir plus de 'warnings' si le code ne respecte pas certaines règles et bonnes pratiques.
