CS Bachelor Journey
Projets

Gestionnaire de stock

A simple stock management system

Travail de session: développement d'un système de gestion d'inventaire pour une petite entreprise

Cours INF15122 Base de données 1 — Session d'hiver 2026

Préparé par François Gosselin


Solution - GitHub

1. Mise en situation

Vous faites partie de l'équipe de développement d'une startup technologique située dans l'est du Québec qui développe des systèmes informatiques sur mesure pour les PME. Vous avez reçu un mandat pour développer un système de gestion d'inventaire pour une petite entreprise familiale de la région du Bas-Saint-Laurent: La fermenterie du Père Canuel.

Le système comprendra :

  • Une base de données contenant l'information importante au fonctionnement de l'entreprise
  • Une interface web permettant d'interagir avec la base de données

En collaboration avec vos collègues, vous devez procéder à la conception et au développement d'un système répondant aux besoins du client dans les délais prévus au contrat.


2. À propos de l'entreprise

La fermenterie du Père Canuel est une entreprise de transformation alimentaire qui se spécialise dans la production d'aliments fermentés. L'entreprise produit notamment du tempeh à base de pois ainsi que plusieurs produits dérivés.

Canaux de vente :

  • 🌐 Site web : https://www.perecanuel.com/ (vente via Shopify)
  • 🏪 Épiceries locales
  • 🛒 Marchés publics et événements
  • 🍽️ Restaurants de la région

Gestion actuelle de l'inventaire :

L'inventaire est séparé en deux parties :

  1. Produits bruts : aliments non-transformés pour les recettes
  2. Produits transformés : produits fabriqués et vendus aux clients

⚠️ Actuellement, le suivi est géré à l'aide de tableurs Excel.


3. Équipe et méthodologie de travail

AspectDétails
Taille d'équipe4 ou 5 personnes (exceptions rares)
MéthodologieApproche agile inspirée
OutilsTrello ou similaire pour le suivi
RencontresHebdomadaires avec l'auxiliaire responsable
ObjectifsSuivi d'avancement, identification des blocages, répartition équitable

⚠️ Une personne ne contribuant pas de manière satisfaisante pourrait être pénalisée.


4. Les technologies à utiliser

4.1 Technologies imposées ✅

  • Une base de données relationnelle
  • Un logiciel de gestion de projets
  • Git + dépôt GitLab de l'UQAR
  • Un logiciel pour l'illustration du schéma de la base de données
  • Docker et Compose pour le déploiement

4.2 Technologies recommandées 💡

ComposantSuggestion
SGBDMySQL
Gestion de projetTrello
Schéma BDDrawDB
FrontendApplication web avec JavaScript
BackendPython, PHP, JavaScript, C# (au choix)
ArchitectureAPI REST recommandée
Alternative backendMySQL REST Service

📝 Si vous choisissez des technologies autres que celles suggérées, faites approuver vos choix par l'auxiliaire.


4.3 Les fonctionnalités du système

4.3.1 Module d'inventaire des produits bruts

📦 Liste de produits

- Quantité en stock, unité de mesure, prix unitaire moyen

🏭 Liste des fournisseurs

- Nom, téléphone, courriel, site web, personne contact

🔗 Liste des produits par fournisseur

- Association fournisseur/produit avec prix unitaire et unité

📋 Liste des commandes

- Produit, fournisseur, quantité, prix, dates (commande/réception), statut
- Statuts : commandé, expédié, reçu, rupture de stock

4.3.2 Module d'inventaire des produits transformés

🛍️ Liste des produits transformés

- Quantité en inventaire, unité de mesure, commentaires

📜 Liste des recettes de produits

- Produits bruts composant chaque produit transformé
- Quantités, unités, quantité résultante

👥 Liste des clients

- Coordonnées complètes + type (particulier, épicerie, restaurant...)
- Adresse, ville, région

📋 Liste des commandes clients

- Produit, quantité, prix de vente, dates, statut

📅 Liste de production planifiée

- Quantité planifiée, dates, durée prévue/réelle, taux horaire

👁️ Vue production-inventaire

- Comparaison besoins production vs inventaire/commandes
- Identification des produits bruts manquants

👁️ Vue commande-inventaire

- Comparaison commandes vs inventaire/production planifiée
- Identification des produits insuffisants

4.3.3 Module rapports

RapportContenu
📊 Ventes par produitQuantités vendues, produit des ventes, coût de production, profit réalisé. Filtres par période + évolution mensuelle
💰 Coûts de production par produitDétail des coûts : produits bruts + main d'œuvre
📈 Consommation de produits brutsTendances d'utilisation, évolution dans le temps, moyennes par période

4.3.4 Bonus : Interface avec l'API Shopify (facultatif)

🎁 Points bonis disponibles pour l'intégration de l'API Shopify afin de récupérer automatiquement les données des commandes et clients.

🔗 Documentation API : https://shopify.dev/docs/api/admin-rest


5. Les livrables

5.1 Échéancier et répartition des tâches

  • Décomposition du projet en tâches attribuées aux membres
  • Dates de début/fin + dépendances entre tâches
  • Mise à jour dynamique dans l'outil de gestion de projet

5.2 Schéma de la base de données

  • Représentation graphique des tables, vues, procédures et relations
  • Outil informatique requis (schémas manuscrits refusés)

5.3 Implémentation du schéma de la base de données

  • Création de toutes les tables, vues et procédures dans un SGBD relationnel
  • Script automatisé fichier.sql pour recréer la BD depuis zéro
  • Script séparé pour les données de test (démonstration)

5.4 Application cliente

  • Application multiplateforme (web recommandée)
  • Architecture : Frontend + Backend + Base de données
  • Alternative : MySQL REST Service peut remplacer le backend → frontend statique (HTML/CSS/JS)

5.5 Documentation

  • Fichier README.md en format Markdown dans le dépôt Git
  • Doit inclure :
    • Étapes de déploiement de l'application : visite ici
    • Guide d'utilisation des fonctionnalités

🔗 Guide Markdown : https://www.markdownguide.org/basic-syntax/


6. Évaluation

CritèrePondération
🗓️ Tenue de réunions hebdomadaires + mise à jour tâches10%
🤝 Collaboration via Git (branches, dépôt commun)10%
🗂️ Schéma de la base de données20%
⚙️ Implémentation du schéma25%
💻 Application cliente20%
📚 Documentation15%

ℹ️ Document préparé pour le cours INF15122 — Base de données 1 — UQAR — Session d'hiver 2026


On this page