Skip to content

Cahier des Charges

CryptoGot edited this page Jan 2, 2025 · 4 revisions

Introduction

Objectif

Automatiser la gestion d'inventaire pour une entreprise en permettant de :

  • Consolider plusieurs fichiers CSV en une base unique.
  • Rechercher des informations rapidement (par produit, catégorie, etc.).
  • Générer un rapport récapitulatif exportable.

Contexte

L'entreprise fournit des fichiers CSV contenant des informations sur les stocks (produits, quantités, prix, catégories, etc.). Chaque fichier correspond à un département ou une catégorie. Actuellement, l'analyse des stocks est manuelle et prend beaucoup de temps. Ce projet vise à automatiser ce processus.

Fonctionnalités principales

  1. Fusion des fichiers CSV :
  • Regroupe les données provenant de plusieurs fichiers.
  • Vérifie la validité des fichiers (colonnes nécessaires présentes, non vides).
  1. Recherche d'informations :
  • Recherche par produit spécifique.
  • Recherche par catégorie.
  1. Génération de rapport :
  • Crée un résumé des stocks (somme des quantités, moyenne des prix).
  • Enregistre le rapport dans un fichier CSV exportable.

Détails des fonctionnalités

Fusion des fichiers CSV

  • Les fichiers doivent inclure les colonnes suivantes : product, category, quantity, price.
  • Si un fichier est vide ou contient des colonnes manquantes, une erreur est affichée.

Recherche d'informations

  • Recherche de produit : Affiche les informations d'un produit spécifique (quantité, prix, catégorie).
  • Recherche par catégorie : Retourne tous les produits d'une catégorie donnée.

Génération de rapport

  • Regroupe les données par catégorie.
  • Calcule :
    La somme des quantités par catégorie.
    La moyenne des prix par catégorie.
  • Sauvegarde le rapport dans un fichier CSV.

Contraintes et prérequis

Prérequis techniques :

  • Python 3.8 ou version supérieure.
  • Bibliothèques nécessaires : pandas, argparse.

Contraintes :

  • Les fichiers CSV doivent respecter le format attendu.

Livrables

  1. Code source avec :
  • Tests unitaires couvrant les cas standards et limites.
  • Gestion robuste des erreurs.
  1. Documentation :
  • Cahier des charges (cette page).
  • Fichier README pour guider l'installation et l'utilisation.
  1. Vidéo de démonstration (~2 minutes).