Skip to content
loyde07 edited this page Jan 9, 2025 · 15 revisions

#Rapport d'inventaire

Fonctionnalités du Programme

Importation et consolidation des fichiers CSV

Le programme permet de regrouper/consolider plusieurs fichiers CSV situés dans un dossier donné en un fichier unique centralisant ainsi toutes les données nécessaires pour l'inventaire. L'utilisateur fournit un chemin vers un dossier contenant des fichiers CSV à traiter en ligne de commande (via la commande import_data). Les fichiers sont immédiatement consolidés après l'exécution de la commande et sont sauvegardés dans un fichier nommé "consolidated_data.csv". Cette fonctionnalité facilite la gestion centralisée des stocks en consolidant toutes les données en un fichier unique, prêt à être analysé ou utilisé pour des recherches et des rapports.

Recherche des données (de produits ou catégorie)

La recherche permet à l'utilisateur d'extraire des informations spécifiques à partir du fichier consolidé, comme un produit ou une catégorie, en fonction d'un terme de recherche. L'utilisateur peut rechercher un terme précis (par exemple, un produit ou une catégorie) en ligne de commande (via la commande search). Les résultats, retournés sous forme d'un tableau de données contenant les lignes correspondantes, sont affichés à l'utilisateur. Elles sont affichés immédiatement après l'exécution de la recherche.

Génération de rapports

La génération de rapports permet à l'utilisateur d'obtenir des résumés des données sous différents formats pour une analyse rapide.

L'utilisateur peut générer un rapport en ligne de commande (via la commande report ou l'option --report).

Deux types de rapports sont disponibles :

• Un rapport par catégorie.

• Un rapport sur les produits ayant un stock faible

Dans le rapport par catégorie, les données consolidées sont regroupées par la colonne "category" et une somme des quantités pour chaque catégorie est calculée et affichée sous forme de tableau lisible. Dans le rapport sur les stocks faibles, l'utilisateur spécifie un seuil de stock (via l'option -- report low_stock), ainsi tous les produits dont la quantité est inférieure au seuil sont extraits et affichés sous forme de tableau.

Ces rapports permettent une analyse rapide des stocks et ceux-ci sont sont générés et sauvegardés immédiatement.

Rapport sur l'utilisation des outils d'IA

Outils utilisés : ChatGPT, le seul outils utilisé pour mon travail a été ChatGPT

Mon objectif : Utiliser ChatGPT pour améliorer mon code, corriger des erreurs et optimiser les performances du programme.

Comment j'ai utilisé ChatGPT :

  • Optimisation du code : J'ai demandé à ChatGPT de m'aider à rendre le code plus propre et plus rapide, surtout pour la fusion des fichiers CSV et la gestion des rapports. Il m'a proposé des solutions plus efficaces avec pandas.

  • Correction d’erreurs : Quand il y avait des erreurs dans le code, comme des problèmes de format de fichier ou des erreurs de chemin, ChatGPT m'a aidé à les identifier et les corriger.

  • Documentation : ChatGPT a bien organisé les infos et a proposé des descriptions claires des fonctions et modules.

Expérience

Ce que j'ai apprécie :

  • Il m’a permis de gagner un temps précieux en me fournissant des solutions directes et en me guidant à travers certaines tâches, ce qui m’a évité de devoir chercher ou expérimenter pendant des heures. Par exemple, pour le test du code, il me montrait comment faire pour que je puisse tester dans le termimal

  • ChatGPT m’a vraiment aidé à rendre le code plus efficace et à corriger les erreurs rapidement. Il m'a permis de les identifier et de les résoudre rapidement en fournissant des explications détaillées sur les erreurs courantes en Python et en montrant des exemples pour comprendre pourquoi le code ne fonctionnait pas.

Ce qui m'a déplu :

  • Compréhension imprécise des demandes : Parfois, ChatGPT n’interprétait pas bien mes demandes Par exemple, je voulais que lors de la requête "report category", celui-ci affiche uniquement certaines catégorie, mais il a d'abord généré des résultats beaucoup trop larges en me renvoyant les en-tête des fichiers d'inventaire. Ce qui n'est pas ce que j'ai demandé ! J'ai dû reformuler plusieurs fois et j'ai dû être beaucoup plus précis et détaillé pour lui faire comprendre ce que je voulais vraiment.

  • Une autre chose c'était la répétition des mêmes suggestions, même après lui avoir dit que ce qu'il me donnait ne correspondait pas à ce que je voulais. Par exemple, à chaque fois que je lui demandais d’améliorer une fonctionnalité existante, il proposait systématiquement de réécrire des blocs de code que j'avais déjà corrigés, ce qui me pousse à reformuler mes demandes plusieurs fois pour qu'il arrête de répéter les mêmes solutions.

Démonstration via une vidéo :

Sans.titre.8.mp4