ISET SILIANA
[ISET SILIANA]Projet De Fin dEtude
Introduction Gnrale
Depuis son apparition au dbut des annes 90, la technologie Web a
beaucoup gagn en popularit, en laissant un impact sans prcdent sur
la socit et lconomie. Au fil des annes, cette infrastructure est
passe dun simple rseau de communication et dchange de donnes, une
gigantesque toile, considre comme la plus grande source de partage
de donnes et lun des plus importants moyens de marketing.Parmi les
entreprises, la socit vending machine plus cherche amliorer ses
services et trouver les meilleurs moyens afin de se faire connatre
et de garantir une utilisation optimale de ses ressources. Cest
dans ce sens que sintgre notre projet portant sur la ralisation
dune nouvelle application web de gestion commerciale et de stock.
Cette application a pour objectifs lautomatisation du travail et la
scurit du flux des donnes.Le prsent rapport donne une ide claire
sur les diffrentes tapes par lesquelles nous sommes passs pour
mener terme notre travail. Il est constitu de quatre chapitres; Le
premier chapitre prsente le cadre du projet, analyse lexistant afin
de proposer une solution adquate. Par la suite, nous dcrivons dans
le deuxime chapitre la spcification des besoins fonctionnels et non
fonctionnels ainsi que les diffrentes tapes de la conception. Dans
le dernier chapitre, nous passons au dveloppement de lapplication
en dtaillant lenvironnement de dveloppement et en prsentant les
interfaces ralises.
Chapitre I: Etude De Lexistant
Introduction Dans ce premier chapitre, nous commenons par la
prsentation de la socit, lieu de ce stage. Ensuite, nous nous
intressons ltude de lexistant et dceler ses inconvnients afin de
proposer une solution possible en introduisant les objectifs de ce
projet fin dtude.
1. Prsentation De La Socit Daccueil
Notre stage de projet fin dtudes a t effectu au sein de la socit
Vending machine Plus.
1.1. Fiche didentification Nom de lentrepriseSocit Vending
Machines Plus (S.V.M+)
Adresse03 Rue Erriadh Rades
Tlphone+216 25900 165
Mission du projetServices
Type dentrepriseS.A.R.L
Nom des promoteursMarwen EL BARI
1.2. Description de SVM+SVM+ est une socit de services qui offre
un ensemble de services valeur ajoute aux socits et leurs
personnels et leurs clients.Elle vend des boissons chaudes (caf) et
boissons froides (bouteilles deau et canettes de boissons gazeuses
ainsi que des snacks tels que paquets de chips, barrettes de
chocolat, confiseries) travers des distributeurs automatiques de
haute technologie.
Cest un service rcent en Tunisie, ce nest quau cours de ces 10
dernires annes que les distributeurs automatiques sont entrs dans
le march tunisien. Lobjectif tant: Minimisation des sorties des
employs pendant lhoraire de travail puisquils vont boire leur caf
ou boisson sur place Minimisation des temps de repos Rapidit de
service (1 minute maximum pour avoir un caf)1.3. Services et
produitsSVM+ vise les socits qui comptent plus de 300 employs ainsi
que les siges des banques, sige CNAM, CNSS, les cliniques prives,
les centres dappel... etc.Les produits de SVM+ se dcomposent en 4
sous-produits:1. Les ventes de cafs pour le personnel et les
visiteurs des socits cibles1. Les ventes de boissons gazeuses1. Les
ventes des bouteilles deau1. les ventes des snacks (chips,
chocolat, confiseries)
SAECO est le fournisseur privilgi car il fait partie des grands
fabricants des vending machines au monde, en plus ce fabricant
italien est reconnu pour la haute qualit du caf.
1.4. Organigramme de SVM+
Figure 1: Organigramme de SVM+2. Analyse de lexistant
Pour acheter un distributeur automatique (deau, de boissons ou
autres), le client doit se dplacer directement jusquau local de la
socit afin de chercher une offre de vente qui satisfait ses besoins
et passer sa commande. Lorsquun nouveau client passe une commande,
lopration enregistrement des clients se fait manuellement sur
papier et cest pareil pour les commandes ainsi que les factures. En
plus, lors de la livraison, le rglement des factures se fait sur
place en espce ou par chque et la comptabilit est ralise
manuellement en se basant sur les factures sur papier.Par ailleurs,
pour faire de la publicit, la socit utilise uniquement des
catalogues, des brochures ou des affiches3. Critique de
lexistant
Actuellement, le fonctionnement du travail au sein de la socit
de vente de distributeurs automatiques prsente plusieurs
inconvnients, savoir : La limite des moyens de marketing ce qui
rduit le chiffre daffaire. Le travail traditionnel sur papier
uniquement conduit l'abondance des documents dans l'entreprise ce
qui ralentit lexcution du travail. Risque de perte dun papier sans
oublier que la recherche dun document est fastidieuse. Les
informations sur les clients ne sont pas bien protges. Perte de
temps considrable lors du calcul de la comptabilit La perte dune
facture entrane une erreur lors de la comptabilit.4. Solution
proposes
Pour palier aux inconvnients dj cits dans le paragraphe prcdent
et vu l'accroissement de la technologie Internet, nous proposons de
crer une application Web dynamique qui sert la fois commander des
articles en ligne et grer le travail interne de la socit en local
ou distance. La commercialisation des distributeurs automatiques
sera possible travers des catalogues en ligne proposant ces
matriels aux meilleurs prix. Lapplication offrira un internaute la
possibilit de: Consulter le catalogue de produits, ou chercher un
produit Sinscrire pour devenir client, Lancer une commande en ligne
et obtenir une confirmation Obtenir des devis/factures en ligne
Le site Web permettra de cibler une nouvelle catgorie de
clientles, et doffrir une meilleure qualit de service en
communication et en commerce.
Par ailleurs, lapplication aura une interface spare pour
ladministration. Laccs sera protg par login et mot de passe.
Ladministrateur du site pourra effectuer les tches suivantes une
fois authentifi : Grer les produits : ajouter de nouveaux articles
au catalogues, mettre jour un produit, supprimer un article qui
nest plus en vente Grer les comptes : ajouter ou supprimer un
compte client ou autre, modifier les donnes dun compte Grer les
commandes: suivrelavancement des commandes en ligne, confirmer,
annuler ou modifier une commande. Grer la facturation: ajouter,
modifier, consulter ou imprimer une facture Grer la comptabilit:
ajouter, modifier, supprimer des frais puis calculer ou imprimer la
comptabilit mensuelle ou annuelle
Conclusion
A travers la prsentation de la socit et ltude de lexistant, nous
avons pu dceler les inconvnients du travail actuel au sein de la
socit afin de proposer une solution adquate. Ainsi, une fois les
objectifs du projet dtermins, nous allons passer ltape spcification
des besoins et conception.
Chapitre II: Spcification et Conception
Introduction Dans ce chapitre, nous abordons la spcification des
besoins fonctionnels et non fonctionnels ainsi que la conception de
l'application.
1. Spcification des besoinsCette phase consiste comprendre le
contexte du systme. Il s'agit de dterminer les fonctionnalits et
les acteurs les plus pertinents, de prciser les risques les plus
critiques et d'identifier les cas d'utilisation initiaux.1.1.
Besoins fonctionnels Les besoins fonctionnels expriment les
fonctions de services et les fonctions techniques rendus par un
produit en spcifiant les contraintes auxquelles il est soumis.Notre
application sera utilise par trois catgories dacteurs. Chacun selon
son besoin, aura un ensemble de fonctionnalits sa disposition
Le visiteur peut: consulter catalogue et liste produit
sinscrire
Le clientpeut : sauthentifier consulter catalogue et liste
produit grer donnes personnelles (modifier, consulter) grer
commande (consulter, passer, annuler, confirmer, modifier) grer les
factures (consulter, imprimer)
Ladministrateur peut: sauthentifier grer les clients (consulter,
ajouter, supprimer, modifier) grer le stock (consulter, ajouter,
supprimer, modifier) grer les commandes (confirmer, annuler,
consulter, modifier, ajouter) grer les livraisons (ajouter,
modifier, consulter, supprimer, confirmer) grer les factures
(ajouter, modifier, supprimer, consulter, imprimer) grer les frais
(ajouter, modifier, supprimer, consulter) grer la comptabilit
(calculer, imprimer)
1.2. Besoins non fonctionnels Un besoin non fonctionnel est une
restriction ou une contrainte qui pse sur un service du systme.
Lapplication doit avant tout rpondre toutes les exigences des
usagers d'une manire optimale.Notre systme doit rpondre aux critres
suivants : Lergonomie : La future application doit tre facile
utiliser. En effet, les futurs utilisateurs ne possdent pas
forcment des connaissances approfondis en informatique, cest
pourquoi, les interfaces utilisateurs doivent tre simples et
conviviales c'est--dire ergonomiques et adaptes tout utilisateur.
La performance : lapplication doit tre avant tout performante et
que la dure d'excution des traitements s'approche le plus possible
du temps rel. La scurit, consistant choisir des solutions adquates
pour protger l'utilisateur. la gestion des erreurs : Lapplication
doit tenir compte des possibles traitements errons et les messages
derreurs doivent tre clairs et explicites
2. Conception
La conception est une tape fondamentale et dlicate dans le cycle
de vie dun logiciel, elle a pour objectif de garantir un
dveloppement performant et dassurer une maintenance efficace du
systme. Cest pourquoi, le choix de la mthode de conception est
dterminant.
2.1. Choix de langage de conception Au-del dune mthode, UML est
un langage graphique permettant de reprsenter, de communiquer les
divers aspects d'un systme dinformation. Nous avons opt pour ce
langage de modlisation surtout car il comporte des diagrammes
standards dcrivant autant les diffrentes "vues" d'un systme
d'information. Ces diagrammes montrent les divers aspects de
lapplication de point de vue de sa structure statique et de son
comportement dynamique.
2.2. Diagramme de cas dutilisation Un cas d'utilisation permet
de dcrire l'interaction entre les acteurs et le systme. C'est un
moyen efficace pour recueillir les besoins des acteurs du
systme.
2.2.1. Acteurs du systme Avant de prsenter les diagrammes de cas
dutilisation, il faut dabord dfinir les acteurs du systme. Un
acteur est un utilisateur qui interagit avec le systme tudi en
changeant de linformation. Dans notre cas, nous avons trois
catgories dacteurs.
ActeurRle
Visiteur Consulter le catalogue Sinscrire
Client Passer une commande Consulter une facture
Administrateur Grer les clients Grer les comptes des
utilisateurs Grer les commandes Grer le stock Grer les livraisons
Grer les factures Grer les frais Grer la comptabilit
Tableau 1: Acteur du systme
2.2.2. Diagramme de cas dutilisation globale
Nous commenons par prsenter le diagramme de cas dutilisation
gnral du systme:
Figure 2: Diagramme de cas d'utilisation Globale
2.2.3. Raffinement de diagramme de cas dutilisation Description
de Cas dutilisation consulter catalogue
CU: consulter catalogue
Acteur initiateur: visiteur, client et administrateur
But du cas: un utilisateur consulte le catalogue et la liste des
produits
Pr-condition: lutilisateur doit tre en ligne et les produits
enregistrs dans la base
Description du Scnario: 1. un utilisateur choisit de consulter
le catalogue des produits1. le systme affiche la liste des
produits.1. un utilisateur veut voir les dtails d'un produit 1. le
systme affiche les dtails d'un produit
Tableau 2: Description de cas dutilisation Consulter
catalogue
Description de cas dutilisation sinscrireCU: Sinscrire
Acteur initiateur: visiteur
But du cas: sinscrire au site pour devenir un client et pouvoir
passer des commandes
Pr-condition: un visiteur est en ligne
Description du Scnario: 1. le visiteur dsire s'inscrire et
remplit un formulaire1. le systme enregistre les donnes du client
et affiche un message de succs
Tableau 3: Description de cas d'itilisation sincrire
Description de cas dutilisation grer comptabilit
CU: Grer comptabilit
Acteur initiateur: administrateur
But du cas: ladministrateur calcule la comptabilit pour une
priode donne
Pr-condition: lutilisateur doit tre authentifi, les frais et les
factures dj enregistrs
Description du Scnario: 1. ladministrateur choisit de consulter
la comptabilit 1. le systme affiche un formulaire 1.
ladministrateur saisit la priode (mois/anne) et valide 1. le systme
calcule et affiche la comptabilit
Tableau 4: description de cas d'utilisation grer comptabilit
Description de cas dutilisation grer commande
Figure 3: diagramme de cas d'utilisation raffingrer commande
CU: Passer commande
Acteur initiateur: client, administrateur
But du cas: commander des produits
Pr-condition: lutilisateur doit tre authentifi
Description du Scnario: 1. Lutilisateur choisit de consulter le
catalogue des produits1. Le systme affiche la liste des produits
disponible en stock 1. Lutilisateur choisit les produits quil veut
ajouter sa commande et valide1. Le systme enregistre la
commande
Tableau 5: Description de cas d'utilisation Passer commande
CU: Consulter commande
Acteur initiateur: client, administrateur
But du cas: voir les dtails dune commande enregistre
Pr-condition: lutilisateur doit tre authentifi et la commande
enregistre
Description du Scnario: 1. Un utilisateur choisit de consulter
une commande dj passe 1. Le systme affiche la liste des commandes
enregistres 1. lutilisateur choisit une commande consulter1. Le
systme affiche les dtails du bon de commande
Tableau 6: Description de cas d'utilisation consulter
commande
CU: Confirmer commande
Acteur initiateur: administrateur
But du cas: ladministrateur confirme la commande pour tre
livrer
Pr-condition: lutilisateur doit tre authentifi, la commande doit
tre dj passe et les produits commands disponibles
Description du Scnario: 1. ladministrateur choisit de consulter
le bon dune commande enregistre 1. le systme affiche la commande 1.
ladministrateur vrifie les dtails de la commande et la confirme 1.
le systme enregistre la confirmation et affiche un bon de
livraison
Tableau 7: Description de cas d'utilisation confirmer
commande
CU: Modifier commande
Acteur initiateur: client, administrateur
But du cas: un utilisateur peut changer les dtails de la
commande avant la confirmation
Pr-condition: lutilisateur doit tre authentifi et la commande
enregistre
Description du Scnario: 0. Lutilisateur demande modifier les
dtails dune commande 2. Le systme affiche le formulaire de
modification3. Lutilisateur change les donnes de la commande et
valide4. Le systme enregistre les modifications
Tableau 8: Description de cas d'utilisation Modifier
commande
CU: Annuler commande
Acteur initiateur: client, administrateur
But du cas: supprimer une commande avant quelle ne soit
confirme
Pr-condition: lutilisateur doit tre authentifi et la commande
est non confirme
Description du Scnario: 1. le systme affiche la liste des
commandes.1. lutilisateur choisit dannuler une commande 1. le
systme demande une confirmation avant de supprimer la commande1.
lutilisateur confirme lannulation1. le systme effectue
lannulation
Tableau 9: Description de cas d'utilisation Annuler commande
Description de cas dutilisation grer facture
Figure 4: diagramme de cas d'utilisation grer facture
CU: Consulter facture
Acteur initiateur: client, administrateur
But du cas: voir les dtails dune facture
Pr-condition: lutilisateur doit tre authentifi et la facture
enregistre
Description du Scnario: 1. Lutilisateur demande de consulter
liste des factures 1. le systme affiche la liste des factures1.
lutilisateur choisit de consulter une facture 1. le systme affiche
les dtails de la facture
Tableau 10: Description du cas dutilisation Consulter
facture
CU: imprimer facture
Acteur initiateur: client, administrateur
But du cas: voir les dtails dune facture sur papier
Pr-condition: lutilisateur doit tre authentifi et la facture
enregistre
Description du Scnario: 1. le systme affiche la liste des
factures1. lutilisateur choisit de consulter une facture 1. le
systme affiche les dtails de la facture1. lutilisateur demande
imprimer la facture 1. le systme imprimer la facture
Tableau 11: Description du cas dutilisation Imprimer facture
CU: Ajouter facture
Acteur initiateur: administrateur
But du cas: crer une nouvelle facture pour une commande
livre
Pr-condition: ladministrateur doit tre authentifi et la commande
enregistre et livre
Description du Scnario: 1. ladministrateur demande ajouter une
facture 2. Le systme affiche le formulaire dajout3. ladministrateur
remplit le formulaire et choisit la commande puis valide4. Le
systme enregistre la facture
Tableau 12: Description du cas dutilisation Ajouter facture
CU: Modifier facture
Acteur initiateur: administrateur
But du cas: changer les dtails dune facture (en cas de paiement
par exemple)
Pr-condition: ladministrateur doit tre authentifi et la facture
enregistre
Description du Scnario: 1. ladministrateur demande modifier les
dtails dune facture 2. Le systme affiche le formulaire de
modification3. ladministrateur change les donnes de la facture et
valide4. Le systme enregistre les modifications
Tableau 13: Description du cas dutilisation Modifier facture
Remarque: Dans un souci de concision et puisquil existe plusieurs
autres cas dutilisation pour grer les frais, les clients, les
produits, les livraisons et les comptes utilisateurs qui seront
conus similairement grer facture et grer commande, nous allons nous
limiter prsenter les cas dutilisation raffins pour ces
fonctionnalits. La description de chaque cas dutilisation tant
identique pour chaque opration sur une fonctionnalit, nous avons
prfr ne pas le rpter.
Cas dutilisation raffin Grer comptes utilisateurs
Figure 5: Diagramme de cas d'utilisation raffin Grer comptes
utilisateurs
Cas dutilisation raffin Grer produits
Figure 6: Diagramme de cas d'utilisation raffin Grer
produits
Cas dutilisation raffin Grer clients
Figure 7: Diagramme de cas dutilisation raffin Grer clients
Cas dutilisation raffin Grer frais
Figure 8: Diagramme de cas dutilisation raffin Grer frais
Cas dutilisation raffin Grer comptabilit
Figure 9: Diagramme de Cas dutilisation raffin Grer
comptabilit
Cas dutilisation raffin Grer livraison
Figure 10: Diagramme de cas d'utilisation raffin Grer
livraison
2.3. Diagramme de squence
Le diagramme de squences permet de montrer les interactions
entre un acteur et les objets du systme dans le cadre d'un scnario
d'undiagramme de cas dutilisation. La communication se fait par le
biais de messages. Dans un souci de simplification, nous
reprsentons uniquement linterface du systme et la base de
donnes.
2.3.1. Digramme de squence dinscription
Figure 11: Digramme de squence dinscription2.3.2. Diagramme de
squence dauthentification
Figure 12: Diagramme de squence dauthentification
2.3.3. Diagramme de squence de passer commande
Figure 13: Diagramme de squence de passer commande
2.3.4. Diagramme de squence de modifier facture
Figure 14 : Diagramme de squence de modifier facture
2.3.5. Diagramme de squence de supprime produit
Figure 15: Diagramme de squence de supprime produit2.4.
Diagramme de classe
Un diagramme de classes fournit une vue globale d'un systme en
prsentant ses classes, interfaces et collaborations, et les
relations entre elles. Les diagrammes de classes sont statiques:
ils affichent le modle des diffrents objets qui interagissent dans
le systme mais pas ce qui se passe pendant l'interaction.
Figure 16: Diagramme de classe
Conclusion
Dans ce chapitre nous avons prsent ltude conceptuelle en se
basant sur les diffrents diagrammes tels que diagramme de classe
qui nous a permis davoir une ide sur la base de donnes aussi bien
que les diagrammes de squence qui illustrent les interfaces de
lapplication. Ainsi, nous pouvons passer la ralisation de
lapplication.
Chapitre III: Ralisation et Tests
Introduction
. La ralisation est ltape fondamentale dans le cycle de vie de
toute application informatique. A travers ce chapitre, nous allons
prciser lenvironnement matriel et logiciel utilis pendant cette
phaseensuite nous prsenterons les tables de la base de donnes et
les interfaces de tests.
Environnement de dveloppement 1.1. Environnement matriel
Pour le dveloppement de notre application, nous avons dispos dun
ordinateur ayant les caractristiques suivantes: Processeur: Intel
Core (TM) i3-2330 M Frquence: 2.20 (en Hertz) Mmoire RAM: 4.00GO
Architecture systme: 64 bits
1.2. Environnement logiciel Au cours du dveloppement, nous avons
eu recours quelques outils qui sont dcrits dans le tableau
ci-dessous:
OutilDescription
StarUMLEnvironnement de conception UML
NetBeans IDE 8Environnement de cration des pages web
WampServer 2.2Plate-forme de dveloppement et dexploitation
Web
Tableau 14: Outils logiciels utilissDescription des choix
techniques
Le choix technologique des outils utiliser dans le dveloppement
de lapplication s'est fait sur la base d'une tude afin de dgager
les outils les mieux appropris notre projet. Ces outils ont t
choisis en tenant compte des besoins exprims par les responsables
de la socit et aussi par la contrainte du temps pour en dgager une
solution utile et efficace.
Star UML: StarUML est une plate-forme de modlisation du logiciel
qui prend en charge UML (Unified Modeling Language).Il est bas sur
UML version 1.4 et la version UML 2.0 fournit des notations et onze
types de diagramme diffrents.Il soutient activement l'approche MDA
(Model Driven Architecture) en respectant le concept de profil
UML.StarUML est excellent en personnalisation de l'environnement de
l'utilisateur et a une grande extensibilit dans ses fonctionnalits.
J2EE (Java Enterprise Edition): Java 2 Enterprise Edition est une
plate-forme de dveloppement d'application s'appuyant sur le langage
Java, dont les spcifications sont gres par la socit SUN. Elle
permet de dvelopper des applications Web composes de Servlet et JSP
et des applications Mtiers base d'EJB.Un Serveur d'Applications
contient un conteneur Web pour l'excution des applications Web et
un conteneur d'EJB pour l'excution des composants Mtiers. De plus,
le Serveur d'Application fournis un ensemble de services utiliss
par les dveloppeurs dans les applications. Ainsi, toute
implmentation de cette spcification contient un ensemble
dextensions auframeworkJava standard (JSE,Java Standard Edition)
afin de faciliter notamment la cration dapplications rparties.
NetBeans IDE 8.0 : NetBeans est un Environnement de Dveloppement
Intgr, ou IDElibre dvelopp par Sun Microsystems. Il est utilis avec
un kit de dveloppement JDK et un plugin pour PHP. Tout comme
beaucoup d'EDI c'est un logiciel qui vous propose un diteur de
texte, de quoi crer et grer des projets, compiler, dbugger un code
source, tester le programme, grer les versions. NetBeans est
spcialis dans le domaine Java et PHP Orient Objet (PHP5).
WampServer 2.2 : WampServer est une plate-forme de dveloppement
Web sous Windows. Il permet de dvelopper des applications Web
dynamiques l'aide du serveur Apache2, du langage de scripts PHP et
d'une base de donnes MySQL. Il possde galement PHPMyAdmin pour grer
plus facilement les bases de donnes.WampServer sinstalle facilement
et son utilisation trs intuitive permet de le configurer trs
rapidement (sans toucher aux fichiers de configuration).
Contrairement aux autres solutions, WampServer permet de reproduire
fidlement le serveur de production. Une fois la base installe, il
existe la possibilit d'ajouter autant de versions dApache, MySQL et
PHP que souhait.
HTML5 ( Hyper Text Markup Language 5 )
HTML5 est une volution de la norme HTML regroupant un ensemble
de technologies : SVG, CSS3, WebGL, File API, MathML. Le but de
cette nouvelle version de HTML est de faciliter le dveloppement
d'interfaces utilisateur riches. HTML5 est beaucoup plus orient
applicatif que ses prdcesseurs et veut permettre de s'affranchir de
plugins pour utiliser au maximum les technologies Web natives pour
construire une application riche.
CSS3(Cascading Style Sheets3) Ces feuilles de style nous
permettent de grer la prsentation dune page web. Le langage CSS,
sous recommandation du World Wide Web Consortium, a pour objectif
de sparer le contenu HTML de la prsentation des lments. CSS permet
aussi de dfinir des rgles diffrentes pour chaque support daffichage
(une navigateur classique, une tlvision, un support mobile, un
lecteur braille etc.). CSS permet aussi damliorer laccessibilit des
documents web.
JQuery
jQueryest une petite bibliothque JavaScript facilitant l'criture
de scripts. Ses principaux avantages sont:1. lacompatibilitavec
tous les navigateurs,1. jQuery estcompacte(pas plus de 15ko, a ne
surcharge pas vos pages) et rapide1. sasyntaxeest lgante,
puissante, peu verbeuse, et s'apprend trs rapidement;1. jQuery
estextensible: des centaines depluginsexistent, en particuliers de
trs nombreuxeffets graphiques.
GlassFish:
GlassFish est le nom du serveur d'applications Open Source Java
EE 5 et qui sert de fondation au produit Sun Java System
Application Server de Sun Microsystems. Ce projet fournit un
serveur d'applications performant, de qualit et libre. GlassFish
est sous double licence CDDL et GPLv2 et il est certifi Java EE 5.
Sa version 2 est sortie en septembre 2007 avec un support complet
avanc du clustering.
MySQL
MySQLest unsystme de gestion de base de donnes(SGBD). Selon le
type d'application, sa licence estlibreoupropritaire. Il fait
partie des logiciels de gestion debase de donnesles plus utiliss au
monde, autant par le grand public (applications web principalement)
que par des professionnels, en concurrence avecOracleetMicrosoft
SQL Server. Il est multi-threadet multi-utilisateur. MySQL
fonctionne sur de nombreuxsystmes d'exploitationdiffrents,
incluantLinux,Mac OS X, Windows(2000,XP,Vistaet7). Les bases de
donnes sont accessibles en utilisant leslangages de programmationC,
VB,.NET,Java, PHP etc.
Spring (Plateforme)Cest une plateforme libre pour construire et
dfinir l'infrastructure d'une application java, dont il facilite le
dveloppement et les tests. Il est considr comme un conteneur (dit
lger) similaire au serveur dapplication JEE. Il permet au
dveloppeur une abstraction permettant de grer entre autres: le mode
transactionnel, lappel d'EJBs, la cration d'EJB, la cration d'une
interface Web, l'appel et la cration de service web.Ralisation
Dans cette partie, nous dcrivons quelques lments essentiels
implments lors de la ralisation de lapplication, savoir le
dictionnaire des donnes (base de donnes) et les mcanismes utiliss
pour garantir la scurit.1.3. Base de donnes
Ce tableau rsume les diffrentes tables de la base de
donnes:TableChampTypeDescription
Clientid_clint(11)Identifiant du client (cl primaire)
nom_clvarchar(15)Nom du client
prenom_clvarchar(15)Prnom du client
tel_clvarchar(8)Numro de tlphone du client
email_clvarchar(20)E-mail du client
adresse_clvarchar(50)Adresse du client
entreprise_clvarchar(15)Entreprise du client
Compteid_cpint(11)Identifiant compte (cl primaire)
Loginvarchar(15)Pseudonyme de lutilisateur
Mdpvarchar(15)Mot de passe compte utilisateur
type_cpvarchar(15)Type compte utilisateur (administrateur,
client)
id_clint(11)Identifiant client
Commandeid_cmdint(11)Identifiant commande (cl primaire)
date_cmdvarchar(10)Date passer commande
etat_cmdtinyint(1)Etat de la commande (confirme, non
confirme)
totale_cmdfloatTotale prix commande
id_clint(11)Identifiant client (cl trangre)
Produitid_print(11)Identifiant produit (cl primaire)
Modelevarchar(30)Model produit
Fabricantvarchar(30)Fabricant produit
Description Varchar(50)Description produit
qt_en_stockint(11)Quantit de produit ou stock
PrixFloatPrix de produit
Produit_commandeid_cmdint(11)Identifiant commande (cl
primaire)
id_print(11)Identifiant produit (cl primaire)
Quantiteint(11)Quantit produit command
Fraisid_fraisint(11)Identifiant frais (cl primaire)
type_fraisvarchar(15)Type frais
mois_fraisint(11)Mois de frais
date_fraisvarchar(10)Dete de frais
montant_fraisFloatMontant de frais
id_coint(11)Identifiant comptabilit (cl trangre)
Comptabiliteid_coint(11)Identifiant comptabilit (cl
primaire)
mois_coint(11)Mois calculer comptabilit
Anneeint(11)Anne calculer comptabilit
total_fraisFloatTotale frais
total_revenuFloatTotale revenu
date_covarchar(10)Date de calcul comptabilit
Factureid_fcint(11)Identifiant facture (cl primaire)
date_fcvarchar(10)Date facture
type_fcvarchar(15) Type facture (devis, facture pay)
paiement_fcvarchar(15)Mthode de paiement facture
PayeFloatAcompte pay
id_cmdint(11)Identifiant commande (cl trangre)
Livraisonid_lint(11)Identifiant livraison (cl primaire)
date_lvarchar(10)Date livraison
adresse_lvarchar(30)Adresser livraison
frais_lFloatFrais de livraison
Distinatairevarchar(30)Destinataire de livraison
id_cmdint(11)Identifiant commande (cl trangre)
Tableau 15: Dictionnaire de la base de donnes1.4. Scurit
Etant donn le caractre confidentiel des donnes stocks
etmanipules par lapplication, laccs est scuris par mot de passe.En
plus, les mots de passe sont sauvegards crypts dans la base
dedonnes. Lalgorithme de cryptage utilis est MD5 (Message Digest5)
grce la mthode crypt dans la classe client .
Figure 17: Stockage crypt des mots de passe
Tests
Cette partie recense la prsentation des principales interfaces
graphiques de lapplication. Vu que la navigation dans lapplication
dpend du type de lutilisateur, nous allons commencer par prsenter
les interfaces dun visiteur puis celles dun client pour finir par
les interfaces de ladministrateur.
1.5. Les Interfaces du visiteur 1.5.1. Interface daccueil
Cette interface reprsente la page daccueil du site, elle affiche
le catalogue des produits offerts par la socit vending machine
plus. Le lien vers le catalogue 2 permet de tlcharger un fichier
PDF. Par ailleurs, le visiteur peut utiliser les boutons en haut
pour sinscrire et devenir client ou bien se connecter sil est dj
inscrit.
Figure 18: interface d'accueil pour le visiteur
1.5.2. Interface dinscription
Cette interface permet un visiteur de sinscrire en remplissant
le formulaire. Il doit indiquer son login et mot de passe pour crer
un compte en plus de ses coordonnes personnelles (tlphone, adresse,
e-mail) qui seront utiliss lors des livraisons.
Figure 19: interface d'inscription
1.6. Les interfaces de client 1.6.1. Interface dauthentification
Cette interface va permettre au client ou administrateur de
sauthentifier. En introduisant son login et mot de passe.
Figure 20: interface d'authentification
Aprs authentification, le client accde linterface daccueil qui
affiche le nom du client et un menu compos uniquement de trois
choix (profil, commande et facture).Nom et prnom de client
Figure 21: interface d'accueil client
1.6.2. Interface profil
Figure 22: interface profile client
Figure 23: interface modification profil client
Figure 22 prsente le profil du client et toutes ses informations
personnelles. En appuyant sur modifier, un formulaire saffiche de
nouveau pour la modification selon son choix comme dans la figure
23. La mise jour est effectue seulement sur les donnes
modifies.
1.6.3. Interface commande
Figure 24: interface commande clientDans la section article on
trouve deux choix:
Ajouter:
Figure 25: interface ajouter commande
Figure 26: interface crer commandeFigure 25 prsente le catalogue
de produit o le client coche les produits quil veut commander et
clique sur le bouton crer commande.Figure 26 permet au client
dindiquer la quantit de produits quil veut commander.
Afficher:
Figure 27: interface afficher commande
Figure 28: interface modifier commande
En cliquant sur Afficher une liste des commandes sera affiche.
Il sera possible de modifier ou supprimer cette commande.
1.6.4. Interface facture
Figure 29: interface facture client
En cliquant sur facture la liste des factures du client sera
affiche. Il sera possible dimprimer ou annuler cette facture.
1.7. Les interfaces de ladministrateur
1.7.1. Interface gestion des comptes
Aprs authentification, ladministrateur peut consulter la liste
des comptes utilisateurs en choisissant la premire option du menu
gauche. Contrairement un client, ladministrateur possde plusieurs
choix dans le menu (comptes, produit, commande, livraisons, facture
et comptabilit).Il sera possible de modifier les informations
personnelles de ce client ou de le supprimer comme la montre les
figures 30, 31 et 32.
Figure 30: interface compte
Figure 31: interface de modification donnes personnelles client
Figure 32: interface ajouter client1.7.2. Interface gestion des
produits
En cliquant sur produit dans le menu, linterface affiche la
liste de produit. Si ladministrateur veut ajouter un nouveau
produit, il clique sur Ajouter (figure 33), ce qui permet dafficher
un formulaire. En remplissant les divers champs et en validant, le
produit est ajout la liste (figure 34). Il est galement possible de
modifier un produit existant (figure 35).
Figure 33: interface affichage liste produit
Figure 34: interface ajouter produit Figure 35: interface
modifier produit
1.7.3. Interface gestion des livraisons
Ladministrateur gre les livraisons; il peut ajouter (Figure 36)
ou modifier une livraison.
Figure 36: interface de livraison
1.7.4. Interface gestion des factures
Ladministrateur gre les factures; il peut afficher la liste des
factures, ajouter une nouvelle facture, modifier une facture
(figure 37), imprimer ou annuler une facture.
Figure 37: interface modifier une facture1.7.5. Interface
comptabilit
Figure 38: interface comptabilit
Conclusion Gnrale
Au terme de ce projet de fin dtudes, nous avons eu lopportunit
davoir ralis une application web qui a pour but dinformatiser le
fonctionnement de la socit de vending machine et de laider faire
connatre et commercialiser ses produits. En effet, au cours de ce
projet nous avons approfondi nos connaissances en modlisation de
systmes informatiques en particulier avec le langage UML. Nous
avons galement amlior nos connaissances techniques par la
manipulation de nouveaux outils et technologies tels que J2EE,
WampServer, HTML5 et MySQL. Par ailleurs, ce stage de fin dtude a t
une occasion pour acqurir une exprience extrmement valorisante dun
point de vue personnel et professionnel.Puisque toute application
nest jamais parfaite, et faute de temps, nous pensons que notre
projet peut tre amlior ultrieurement en intgrant les fonctionnalits
dj implmentes mais dans une partie mobile pour permettre daccder
lapplication partir dun smartphone en particulier lors des
livraisons.
Netographie
[1] Dfinition HTML5 [En ligne].
http://www.definitions-webmarketing.com/Definition-HTML5 [consult
le 01/04/2014]
[2] StarUML - The Open Source UML/MDA Platform [En ligne].
http://staruml.sourceforge.net/en/ [Consult le 12/02/2014]
[3] NetBeans NetBeans french site [En
ligne].http://fr.netbeans.org/ [Consult le 25/03/2014]
[4] Jquery [En ligne]. http://www.jquery.com [Consulter le
26/03/2014]
[5] MySQL:: The world's most popular open source database [En
ligne]. http://www.mysql.com [Consult le 12/03/2014]
[6] WampServer, la plate-forme de dveloppement Web sous Windows
- Apache, MySQL, PHP [En ligne]. http://www.wampserver.com [Consult
le 16/03/2014]
. . . . :
Rsum
Ce prsent mmoire constitue le rapport de projet de fin dtudes,
labor au sien de la socit Vending Machine Plus SVM+ et prsent en
vue de lobtention de la licence applique en Informatique. Le
travail prsent a pour objet la conception et le dveloppement dun
systme information et dune couche application commerciale. Cette
application permet de grer le flux de donnes et de documents
relatifs aux commandes et achats distance ainsi que les processus
de facturation, livraison et comptabilit. Pour limplmentation, nous
avons utilis le langage de modlisation UML, lenvironnement NetBeans
IDE, et les technologies J2EE et WampServer . Mots cl: application
commerciale, facturation, UML, J2EE, NetBeans, WampServer
Abstract
This document is a report of a final study project, developed
within Vending Machine Plus company, in order to obtain a licence
in computer technology. The work presented in this report aims at
the design and development of an information system and a
commercial application layer. This application allows to manage the
flow of data and documents concerning remote orders and purchase in
addition to billing processes, delivery and accounting. For the
implementation, we used UML, the NetBeans IDE, and other
technlogies such as J2EE and WampServer. Keywords: Commercial
software, billing, UML, J2EE, NetBeans, WampServer.
Ddicaces
Je ddie ce travail ma chre famille pour laquelle ce travail est
un hommage aux sacrifices dploys et ses inestimables conseils qui
ont t et qui resteront pour toujours, sources de persvrance, que
Dieu vous garde et vous offre longue vie. mes trs chers parents
pour tout l'amour que je leur porte mon cher frre en tmoignage de
son soutien continu toute ma grande famille en tmoignage de son
encouragement mes amis et chers collgues en tmoignage de mon sincre
amour et de mon profond attachement.
Mna guizani
Remerciements
Mes profondes gratitudes et mes sincres remerciements sont
adresss au Prsident Directeur Gnral de la socit vending machine
plus qui ma accueillie pour la ralisation de ce stage de fin
dtudes.
Je tiens exprimer ma sincre gratitude envers mon encadreur
dentreprise Mme. BARHOUMI Nassira et mon encadreur lISET Mme
GUARBOUJ Sonia qui nont pargn aucun effort pour maider et mclaircir
la voie avec leurs conseils pertinents, leurs ides originales et
leurs critiques, parfois svres, mais souvent fructueuses.
De mme, Je tiens aussi remercier tous mes enseignants de
lInstitut Suprieur des Etudes Technologiques de Siliana qui mont
aid de prs ou de loin afin de faciliter ma tche.
Je remercie galement les membres du jury de lintrt quils ont
port mon travail en acceptant de le juger.
Finalement je remercie tous ceux qui ont particip de prs ou de
loin au bon droulement de ce projet.
Merci tous
Table des matiresIntroduction Gnrale1Chapitre I: Etude De
Lexistant2Introduction21.Prsentation De La Socit Daccueil31.1.Fiche
didentification31.2.Description de SVM+31.3.Services et
produits31.4.Organigramme de SVM+42.Analyse de lexistant43.Critique
de lexistant54.Solution proposes5Conclusion6Chapitre II:
Spcification et Conception7Introduction71.Spcification des
besoins81.1.Besoins fonctionnels81.2.Besoins non
fonctionnels92.Conception92.1.Choix de langage de
conception92.2.Diagramme de cas dutilisation102.3.Diagramme de
squence222.4.Diagramme de classe25Conclusion25Chapitre III:
Ralisation et Tests26Introduction261.Environnement de
dveloppement271.1.Environnement matriel271.2.Environnement
logiciel272.Description des choix
techniques273.Ralisation313.1.Base de
donnes313.2.Scurit334.Tests334.1.Les Interfaces du
visiteur344.2.Les interfaces de client364.3.Les interfaces de
ladministrateur41Conclusion Gnrale46Bibliographie47
Table De Figure Figure 1: Organigramme de SVM+4Figure 2:
Diagramme de cas d'utilisation Globale11Figure 3: diagramme de cas
d'utilisation raffingrer commande13Figure 4: diagramme de cas
d'utilisation grer facture16Figure 5: Diagramme de cas
d'utilisation raffin Grer comptes utilisateurs 19Figure 6:
Diagramme de cas d'utilisation raffin Grer produits 19Figure 7:
Diagramme de cas dutilisation raffin Grer clients 20Figure 8:
Diagramme de cas dutilisation raffin Grer frais 20Figure 9:
Diagramme de Cas dutilisation raffin Grer comptabilit 21Figure 10:
Diagramme de cas d'utilisation raffin Grer livraison 21Figure 11:
Digramme de squence dinscription22Figure 12: Diagramme de squence
dauthentification23Figure 13: Diagramme de squence de passer
commande23Figure 14 : Diagramme de squence de modifier
facture24Figure 15: Diagramme de squence de supprime
produit24Figure 16: Diagramme de classe25Figure 17: Stockage crypt
des mots de passe33Figure 18: interface d'accueil pour le
visiteur34Figure 19: interface d'inscription35Figure 20: interface
d'authentification36Figure 21: interface d'accueil client36Figure
22: interface profile client37Figure 23: interface modification
profil client37Figure 24: interface commande client38Figure 25:
interface ajouter commande39Figure 26: interface crer
commande39Figure 27: interface afficher commande40Figure 28:
interface modifier commande40Figure 29: interface facture
client41Figure 30: interface compte42Figure 31: interface de
modification donnes personnelles client ..42 Figure 32: interface
ajouter client42Figure 33: interface affichage liste
produit43Figure 34: interface ajouter produit 43 Figure 35:
interface modifier produit43Figure 36: interface de
livraison44Figure 37: interface modifier une facture44Figure 38:
interface comptabilit45
Table de Tableau Tableau 1: Acteur du systme10Tableau 2:
Description de cas dutilisation Consulter catalogue 12Tableau 3:
Description de cas d'itilisation sincrire12Tableau 4: description
de cas d'utilisation grer comptabilit13Tableau 5: Description de
cas d'utilisation Passer commande 14Tableau 6: Description de cas
d'utilisation consulter commande14Tableau 7: Description de cas
d'utilisation confirmer commande 15Tableau 8: Description de cas
d'utilisation Modifier commande 15Tableau 9: Description de cas
d'utilisation Annuler commande 16Tableau 10: Description du cas
dutilisation Consulter facture 17Tableau 11: Description du cas
dutilisation Imprimer facture 17Tableau 12: Description du cas
dutilisation Ajouter facture 18Tableau 13: Description du cas
dutilisation Modifier facture 18Tableau 14: Outils logiciels
utiliss27Tableau 15: Dictionnaire de la base de donnes33
2
2