Application Web de Gestion des Stocks
Application Web de Gestion des Stocks
3ème année
Ingénierie Informatique et Réseaux
Sous le thème
Réalisé par :
- EL OUALFI Meriem
- BOUTARFA Wafae
- AAYD Amjad
Encadré par :
i
Remerciement
ii
Résumé
Abstract
iii
The StockMaster project aims to develop a web application for
efficient stock management within commercial and industrial
enterprises.
Current manual stock management practices often result in
stockouts or overstocking, leading to financial losses.
The proposed system will enable centralization, real-time tracking,
and automation of stock, order, and supplier management.
The application will be developed using Python with the Django
framework and a MySQL database. The project encompasses
several phases: requirements analysis, technical design,
development, testing, and final deployment. The primary objective
is to optimize stock management, enhance business performance,
and provide an intuitive, secure, and innovative platform.
iv
Table des matières
vi
Liste des figures
xi
Liste des tableaux
xiv
Liste des abréviations
xxv
Introduction Générale
1
Introduction générale
D
ans un environnement commercial et industriel de plus en plus compétitif et dynamique, la
gestion efficace des stocks est devenue un levier stratégique majeur pour la pérennité et la
croissance des entreprises. Une maîtrise optimisée des flux de marchandises permet non
seulement de réduire les coûts opérationnels, mais aussi d'améliorer la satisfaction client et la réactivité face
aux fluctuations de la demande.
Cependant, de nombreuses organisations, notamment les petites et moyennes structures, s'appuient encore
sur des méthodes manuelles ou des outils rudimentaires pour cette gestion cruciale. Ces approches
traditionnelles sont souvent sources d'erreurs, de retards, et conduisent à des déséquilibres coûteux tels que
les ruptures de stock, pénalisant les ventes, ou, à l'inverse, le surstockage, immobilisant inutilement du
capital et augmentant les risques d'obsolescence.
C'est dans cette optique que s'inscrit notre projet, baptisé « StockMaster ». Il vise à répondre à cette
problématique en proposant le développement d'une application web dédiée à la gestion des stocks. Le but
principal de ce projet est de concevoir et de réaliser une solution logicielle permettant de centraliser les
informations, d'offrir un suivi en temps réel des niveaux de stock, et d'automatiser certains processus liés
aux entrées, sorties, commandes et fournisseurs. L'ambition est de fournir aux entreprises un outil
performant, intuitif et sécurisé, contribuant ainsi à une meilleure prise de décision, à une réduction des
pertes financières et à une amélioration globale de la performance opérationnelle.
Ce rapport vous accompagnera à travers trois chapitres pour mieux comprendre la démarche adoptée,
l'analyse effectuée et la solution développée pour répondre aux besoins identifiés.
Dans le premier chapitre, intitulé « Contexte Général », nous commencerons par présenter plus en détail le
contexte général de la gestion des stocks en entreprise, en soulignant ses enjeux et les défis rencontrés.
Nous définirons ensuite clairement la problématique à laquelle notre projet entend répondre, et nous
exposerons les objectifs spécifiques fixés pour l'application StockMaster. Une analyse des besoins
fonctionnels et non fonctionnels sera également détaillée.
Dans le deuxième chapitre, « Modélisation et Implémentation », nous allons voir en détail les
fonctionnalités du projet afin de spécifier les langages et technologies qui seront utilisés pour la réalisation
de l’application, notamment Python avec le framework Django et une base de données MySQL. Nous
présenterons ensuite le processus de développement sur lequel nous nous sommes basés pour organiser et
planifier notre projet, puis la conception de notre système d'information que nous avons modélisé en UML,
incluant les diagrammes de cas d'utilisation, de classes et le schéma de la base de données.
Enfin, dans le troisième chapitre, « Réalisation et Interfaces de l'Application », nous présenterons toutes
les interfaces et le fonctionnement de l’application StockMaster, accompagnée d’une description de
chacune d’elles. Des captures d'écran illustreront les différentes fonctionnalités implémentées et la manière
dont elles interagissent pour offrir une expérience utilisateur cohérente et efficace.
2
Chapitre 1 : Contexte Générale
Chapitre 1 : Contexte
générale
3
Chapitre 1 : Contexte Générale
Introduction
Ce premier chapitre est consacré à l'établissement du cadre général et des fondations sur
lesquelles repose l'intégralité du projet StockMaster. Avant de plonger dans les aspects
techniques de la conception et du développement, il est primordial de bien cerner la
problématique qui a motivé cette initiative, de comprendre le contexte dans lequel elle
s'inscrit, et d'expliciter la démarche méthodologique qui a guidé nos efforts.
Ce chapitre vise donc à fournir au lecteur une vision claire des origines, des justifications et
de l'organisation initiale du projet, éléments indispensables pour appréhender la pertinence et
la structuration de la solution proposée. Nous y explorerons ainsi les motivations derrière
StockMaster et la manière dont nous avons planifié sa concrétisation.
1. Présentation du projet
Cette section a pour objectif d'introduire le projet StockMaster, en commençant par une
analyse du contexte actuel de la gestion des stocks et des lacunes des systèmes ou
méthodes existants. Cette analyse justifie la nécessité et la pertinence de la solution que
nous proposons.
Description de L’existant
4
Chapitre 1 : Contexte Générale
(magasinier, service achat, service commercial) se fait par des échanges verbaux ou
des documents papier.
Fichiers tableurs (Excel, Google Sheets, etc.) : Beaucoup d'entreprises utilisent des
tableurs pour lister leurs articles, suivre les quantités, et parfois calculer les valeurs
de stock. Bien que plus structurés que le papier, ces systèmes atteignent vite leurs
limites en termes de volume de données, de partage d'informations en temps réel, de
sécurité des données, et de complexité des formules pour des analyses avancées. Les
mises à jour sont souvent manuelles et peuvent être effectuées par plusieurs
personnes sans véritable contrôle de cohérence.
Logiciels de gestion généralistes ou modules de base d'ERP : Certaines
entreprises disposent de logiciels de comptabilité ou de gestion commerciale incluant
un module de gestion de stock basique. Cependant, ces modules peuvent manquer de
fonctionnalités spécifiques, de flexibilité pour s'adapter aux processus métier
particuliers, ou ne pas offrir une granularité suffisante pour un suivi précis (par
exemple, gestion des lots, dates de péremption, emplacements multiples).
Absence de centralisation : Les informations peuvent être dispersées entre
différents services ou différents outils, rendant difficile l'obtention d'une vue
d'ensemble consolidée et fiable de l'état des stocks.
Critique de l’existant
5
Chapitre 1 : Contexte Générale
Solution de l’existant
Face à ces constats et pour pallier les insuffisances des systèmes existants, notre
projet, StockMaster, propose le développement d'une application web moderne et dédiée à
la gestion des stocks. Cette solution vise à offrir aux entreprises une plateforme
centralisée, intuitive et performante, capable d'automatiser et de fiabiliser le suivi des flux,
d'offrir une visibilité en temps réel sur les niveaux de stock, les mouvements et la valeur
de l'inventaire. StockMaster ambitionne ainsi d'optimiser les processus de commande
auprès des fournisseurs et de gestion des réapprovisionnements, tout en réduisant
significativement les erreurs grâce à des interfaces de saisie contrôlées et une base de
données unique et cohérente. En facilitant la prise de décision par la mise à disposition de
rapports clairs et d'indicateurs clés de performance, et en améliorant la collaboration entre
les différents utilisateurs et services de l'entreprise, cette application est conçue pour être
un véritable levier d'efficacité opérationnelle. Elle sera accessible via un navigateur web,
assurant une facilité de déploiement et d'accès, et s'appuiera sur des technologies robustes
comme Python avec le framework Django et une base de données MySQL pour garantir
sa fiabilité et sa capacité d'évolution
6
Chapitre 1 : Contexte Générale
2. Organisation du projet
Une gestion de projet structurée est essentielle pour assurer la réussite du développement
d'une application telle que StockMaster. Cette section détaille la méthodologie de
développement choisie ainsi que la planification opérationnelle mise en œuvre.
Pour la conduite de notre projet StockMaster, nous avons opté pour le processus de
développement 2TUP (Two-Track Unified Process). Ce choix a été motivé par sa capacité
à concilier une approche rigoureuse de la conception architecturale avec la flexibilité du
développement itératif des fonctionnalités. Le 2TUP est particulièrement adapté aux
projets où la robustesse de l'architecture est un enjeu clé, tout en permettant des livraisons
Processus 2TUP
7
Chapitre 1 : Contexte Générale
8
Chapitre 1 : Contexte Générale
NB : La valeur de la durée moyenne Dpk est calculée par la loi Bêta [40] :
9
Chapitre 1 : Contexte Générale
10
Chapitre 1 : Contexte Générale
Chaque barre horizontale représente une tâche, positionnée selon sa date de début et sa
durée. Les dépendances entre les tâches sont respectées, de sorte qu'une tâche ne peut
commencer que lorsque toutes ses tâches prédécesseures sont terminées.
Conclusion
ce premier chapitre a permis de poser les fondations de notre projet StockMaster. Nous avons
commencé par présenter le projet et son contexte, en effectuant une étude de l'existant pour
identifier les lacunes des systèmes actuels et justifier ainsi la nécessité de notre solution. Par
la suite, nous avons détaillé l'organisation mise en place pour mener à bien ce projet, en
expliquant notre choix pour le processus de développement 2TUP et en présentant notre
planification.
11
Chapitre 2 : Analyse & conception
24
Chapitre 2 : Analyse & conception
Introduction
Après avoir établi, dans le chapitre précédent, le contexte général, la problématique et
l'organisation de notre projet StockMaster, ce deuxième chapitre est consacré à la phase
cruciale d'analyse et de conception. C'est ici que nous allons traduire les besoins identifiés et
les objectifs fixés en une spécification détaillée du système à construire, puis en une
architecture logicielle et une structure de données concrètes.
La définition claire des besoins fonctionnels est une étape primordiale pour s'assurer que
l'application StockMaster répondra efficacement aux attentes des utilisateurs et aux objectifs
du projet. Cette section détaille les fonctionnalités que le système devra offrir pour résoudre la
problématique identifiée.
25
Chapitre 2 : Analyse & conception
Offrir une interface utilisateur intuitive et sécurisée, permettant une prise en main rapide
par les différents utilisateurs et garantissant la confidentialité et l'intégrité des données.
StockMaster est conçu pour offrir une expérience utilisateur ciblée et sécurisée, structurée
autour de pages publiques informatives et d'espaces dédiés à ses trois principaux types
d'utilisateurs après authentification : l'Administrateur, le Fournisseur, et le Client.
1.3 Pages Publiques :
a. Page d'accueil : Présentation de la solution StockMaster et de ses bénéfices pour la
gestion des stocks.
b. Page "Fonctionnalités" : Détail des capacités offertes par StockMaster.
c. Page de contact / Support : Moyens de joindre l'équipe StockMaster.
d. Accès à l'espace de connexion/inscription.
1.4 Espace d’authentification :
Tous les utilisateurs (Administrateurs, Fournisseurs, Clients) doivent s'authentifier avec
un identifiant (Email) et un mot de passe pour accéder à leurs espaces respectifs. Chaque
utilisateur pourra gérer ses informations de profil.
a. Espace Administrateur :
Cet espace est le centre de contrôle pour l'utilisateur principal de l'entreprise gérant ses
stocks avec StockMaster. Il permet :
1. Le paramétrage global du compte entreprise (informations, préférences).
2. La gestion complète du catalogue d'articles (création, modification, suppression,
catégorisation, prix, seuils d'alerte).
3. La gestion des fournisseurs (création de comptes fournisseurs, gestion des
informations de contact et conditions).
4. La gestion des clients (création de comptes clients, gestion des informations).
5. Le suivi intégral des mouvements de stock (entrées, sorties, transferts).
6. La création et le suivi des bons de commande auprès des fournisseurs.
7. La gestion des commandes clients (si l'application inclut cette fonctionnalité).
8. La réalisation et la validation des inventaires.
9. La génération de rapports d'analyse (état des stocks, rotation, valeur, etc.).
10. La gestion des autres utilisateurs internes si l'admin peut créer des sous-comptes
(magasinier, etc.) avec des droits restreints (cela peut être une fonctionnalité
avancée de l'admin).
26
Chapitre 2 : Analyse & conception
b. Espace Fournisseur :
Dédié aux partenaires fournisseurs de l'entreprise, cet espace leur permet de :
1. Consulter les bons de commande qui leur ont été adressés par l'entreprise (via
l'Admin).
2. Mettre à jour le statut de traitement de ces commandes (ex : "En préparation",
"Expédiée").
3. Soumettre des informations de livraison (date estimée, numéro de suivi).
4. Consulter l'historique des commandes traitées.
5. Gérer leurs informations de profil et de contact.
6. (Optionnel) Proposer des mises à jour de catalogue ou de prix (soumis à
validation par l'Admin).
c. Espace Client :
Conçu pour les clients de l'entreprise, cet espace leur offre la possibilité de :
[Link] le catalogue des produits disponibles (géré par l'Admin).
[Link] des commandes directement via la plateforme (si applicable).
[Link] l'état de leurs commandes en cours (ex : "Validée", "En préparation",
"Expédiée").
[Link] leur historique de commandes.
5.Gérer leurs informations personnelles, adresses de livraison et de facturation.
6.(Optionnel) Accéder à des factures ou des bons de livraison.
Après avoir identifié les besoins généraux et les acteurs de notre application StockMaster, il
est maintenant nécessaire de détailler plus précisément les fonctionnalités spécifiques que le
système offrira. Ces fonctionnalités découlent directement des besoins exprimés et des
objectifs du projet.
27
Chapitre 2 : Analyse & conception
Fonctionnalités Description
Suivi des commandes passées par les clients et reçues des fournisseurs,
Suivi des commandes
avec état de la commande.
Création et gestion des profils d’utilisateurs avec gestion des rôles et
Gestion des utilisateurs
des permissions.
Rapports de stock Génération de rapports détaillés sur les niveaux de stock, les ventes, les
achats et autres indicateurs.
Envoi d’alertes pour les stocks faibles, les retards de commande, ou
Alertes et notifications toute autre situation critique.
Au-delà des fonctionnalités pures, l'ergonomie de l'application StockMaster est un facteur clé
de son succès et de son adoption par les utilisateurs. Une interface bien conçue, intuitive et
agréable à utiliser permet de réduire le temps d'apprentissage, de minimiser les erreurs et
d'augmenter la productivité et la satisfaction des utilisateurs. Cette section se concentre sur les
principes et les règles qui guideront la conception de l'interface utilisateur (UI) et de
l'expérience utilisateur (UX) de StockMaster.
28
Chapitre 2 : Analyse & conception
Assurer un guidage clair : L'application utilisera un langage simple et des libellés explicites.
Un feedback constant sera fourni à l'utilisateur pour l'informer du résultat de ses actions et de
l'état du système. La lisibilité des informations sera une priorité.
Optimiser la charge de travail : Les interfaces seront conçues pour présenter uniquement les
informations pertinentes à la tâche en cours, évitant ainsi toute surcharge cognitive. La saisie
de données sera minimisée grâce à des mécanismes tels que les listes déroulantes ou les
valeurs par défaut lorsque cela est pertinent.
Garantir le contrôle de l'utilisateur : Les actions critiques (suppressions, validations
importantes) nécessiteront une confirmation. L'utilisateur devra sentir qu'il maîtrise ses
interactions avec le système.
Maintenir la cohérence et la standardisation : Une charte graphique et ergonomique
définira l'apparence et le comportement des éléments d'interface (boutons, menus,
formulaires) afin d'assurer une homogénéité à travers toute l'application. L'utilisation de
conventions reconnues facilitera la familiarisation.
Prévenir et gérer les erreurs : La conception visera à anticiper et à prévenir les erreurs de
saisie ou de manipulation. En cas d'erreur, des messages clairs et constructifs guideront
l'utilisateur vers une solution.
Afin de formaliser ces intentions et de garantir leur application cohérente tout au long du
développement, une charte ergonomique sera établie pour StockMaster.
Cette charte servira de document de référence pour la conception des interfaces. Elle précisera
les standards à respecter concernant :
La structure générale des pages : Définition des zones principales (en-tête, menu, zone de
contenu, pied de page) et leur disposition.
La navigation : Principes de navigation entre les différentes sections de l'application pour
chaque profil utilisateur.
La présentation visuelle de l'information : Règles pour l'affichage des listes, des tableaux
de données, et la hiérarchisation des informations.
Les composants d'interface : Spécification de l'apparence et du comportement des éléments
interactifs clés (boutons, champs de formulaire, messages de notification, icônes).
Les interactions et le feedback : Définition des réponses du système aux actions de
l'utilisateur pour une expérience fluide.
29
Chapitre 2 : Analyse & conception
30
Chapitre 2 : Analyse & conception
Python
Django
En tant que framework web Python de haut niveau, Django a fourni la structure et les
outils nécessaires pour un développement rapide et organisé de l'application. Il a
notamment facilité la gestion des modèles de données, des vues et des templates, ainsi
que la sécurité et l'administration du site.
MySQL
Ce système de gestion de bases de données relationnelles open source a été utilisé pour
stocker de manière persistante toutes les données de l'application StockMaster, telles
que les informations sur les articles, les stocks, les utilisateurs et les transactions.
31
Chapitre 2 : Analyse & conception
Bootstrap
[Link]élisation UML
Pour la phase d'analyse et de conception de notre projet StockMaster, nous avons eu recours à
la modélisation UML (Unified Modeling Language). UML est un langage de modélisation
graphique standardisé, largement utilisé en ingénierie logicielle pour spécifier, visualiser,
32
Chapitre 2 : Analyse & conception
construire et documenter les artefacts d'un système logiciel. L'objectif principal de l'utilisation
d'UML dans ce projet est de fournir une représentation claire et non ambiguë de la structure et
du comportement de l'application StockMaster, facilitant ainsi la compréhension commune
entre les membres de l'équipe et servant de base solide pour la phase d'implémentation.
Les résultats obtenus grâce à UML sont une meilleure compréhension des besoins, une
conception plus structurée et une documentation visuelle du système [1].
UML propose un ensemble de diagrammes, chacun offrant une vue spécifique du système.
Une vue peut être constituée d'un ou de plusieurs diagrammes. On distingue principalement
deux types de vues :
Les vues statiques, qui représentent la structure physique et logique du système à un
instant donné. Elles décrivent les éléments du système et leurs relations. Les principaux
diagrammes statiques que nous avons considérés ou utilisés incluent :
o Diagramme de cas d'utilisation (pour décrire les fonctionnalités du point de vue de
l'utilisateur)
o Diagramme de classes (pour décrire la structure des objets et leurs relations)
o Diagramme d'objets (pour montrer des instances de classes à un moment donné)
o Diagramme de composants (pour montrer l'organisation des composants logiciels)
o Diagramme de déploiement (pour décrire l'architecture physique du déploiement)
Les vues dynamiques, qui montrent le fonctionnement et le comportement du système
au fil du temps. Elles décrivent comment les éléments du système interagissent. Les
principaux diagrammes dynamiques incluent :
o Diagramme de séquence (pour montrer les interactions entre objets ordonnées dans
le temps)
o Diagramme de collaboration (ou de communication, pour montrer les interactions
entre objets en mettant l'accent sur leurs liens)
o Diagramme d'états-transitions (pour décrire les différents états d'un objet et les
transitions entre ces états)
o Diagramme d'activités (pour modéliser le déroulement des processus ou des
opérations)
L'utilisation d'UML s'avère bénéfique à toutes les étapes de conception du projet.
33
Chapitre 2 : Analyse & conception
Le diagramme de cas d'utilisation ci-dessus modélise les interactions principales entre les
utilisateurs et le système de gestion de stock. Trois types d’acteurs sont représentés :
l’Administrateur, le Client et le Fournisseur, chacun ayant accès à des fonctionnalités
spécifiques selon son rôle.
1. Administrateur
L’administrateur dispose d’un accès étendu aux fonctionnalités du système, notamment :
Validation des commandes : processus étendu par d'autres fonctionnalités selon les
besoins du système.
Gestion des clients : ajout, modification ou suppression des comptes clients.
Gestion des fournisseurs : gestion des informations et relations avec les fournisseurs.
Génération de rapports : permet de produire des rapports analytiques sur l’état des
stocks, les commandes, etc.
Gestion du catalogue produits : ajout, mise à jour ou suppression de produits.
o Cette fonctionnalité inclut la Surveillance des stocks, qui assure une veille
continue sur les niveaux de stock.
34
Chapitre 2 : Analyse & conception
2. Client
Le client interagit avec le système principalement pour :
Modifier son profil : gestion des informations personnelles.
Consulter l’historique : visualisation des commandes passées.
Passer une commande : processus incluant :
1. Sélection des produits
2. Validation du panier
3. Paiement
4. Ce cas d’utilisation est inclus dans l’interaction principale du client avec le
système.
3. Fournisseur
Le fournisseur a accès à des fonctionnalités permettant de :
Proposer des produits : soumettre des articles pour approvisionnement.
Mettre à jour ses coordonnées : modification des informations de contact.
Suivre les retards : suivi des délais de livraison ou de traitement.
Enregistrer une livraison : confirmation des produits livrés au stock.
35
Chapitre 2 : Analyse & conception
Classe Admin
La classe Admin représente l’administrateur du système, qui possède les privilèges les plus
étendus. Elle contient des attributs d'identification de base comme id, nom, email,
motDePasse et dateInscription. L’administrateur a la responsabilité de gérer l’ensemble des
utilisateurs et des entités du système. Il peut ainsi ajouter, modifier ou supprimer des clients
et des fournisseurs, archiver des produits, valider des commandes, et générer des rapports
sur les stocks. Cette classe joue un rôle central dans la supervision et la cohérence du
système.
Classe Client
36
Chapitre 2 : Analyse & conception
La classe Client décrit les utilisateurs qui passent des commandes sur la plateforme. Elle
contient des informations personnelles telles que l’identifiant, le nom, l’email, le téléphone,
l’adresse et la date d’inscription. Un client peut interagir avec le système via trois
principales actions : passer une commande (passerCommande), consulter son historique
d’achats (consulterHistorique), et modifier son profil (modifierProfil). Chaque client est
associé à plusieurs commandes clients, ce qui permet de tracer ses activités dans le système.
Classe Fournisseur
La classe Fournisseur représente les partenaires commerciaux qui livrent des produits au
système de stock. Chaque fournisseur est identifié par un id, un nom, un contact, un email,
une adresse et un delaiLivraison. Le fournisseur peut proposer de nouveaux produits via la
méthode ajouterProduit, et peut mettre à jour ses informations de contact
(mettreAJourContact). Les interactions entre le système et les fournisseurs sont cruciales
pour maintenir l'approvisionnement du stock.
Classe CommandeClient
La classe CommandeClient correspond aux commandes passées par les clients. Elle contient
des informations essentielles comme l’identifiant de la commande, la date, le statut, le
montant total, et le mode de paiement. Des méthodes associées permettent de calculer le
total de la commande (calculerTotal), de changer son statut (changerStatut), et de générer
une facture (genererFacture). Une commande client est composée de plusieurs lignes de
commande, chacune décrivant un produit commandé avec ses quantités et remises
éventuelles.
Classe CommandeFournisseur
La classe CommandeFournisseur modélise les commandes émises par le système vers les
fournisseurs. Elle inclut l’identifiant, la date de commande, le statut, le montant total et la
date de livraison prévue. Elle offre des fonctionnalités permettant de recevoir une
commande (recevoirCommande) et de calculer un éventuel retard de livraison
(calculerRetard). Comme les commandes clients, une commande fournisseur est composée
de plusieurs lignes de commande.
Classe LigneCommande
La classe LigneCommande représente les éléments constitutifs d’une commande, qu’elle
soit client ou fournisseur. Chaque ligne contient un identifiant, une quantité, un prix unitaire,
une remise, et un sous-total. Deux méthodes permettent de gérer les calculs associés :
calculerSousTotal, qui calcule le montant avant remise, et appliquerRemise, qui applique
37
Chapitre 2 : Analyse & conception
une réduction selon un pourcentage donné. Cette classe est essentielle pour détailler le
contenu des commandes.
Classe Produit
La classe Produit décrit les articles gérés dans le stock. Chaque produit est défini par un
identifiant, un nom, une description, un prix, une catégorie, une quantité disponible, et un
seuil minimum. Cette dernière valeur permet de déterminer à partir de quel niveau une alerte
de réapprovisionnement doit être déclenchée. Le produit dispose de deux méthodes
principales : mettreAJourStock, pour ajuster la quantité disponible, et verifierDisponibilite,
pour vérifier s’il est encore en stock.
Classe Stock
La classe Stock représente l’emplacement physique ou logique où les produits sont
entreposés. Elle contient un id, un emplacement, une capacité, et la dateDernierInventaire.
Elle permet de gérer l’état général des stocks à travers des méthodes telles que verifierStock,
lancerInventaire, et genererAlerteStockBas, cette dernière étant utilisée pour alerter
automatiquement en cas de baisse critique des quantités.
38
Chapitre 2 : Analyse & conception
39
Chapitre 2 : Analyse & conception
40
Chapitre 2 : Analyse & conception
Ce diagramme illustre trois cas d'usage essentiels à la gestion des clients au sein d'une
application, démontrant les interactions entre un administrateur et les composants logiciels
structurés selon une architecture MVC (Vue, Contrôleur, Modèle, Base de Données). Pour la
création d'un client, l'administrateur remplit un formulaire dans la Vue, laquelle transmet les
données au Contrôleur (submitForm(data)); ce dernier sollicite le Modèle (createClient(data))
qui persiste les informations en BDD, supposant une validation préalable, avant qu'un
message de succès ne soit affiché par la Vue. Lors de la consultation de la liste des clients,
une action de l'administrateur dans la Vue (getClients()) amène le Contrôleur à interroger le
Modèle (getAll()), lequel récupère une Liste<Client> de la BDD, souvent convertie en DTO
41
Chapitre 2 : Analyse & conception
(Data Transfer Object) pour séparer la logique métier de l'affichage, avant d'être présentée
sous forme de tableau dans la Vue. Enfin, la suppression d'un client est initiée par la sélection
d'un client (client[x]) et une demande de suppression (deleteClient(id)) depuis la Vue vers le
Contrôleur, qui fait appel au Modèle (delete(id)); la BDD exécute la suppression, et en cas de
succès (confirmé par un booléen), la Vue actualise la liste (refreshList()), gérant
implicitement les échecs si la suppression n'est pas confirmée et suggérant une possible
interaction asynchrone pour l'attente de confirmation.
42
Chapitre 2 : Analyse & conception
43
Chapitre 2 : Analyse & conception
les ventes ou les stocks, et le présenter à l'utilisateur. Le processus est initié lorsque
l'administrateur clique sur "Générer rapport" dans la Vue (Interface Admin), laquelle capture
alors les paramètres nécessaires comme la période, le type de rapport et les filtres. Ces
paramètres sont transmis au Contrôleur (Système de Rapport), qui orchestre la génération en
appelant le Modèle (Gestion des Rapports). Le Modèle est responsable de récupérer les
données brutes pertinentes (par exemple, une liste des ventes) depuis la Base de Données
(BDD), puis d'effectuer les calculs et la mise en forme requis, comme les totaux ou la
génération de graphiques. Une fois traité, le rapport est converti dans un format exploitable,
tel qu'un PDF ou un tableau, et finalement, la Vue affiche ce rapport finalisé à l'administrateur
ou lui propose de le télécharger.
44
Chapitre 2 : Analyse & conception
Modèle, pour les afficher sous forme de jauges. Parallèlement, une tâche planifiée
automatique surveille les stocks critiques : le Modèle scanne la BDD pour identifier les
produits en rupture, et des alertes sont notifiées à l'administrateur par un popup en cas de seuil
atteint. L'administrateur peut également initier une analyse de la rotation des stocks, où le
système calcule les taux à partir des mouvements de stock en BDD et génère un rapport sous
forme d'histogramme. Enfin, une fonctionnalité de prévision de réapprovisionnement permet à
l'administrateur de demander une estimation des besoins futurs ; le Modèle analyse la
consommation et les délais pour générer des prévisions et une liste de commandes suggérées,
affichée dans un tableau "À commander".
5.3.2 Le Client
Ce diagramme de séquence illustre l'interaction d'un Client avec une Interface Web (Vue)
pour consulter puis modifier son profil, processus orchestré par un ClientController et un
ClientModel qui communique avec une Base de Données Client (BDD Client).
Initialement, lorsque le client accède à sa page de profil, l'interface web initie une requête via
le contrôleur vers le modèle pour récupérer les données du client depuis la base de données ;
ces informations sont ensuite transformées en un objet client et utilisées pour pré-remplir un
formulaire affiché à l'utilisateur. Subséquemment, si le client modifie et soumet ses
46
Chapitre 2 : Analyse & conception
informations, l'interface web transmet ces nouvelles données au contrôleur, qui charge le
modèle de mettre à jour l'enregistrement correspondant dans la base de données. Une fois la
modification effectuée avec succès, une confirmation remonte du modèle, à travers le
contrôleur, jusqu'à l'interface web qui affiche alors un message de succès au client.
L'ensemble du processus met en évidence une séparation claire des responsabilités typique
d'une architecture Modèle-Vue-Contrôleur (MVC), où la vue gère l'interaction, le contrôleur
orchestre les flux et le modèle s'occupe de la logique métier et de l'accès aux données.
Ce diagramme de séquence détaille les interactions entre un Client, une Vue Web,
un ClientController, un CommandeModel et une base de données (BDD Commandes)
lorsqu'un client souhaite consulter son historique de commandes. L'interaction commence
lorsque le Client clique sur le lien ou le bouton « Mes commandes » sur la Vue Web. Cette
action incite la Vue Web à appeler la méthode getHistorique(clientId) du ClientController,
qui à son tour sollicite le CommandeModel vial 'appel getCommandes(clientId). Le
CommandeModel interroge ensuite la BDD Commandes pour « Récupérer l'historique des
commandes pour clientId ». En retour, la base de données fournit une « Liste des données
commandes » brutes au CommandeModel. Après un éventuel traitement, le CommandeModel
renvoie une « Liste des objets Commande » au ClientController. Ce dernier transmet cette
liste à la Vue Web avec l'instruction d’ « Affiche les commandes ». Finalement, la Vue Web
présente l'historique des commandes au Client, qui peut alors le « Visualise l'historique »
47
Chapitre 2 : Analyse & conception
5.3.3 Fournisseur
48
Chapitre 2 : Analyse & conception
49
Chapitre 2 : Analyse & conception
Ce diagramme de séquence décrit le processus par lequel un 'Fournisseur' met à jour ses
coordonnées via une application web. Initialement, le Fournisseur 'Accède à son profil' via la
'Vue Web'. Celle-ci initie une requête 'getFournisseur', transmettant l'identifiant du
fournisseur, au 'FournisseurController'. Le contrôleur sollicite alors le 'FournisseurModel'
pour obtenir les informations du fournisseur. Le 'FournisseurModel' interroge la 'BDD
Fournisseurs' avec la méthode 'recupererInfosFournisseur(id)' et reçoit en retour les 'Données
actuelles'. Ces données sont ensuite transmises au 'FournisseurController' sous forme d'un
'Objet fournisseur', qui les relaie à la 'Vue Web' pour qu'elle 'Affiche formulaire' pré-rempli.
Une fois que le Fournisseur 'Modifie coordonnées' sur ce formulaire, la 'Vue Web' envoie une
requête 'updateCoordonnees' au 'FournisseurController'. Ce dernier demande au
FournisseurModel de mettre à jour les coordonnées. 'FournisseurModel' effectue alors
l'opération 'mettreAJourInfosFournisseur(id, nouvellesCoordonnees)' sur la 'BDD
Fournisseurs'. Après avoir reçu une confirmation ('OK') de la base de données, le modèle
notifie le contrôleur que les 'Coordonnées [sont] mises à jour'. Finalement, le
50
Chapitre 2 : Analyse & conception
Conclusion
À l’issue de ce chapitre, nous avons pu transformer les besoins exprimés en une modélisation
claire et structurée du futur système StockMaster. L'analyse fonctionnelle a permis de préciser
les rôles de chaque acteur et les interactions attendues avec l'application, tandis que la
conception a jeté les bases techniques solides sur lesquelles s’appuiera la mise en œuvre. Les
choix d’architecture, de structure de données et de modélisation des processus garantissent
une cohérence globale du système et facilitent son développement futur. Ainsi, ce travail
d’analyse et de conception constitue une étape fondamentale qui guide efficacement la
transition vers la phase de réalisation.
51
Chapitre 3 : Interface de l’application
Chapitre 3 : Interfaces de
l’application
67
Chapitre 3 : Interface de l’application
Introduction
À travers ce chapitre, nous avons présenté de manière détaillée les différentes interfaces de
l’application StockMaster, en précisant les fenêtres propres à chaque type d’utilisateur ainsi
que les fonctionnalités qui leur sont associées. Cette étape marque l’aboutissement de la phase
de développement en illustrant concrètement la traduction des besoins en éléments visuels et
interactifs. Elle prépare ainsi le terrain pour les phases de test et de validation, en garantissant
que la solution développée est conforme aux exigences spécifiées.
[Link]
[Link] Admin
Page login
Dashboard Admin
68
Chapitre 3 : Interface de l’application
Ajouoter un produit
69
Chapitre 3 : Interface de l’application
Modifier un produit
Supprimer un produit
70
Chapitre 3 : Interface de l’application
Rapport du produit
Rechercher un produit
71
Chapitre 3 : Interface de l’application
Ajouter un client
Modifier un client
Supprimer un client
72
Chapitre 3 : Interface de l’application
Rechercher un client
73
Chapitre 3 : Interface de l’application
Ajouter un fournisseur
Modifier un fournisseur
supprimer un fournisseur
74
Chapitre 3 : Interface de l’application
Rechercher un fournisseur
75
Chapitre 3 : Interface de l’application
Ajouter un stock
Rapport du stock
76
Chapitre 3 : Interface de l’application
Conclusion
Nous avons exploré dans ce chapitre les différentes interfaces et les fenêtres utilisées pour
chaque utilisateur, ensuite, nous avons détaillé en particulier les fonctionnalités offertes pour
chacune d’elle.
77
Conclusion
Conclusion Générale
93
Conclusion
94