Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
REPUBLIQUE DU BURUNDI
FACULTE D’INFORMATIQUE
Par:
Yvan HARUSHIMANA
Et
Fabrice MUGISHA
DEDICACES
A ma chère mère;
HARUSHIMANA Yvan
A ma chère mère;
Mugisha Fabrice
ii
REMERCIEMENTS
Le présent travail est le fruit des efforts consentis par différentes personnes tant physiques que
morales. Ainsi, au terme de celui-ci, c’est pour nous une heureuse occasion d’exprimer nos
sentiments de gratitude envers toutes les personnes qui, de près ou de loin, ont contribué à son
élaboration en nous prêtant main forte.
Nos remerciements s’adressent ensuite au Président et aux Membres du Jury qui ont accepté
de lire ce mémoire et de participer à son appréciation. Que tous les professeurs qui nous ont
enseigné durant tout notre parcours depuis l’école primaire, trouvent ici l’expression de notre
profonde gratitude. Vous avez fait de nous ce que nous sommes aujourd’hui.
A tous les camarades de classe, avec qui nous avons partagé les connaissances, merci d’avoir
été auprès de nous. Votre soutient et votre aide nous ont été précieux.
Nos remerciements sont encore adressés à tout le personnel de l’alimentation DU MIDI pour
leur appui lors de la documentation, plus particulièrement à sa patronne pour sa parfaite
collaboration; ils ont su répondre à nos questions les plus pertinentes qui nous ont permis de
mener à bien notre projet. Que son personnel soit rassuré de notre profonde reconnaissance.
Nous remercions enfin tous ceux qui, d’une façon ou d’une autre ont manifesté
un attachement particulier et ont témoigné leur amour et leur sympathie envers nous. Nous
pensons plus particulièrement à nos proches familles et amis; qu’ils soient rassurés de nos
remerciements sincères.
iii
DEDICACES ....................................................................................................................................... i
REMERCIEMENTS .............................................................................................................................ii
0.1. Introduction...................................................................................................................... 1
I.0. Introduction...................................................................................................................... 5
II.0. Introduction...................................................................................................................... 8
II.2. Modélisation du nouveau système de gestion des entrées et sorties des produits de
l’Alimentation DU MIDI ............................................................................................................. 23
III.1. Introduction.................................................................................................................... 39
Références .................................................................................................................................... 74
Ouvrages généraux.................................................................................................................... 74
Dictionnaires ............................................................................................................................. 74
Webographie ............................................................................................................................. 75
1
0.1. Introduction
Toutes les entreprises multinationales comme les PME1 cherchent à être de plus en plus
performantes sur des marchés toujours plus concurrentiels. Elles font face à un certain
nombre de problèmes comme: une grande concurrence, une petite portée du marché, des
fournisseurs performants, etc. Face à une telle situation elles mettent en œuvre des
stratégies pour atteindre leurs objectifs de rentabilité à travers une amélioration des
méthodes de travail et la qualité des services.
Le besoin croissant des décideurs d'avoir la bonne information au bon moment trouve
satisfaction dans le traitement automatique de cette dernière. En effet, la disposition des
outils informatiques permet de traiter l'information pour qu'elle soit présentée à l'utilisateur
avec un sens qui lui confère toute sa valeur.
C’est dans ce cadre que s'inscrit notre projet de fin d'études qui consiste a concevoir et
implémenter une application web de gestion des entrées et sorties des produits d’une
alimentation.
L’absence de politique d’amélioration de services offerts est l’un des aspects qui freine la
bonne performance dans le domaine de l’offre et de la demande. En effet, un système basé
sur le traitement et la sauvegarde manuel des données observés dans divers services dont
les centres commerciaux peuvent être à la base de la lenteur dans l’apport de service au
client mais également dans la perte des données qui devaient servir pour les planifications à
court, à moyen et à long terme.
Les alimentations ne font pas exception à ces derniers, l’informatisation de ces derniers
aurait un impact positif sur la vie quotidienne.
1
Petite et Moyenne Entreprise
2
Comme la plupart d’autres projets scientifiques, notre projet présente une complexité et il
est difficile de l’aborder dans son ensemble, donc nous l’avons délimité dans l’espace, dans
le domaine et dans le temps.
0.5. Problématiques
2
magasin où le client se sert lui-même.
3
0.6. Objectifs
3
Logiciel, programme, destine à l’apprentissage du fonctionnement et de l’utilisation d’une autre application.
4
Ensemble de pages web hyperliées entre elles et mises en ligne à une adresse web.
4
I.0. Introduction
Ainsi, nous pouvons dire, qu’une alimentation est un magasin ou une boutique6
qui, en général vend des produits alimentaires.
L’alimentation DU MIDI est une maison de vente pour la plupart des produits
alimentaires. Elle est localisée au centre-ville de BUJUMBURA capitale du Burundi, Quartier
ROHERO, sur la chaussée du Prince Louis RWAGASORE, plus précisément en face de l’ancien
marché central de Bujumbura.
Au moment des visites et des interviews à l’alimentation DU MIDI, nous avons pu constater
que pour promouvoir le bon fonctionnement de l’alimentation, les services de cette dernière
collaborent avec l’extérieur (fournisseurs) afin de satisfaire sa clientèle.
En effet, pour pouvoir fonctionner l’alimentation dépend en grande partie des produits en
provenance des fournisseurs. D’après le gestionnaire, les produits que l’alimentation
commercialise sont recueillis des points divers et en petite quantité suite au manque de
fournisseurs potentiels car d’une part, il doit lui-même se déplacer pour les chercher et
d’autres part ceux qui amènent eux-mêmes des produits ont souvent des quantités non
satisfaisantes pour l’alimentation. Une fois que les produits sont arrivés, le gestionnaire les
5
magasin où le client se sert lui-même.
6
Une maison consacrée à un commerce de détail ou, à la fois, à la fabrication et à la vente.
6
enregistre et les comptabilisent ensemble avec le caissier. Ils apposent des signatures qui
serviront dans le contrôle hebdomadaire.
Le fournisseur peut alors retirer son argent relative à la quantité qu’il a apporté. Tout doit
s’opérer en présence des trois. Si ce n’est pas un fournisseur avec qui ils se connaissent déjà
l’alimentation est contrainte de payer en totalité la somme au fournisseur. Les différents
produits sont rangés sur les étagères de l’alimentation selon les provenances et les qualités.
Ces derniers diffèrent les prix selon les qualités. Chaque produit est étiqueté de son prix et si
les produits sont nombreux les uns sont rangés dans les cartons.
Une fois que le client a effectué la collecte des produits qu’il souhaite, il les présente au
caissier qui effectue la somme des produits avec une petite machine calculatrice ou sur du
papier. Le caissier communique la somme au client qui selon ses moyens peut opter pour
retirer des produits. Si la somme lui convient, le caissier enregistre les produits dans le
registre pour constituer l’historique de vente et enfin, il établit une facture comportant tous
les articles choisis avec leurs quantités ainsi que le cachet de l’alimentation. S’il se présente
un client sollicitant une facture pro forma, le caissier appelle le gestionnaire qui rédige la
facture demandée sur son ordinateur portable et qu’il imprime dans les secrétariats publics
environnants.
L’alimentation DU MIDI possède entre autre le réfrigérateur pour conserver les produits qui
nécessitent une basse température et une microonde pour le chauffage de certains produits.
Bien que le personnel fasse de son mieux pour l’avancement de l’alimentation, les
procédures d’entrée et de sorties des produits sont encore manuelles, ce qui entraine une
certaine faiblesse du système actuel.
Il essai de tenir à jour le stock grâce à leur registre, ceci se révèle être une lourde tâche qui
l’oblige de parcourir tous les reçus, comptabiliser les produits sortis par jour et mettre à jour
les documents. Cette situation conduit souvent aux erreurs et à une perte énorme de temps.
La vente quant à elle, elle est complètement manuelle. De plus, le personnel a du mal à se
souvenir de tous les produits en stock ce qui fait que si un client cherche le produit qui ne se
trouve pas dans le stock, le personnel doit parcourir la liste entière des produits. Ceci
conduit à une perte de temps et à un mauvais service fourni aux clients (lenteur).
7
Ce qui est plus ennuyant encore, à chaque fois qu'un client veut acheter des produits, le
personnel est obligé de calculer la somme que le client doit payer soit à la main, soit à l’aide
d’une machine calculatrice. La procédure devient fastidieuse.
Toutes ces limites du système actuel ont des répercussions sur la qualité du travail et par
conséquent un effet négatif sur les résultats escomptés de l’alimentation.
C'est dans cette situation que nous avons réalisé qu'un outil spécialisé qui automatise ces
tâches est nécessaire pour pouvoir améliorer la qualité du service offert, diminuer les
erreurs qui peuvent conduire à une faillite et aussi disposer des informations dont
l’alimentation a besoin au moment voulu.
Dans ce projet, nous nous proposons alors de pallier à ces problèmes cités ci-haut en
mettant en place un outil capable de résoudre les défis liés à la gestion des entrées et sorties
des produits de l’alimentation DU MIDI.
L’exploitation de l’application sera rendu facile par l’achat du matériel nécessaire dont
l’alimentation ne possède pas pour le moment, son hébergement sur un serveur accessible
publiquement grâce au réseau internet et la formation des employés.
8
II.0. Introduction
Issu du terrain et fruit d'un travail d'experts reconnus, UML est le résultat d'un large
consensus.
De très nombreux acteurs industriels de renommé ont adopté UML et participent à son
développement.
Comme le montre la figure ci-dessous, en l'espace d'une poignée d'années seulement, UML
est devenu un standard incontournable [2].
7
Méthode de spécification par modélisation des besoins à la mode en 1995.
8
L’OMG (Object Management Group) est une association américaine à but non-lucratif créée en 1989 dont
l’objectif est de standardiser et promouvoir le modèle objet sous toutes ses formes. L’OMG est notamment à la
base des spécifications UML, MOF, CORBA et IDL. L’OMG est aussi à l’origine de la recommandation MDA
9
Méthode d’analyse et de conception orienté objet
9
UML est vaste, et plusieurs ouvrages consacrent plusieurs centaines de page pour couvrir
tous les notions de ce langage. Nous ne prévoyons pas être exhaustifs dans ce travail, toute
fois nous estimons que c’est important de présenter quelques diagrammes que nous avons
utilisés [11].
UML dans sa version 2 propose quatorze diagrammes qui peuvent être utilisés pour la
description d’un système. Ces diagrammes sont regroupés dans deux grands ensembles dont
[11]:
Les diagrammes structurels : ont vocation de représenter l’aspect statique d’un système. Ils
permettent d’identifier les objets constituant le programme, leurs attributs, leurs opérations
et les méthodes qui leurs sont associés. Ils sont au nombre de six à savoir :
Diagramme de Classe ;
Diagramme d’objet ;
Diagramme de composant ;
Diagramme de déploiement ;
Diagramme de Paquetage ;
Diagramme de structure composite.
Classe
Une classe représente la description abstraite d’un ensemble d’objets possédant les mêmes
caractéristiques. On peut parler également de type [2].
o la désignation de la classe ;
o la description des attributs ;
o la description des opérations.
11
Objet
Un objet est une entité aux frontières bien définies, possédant une identité et encapsulant
un état et un comportement. Un objet est une instance(ou Occurrence) d’une classe [2].
Par exemple : MUGISHA Fabrice est une instance de la classe Personne. Le présent livre est
une instance de la classe livre.
Chaque attribut ou opération d’une classe peut être de type public, protégé, privé ou
paquetage. Les symboles + (public), # (protégé), - (privé) et ~ (paquetage) sont indiqués
devant chaque attribut ou opération pour signifier le type de visibilité autorisé pour les
autres classes. Les droits associés à chaque niveau de confidentialité sont :
• Public (+) : Attribut ou opération visible par tous.
Attribut et Opération
Une Opération représente un élément de comportement (un service) contenu dans une
classe. Nous ajouterons plutôt les opérations en conception objet, car cela fait partie des
choix d’attribution des responsabilités aux objets.
Association
Une Association représente une relation sémantique durable entre deux classes.
Exemple : Une personne peut posséder des voitures. La relation possède est une association
entre les classes Personne et voiture.
12
Même si le verbe qui nomme une association semble privilégier un sens de lecture, une
association entre concepts dans un modèle du domaine est par défaut bidirectionnelle. Donc
implicitement, l’exemple précédent inclut également le fait qu’une voiture est possédée par
une personne [2].
Aux deux extrémités d’une Association, on doit faire figurer une indication de multiplicité.
Elle spécifie sous la forme d’un intervalle d’entiers positifs ou nuls le nombre d’objets qui
peuvent participer à une relation avec un objet de l’autre classe dans le cadre d’une
association [2].
Exemple : Une personne peut posséder plusieurs voitures (entre zéro et un nombre
quelconque) ; une voiture est possédée par une seule personne.
La multiplicité
Agrégation et composition
Une agrégation est un cas particulier d’association non symétrique exprimant une relation
de contenance. Les agrégations n’ont pas besoin d’être nommées : implicitement elles
signifient <<contient>>, <<et composé de>>.
Une Super-classe est une classe plus générale reliée à une ou plusieurs autres classes plus
spécialisées (Sous classes) par une relation de généralisation. Les sous-classes <<héritent >>
des propriétés de leur super-classe et peuvent comporter des propriétés spécifiques
supplémentaires.
Exemple : les voitures, les bateaux et les avions sont des moyens de transport. Ils possèdent
tous une marque, un modèle, une vitesse, etc. Par contre, seuls les bateaux ont un tirant
d’eau et seuls les avions ont une altitude
…
Une classe abstraite est simplement une classe qui ne s’instancie pas directement mais qui
représente une pure abstraction afin de factoriser des propriétés communes. Elle se note en
italique. C’est le cas de Moyen de Transport dans l’exemple précédent.
Ce diagramme est constitué de « nœuds » connecté par des liens physiques. Les symboles
des nœuds peuvent contenir des artefacts [2].
15
Nœud
Un nœud correspond à une ressource matérielle de traitement sur laquelle des artefacts
seront mis en œuvre pour l’exploitation du système. Les nœuds peuvent être interconnectés
pour former un réseau d’éléments physiques. Un nœud ou une instance de nœud se
représente par un cube ou parallélépipède
Artefact
Un artefact est la spécification d’un élément physique qui est utilisé ou produit par le
processus de développement du logiciel ou par le déploiement du système. C’est donc un
élément concret comme par exemple : un fichier, un exécutable ou une table d’une base de
données.
Un événement : c’est quelque chose qui se produit à un moment donné dans le temps et qui
n’a pas de durée.
Ce diagramme permet de faire le point sur les besoins des acteurs par rapport au système. Il
comprend les fonctionnalités fournies par le système (cas d'utilisation), les utilisateurs qui
interagissent avec le système (acteurs), et les interactions entre ces derniers. Un diagramme
16
de cas d’utilisation capture le comportement d’un système, tel qu’un utilisateur extérieur le
voit.
Il constitue un des diagrammes les plus structurants dans l’analyse d’un système.
Les composants de base d’un diagramme des cas d'utilisations sont: l’acteur, le cas
d’utilisation et l’interaction entre l’acteur et le cas d’utilisation.
Acteur
Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif
matériel ou autre système) qui interagit directement avec le système étudié.
Un acteur peut consulter et/ou modifier directement l’état du système, en émettant et/ou
en recevant des messages susceptibles d’être porteurs de données.
La représentation graphique standard de l’acteur en UML est l’icône appelée stick man, avec
le nom de l’acteur sous le dessin. On peut également figurer un acteur sous la forme
rectangulaire d’une classe, avec le mot-clé « actor ». Une troisième représentation
(intermédiaire entre les deux premières) est également possible avec certains outils, comme
cela est indiqué ci-après.
Cas d’utilisation
Le diagramme de cas d’utilisation est un schéma qui montre les cas d’utilisation (ovales)
reliés par des associations (lignes) à leurs acteurs (icône du « stick man », ou représentation
graphique équivalente). Chaque association signifie simplement «participe à ». Un cas
d’utilisation doit être relié à au moins un acteur.
UML a repris le concept bien connu de machine à états finis, qui consiste à s’intéresser au
cycle de vie d’une instance générique d’une classe particulière au fil de ses interactions avec
le reste du monde, dans tous les cas possibles. Cette vue locale d’un objet, qui décrit
comment il réagit a des évènements en fonction de son état courant et comment il passe
dans un nouvel état, est représentée graphiquement sous la forme d’un diagramme d’états
[2].
18
Etat
Un état représente une situation durant la vie d’un objet pendant laquelle :
• Il satisfait une certaine condition ;
• Il exécute une certaine activité ;
• Ou bien il attend un certain événement.
Un objet passe par une succession d’états durant son existence. Un état a une durée finie,
variable selon la vie de l’objet, en particulier en fonction des évènements qui lui arrivent.
Transition
Une transition décrit la réaction d’un objet lorsqu’un événement se produit (généralement
l’objet change d’état). En règle générale, une transition possède un événement déclencheur,
une condition de garde, un effet et un état cible.
Evénement
Un événement est un fait survenu qui déclenche une transition. Un événement se produit à
un instant précis et est dépourvu de durée. Quand un événement est reçu, une transition
peut être déclenchée et faire basculer l’objet dans un nouvel état.
mise à jour d’un attribut, un appel d’opération, la création ou la destruction d’un autre
objet, ainsi que l’envoi d’un signal a un autre objet. Les activités associées aux transitions
sont considérées comme atomiques, c’est-à-dire qu’elles ne peuvent être interrompues. Ce
sont typiquement des séquences d’actions.
Les activités durables (do-activity), au contraire, ont une certaine durée, sont interruptibles
et sont donc associées aux états.
• Transition ;
• Nœud initial (état initial) ;
• Nœud final (état final) ;
• Nœud de fin flot (état de sortie) ;
• Nœud de décision (choix).
20
- Ligne de vie
Une ligne de vie représente l’ensemble des opérations exécutées par un objet. Un message
reçu par un objet déclenche l’exécution d’une opération. Le retour d’information peut être
implicite (cas général) ou explicite à l’aide d’un message de retour.
22
UML possède plus de diagramme que celles présenté ci-haut. Nous ne pouvons pas les
présenter tous dans ce projet, de peur que cela soit long et que beaucoup de livre explique
déjà toutes ses notions de façon claire avec des exemples à l’appui. Pour plus d’information,
nous conseillons la consultation des livres UML2 par la pratique, Conception de bases de
données avec UML [15], Analyse et Conception [2] et UML 2 pour les développeurs [14] qui
ont été notre principale source d’inspiration dans cette partie.
23
II.2. Modélisation du nouveau système de gestion des entrées et sorties des produits de
l’Alimentation DU MIDI
Dans ce chapitre, nous mettons en pratique la théorie UML annoncé dans le deuxième
chapitre, en modélisant notre nouveau système.
En vue de construire le modèle du système de gestion des entrées et sorties des produits
d’une alimentation, il nous faut respecter les deux axes de modélisation du standard UML à
savoir :
le caissier : il a pour rôle d’enregistrer les clients (a crédits) ou de les modifier. Il a aussi le
rôle d’enregistrer les produits entrant et sortant ainsi que les paiements des ventes et des
fournitures;
le fournisseur : il peut proposer des prix sur des produits que l’alimentation souhaite
intégrer dans le stock, il peut voir les commandes qui lui sont affectées.
24
N.B : Le mot gérer pour notre cas englobe la recherche, la création, la modification, la
suppression ;
Notre diagramme de cas d’utilisation étant grande, ici nous avons pris en considération
quelques cas d’utilisation les plus courant pour la description textuelle.
Sommaire d’identification
Acteur : Utilisateur
Acteur Système
B. Enchainement Alternatif
Si le nom d’utilisateur et/ou le mot de passe ne sont pas correctes (à l’étape 3 du scénario
nominal) l’enchainement alternatif dirige l’utilisateur vers une page d’erreurs qui comprend
un lien vers la page d’accueil.
26
Sommaire d’identification
Acteur : Gestionnaire
Précondition : l’Authentification.
Acteur Système
B. Enchainement Alternatif
Si le gestionnaire saisie une quantité négative ou égale à zéro (étape 8 du scénario nominal), le
système informe le gestionnaire que la quantité ne doit pas être inferieur ou égale à zéro,
l’enchainement alternatif recommence à l’étape 7 du scénario nominal.
Sommaire d’identification
Résumé : Ce cas d’utilisation permet au gestionnaire d’élaborer une facture pro forma.
Acteur : Gestionnaire
Acteur Système
Tableau 3 : Scénario nominal du cas d’utilisation : Elaborer une facture pro forma
B. Enchainement Alternatif
Si le gestionnaire ajoute une quantité inférieure ou égale à zéro, le système lui informe que la
quantité ne doit pas être inférieure ou égale à zéro, l’enchainement alternatif recommence à
l’étape 3 du scénario nominal.
28
Sommaire d’identification
Acteur : Client
Acteur Système
B. Enchainement Alternatif
Si le client saisie une quantité inférieure ou égale à zéro, ou supérieur à la quantité disponible
au stock, le système lui informe via un message la marge de la quantité qu’il doit saisir.
L’enchainement alternatif recommence à l’étape 6 du scenario nominal.
Sommaire d’identification
Acteur : Fournisseur
Acteur Système
B. Enchainement alternatif
Si le fournisseur ne saisit pas le prix auquel il veut proposer le produit (étape 3 du scénario
nominal), l’enchainement alternatif redémarre à l’étape 2.
30
Acteur : Gestionnaire
Précondition : S’authentifier
Acteur Système
B. Enchainement Alternatif
Si les informations saisies ne sont pas valides (étape 5 du scénario nominal), l’enchainement
alternatif redémarre à l’étape 4 du scénario nominal.
Sommaire d’identification
Titre : Vente d’un produit (Cash)
31
Acteur Système
B. Enchainement Alternatif
Si le Caissier saisit la quantité qui n’est pas disponible dans le stock ou une quantité inférieure
ou égale à zéro (à l’étape 5), Le système affiche un message indiquant la quantité disponible
dans le stock et l’enchainement alternatif recommence à l’étape 5 du scenario nominal.
Sommaire d’identification
Titre : Vente d’un produit (crédit)
32
Acteur Système
B. Enchainement Alternatif
Si le Caissier saisit la quantité qui n’est pas disponible dans le stock ou qui est inférieure ou
égale à zéro (à l’étape 6), Le système affiche un message indiquant la quantité disponible dans
le stock et l’enchainement alternatif recommence à l’étape 6 du scenario nominal.
33
Si le Caissier ne saisit pas le client (étape 3 du scénario nominal) Le système affiche un message
lui indiquant qu’il faut saisir le client, l’enchainement alternatif lui amène à l’étape 5 du
scenario nominal.
Les diagrammes d’activités nous permettent de décrire beaucoup plus en détails le flux des
activités pour chaque cas d’utilisation. Ici nous considérons le cas le plus courant qui est la
vente des produits :
34
Il s'agit d'une explication détaillée d'un cas d'utilisation. Les principales informations contenues
dans un diagramme de séquence sont les messages échangés entre les objets de différentes
classes, présentés dans un ordre chronologique.
Précédemment nous avons parlé de deux grandes catégories de diagrammes UML (statique et
dynamique) l'un des diagrammes statiques nous intéresse beaucoup pour pouvoir implémenter
le code, il s'agit du diagramme de Classes.
Le schéma ci-dessous nous donne une vue globale de notre application. On a les classes
principales qui vont nous servir à réaliser l'application.
37
Enfin, nous terminons notre modélisation avec le diagramme de déploiement qui décrit
l’architecture physique de notre application.
III.1. Introduction
Ce chapitre a pour objectif de présenter les pages utilisateurs de l’application web de Gestion
des entrées et sorties des produits d’une alimentation. Pour la réalisation de cette dernière,
nous avons utilisé UML comme langage de modélisation, MYSQL comme SGBD dans la création
de notre Base de Données(BD), JAVA comme langage de programmation, PRIMEFACES comme
framework10, et ECLIPSE comme IDE.
Un Système de Gestion de Base de Données (SGBD) est un logiciel (ou un ensemble de logiciels)
permettant de manipuler les données d'une base de données. Manipuler, c'est-à-dire
sélectionner et afficher des informations tirées de cette base, modifier des données, en ajouter
ou en supprimer (ce groupe de quatre opérations étant souvent appelé "CRUD" pour Create,
Read, Update et Delete) [11].
Il existe des dizaines de SGBD, chacun ayant ses avantages et ses inconvénients. Parmi les plus
connus on peut citer : MySQL, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, MS
Access, etc. Certains sont payant et d'autres sont libres.
Oracle database : édité par Oracle Corporation (qui, édite également MySQL) est un
SGBDR payant. Son coût élevé fait qu'il est principalement utilisé par des entreprises.
Oracle gère très bien de grands volumes de données. Il est inutile d'acheter une licence
oracle pour un projet de petite taille, car les performances ne seront pas bien
différentes de celles d'un autre SGBD [11].
10 Ensemble de composants structurels permettant de construire des logiciels ou des sites internet.
11Les données sont contenues dans ce qu'on appelle des relations, qui sont représentées sous forme de tables.
12Langage informatique qui permet d'interagir avec des bases de données relationnelles.
13Code source librement disponible et que quiconque qui en ressent l'envie et/ou le besoin peut modifier pour l'améliorer ou
PostgreSQL : PostgreSQL est un logiciel Open Source. Il est cependant moins utilisé,
notamment par les débutants, car moins connu. La raison de cette méconnaissance
réside sans doute en partie dans le fait que PostgreSQL a longtemps été disponible
uniquement sous Unix. La première version Windows n'est apparue qu'à la sortie de la
version 8.0 du logiciel, en 2005 [11].
MS Access : MS Access ou Microsoft Access est un logiciel édité par Microsoft (comme
son nom l'indique). Par conséquent, c'est un logiciel payant qui ne fonctionne que sous
Windows. Il n'est pas du tout adapté pour gérer un grand volume de données et a
beaucoup moins de fonctionnalités que les autres SGBD. Son avantage principal est
l'interface graphique intuitive qui vient avec le logiciel [11].
Suite à ces récapitulatifs des SGBD cites ci-haut, nous avons choisi MySQL pour la réalisation
d’une base de donnée de notre application de Gestion des entrées et sorties des produits d’une
alimentation, parce il présente plusieurs avantages :
MySQL est rapide et stable. Ceci constitue la clé de son succès. Des études qui ont été
réalisées sur plusieurs bases de données majeures incluant ORACLE, Microsoft SQL
Server, DB2, et MySQL, l’étude a montré que MySQL et Oracle étaient les meilleurs.
MySQL est un logiciel gratuit mais aussi commercial. Tous les logiciels MySQL demeurent
gratuits sous forme de ce qu’on appelle GPL (General Public Licence) mais on peut aussi
acheter une version commerciale si on en a besoin.
MySQL soutient une grande majorité d’outils considérés comme importants par la
communauté de bases de données à savoir : les transactions, blocage basé sur une
ligne, clé étrangère, les sous requêtes et la recherche basée sur des mots complets.
41
MySQL possède une grande adaptabilité. Il est utilisé par des clients très rigoureux
comme Yahoo ! Finance, Slashdot, US Census Bureau, Google, pour ne citer que ceux-là.
MySQL est un outil défiant toute concurrence concernant l’apprentissage de base de données
en général grâce à sa facilité d’installation et d’utilisation et l’espace très réduit qu’il occupe sur
le disque dur et la mémoire [13].
Le Modèle Client-serveur
La plupart des SGBD sont basés sur un modèle Client-serveur. C'est-à-dire que la base de
données se trouve sur un serveur qui ne sert qu'à ça, et pour interagir avec cette base de
données, il faut utiliser un logiciel "client14" qui va interroger le serveur et transmettre la
réponse que le serveur lui aura donnée. Le serveur peut être installé sur une machine
différente du client(le cas du web) ; c'est souvent le cas lorsque les bases de données sont
importantes.
Par conséquent, lorsque vous installez un SGBD basé sur ce modèle (c'est le cas de MySQL),
vous installez en réalité deux choses (au moins) : le serveur15, et le client. Chaque requête
(insertion/modification/lecture de données) est faite par l'intermédiaire du client. Jamais vous
ne discuterez directement avec le serveur (d'ailleurs, il ne comprendrait rien à ce que vous
diriez). Vous avez donc besoin d'un langage pour discuter avec le client, pour lui donner les
requêtes que vous souhaitez effectuer. Dans le cas de MySQL, ce langage est le SQL [13].
Bien qu'en théorie, on peut écrire l'application dans n'importe quel langage de programmation,
les langages présentent des fonctionnalités différentes qui peuvent devenir soit des avantages
soit des inconvénients dans certains cas selon les besoins de l'application. Dans notre cas, nous
souhaitons réaliser une application web. Ceci impose que le langage que nous allons choisir soit
un langage offrant des fonctionnalités de développement web. En ajoutant ce paramètre de
filtrage, notre choix s'est alors réduit aux langages les plus populaires suivants: PHP, JAVA, ASP,
PYTHON, ColdFusion, Ruby on rails, Django.
14
Les termes client dans ce livre peut prêter confusion car il sera utilisé dans deux contexte différents: Dans un
contexte économique, le client est celui qui prend la décision d'acheter un bien de consommation. En
Informatique, le mot client est utilisé dans le contexte du modèle client-serveur. Il peut désigner une machine
cliente qui accède à un service fourni par une machine distincte, ou l'utilisateur derrière cette machine ou le
logiciel qui réalise cet accès.
15
Logiciel ou ordinateur destiné à fournir un service à distance aux applications clients connectées au réseau.
42
Voici les raisons qui nous ont conduits à choisir finalement JAVA comme langage de
programmation:
-Orientée Objet : L'approche objet permet de bien concevoir les applications orientées
métiers,
-Disponibilité des outils : Java est un langage libre ce qui fait que de nombreux éditeurs
créent des outils de développement souvent libre. Ainsi des nombreux IDE, serveurs
web et serveurs d'application sont disponibles gratuitement sur le marché,
-Disponibilité de plusieurs implémentations : Java est basé sur des spécifications JSR.
Ainsi lorsqu'une fonctionnalité est manquante, elle est soumise à la communauté via le
JSR, les décideurs de JAVA créent alors une spécification qui est rendu publique. Ce qui
permet à n'importe quel éditeur de développer une implémentation de la spécification,
-Bien maintenu : L'évolution du langage est assurée par Oracle et ses collaborateurs qui
effectuent des mises à jour régulières et des corrections de bugs. Il n'y a pas de risque
que le langage disparaisse du jour au lendemain,
-Une grande communauté : JAVA est le second langage le plus utilisé au monde. Ceci
indique la maturité du langage ce qui signifie qu’il y a beaucoup de ressources (Articles,
tutoriels, livres, cours, forums) à la disposition du programmeur.
43
Sur un projet JSF il est très utile, voire indispensable, de sélectionner une bibliothèque de
composants graphiques pour gagner en productivité et efficacité. Cela évite de réinventer la
roue. Parmi les différentes bibliothèques disponibles, celle qui a particulièrement retenu notre
attention est PrimeFaces.
Son créateur et principal développeur de PrimeFaces, Çağatay Çivici (@cagataycivici), est très
impliqué dans le monde JSF puisqu’il fait lui-même partie des membres de l’expert group JSF
[17].
Cette bibliothèque est open source (sous licence Apache License V2) et se compose de trois
projets :
L’intérêt principal de PrimeFaces réside dans la diversité et la qualité des composants proposés.
Ils sont nombreux, plus de 100, et répondent le plus souvent en standard aux besoins des
applications. Ce sont des composants graphiques avancés qui possèdent des fonctionnalités
prêtes à l’emploi, aidant ainsi à créer aisément des RIA (Rich Internet Application). L’ensemble
des composants est présenté dans une page de démonstration, avec le code (à la fois Xhtml et
Java) s’y rapportant [19].
Par ailleurs, le code généré est simple, lisible et évite (contrairement à RichFaces) l’utilisation
de tableaux pour la mise en page, ce qui est un plus indéniable.
Il est à noter que l’utilisation d’AJAX est très présente dans PrimeFaces. Par exemple, l’action
déclenchée par les boutons qu’il propose est par défaut en AJAX.
Voici quelques-uns des composants qui ont attiré le plus notre attention :
AJAXStatus
Ce composant, facile d’utilisation, offre un indicateur lors des requêtes AJAX faites par les
composants PrimeFaces [20].
Partial Submit
C’est un composant utile dans le cadre de l’optimisation d’une application car il permet de
réduire le trafic dans les requêtes AJAX en transmettant seulement le contenu de certains
composants d’entrée [21].
Growl
Celui-ci affiche des messages à l’utilisateur à la manière du Growl sur Mac, c’est-à-dire à l’aide
de notifications [22].
45
Thèmes
Les nombreux thèmes disponibles dans PrimeFaces apportent un réel plus en ce sens qu’ils
rendent les applications particulièrement attrayantes, avec peu d’effort et de connaissances en
css. Par défaut PrimeFaces utilise le thème Aristo, rappelant les interfaces MacOS. De plus,
depuis peu le fameux thème du Twitter Bootstrap a été mis à disposition.
Ces thèmes se présentent sous la forme de jars contenant à la fois le css et les images dont il a
besoin. Les thèmes s’installent aisément dans le classpath et sont appliqués dans le web.xml.
Si un thème est conçu pour une entreprise en utilisant sa charte graphique, le jar créé peut être
ajouté aux applications utilisant PrimeFaces pour harmoniser leurs rendus. Il sera ainsi possible,
en cas de modification de la charte graphique de changer l’aspect général de ces applications
via un simple changement de jar. La tâche est ainsi largement simplifiée puisqu’elle évite ainsi
la modification du css des applications. C’est pour cela qu’il est parfois préférable d’utiliser les
composants PrimeFaces en remplacement de ceux fournis avec JSF, car ils utilisent par défaut le
thème sélectionné.
De plus, comme nous l’avons vu précédemment, les composants étaient initialement basés sur
jQuery UI, il est donc facile de créer des thèmes personnalisés via le ThemeRoller de jQuery
disponible sur http://jqueryui.com/themeroller/.
Communauté et suIIIi
La documentation quant à elle, est complète et conséquente (près de 500 pages au format pdf).
Chaque composant y est décrit avec les paramètres offerts par le tag. Cependant la plupart du
temps, nous avons trouvé qu’il est plus simple d’aller sur la page de démonstration du
composant et de voir le code html et java associé pour en comprendre l’utilisation.
Le projet PrimeFaces quant à lui est régulièrement mis à jour, soit pour corriger des bugs soit
pour ajouter des nouvelles fonctionnalités. D’ailleurs la politique des développeurs est
d’intégrer gratuitement dans PrimeFaces les nouvelles fonctionnalités, initialement demandées
par les entreprises ayant un support payant.
Cet engouement a engendré le projet PrimeFaces Extensions qui apporte des fonctionnalités
supplémentaires à PrimeFaces, manquantes pour les développeurs.
46
Ce qui nous a intéressé le plus dans PrimeFaces est son approche web, respectueux des
standards et basé sur jQuery. Les composants sont également simples d’utilisations, mais
néanmoins puissants lorsqu’on les exploite avec plus de paramètres. Par exemple, il est
possible de passer d’un simple tableau à un tableau trié avec pagination en AJAX tout en faisant
du lazy-loading).
De plus, PrimeFaces s’installe sans difficulté dans un projet soit manuellement en plaçant
l’unique jar dans le classpath, soit via Maven en ajoutant le repository et la dépendance
suivante dans le pom.xml (http://primefaces.org/downloads.html). Puis il suffit de rajouter le
namespace « xmlns:p=http://primefaces.org/ui » dans la page xhtml pour indiquer que l’on
souhaite utiliser les composants PrimeFaces.
Enfin, sur notre projet nous hésitions entre PrimeFaces et RichFaces. Une des craintes provenait
de la pérennité du projet face au mastodonte qu’est RichFaces (JBoss). Nous avons fait le pari
de PrimeFaces sur ce projet et nous ne regrettons pas ce choix.
Ci-dessous le diagramme sur l’utilisation de Primefaces par rapport à richfaces et icefaces dès
2014 jusqu’aujourd’hui.
III.2.4. Photoshop
Il est surtout utilisé pour le traitement de photos numériques (ce que l'on appelle plus
communément la retouche photographique), mais sert également à la création d'images.
47
Adobe Photoshop est un logiciel dédié aux professionnels de l'imagerie informatique. Il s'agit
donc d'un programme payant (plus ou moins 1000 euros).
Pour ceux qui n'ont pas toute cette fortune, il existe une version d'évaluation de Photoshop qui
vous permet d'utiliser le programme avec toutes ses fonctionnalités pendant 30 jours, c'est
suffisant si vous faites preuve d'assiduité dans l’apprentissage [10].
Dans le présent travail, suite à une bonne connaissance de Photoshop, nous avons fait recours
à ce logiciel spécialement pour le traitement des images contenues dans les différentes
interfaces de notre application. Notons que nous avons utilisé quelques fonctionnalités de ce
logiciel qui nous permettent le redimensionnement des images et d’écrire dedans des titres à
notre convenance.
La manière dont les navigateurs chargent les ressources de l’application (images, fichiers CSS,
JavaScript) influent également sur les performances de l’application. Malgré les efforts fournis
pour optimiser les traitements effectués côtés serveurs, si le navigateur doit charger une page
qui contient plusieurs fichiers (images, fichiers CSS et JavaScript) l’application apparaitra
toujours moins performant.
Il existe de nombreux outils de mesure des performances de rendus des pages web comme
firebug16 , Page speed17 et YSlow18, pour ne citer que cela.
Ces plugins fournissent des outils pour inspecter le code source, mesurer le temps de
chargement de la page, suggérer les optimisations à apporter aux pages et bien d’autres
informations pratiques. Voici quelques règles qu’il est recommandé d’appliquer :
16
http://getfirebug.com/
17
https://developers.google.com/speed/pagespeed/
18
http://developer.yahoo.com/yslow/
48
Optimisation du CSS
Mettre le code CSS dans l’entête du document et dans un fichier à part : Mettre le CSS
dans un fichier à part permet au navigateur de pouvoir le mettre en cache et le mettre
dans l’entête permet de diminuer le temps de rendu ;
Eviter certaines expressions CSS : Certains attributs comme @import sont connu d’avoir
des problèmes de performances. Yahoo developer Network19de préférer<link> à la
place ;
Minimiser les fichiers CSS : Il faut utiliser des outils de compressions disponibles sur
internet comme CSS Compressor20qui éliminent les espaces entre les lignes pour réduire
la taille du fichier et diminuer ainsi le temps de chargement.
Utiliser les tailles nécessaires des images : Il faut éviter de charger des grandes images et
réduire les tailles grâce aux attributs width et height ;
Privilégier les sprites CSS : Un sprite CSS est une technique de chargement d’une seule
image qui contient plusieurs petites images qu’on affiche en jouant avec les attributs de
positionnement CSS. Cela évite aux navigateurs de charger plusieurs fichiers images à
chaque rechargement de la page ;
Compresser les images : Smushit21 est un outil de compression d’images qui permet de
réduire le poids des images tout en gardant une bonne résolution pour réduire le temps
de chargement de ces derniers.
Bien qu'il soit possible de développer des applications avec un simple éditeur de texte comme
Notepad, personne ne se lance plus dans ce genre d'aventure d'autant plus que des outils
appropriés appelées I.D.E sont disponibles sur le marché.
L'environnement de développement intégré (Integrated Development Environment en anglais)
est un logiciel qui facilite le développement des applications regroupant les outils suivants :
Un éditeur de texte : Un programme qui permet de saisir les codes. La plupart des IDE
modernes possèdent une coloration syntaxique qui facilite de repérer les erreurs
19
http://developer.yahoo.com/
20
http://iceyboard.no-ip.org/projects/css_compressor
21
www.smushit.com
49
Dans cette partie nous mettons en œuvre les objectifs fixées en présentant l’application de
gestion des entrées et sorties des produits d’une alimentation via les interfaces.
En effet, notre application comprend deux principales parties : la partie publique et la partie
privée.
La partie publique
Qui donne la possibilité aux clients de voir les produits que l’alimentation est entrain
de vendre et de les réserver ;
Qui permet à toute personne susceptible d’être fournisseur de visualiser les produits
que l’alimentation veut se procurer en proposant le prix sur lequel il peut le fournir.
La partie privée
Cette partie est lié en général à la gestion interne de l’alimentation, spécifiquement la gestion
des entrées et sorties des produits. L’application est déployée sur un serveur et est accessible à
partir d’un poste client possédant un navigateur web, comme nous l’avons spécifié dans le
diagramme de déploiement au troisième chapitre.
Utilisation
Le Menu allant de 1 à 7 permet de naviguer vers les différentes pages de l’application ainsi que
les liens vers les réseaux sociaux.
52
Cette page permet au client de visualiser les produits en vente par l’alimentation du midi, elle
permet au client de réserver des produits qu’il pourra récupérer plus tard ;
Utilisation
Le client choisit un produit dans la partie (1), le glisse vers la partie (2) ensuite il apparait des
boutons lui permettant ainsi de réserver ces produits comme le montre la figure 23.
53
Une fois que le client choisit ses produits, il continu la procédure de réservation en cliquant sur
le bouton réserver, qui fait apparaitre les produits choisit en détail ainsi que les champs pour la
saisie de la quantité et du mot clé.
Description de l’interface
Utilisation
En cliquant sur le bouton Réserver, il apparait une fenêtre montrant en détails les produits que
veux réserver le client, il saisit la quantité qui doit être inférieur ou égal à la quantité totale du
stock, il saisit ainsi le mot clé de son souhait ; Enfin en cliquant sur le bouton de confirmation, le
système lui génère le mot clé qu’il va présenter à la caisse.
54
Cette page donne possibilité au fournisseur de proposer le prix à un produit qu’il souhaite
fournir.
Si le client clique sur le bouton se connecter, il obtient la possibilité de saisir son nom
d’utilisateur ainsi que son mot de passe, en confirmant si ces derniers sont correctes, il peut
voir les commandes qui lui sont attribuées ainsi que ceux dont il n’a pas encore fini de livrer.
Une fois que le fournisseur arrive à s’authentifier, il apparait un lien qui lui indique la page à
partir de laquelle il peut voir les commandes qui lui sont attribuées et celles dont il n’a pas
encore fini de livrer.
Après authentification, l’utilisateur est redirigé vers la bonne page selon son profil. Si
l’utilisateur saisit mal ses identifiants, il est redirigé vers la page d’erreur :
Si l’utilisateur est bloqué, le système génère une page lui renseignant sur les procédures à
suivre pour le déblocage ;
Notre système comporte deux profils dans la partie privée : Le Gestionnaire qui est le patron
en charge de l’approvisionnement et le caissier qui est charge des ventes.
Cette partie concerne le caissier, après son authentification, il est directement rediriger vers la
page de vente des produits :
Description de l’interface
Utilisation
Si le client se présente à l’alimentation, le caissier choisit les produits que le client désire (8),
saisit leurs quantités (12) et les ajoute sur la liste(13), il est possible de retirer un produit en le
choisissant sur la liste et de le supprimer à l’aide du bouton (14), s’il veut choisir le client et que
ce dernier est déjà enregistré dans le système, cette étape n’est pas obligatoire sauf dans le cas
où le client va acheter les produits à crédit. Il peut confirmer la vente(16) et imprimer la facture
qui apparait sur la figure 30.
59
Si c’est la réservation, le gestionnaire cherche à l’aide du mot clé que le client présente (17).
L’ensemble des boutons (21), offre les possibilités de confirmer la vente effectuée à distance et
imprimer la facture, le client peut aussi décider de retirer les produits sur sa facture.
Au point (18), le gestionnaire peut annuler la réservation ce qui va mettre à jour le stock en
ajoutant la quantité qui avait été réservée (19) et vice versa du point (18).
Le Gestionnaire va aussi recevoir la somme payée par les clients endettés en sélectionnant le
client qui va payer (22).
60
Description de l’interface
1 : Liste des fournisseurs n’ayant pas encore fini de livrer leur produit ;
2 : Liste des produits que va livrer le fournisseur choisit(1) ;
3 : quantité que va livrer le fournisseur ;
4 : Quantité totale du produit que l’alimentation avait commandée;
5 : Quantité restante ;
6 : Quantité déjà livrée ;
7 : Bouton permettant d’ajouter la livraison sur la liste ;
8 : Liste des produits prête à être livrée ;
9 : Série de boutons permettant d’enregistrer la livraison ou de retirer les produits de la liste ;
10 : Liste de fournisseurs ayant livrés leurs produits, qui n’ont pas encore retiré leur argent ;
11 : Liste de livraisons effectuées par le fournisseur ;
12 : Champ de saisie de la somme payée ;
13 : Bouton permettant d’ajouter la somme payée ;
14 : Facture confirmant le payement d’un fournisseur ;
15 : Paire de boutons l’un pour la confirmation du payement et l’autre pour l’impression de la
commande.
61
Utilisation
Description
Utilisation
En cliquant sur le bouton créer produit (1) en bas, le caissier voit apparaitre une fiche (4) pour
créer un nouveau produit, il saisit les informations nécessaires et enregistre et directement la
liste des produits (5) se met à jour.
Le Bouton mettre à jour (2) lui permet d’appeler le formulaire pour modifier un produit déjà
enregistré de même que pour l’enregistrement d’un nouveau produit. S’il y a la confirmation de
la modification, la liste (5) est directement mise à jour.
63
Description
Utilisation
Pour un fournisseur qui se présente à l’alimentation pour y effectuer une opération (retrait
d’argent, livraison des produits,…..), le caissier voudra savoir si celui qui va effectuer l’opération
est réellement autorisé pour faire cette opération. Ce dernier va alors vérifier si les
informations se trouvant sur la carte correspondent à ceux du fournisseur sélectionné (2).
Signalons que le caissier n’a pas droit à la modification ou suppression des informations.
64
Pour prendre des décisions relatives à son poste, chaque utilisateur peut voir les statistiques
des ventes hebdomadaires ainsi que la situation du stock.
Description et utilisation
Le caissier a la possibilité de voir sur le diagramme (1) les ventes effectuée toute la semaine
c'est-à-dire si on compte à partir du jour où nous sommes en retranchant 7 jours. Il peut
également voir la situation du stock actuelle (2) : donc les produits et leurs pourcentages.
65
Le gestionnaire est l’administrateur du système, c’est lui qui donne les tâches au sein de
l’alimentation, fait les contrôles du stock, organise l’interface de l’application, il peut donner ou
retirer des droits aux utilisateurs, etc.
Dans cette partie du gestionnaire, nous décrivons comme nous l’avons fait pour d’autres
utilisateurs certaines des fonctionnalités essentielles.
Description et utilisation
Toute personne pouvant interagir avec le système apparait sur la liste (1), le gestionnaire peut
opérer des opérations de modification, de suppression ainsi que l’ajout d’une nouvelle
personne.
Lorsqu’une personne est enregistrée comme client, fournisseur ou bien utilisateur, des
informations communes pour toutes les personnes se trouvant dans la base de données
apparaissent directement dans la partie personne.
66
Pour bien gérer l’entrée et la sortie des produits dans l’alimentation, le système a besoin des
utilisateurs à qui on associe les opérations effectuées, les rôles de chacun sont distribués par le
gestionnaire : il peut changer le rôle d’un utilisateur, modifier ses identifiants, le désactiver ou
l’activer.
Description
Utilisation
Seul le gestionnaire a le droit d’accéder sur cette page. Pour créer un utilisateur, il complète le
formulaire au-dessous de la liste des utilisateurs (1) et valide (2). Pour modifier ou changer le
rôle d’un utilisateur, il appelle le formulaire grâce au bouton (3), de même pour supprimer, il
67
Le rôle du caissier a des limites sur cette page, par contre le gestionnaire peut modifier,
supprimer ou ajouter un fournisseur.
Description
Utilisation
L’utilisation de cette interface est semblable à celles qui précédent pour faciliter l’exploitation
de l’application sauf que pour le bouton (6), la création d’un utilisateur n’implique pas une
nouvelle personne dans la base de données si ce n’est que celui qui existe déjà dans le système.
La page suivante permet la création de nouvelles commandes, leur modification ainsi que leur
suppression. Sur cette page le gestionnaire peut attribuer des produits aux fournisseurs.
Description
1 : Bouton (en menu) permettant d’appeler les formulaires de création d’une nouvelle
commande, un nouveau produit,…. ;
2 : Bouton permettant d’appeler le formulaire d’un nouveau fournisseur ;
3 : Comme à la figure 38, création d’un fournisseur à base d’un fournisseur existant dans la base
de données ;
4 : Liste des commandes déjà prêtes et celles dont la livraison n’a pas encore fini ;
5 : Liste des commandes pour la modification ;
6 : Liste des produits se trouvant sur la commande sélectionnée au menu 5 ;
69
7 : Liste des produits se trouvant sur les commandes mais qui n’ont pas encore trouvé de
fournisseurs ;
8 : Liste des fournisseurs qui se sont prononcés sur un produit sélectionné au menu 7 ;
9 : Bouton permettant d’attribuer le produit (7) au fournisseur (8) ;
10 : Liste des produits qui n’ont pas encore eu de fournisseur.
Utilisation
Une fois la livraison du produit est finie, le gestionnaire est tenu de le publier pour qu’elle soit
visible dans la partie client et la partie du caissier.
Description
1 : Menu contenant la liste des produits qui n’ont pas encore été publiés ;
2 : Le nom et la quantité du produit sélectionné pour être publié ;
3 : Champ de la description qui apparaitra sur la page de réservation ;
4 : Le prix sur lequel le produit a été acheté chez un fournisseur ;
5 : Champ de saisie du prix sur lequel l’alimentation vendra le produit ;
6 : Bouton de validation de la publication ;
Utilisation
Pour publier un produit, le gestionnaire le sélectionne (1) et ne complète que deux champs :
celui de la description (3) et celui du prix de vente (5) puis valide (6).
Cette facture est élaborée par le gestionnaire, en choisissant les produits souhaités par le client,
le système calcule automatiquement le prix total sur un produit ainsi que la somme totale de la
commande. Ci-dessous un aperçu de la facture pro forma prête à être imprimé.
Description
Les données22 stockées sur des outils informatiques facilitent leur exploitation pour enfin
permettre aux décideurs de l’alimentation de prendre des mesures le plus tôt possible.
La figure ci-dessous nous illustre les données sur des diagrammes.
Description
22
Représentation d’une information sous une forme conventionnelle destinée a facilité son traitement.
72
Utilisation
L’utilisation de cette interface ne demande pas d’effort car à la première vue, il y a présentation
des diagrammes qui décrivent les ventes (5) effectuées au cours de la semaine écoulée et la
situation du stock (6).
73
Avant de mettre un point final sur notre travail de recherche, il nous convient de s’autoévaluer
pour voir si les objectifs que nous nous sommes fixés ont été atteints. Rappelons que l’objectif
principal était de faciliter l’entrée et la sortie des produits dans l’alimentation DU Midi. Pour
atteindre cet objectif, nous avons jugé bon de subdiviser le travail en plusieurs chapitres :
1. Dans le premier chapitre, nous avons fait une brève présentation de l’alimentation du midi
sans oublier de bien analyser l’existant, de faire nos critiques sur ce dernier et en fin de
proposer des solutions ;
2. Le second chapitre est une approche théorique du langage de modélisation UML dans lequel
nous décrivons certains des diagrammes de ce langage et a base duquel nous modélisons le
nouveau système d’information de l’alimentation DU MIDI;
3. Le troisième chapitre qui est le dernier, nous avons fait la justification de quelques outils que
nous avons utilisés ainsi que la présentation des interfaces de l’application que nous avons
réalisées.
Grâce à ce procédé méthodique, nous avons pu mener à bien notre projet. Nous pouvons
maintenant affirmer que les problèmes de l’Alimentation DU MIDI identifiés dans la partie 0.5
et 1.4.ont été résolue, entre autre : Le temps suffisamment long pris par les services de
l’alimentation pour répondre aux demandes des clients, dans l’élaboration et diffusion des
commandes et factures prendra le temps suffisamment court grâce à l’accès rapide aux
données ; etc.
En conclusion, nous pouvons dire que nous avons atteint les objectifs que nous nous sommes
fixés. Néanmoins, les développeurs le savent, un logiciel sans bug23 n’existe pas. D’autres diront
« Rien n’est parfait dans ce monde ». Malgré les efforts fournis pour les éviter, nous ne
pouvons malheureusement pas garantir que ceux-ci n’apparaissent jamais. Avec la
collaboration des utilisateurs nous espérons pouvoir les identifier et les corriger dans les
versions futures.
23
Erreurs de programmation pouvant occasionner le disfonctionnement du logiciel.
74
Références
Ouvrages généraux
[1] Xavier Blanc et Isabelle Mounier. UML 2 pour les développeurs, 2008 ;
[3] Mathieu Neubra, Réussir son site web avec XHTML et CSS, 2008 ;
[5] Mathieu Neubra, Administrer vos bases de données avec MYSQL, 2012 ;
[6] Mathieu Nebra., Concevez votre site avec PHP et MySQL, 2012 ;
[10] Yannick Piault (sp0z), Débutez sur Adobe Photoshop, Janvier 2013;
Mémoires et Publications
[11] Conception et réalisation d’une application web de gestion des ventes des produits
pharmaceutiques « cas de new sidiphar », Olivier DUSABIMANA et Joëlle-Fidès GAKUBA, ULT,
Octobre 2013 ;
[12] Conception et réalisation d’une application web de suivi automatisé des patients « Cas de
la maison médicale de Bujumbura », Fleury BUTOYI et Christian NDIKURIYO, ULT, Décembre
2013;
[13] Conception et Réalisation d’une application web de gestion des horaires et résultats
académiques d’une université : « Cas de l’ULT », Théodore KAZE et Arnaud NININAHAZWE, ULT,
Janvier 2013;
Dictionnaires
[14] LE ROBERT; Édition; Le ROBERT Pour Tous ; Nouvelle édition (15 août 1998) ;
Webographie