Vous êtes sur la page 1sur 54

La conception et le développement d’une

application pour la gestion commerciale

Ingénierie Informatique et Réseau

MIAGE : Méthode Informatique Appliquée à la


Gestion des Entreprises

M. Fadi SRAIDI M. Mohamed BOUSMAH

2019-2020
1
Remerciement

Ce n’est pas parce que la tradition l’exige ou par habitude que cette page

est présente aujourd’hui dans ce mémoire, mais parce que les personnes
auxquelles s’adressent mon remerciement les méritent vraiment.

Avant d’aborder mon rapport de mémoire de fin d’étude, je tiens à


remercier mon enseignant Mr. BOUSMAH qui m’a aidé lors de la
rédaction de cette mémoire. Quel que soit le remerciement, il reste
insuffisant de refléter mon sentiment à l’égard des personnes qui m’ont
aidé de loin ou de près à la confection et à la concrétisation de ce
modeste rapport.

Enfin, je tiens également à remercier le corps administratif et professoral


de l’Ecole Marocaine des sciences de l’ingénieur.

2
Résumé

Mon projet de fin d’études consiste à informatiser la gestion de stock du


matériel électroménager.

J’ai démarré le projet par une phase d’étude des besoins auprès de
l’équipe de projets. Le but principal est de développer une application
centralisée pour gérer les entrées et les sorties du matériel
électroménager. Ainsi, l’objectif souhaité par l’entreprise est de fournir
une solution complète qui simplifie la gestion des stocks, au niveau local,
en organisant les données, en traçant les mouvements de stock établis
par les utilisateurs de l’entreprises ; ceci sans passer par le système
classique de suivi des archives (bon de commande, formulaires, ...) de
façon manuelle.

3
SOMMAIRE
Remerciement ........................................................................................... 2
Résumé ................................................................................................... 3
Sommaire..................................................................................... 4
Table des figures .......................................................................... 6
Introduction générale ............................................................................... 8
Chapitre 1 : Cadre Général........................................................... 9
I- Cadre de projet .................................................................... 10
II- L’organisme d’accueil ................................................ 10
1- Description .................................................................................. 10
2- L’organigramme de l’entreprise .............................. 11
III- Présentation de projet ...................................................... 12
IV- Plan de travail : ................................................................ 12
1- Organisation de travail ................................................................ 12
2- Diagramme de Gantt................................................................... 12
Chapitre 2 : Etude fonctionnelle et spécifications des besoins : 14
1- Etude de l’existant ............................................ 15
2- Besoins fonctionnels............................................................. 15
3- Besoins non fonctionnels..................................................... 18
Chapitre 3 : Phase de la conception ........................................... 19
I- Langage UML ..................................................................... 20
II- Conception ....................................................................... 20
1- Cycle de viedu projet ............................................................ 20
➔Cycle de vie en cascade ................................................................. 21
2- Identification des acteurs ..................................................... 22
3- Les cas d’utilisations ....................................... 22
a) Le diagramme des cas d’utilisation générale ............................. 23
b) Les cas d’utilisations détaillée .......................................................... 23
• S’authentifier .................................................................... 23
• Ajouter produit ...................................................................... 26
• Modifier produit......................................................................... 27
• Supprimer produit .................................................................. 28
• Rechercher produit ................................................................. 29
• Imprimer facture .................................................................... 30
• Entrée du stock ...................................................................... 31

• Sortie du stock ........................................................................ 32


4
4- Le diagramme des classes .................................................... 33
Chapitre 4 : Phase de la mise en œuvre ................................. 34
I- Technologies utilisées ....................................................... 35
1- Langage de programmation WLangage ............................... 35
2- Logiciel de programmation WinDev ..................................... 35
3- La base de données HFSQL .................................................. 35
II- Réalisation ....................................................................... 38
1- Interface d’authentification ................................ 38
2- Interface d’accueil .......................................... 39
3- Interfaces produit................................................................. 40
4- Interface fournisseurs ..........................................................44
5- Interface clients .................................................................... 46
6- Interfaces gestion facturation .............................................. 48
7- Interface statistique .............................................................51
8- Interface utilisateurs ........................................................... 52
Conclusion ................................................................................53
Bibliographie .............................................................................54

5
Table des figures :
Figure 1 : Logo d’entreprise LOGITEC.
Figure 2 : L’organigramme de l’entreprise.
Figure 3 : Logo de Gantt Project.
Figure 4 : Diagramme de Gantt.
Figure 5 : Le modèle de cycle de vie en cascade.
Figure 6 : Diagramme des cas d’utilisations Préliminaire.
Figure 7 : Diagramme des cas d’utilisations Générale.
Figure 8 : Diagramme de cas d’utilisation S’authentifier.
Figure 9 : Diagramme de séquence S’authentifier.
Figure 10 : Diagramme de séquence Ajouter produit.
Figure 11 : Diagramme de séquence Modifier produit.
Figure 12 : Diagramme de séquence Supprimer produit.
Figure 13 : Diagramme de séquence Rechercher produit.
Figure 14 : Diagramme de séquence Imprimer facture.
Figure 15 : Diagramme de séquence Entrée stock.
Figure 16 : Diagramme de séquence Sortie stock.
Figure 17 : Diagramme des classes.
Figure 18 : Logo WLangage.
Figure 19 : Logo WinDev.
Figure 20 : Logo HFSQL.
Figure 21 : La base de données.
Figure 22 : Interface d’authentification.
Figure 23 : Interface d’erreur d’authentification.
Figure 24 : Interface d’accueil.
Figure 25 : Interface onglet produits.
Figure 26 : Interface nouveau produit.
Figure 27 : Interface modifier produit.
Figure 28 : Interface supprimer produit.
Figure 29 : Interface marque.
Figure 30 : Interface catégorie.
Figure 31 : Interface TVA.
Figure 32 : Interface Entrée Stock (Administrateur).
Figure 33 : Interface Entrée Stock (Caissier).
Figure 34 : Interface Sortie Stock (Administrateur).
Figure 35 : Interface Sortie Stock (Caissier).
6
Figure 36 : Interface onglet recherche.
Figure 37 : Interface onglet fournisseurs.
Figure 38 : Interface nouveau fournisseur.
Figure 39 : Interface modifier fournisseur.
Figure 40 : Interface supprimer fournisseur.
Figure 41 : Interface onglet recherche.
Figure 42 : Interface onglet clients.
Figure 43 : Interface nouveau client.
Figure 44 : Interface modifier client.
Figure 45 : Interface supprimer client.
Figure 46 : Interface onglet recherche.
Figure 47 : Interface onglet facturations.
Figure 48 : Interface nouveau facture.
Figure 49 : Interface supprimer facture(Administrateur).
Figure 50 : Interface supprimer facture(Caissier).
Figure 51 : Bon de facturation.
Figure 52 : Interface onglet recherche.
Figure 53 : Interface STATISTIQUES.
Figure 54 : Interface Vente Par Catégorie.
Figure 55 : Interface Utilisateurs.
Figure 56 : Interface nouveau utilisateur.
Figure 57 : Interface modifier utilisateur.
Figure 58 : Interface supprimer utilisateur.

7
Introduction générale

A l'heure de la mondialisation de l'économie, où la concurrence des


entreprises n'autorise aucune erreur de gestion, la plupart des sociétés
des pays en voie de développement tant du secteur public que privé font
face à des difficultés énormes de gestion. En particulier, la gestion des
stocks.

Toute entreprise, quelle que soit son activité, doit veiller à assurer une
bonne gestion des stocks, ainsi qu’une efficacité dans sa rotation. La
gestion des approvisionnements, s’avère nécessaire en cas de rupture de
stock ou de sur-stockage. Ainsi, on optimise les réponses aux demandes
des clients d’une manière plus performante.

Le présent projet est réalisé dans le cadre du mémoire de mon diplôme


d’ingénieur option Informatique et Réseau ayant comme objectif
principal : la conception et le développement d’une application pour la
gestion commerciale.

8
Chapitre I : Cadre Général

-Présentation de l’organisme d’accueil.


-Cadre général de projet.
-Plan de travail.

Dans ce chapitre nous allons présenter l’organisme d’accueil, ensuite


nous allons décrire le cadre général de projet, ainsi que le plan de
travail

9
I- Cadre de Projet :
Le projet que j’effectue au sein de l’entreprise logitec porte sur la
conception et le développement d’une application de gestion
commerciale d’électroménager. Dans le premier paragraphe je vais
présenter l’entreprise et son domaine d’activité.

Dans le second paragraphe, je vais présenter, les points essentiels du


projet d’informatisation de la gestion des stocks.

II- L’organisme d’accueil :


1- Description :
Notre stage a été déroulé dans la société LOGITEC informatique, c’est une
société de services Informatiques basée à Mohammedia Maroc dont l’objectif
premier est de prendre en charge la gestion des solutions et le développement des
applications informatique pour les clients

Fig.1 : Logo d’entreprise LOGITEC

• Date de création : 2006


• A propos :
➢ Édition et Développement de Logiciels.
➢ Création des sites web.
➢ Applications Mobile.
➢ Étude et Installation des Réseaux Informatiques.
• Produits :
➢ Logiciels sur mesure.
➢ Sites web sur mesure.
➢ Installation réseau.
➢ Formations techniques.

10
3- L’organigramme de l’entreprise

Fig.2 : L’organigramme de l’entreprise

11
III- Présentation de projet :
Le sujet de notre projet de fin d’études consiste à livrer une première version d’une
application de gestion de magasin d'électroménager (sans bug ni pro- blème).

L’application permet la gestion de stocks des grands magasins d’électroménager en


développant une base de données contenant toutes les informations attachées aux
produits stockés (quantité, description, prix, marque, catégorie, fournisseurs, etc.…).

Ainsi, la gestion des factures pour faciliter les calculs et le traitement rapide des
journalisations des ventes, la mise à jour de la base des données.

VI-Plan de travail :
1- Organisation de travail :
Ce rapport est réparti principalement en 4 chapitres :

-Le premier chapitre est dédié à la présentation de la société, et le cadre général


du projet.

-Le deuxième chapitre présente un ensemble des besoins fonctionnels et autres


non fonctionnels.

-Le troisième chapitre décrit la conception de l’application

-Le quatrième chapitre est consacré à la réalisation

2- Diagramme de Gantt :

• Définition :

Fig. 3 : logo de Gantt Project

12
Le Diagramme de GANTT est un outil de gestion de projet, est l’un des outils les
plus efficaces pour représenter visuellement l’état d’avancement des différentes
tâches qui constituent un projet.

Un diagramme de Gantt répertorie toutes les tâches à accomplir pour mener le


projet à bien, et indique la date à laquelle ces tâches doivent être effectuées.

Fig.4 : Digramme de Gantt

• Description de diagramme de Gantt :


Notre stratégie était de diviser notre travail sur 4 parties essentielles. Le travail
a été effectué pendant la période comprise entre 02/03/2020 et le
14/08/2020. Dans la 1ére partie relative on a traité l’étude du projet, qui
contient 3 sous tâches.
1➔L’identification du projet : dans cette partie on a essayé à déterminer le
contexte général du projet en spécifiant l’idée globale et le fonctionnement
du projet.
2➔ Le cahier des charges : Son élaboration sera effectuée à partir des besoins
extraits.
3➔La validation de la 1ére partie.
Dans la seconde partie, figure l’analyse des besoins constitué du 2 sous tâches.
1➔ L’identification des besoins fonctionnels et non fonctionnels.
2➔L’étude de besoins qui consiste à adapter les fonctions offertes par le
Sys tème afin de répondre aux besoins.
La conception des diagrammes du système était la 3éme partie.
La 4éme partie est réservée à la réalisation et le développement de l’application
qui est constitué de 2 parties majeurs :
1➔La réalisation de l’application.
2➔La partie test de l’application.

13
Chapitre 2 : Etude fonctionnelle et
spécifications des besoins
-Etude de l’existence
-Les besoins fonctionnels
-Les besoins non fonctionnels

Dans ce chapitre, nous allons présenter une étude de


l’existant, ainsi qu’on va citer les besoins fonctionnels et non
fonctionnels de l’application

14
1- Etude de l’existant :
Cette étape est très importante dans la réalisation d’un projet, car on va citer
les différents problèmes rencontrés, et on va essayer de les résoudre dans
notre projet.

Les problèmes rencontrés :

• Il n’y a pas de bonne classification des produits.

• Pas de bonne gestion des factures et des clients.

• Mauvaise gestion de la rupture de stock.

Solution proposée pour résoudre ces problèmes :

Afin de résoudre ces problèmes nous proposons d’informatiser la


gestion des produits par la création d’une application de gestion de stock.
Cette application doit respecter les règles de jeux d’une application tels que
la simplicité de navigation entre les rubriques, la bonne organisation de
informations et la sécurité des données.

1- Besoins fonctionnels :
Il s'agit des fonctionnalités du système. Ce sont les besoins spécifiant un
comportement d'entrée / sortie du Système. Le système doit permettre :
Ø A l’administrateur :
• S’authentifier
• Ajouter un caissier
• Modifier un caissier
• Supprimer un caissier
• Supprimer une facture
• Entrée du stock
• Sortie du stock
• Suivi des ventes et statistique
Ø A le caissier + l’administrateur :

• Exposition d’un produit (Prix, description, marque, etc…)

15
• Ajouter un produit

• Modifier un produit

• Supprimer un produit

• Ajouter un Fournisseur

• Modifier un fournisseur

• Supprimer un fournisseur

• Ajouter un client

• Modifier un client

• Supprimer un client

• Préparer une facture

• Vérifier la disponibilité d’un produit

• Effectuer une recherche selon un critère défini

• Recevoir les commandes des demandeurs

➔Pour l’administrateur :
-L’authentification : pour gérer les caissiers, l'administrateur doit être déjà
s'authentifier

-L’ajoute d’un caissier : Pour faciliter la gestion du magasin, on a besoin d’un


caissier qui va gérer le stock

-La modification d’un caissier : l’administrateur est chargé de la modification des


informations personnel d’un caissier.

-La suppression d’un caissier : l’administrateur est chargé de la suppression des


informations personnel d’un caissier.

-Suppression d’une facture : L’administrateur est chargé de la suppression d’une


facture.

-Entrée du stock : L’administrateur est chargé de l’ajoute d’un produit dans le


stock.

- Sortie du stock : L’administrateur est chargé de la suppression d’un produit à


partir du stock.
16
-Suivi des ventes et statistiques : seulement L'administrateur qui peut voir
l’avancement de la vente dans le magasin

➔Pour le caissier + L’administrateur :


-L’exposition des produits : Notre application doit se disposer d’une vitrine
virtuelle représentant nos produits selon une classification par catégorie, ainsi que
les détails de chaque produit avec des images pour faciliter la sélection du produit.

-L’ajoute d’un produit : Pour faciliter la vente, l’utilisateur peut ajouter les
nouveaux produits dans la table produit avec une quantité nulle.

-La modification d’un produit : L’utilisateur est chargé de la modification des


informations d’un produit avec une quantité nulle.

-La suppression d’un produit : L’utilisateur est chargé de la suppression d’un


produit lorsqu’il n’est pas disponible dans le magasin.

-L’ajoute d’un fournisseur : Pour une bonne gestion, l’utilisateur qui va ajouter les
nouveaux fournisseurs dans la table fournisseur.

-La modification d’un fournisseur : L’utilisateur est chargé de la modification des


informations d’un fournisseur.

-La suppression d’un fournisseur : L’utilisateur est chargé de la suppression d’un


fournisseur lorsqu’il n’est pas disponible dans le magasin.

-L’ajoute d’un client : Pour une bonne gestion, l’utilisateur qui va ajouter les
nouveaux clients dans la table client.

-La modification d’un client : L’utilisateur est chargé de la modification des


informations d’un client.

-La suppression d’un client : L’utilisateur est chargé de la suppression d’un client
suite à son décès.

-Préparation d’une facture : L’utilisateur est chargé de la préparation des factures


des clients selon le besoin en structurant chaque produit dans une ligne de facture.

-Vérifier la disponibilité d’un produit : L’utilisateur est chargé de la vérification si


un produit existe dans le magasin ou non.

-Rechercher un produit : L’utilisateur peut chercher un produit dans le magasin


selon un critère.

17
-Rechercher un fournisseur : L’utilisateur peut chercher un fournisseur dans le
magasin selon un critère.

-Rechercher un client : L’utilisateur peut chercher un client dans le magasin selon


un critère.

2- Besoins non fonctionnels :


Les besoins non fonctionnels sont très importants car ils agissent de façon indirecte
sur le résultat et sur le rendement de l’utilisateur, donc ils ne doivent pas être
négligés, pour cela il faut répondre aux exigences suivantes :

- La fiabilité : L’application doit fonctionner de façon cohérent sans erreurs et avec


un temps de réponse minime, et doit être satisfaisant.

- Les erreurs : Les erreurs doivent être signalées par des messages bien organisés
pour guider l’utilisateur et le familiariser avec notre application.

- Ergonomie et bonne interface : L’doit être adapté à l’utilisateur sans qu’il ne


fournisse aucun effort (utilisation claire et facile) du point de vue.

-Cohérent : Pour garder la cohérence de notre application : Nous avons choisis des
éléments graphiques (couleurs ou images de fond, barres séparatrices, icônes,
boutons, etc.) qui sont esthétiquement compatibles et ils respectent les normes
professionnelles, pour pouvoir savoir, au moyen d’indices visuels, si on est toujours
sur la même application

18
Chapitre III : Phase de la conception

-Langage UML
-Conception

Dans ce chapitre on va présenter les différents diagrammes qui


explique le fonctionnement de l’application (diagramme de cas
d’utilisation, diagramme de séquence, diagramme de classe)

19
I- Langage UML :
Dans le but de concevoir un système extensible, évolutif, modulaire et
orienté objet, le formalisme UML s’est imposé comme un outil performant afin
d’élaborer ce projet. En effet, le langage de modélisation UML permet de mener
la phase de conception tout en bénéficiant de la puissance et de la simplicité de
ses diagrammes.

UML est un langage de modélisation de troisième génération, normalisé par


l'OMG (Object Management Group) début 1997. C'est une fusion des idées des
méthodes Booch, OMT et OOSE (Object Oriented Software Engineering). Il a été
conçu pour servir de langage de modélisation objet, indépendamment de la
méthode de mise en œuvre.

UML définit 9 diagrammes pour donner à l’utilisateur les moyens de visualiser et


de manipuler des éléments de modélisation : diagrammes d’activités,
diagrammes de cas d’utilisation, diagrammes de classes, diagrammes de
collaboration, diagrammes de composants, diagrammes de déploiement,
diagrammes d’états transitions, diagrammes d’objets et diagrammes de
séquences.

Le choix d’UML, comme outil de modélisation des flux et les différentes actions
de l’application, peut être justifié par plusieurs raisons :

• UML facilite la compréhension et la communication d’une modélisation objet,

• La notation UML s'impose comme un standard de fait à l'heure actuelle sur le


marché,

• Il est adopté par les grands constructeurs de logiciel du marché,

• L’utilisation d’UML offre l’avantage de disposer de vues de haut niveau


d'abstraction,

• Pour favoriser la communication entre utilisateurs, spécialistes et


informaticiens.
II- Conception :
1- Cycle de vie du projet :
Le cycle de vie d'une application comprend toutes les étapes depuis sa
conception et sa réalisation jusqu’à sa mise en œuvre. L'objectif d'un tel

20
découpage est de permettre de définir des jalons intermédiaires permettant la
validation du développement du logiciel et la vérification de son processus de
développement.
Notre projet peut être découpé de la manière suivante :
- Spécification des besoins : Cette phase consiste à comprendre le
contexte du système. Il s'agit de déterminer les fonctionnalités et les acteurs
les plus pertinents, de préciser les risques les plus critiques et d'identifier les
cas d'utilisation initiaux.
- Conception générale : Dans cette activité, il s’agit de la préparation de
l’architecture générale du logiciel.
- Conception détaillé : Elle consiste à définir précisément chaque sous-
ensemble du logiciel.
- Développement : (Implémentation ou programmation) il s’agit d’une
traduction des fonctionnalités définies dans la phase de conception enlangage
de programmation.
- Test et validation : Il permet de vérifier que le système est exécutable sans
bug ni problème, en tenant compte tous les objectifs cités dans le cahier des
charges.
➔Cycle de vie en cascade :
Le cycle de vie d'un logiciel désigne toutes les étapes du développement d'un
logiciel, de sa conception à sa disparition.
Il existe une multitude de modèle de cycle de vie (en cascade, en V, par incrément,
en B, en spirale…). Le modèle adopté pour notre projet est en cascade.
Le cycle de vie en cascade peut être utilisé lorsqu’un projet est relativement simple,
c’est-à-dire pour lequel nous avons la quasi-certitude que les besoins ou exigences
n’évolueront pas en cours de projet. En pratique, une étape ne démarre que si la
précédente ait été validée par le client et/ou les utilisateurs

Fig.5 : Le modèle de cycle de vie de projet en cascade

21
2- Identification des acteurs :
Un acteur représente un rôle joué par une personne qui interagit avec le système.
Par définition, les acteurs sont à l’extérieur du système. D’où, les acteurs potentiels
qui vont interagir avec l’application sont :
- Administrateur : il peut réaliser la totalité des taches de l’application
- Caissier : il utilise souvent l’application en effectuant des opérations de gestion
du stock, et il a des droits d’accès limitées par rapport à ceux de l’administrateur

Le diagramme suivant résume les cas d’utilisations possibles pour les différents
acteurs ; qu’on va les détaillées plus tard :

Fig. 6 : Diagramme des cas d’utilisation « Préliminaire ».

3- Les cas d’utilisations :


On peut définir un cas d'utilisation comme étant une unité cohérente
représentant une fonctionnalité visible de l'extérieur. Il réalise un service de
bout en bout, avec un déclenchement, un déroulement et une fin, pour l'acteur

22
qui l'initie. Un cas d'utilisation modélise donc un service rendu par le système,
sans imposer le mode de réalisation de ce service.

a) Le diagramme des cas d’utilisations générale :

Fig. 7 : Diagramme des cas d’utilisations « Générale ».

Tout d’abord, On va détailler les principaux cas d’utilisations relatives à


chaque acteur :

b) Les cas d’utilisations détaillée :


➢ Cas d’utilisation « S’authentifier »
L’authentification consiste à vérifier l’identité de l’utilisateur avent de lui
donner l’accès à son espace de travail, l’authentification permet donc, pour le

23
système, de valider la légitimité de l’accès aux utilisateurs, l’identité est
présentée par un login et un mot de passe.

Ces informations associées à l’utilisateur sont préétablies dans la base de


données

Fig. 8 : Diagramme de cas d’utilisation « S’authentifier ».

Le cas d’authentification sera commun entre les deux acteurs de l’application.


Afin de clarifier le déroulement des fonctionnalités, on va utiliser la description
contextuelle des cas d’utilisations à partir d’une fiche descriptive sous forme de
tableau.
Il s’agit de décrire la chronologie des actions qui devront être réalisées par les
acteurs et par le système lui-même
Cas d’utilisation « S’authentifie »
Résumé Vérification de l’identité de l’utilisateur
Acteur L’administrateur et le caissier
Scénario nominal 1. L’utilisateur démarre le système
2. Le système affiche la fenêtre de l’authentification
3. L’utilisateur saisit son login et son mot de passe
4. Le système vérifier la conformité des information fournis
5. Le système donne l’accès à l’interface d’accueil
Scénario alternative 1. Les informations saisies est incorrect
➔Le système affiche un message d’erreur
2. L’utilisateur laisse l’un des champs vide, ou bien les deux
➔Le système affiche un message d’erreur
La fiche descriptive permet d’enregistrer et de structurer toute l’information liée à
un cas d’utilisation, du point de vue externe.

24
Tandis que les diagrammes de cas d’utilisation modélisent à QUOI sert le système,
Les diagrammes de séquences permettent de décrire COMMENT les éléments du
système interagissent entre eux et avec les acteurs.
Les diagrammes de séquences sont la représentation graphique des
interactions entre les acteurs et le système selon un ordrechronologique

Fig. 9 : Diagramme de séquence « S’authentifier ».

25
➢ Cas d’utilisation <<Ajouter produit>>
L'ajout d'un produit peut se faire lorsqu'on a un nouveau produit dans le magasin :
Cas d’utilisation « Ajouter produit »

Résume L’utilisateur ajoute un nouveau produit dans la base de données avec


une quantité nulle

Acteur L’administrateur et le caissier

Pré condition L’utilisateur doit être s’authentifié


Le serveur doit être lancé
Scénario nominal 1. L’utilisateur choisit l’ajout d’un produit
2. Le système donne la main pour saisir les informations du produit
3. L’utilisateur valide l’enregistrement des informations
4. Le système ajoute le nouveau produit dans la base de données
Scénario alternative 1. Les informations saisies est incorrect
➔Le système affiche un message d’erreur
2. L’utilisateur laisse l’un des champs vide
➔Le système affiche un message d’erreur
Le diagramme de séquence relatif à « l’ajout d’un produit » est le suivant :

Fig. 10 : Diagramme de séquence « Ajouter Produit

Remarque : Le cas d’utilisation « Ajouter produit » sera la même que « Ajouter


caissier », « Ajouter fournisseur », « Ajouter facture », et « Ajouter client ».

26
➢ Cas d’utilisation <<Modifier produit >>
L’utilisateur peut faire des modifications supplémentaires, comme la
modification du libelle ou du prix HT pour les produits.
Cas d’utilisation « Modifier produit »
Résume L’utilisateur peut modifier les informations d’un produit
Acteur L’administrateur et le caissier
Pré condition L’utilisateur doit être s’authentifié
Le serveur doit être lancé
Scénario nominal 1. L’utilisateur choisit un produit
2. L’utilisateur choisit la modification
3. Le système donne la main pour saisir les nouvelles informations
du produit
4. L’utilisateur valide l’enregistrement des informations
5. Le système faire les modifications dans la base de données
Scénario alternative 1. Les informations saisies est incorrect
➔Le système affiche un message d’erreur
2. L’utilisateur laisse l’un des champs vide
➔Le système affiche un message d’erreur
Le diagramme de séquence relative à la « modification d’un produit » est le suivant :

Fig. 11 : Diagramme de séquence « Modifier Produit »

Remarque : Le cas d’utilisation « Modifier produit » sera la même que « Modifier


caissier », « Modifier fournisseur », et « Modifier client ».

27
➢ Cas d’utilisation <<Supprimer produit »
La suppression d’un produit peut se faire suite à l’indisponibilité du produit.
Cas d’utilisation « Supprimer produit »
Résume L’utilisateur peut supprimer un produit
Acteur L’administrateur et le caissier
Pré condition L’utilisateur doit être s’authentifié
Le serveur doit être lancé
Scénario nominal 1. L’utilisateur choisit un produit
2. L’utilisateur choisit la suppression
3. Le système affiche une fenêtre de confirmation
4. L’utilisateur valide la suppression
5. Le système supprime le produit à partir de la base de données
Scénario alternative 1. Aucun enregistrement à supprimer
➔Le système affiche un message d’erreur
Et encore, voici le diagramme de séquence pour la « suppression d’un produit » :

Fig. 12 : Diagramme de séquence « Supprimer Produit »

Remarque : Le cas d’utilisation « Supprimer produit » sera la même que « Supprimer


caissier », « Supprimer fournisseur », « supprimer facture », et « Supprimer client ».

28
➢ Cas d’utilisation <<Rechercher produit >>
Cas d’utilisation « Rechercher produit »

Résume L'utilisateur peut rechercher si un produit existe dans le tableau

Acteur L’administrateur et le caissier

Pré condition L’utilisateur doit être s’authentifié


Le serveur doit être lancé

Scénario nominal 1. L’utilisateur choisit la recherche d’un produit


2. Le système donne la main pour saisir les informations du produit
3. L’utilisateur choisit la catégorie et la marque et la référence
recherchée
4. Le système affiche le résultat de la recherche dans un tableau

Scénario alternative 1. Les informations saisies est incorrect


➔Le système affiche un message d’erreur

Le diagramme de séquence relative à la « recherche d’un produit » est le suivant :

Fig. 13 : Diagramme de séquence « Rechercher Produit »

Remarque : Le cas d’utilisation « Rechercher produit » sera la même que


« Rechercher caissier », « Rechercher fou rnis seu r », « Rechercher facture », et
« Rechercher client ».

29
➢ Cas d’utilisation << Imprimer facture >>
L’impression d’une facture peut se faire suite à une commande :
Cas d’utilisation « Imprimer facture »
Résume L’utilisateur peut imprimer une facture
Acteur L’administrateur et le caissier
Pré condition L’utilisateur doit être s’authentifié
Le serveur doit être lancé
Scénario nominal 1. L’utilisateur choisit une facture
2. L’utilisateur choisit l’impression
3. Le système affiche la facture choisit
4. L’utilisateur valide l’impression
5. Le système lance l’impression
Scénario alternative 1. Aucun enregistrement à imprimer
➔Le système affiche un message d’erreur
Et encore, voici le diagramme de séquence pour l’ « impression d’une facture » :

Fig. 14 : Diagramme de séquence « Imprimer Facture »

30
➢ Cas d’utilisation << Entrée stock >>
L'entrée du stock peut se faire lorsqu'on a une quantité d’un produit dans le magasin :
Cas d’utilisation « Entrée stock »

Résume L’administrateur ajoute un nouveau produit dans stock

Acteur L’administrateur

Pré condition L’administrateur doit être s’authentifié


Le serveur doit être lancé

Scénario nominal 1. L’administrateur choisit un produit pour l’entrée en stock


2. Le système donne la main pour saisir les informations de l’entrée
en stock
3. L’administrateur valide l’enregistrement des informations
4. Le système ajoute le nouveau produit dans stock

Scénario alternative 1. Les informations saisies est incorrect


➔Le système affiche un message d’erreur
2. L’administrateur laisse l’un des champs vide
➔Le système affiche un message d’erreur

Le diagramme de séquence relatif à l’ «Entrée Stock » est le suivant :

Fig. 15 : Diagramme de séquence « Entrée Stock »

31
➢ Cas d’utilisation << Sortie stock >>
La sortie du stock peut se faire suite à une erreur d’entrée en stock :
Cas d’utilisation « Sortie Stock »

Résume L’administrateur peut supprimer un produit à partir du stock

Acteur L’administrateur

Pré condition L’administrateur doit être s’authentifié


Le serveur doit être lancé

Scénario nominal 1. L’administrateur choisit un produit pour la sortir du stock


2. Le système affiche une fenêtre pour la sortir du stock
3. L’administrateur valide la sortir du stock
4. Le système supprime le produit à partir du stock

Scénario alternative 1. Aucun enregistrement pour la sortir du stock


➔Le système affiche un message d’erreur

Et encore, voici le diagramme de séquence pour la « Sortir du stock » :

Fig. 16 : Diagramme de séquence « Sortie Stock »

32
➢ Le diagramme des classes :
Le diagramme de classes exprime la structure statique du système en termes de
classes et de relations entre ces classes. L’intérêt du diagramme de classe est de
modéliser les entités du système d’information. Le diagramme de classe permet de
représenter l’ensemble des informations finalisées qui sont gérées par le domaine.
Ces informations sont structurées, c’est-à-dire qu’elles ont regroupées dans des
classes. Le diagramme met en évidence d’éventuelles relations entre ces classes.

Pour notre sujet, une première étude des besoin et cas possible peut nous amener
à construire le diagramme des classes suivant :

Fig. 17 : Diagramme des classes.

33
Chapitre IV : Phase de la mise en
ouvre

-Technologies utilisées
-Réalisation

Dans ce chapitre on va présenter les outils de développement, ainsi que


les différentes interfaces de l’application.

34
I- Technologies utilisées :
1. Langage de programmation WLangage :
Le WLangage est un langage de programmation de quatrième génération. Inclus
dans les outils de développement WinDev, WibDev et WinDev mobile, il
est propriétaire et ne peut être manipulé qu'avec les outils PC SOFT. Le WLangage
est né en 1992 avec la première version de WinDev.

Le WLangage est un langage de programmation procédurale qui permet la


programmation impérative et la programmation orienté objet. C’est en fait un
langage de programmation multiparadigme.

Fig. 18 : Logo WLangage

2. Logiciel de programmation WinDev :


WinDev est un atelier de génie logiciel (AGL) édité par la société française PC
SOFT et conçu pour développer des applications, principalement orientées données
pour Windows 10, 8, 7, Vista, XP, 2008, 2003, 2000, et également pour Linux, .Net
et Java. La première version de l'AGL est sortie en 1993.

WinDev propose son propre langage le WLangage. Et comporte aussi son propre
système de gestion de base de données appelé HFSQL (anciennement
nommé HyperFile puis HyperFileSQL).

Fig. 19 : Logo WinDev

3. La base de données HFSQL :


HFSQL (HyperFileSQL) est un moteur de base de données lancé en 1988 (sous le nom
de Hyper File) par la société française PC SOFT et incorporé en standard de
l’environnement de développement WinDev, du même auteur. Il est prévu pour être
utilisé dans les logiciels créés avec WinDev, WebDev et WinDev Mobile, dans

35
lesquels il peut être incorporé gratuitement et ne nécessite aucune maintenance. Il
existe en version Locale, Réseau, Cluster, Client/Serveur (Windows et Linux), Cloud
et Mobile, qui fonctionnent sur les systèmes d’exploitation Windows, Linux, Mac,
OS, IOS et Android.

Fig. 20 : Logo HFSQOL

La structure de la base de données :

Fig. 21 : La base de données.

Notre base de données est composée des classes suivantes :

Utilisateur : chaque utilisateur est identifié par son IDUtilisateur et définit par son
nomcomplet, login, password, et un attribut booléen admin qui indique s’il est admin ou
non.

Produit : chaque produit est identifié par son IDProduit et définit par son Référence,
Libellé, Description, PrixHT, Photo, PlusAuCatalogue, IDCatégorie, IDMarque, ID-
Fournisseur, IDTVA, QTEACTUEL, ET QTEALERT.

-Chaque produit possède une seule marque.

-Chaque produit possède une seule catégorie.

36
-Chaque produit possède une seule taux TVA.

- Chaque produit peut avoir zéro ou un fournisseur.


-Chaque produit peut avoir zéro ou plusieurs entrée stock.
-Chaque produit peut avoir zéro ou plusieurs sortie stock.
-Chaque produit peut avoir zéro ou plusieurs lignes des factures.
Marque : chaque marque est identifiée par son IDMarque et définit par son Libel-
leM.
-Chaque marque peut avoir zéro ou plusieurs produits.
Catégorie : chaque catégorie est identifiée par son IDCatégorie et définit par son Libel-
leC.
-Chaque catégorie peut avoir zéro ou plusieurs produits.
Fournisseur : chaque fournisseur est identifié par son IDfournisseur et définit par son
société, adresse, codePostal, ville, pays, téléphone, et l’Email.
-Chaque fournisseur peut avoir zéro ou plusieurs produits.
TVA : chaque tauxTVA est identifié par son IDTVA et définit par son tauxTVA.
-Chaque TVA peut avoir zéro ou plusieurs produits.
Entrée stock : chaque entrée stock est identifié par son IDEntréestock et définit par
son QTEENTREE, DateEntrée, et IDProduit.
-Chaque Entrée stock à au moins un produit.
Sortie stock : chaque sortie stock est identifié par son IDSortieestock et définit par
son QTESORTIE, DateSortie, et IDProduit.
-Chaque Sortie stock à au moins un produit
LigneFacture : chaque ligne de facture est identifiée par son IDLigneFacture et défi-
nit par son Quantité, MontantHT, MontantTTC, IDProduit, et IDFacture.
-chaque ligne de facture possède un seul produit.
- chaque ligne de facture possède une seule facture.
Facture : chaque facture est identifiée par son IDFacture et définit par son Numé-
roInterneFacture, DateFacture, TotalHT, TotalTVA, TotalTTC, IDModeRéglement, et
IDClient.
-chaque facture peut avoir zéro ou plusieurs lignes de facture

37
-chaque facture possède une seule mode de règlement.
-chaque facture possède un seul client.
Client : chaque client est identifié par son IDClient et définit par son CIN, Nom, Pré-
nom, Adresse, Téléphone, et Email.
-chaque client peut avoir zéro au plusieurs factures.
ModeRéglement : chaque mode de règlement est identifié par son IDModeRégle-
ment et définit par ModeRéglement.
-chaque mode de règlement peut avoir zéro ou plusieurs modes de règlement.
II- Réalisation :
Cette partie dénombre la présentation des Scénarios applicatifs de l’application.
Nous allons présenter dans ce qui suit, les imprimes-écran des principales
interfaces réalisées dans notre application.

1. Interface d’« Authentification »


Pour bénéficier des services de notre application, une étape d’identification est
obligatoire pour l’ensemble des acteurs.
L’utilisateur doit saisir un identifiant et un mot de passe.

Fig. 22 : Interface d’authentification.

Dans le cas où l’utilisateur saisie des informations incorrect, l’application affiche


un message d’erreur en spécifiant le champ qui contient l’erreur :

38
Fig. 23 : Interface d’erreur d’authentification.

2. Interface d’ « Accueil »
C’est la fenêtre d’accueil qui s’affiche dès l’accès à notre application, elle
contient six rubriques principales comme il montre la figure ci-dessous :

Fig. 24 : Interface d’accueil.

39
3. Interface « Produit »
L’interface produit contient deux onglets principaux : Produits et recherche.

Fig. 25 : Interface onglet produit.

➢ Produits :
Elle contient une barre d’outils qui offre à l’utilisateur la possibilité de gérer les
produits via les buttons suivants :

Nouveau : pour ajouter un produit inexistent dans la table du produit avec une
quantité nulle.

Fig. 26 : Interface nouveau produit.

Modifier : pour modifier les informations d’un produit.

40
Fig. 27 : Interface modifier produit.

Supprimer : pour supprimer un produit.

Fig. 28 : Interface supprimer produit.

Marque : pour gérer les marques.

Fig. 29 : Interface marque.

Catégorie : pour gérer les catégories.

41
Fig. 30 : Interface catégorie.

TVA : pour gérer les taux TVA.

Fig. 31 : Interface TVA.

ENTREE : pour ajouter un produit dans le stock, cette option est autorisée
seulement pour l’administrateur.

➔Pour l’administrateur :

Fig. 32 : Interface Entrée Stock (Administrateur).

➔Pour le caissier :

42
Fig. 33 : Interface Entrée Stock (Caissier).

SORTIE : pour supprimer un produit à partir du stock, cette option est autorisée
seulement pour l’administrateur.

➔Pour l’administrateur :

Fig. 34 : Interface Sortie Stock (Administrateur).

➔Pour le caissier :

Fig. 35 : Interface Sortie Stock (Caissier).

➢ Recherche :
Pour effectuer des recherches selon la catégorie, la marque, et la référence :

43
Fig. 36 : Interface onglet Recherche.

4. Interface « Fournisseurs »
L’interface fournisseurs contient deux onglets principaux : Fournisseurs et
recherche.

Fig. 37 : Interface onglet fournisseurs.

➢ Fournisseurs :
Elle contient une barre d’outils qui offre à l’utilisateur la possibilité de gérer les
fournisseurs via les buttons suivants :

Nouveau : pour ajouter un fournisseur inexistent dans la table du fournisseur.

44
Fig. 38 : Interface nouveau fournisseur.

Modifier : pour modifier les informations d’un fournisseur.

Fig. 39 : Interface modifier fournisseur.

Supprimer : pour supprimer un fournisseur.

Fig. 40 : Interface supprimer fournisseur.

➢ Recherche :
Pour effectuer des recherches selon le pays, la ville, et la société :

45
Fig. 41 : Interface onglet recherche.

5. Interface « Clients » :
L’interface fournisseurs contient deux onglets principaux : Fournisseurs et recherche.

Fig. 42 : Interface onglet clients.

➢ Clients :
Elle contient une barre d’outils qui offre à l’utilisateur la possibilité de gérer les clients
via les buttons suivants :

Nouveau : pour ajouter un client inexistent dans la table du client.

46
Fig. 43 : Interface nouveau client.

Modifier : pour modifier les informations d’un client.

Fig. 44 : Interface modifier client.

Supprimer : pour supprimer un client.

Fig. 45 : Interface supprimer client.

➢ Recherche :

47
Pour effectuer des recherches selon le nom, le prénom, et la CIN :

Fig. 46 : Interface onglet recherche.

6. Interface « Gestion facturation » :


L’interface Gestion facturation contient deux onglets principaux :
Facturation et Recherche.
Chaque onglet contient deux tableaux : tableau du facture et tableau des lignes du
chaque facture.

Fig. 47 : Interface onglet facturations.

➢ Facturations :
Elle contient une barre d’outils qui offre à l’utilisateur la possibilité de gérer les
factures via les buttons suivants :

48
Nouveau : pour ajouter une facture dans la table de la facture.

Fig. 48 : Interface nouveau facture.

Supprimer : pour supprimer une facture à partir du tableau, cette option est
autorisée seulement pour l’administrateur.

➔Pour L’administrateur

Fig. 49 : Interface supprimer facture(Administrateur).

➔Pour le caissier :

Fig. 50 : Interface supprimer facture(Caissier).

Imprimer : pour imprimer une facture.

49
Fig. 51 : bon de facturation.

Recherche :
Pour effectuer des recherches selon le N° du facture, le client de la facture, et la date
de la facture :

Fig. 52 : Interface onglet recherche.

50
7. Interface « Statistiques » :
Cette fenêtre permet d’afficher les statistiques du magasin :

Fig. 53 : Interface STATISTIQUES.

✓ Vente par catégorie :


Un graphe qui affiche le pourcentage des ventes par chaque catégorie et par
produit.

Le clic sur une catégorie permet d’afficher le pourcentage des produits par
catégorie.

Fig. 54 : Interface Vente Par Catégorie.

✓ Produit plus vendue au mois :


Cette partie affichée le produit plus vendu au mois courant avec l’image de
produit et la quantité vendu.

✓ Vente par mois :


Un histogramme qui affiche les ventes par chaque mois

51
8. Interface « Utilisateurs » :
L’interface d’utilisateurs permet la gestion d’utilisateurs via des buttons ci-dessous :

Fig. 55 : Interface Utilisateurs.

Nouveau : pour ajouter un utilisateur.

Fig. 56 : Interface nouveau utilisateur.

Modifier : pour modifier les informations d’un utilisateur.

Fig. 57 : Interface modifier utilisateur.

Supprimer : pour supprimer un utilisateur.

Fig. 58 : Interface supprimer utilisateur.

Fermer : pour fermer la fenêtre.

52
Conclusion

Le présent projet a consisté en la conception et le développement d’une


application de gestion commerciale au sein de la société LOGITEC.

Ce stage me permis de découvrir la programmation avec le WinDev, le nouveau


langage WLangage, apprendre des nouvelles techniques et toucher le terrain
professionnel. Aussi il me permit de découvrir le monde des entreprises et savoir
les difficultés du domaine.

Dans un premier temp, on a spécifié le cadre général du projet en passant par


l’analyse de la problématique. Deuxièmement, on a effectué l’étude des besoins et
des attendues du futur système. Ensuite on est arrivé à la phase de la conception qui
présente une étape importante dans l’ensemble du projet. Et enfin on a proposé le
prototype de l’application et quelques cas de tests ont été effectués sur celui-ci.

Nous avons fait de notre mieux pour bien laisser une bonne impression sur notre
discipline, nos qualités et nos compétences techniques vis à vis du staff technique
de la société LOGITEC et présenter un travail à la hauteur de la formation qui nous
avons eu au sein de l’EMSI.

53
Bibliographie :

https://www.logitech.fr/fr-fr

https://www.gantt.com/fr/

https://openclassrooms.com/fr/courses/2035826-debutez-lanalyse-logicielle-
avec-uml/2035851-uml-c-est-quoi

https://www.pcsoft.fr/wlangage.htm

https://www.pcsoft.fr/windev/index.html

https://www.pcsoft.fr/accueilpub/hfsql.htm

https://www.electroplanet.ma/

https://www.moovapps.com/top-5-des-bonnes-raisons-de-digitaliser-la-prise-
de-commande/

https://www.esgci.com/actus/pourquoi-travailler-dans-le-digital-
bc#:~:text=Qu'est%2Dce%20que%20le%20digital%20%3F&text=Par%20ailleurs%
2C%20la%20communication%20digitale,leurs%20clients%20sur%20le%20web.

https://wind.developpez.com/tutoriels/

https://www.celge.fr/glossaire/wlangage

54