Union-Discipline-Travail
2015 - 2016
Thème:
Je témoigne ma profonde gratitude et mes remerciements les plus sincères à mon Directeur
de mémoire Dr. MORY qui à bien voulu nous aider pour la rédaction de ce mémoire.
Ces éminentes personnalités citées et celles non citées ont de par leur disponibilité permis
l'élaboration de ce mémoire.
Mes remerciements vont à l'endroit des dirigeants de la société ANACI et de son personnel
pour l'accueil chaleureux, le soutien et la disponibilité dont ils ont fait preuve.
L'UFR SFA regroupe en son sein plusieurs filières dont la filière MIAGE qui est une filière
professionnelle dont nous sommes issus.
Elle nous offre une formation professionnelle sanctionnée par un diplôme de Master qui fait
l'objet de notre mémoire.
ACRONYMES ET ABREVIATIONS
I
JSP: Java Server Pages
JVM: Java Virtual Machine
H
HTML: Hypertexte
HTTP : HyperTextTransferProtocol
M
MCD : Modèle Conceptuel de Données
MLD : Modèle Logique de Données
MCTA : Modèle Conceptuel de Traitement Analytique
T
TI: Technologie de l'information
u
UML: Uni:fied Modeling Language
Développée sous Eclipse avec le langage Java?, nous avons pu aboutir à notre
objectif.
Faudra noter qu'aux cours de notre étude, nous avons pu produire une
application modulaire répondant aux besoins de l'entreprise.
DEDICACES .
REMERCIEMENTS .
AV ANT PROPOS .
ACRONYMES ET ABREVIATIONS .
LISTE DES FIGURES .
RESUME .
ABSTRACT .
INTRODUCTION GENERALE }
Chapitre I. PRESENTATION DU SYSTEME D'INFORMATION 2
1.1 INTRODUCTION 3
1.2 PRESENTATION DE ANACI 3
1.2.1 Historique 3
1.2.2 Activités 3
1.2.3 Organisation de ANACI 3
1.2.4 La Direction Générale 3
1.2.5 La Direction Administrative et Financière 4
1.2.6 La Direction des Ressources Humaines .4
1.2. 7 La Direction Commerciale 4
1.2.8 Département Management de Qualité 5
1.2.8.1 L'attente de la Direction Générale 5
1.2.8.2 L'attente de la clientèle 5
1.2.9 La Direction des Achats 6
1.3 FONCTIONNALITES 6
1.3 .1 Objectifs 6
1.3.2 Fonctionnalités 6
1.4 CONCLUSION 7
Chapitre 2 : APPLICATION WEB UN COMPOSANT DES SYSTEMES D'INFORMATION .8
2.1 INTRODUCTION 9
2.2 LE CADRE CONCEPTUEL DES APPLICATIONS WEB 9
2.2.1 Définition historique 9
2.2.1. l Définition 9
2.2.1.2 Historique des applications web 9
2.2.2 Rôles d'une application web 10
2.3 L'IMPORTANCE D'UNE APPLICATION WEB DANS LE SYSTEME
D'INFORMATION DEL'ENTREPRISE 10
2.4 LANGAGES DE PROGRAMMATION ET FONCTIONNEMENT D'UNE
APPLICATION 11
2.4.1 Langage de programmation 11
2.4.2 Fonctionnement d'une application 11
2.5 CONCLUSION 12
Chapitre 3 : CONCEPTION GENERALE 13
3.1 INTRODUCTION 14
3.2 SOLUTION CONCEPTUELLE 14
3.2.1 Etude comparée MERISE et UML 14
3.2.2 Choix de la méthode 16
3.3 DESCRIPTION DE LA METHODE MERISE 16
3.3. l Etude de la méthode MERISE 16
3.3.1.1 Le niveau conceptuel 17
3.3.1.2 Le niveau logique 17
3.3.1.3 Le niveau physique 17
3 .3 .2 Modèle de données 17
3.3.2.1 Le Modèle Conceptuel de données 17
3.3.2.2 Dictionnaire de données 18
3.3.2.3 Liste des règles de gestion 19
3.3.2.4 Schéma du MCD 20
3.3.2.5 Modèle Logique de Données Relationnelles 21
3.3.2.6 Modèle Conceptuelle de Traitement Analytique(MCTA) 21
a. Processus d'achat 22
b. Processus de vente 23
c. Processus comptable 23
3.4 CONCLUSION 24
Chapitre4: CONCEPTION DETAILLEE 25
4.1 INTRODUCTION 26
4.2 DESCRIPTION DES MAQUETTES 26
4.2.1 Liste des maquettes 26
4.2.2 Présentation des maquettes 26
a- Maquette de connexion 26
b- Maquette tableau de bord Ventes/Achats 27
4.3 DESCRIPTIONS DES ECRANS 28
4.3.1 Liste des écrans 28
4.3.2 Présentation des écrans 28
4.4 CONCLUSION 29
Chapitres : ETUDE TECHNIQUE .30
5.1 INTRODUCTION .31
5.2 ENVIRONNEMENT LOGICIEL 31
5.2.1 Présentation des outils et langage de développement 31
5.2.1.1 Eclipse 31
5.2.1.5 Framework 34
5.2.1.6 ORM 36
Toute entreprise exerce dans un domaine d'activité particulier. Dans un tel contexte, il
convient, pour une organisation, de se doter d'outils spécifiques et adaptés pouvant contribuer
à des prises de décisions rapides en vue d'atteindre les objectifs qui sont les siens.
Dans la présente étude, l'intérêt est porté vers ANACI, une société à responsabilité limitée
qui offre des services dans le domaine de la commercialisation de l'anacarde (noix de cajou).
Dans le cadre de ses activités, ANACI est amenée à gérer plusieurs types de clients
liés à ses différents services. Vu le volume de ses taches, il s'avère nécessaire d'informatiser
l'entreprise afin de pouvoir gérer les différents flux liés à ses activités.
La plupart des activités de ANACI sont gérées de manière traditionnelle, car aucun
outil de gestion actuel sur le marché n'est utilisé pour répondre aux besoins de l'entreprise.
L'approche méthodologique,
L'étude conceptuelle,
La réalisation.
Pagel
Chapitre I. PRESENTATION DU
SYSTEME D'INFORMATION
Page2
1.1 INTRODUCTION
Pour répondre aux exigences de la concurrence sur le marché, les entreprises se doivent
d'être plus compétitives et productives et cela demande à être plus proche de la clientèle.
Son système d'information doit être alors bien défini et les objectifs doivent répondre à la
structuration de ce (SI).
1.2.1 Historique
ANACI est spécialisée dans l'achat et la commercialisation de la noix de cajou (Anacarde).
A l'origine, elle était une coopérative qui au fil de son évolution s'est érigé en société à
responsabilité limité (SARL) en 2012.
1.2.2 Activités
ANACI a pour principale activité :
Page3
Elle se caractérise par la prise en charge d'une double responsabilité à la fois stratégique et
opérationnelle :
En amont, les cadres de direction assurent la définition de la stratégie pour l'entreprise. Ils
doivent ainsi :
Plus en aval, ils supervisent et gèrent les moyens ( organisationnels, techniques, humains,
financiers, logistiques, etc.) pour réaliser les objectifs assignés.
Elle doit définir la stratégie (avec le gérant) et mettre en œuvre les politiques de l'entreprise
en matière commerciale, promouvoir les produits sur les marchés, négocier avec les clients en
fonction de leurs exigences.
Les opérations de gestion commerciale sont contrôlées afin que l'ensemble des produits livrés
fasse l'objet d'une facturation régulière et dans les délais, que les montants facturés soient
correctement et intégralement saisis en comptabilité et que la situation des clients soit
systématiquement suivie.
Page4
Elle comprend le département de vente des produits.
personnel.
Le client attend une réactivité importante du service qualité et du responsable qualité par
l'identification des actions préventives sinon correctives. En effet, les indicateurs mis en place
par le service qualité doivent permettre de détecter toutes les anomalies, réelles ou
potentielles. Il doit informer le client de toute situation non conforme par la mise en place
d'un système de transmission d'information validée, c'est-à-dire par l'utilisation du rapport de
contrôle, de fiches de non-conformité, de demandes de dérogation. Cet ensemble de
documents présente l'intérêt incontestable d'être renseigné d'une façon standardisée par des
personnes autorisées. On peut citer comme contenu de sa mission les différents points
suivants:
Pages
• il rédige et tient à jour un manuel qualité,
• il recherche la motivation du personnel placé sur sa responsabilité,
• il rend compte à la Direction Générale.
La mission du responsable des achats est de définir et mettre en œuvre la politique d'achat
de l'entreprise. Il est en liaison avec la Direction Générale, garantit la réalisation des objectifs
qualitatifs, quantitatifs, organisationnels et financiers en matière d'achat. Le stockage des
produits est effectué par le service Manutention, Stockage et livraison des produits.
1.3 FONCTIONNALITES
1.3.1 Obiectifs
Les objectifs fixés par ANACI son les suivants
Page6
1.4 CONCLUSION
Dans ce premier chapitre nous avons présenté l'environnement de ANACI et donner les
différentes fonctions qu'attend l'entreprise.
Au chapitre suivant, nous parlerons de l'application Web et comment elle est une
composante des systèmes d'informations.
Page7
Chapitre 2 : APPLICATION WEB UN
COMPOSANT DES SYSTEMES
D'INFORMATION
Pages
2.1 INTRODUCTION
L'application web est aujourd'hui partie composante des Système d'information.
L'on ne peut donc parler de SI sans comprendre les fonctionnements des applications.
2.2.1.1 Définition
Une application web aussi appelée web app en anglais est une application manipulable
grâce à un navigateur web. De la même manière que les sites web, une application web est
généralement placée sur un serveur et se manipule en actionnant des widgets à l'aide d'un
navigateur web. [1]
Il conviendra de distinguer une application web d'un site web. En effet, un site web est un
ensemble de pages web hyper liées entre elle et accessible à une adresse web et composé d'un
ensemble de documents structurés nommés page web.
Ainsi à la différence des sites web, une application web est tout site web qui permet à ses
utilisateurs d'accomplir des taches spécifiques (gérer des stocks, créé du contenu, etc.).
En créant le logiciel World Wide Web, Tim Berners-Lee a crée à la fois le premier
navigateur web et le premier éditeur web car il voulait faire du web un média collaboratif,
dans lequel tout les acteurs consultent et créent l'information. Cependant le web s'est
immédiatement orienté en un média de diffusion d'information global plutôt que de
collaboration. C'est ainsi que dans la second moitié des années 90, le web devient populaire
et depuis quelques années toutes les grandes entreprises, organisations, écoles créent des
applications web. [2]
Page9
2.2.2 Rôles d'une application web
L'évolution actuelle du monde a rendu l'utilisation quotidienne de l'internet aussi
indispensable que le téléphone. Lorsqu'un internaute se connecte à une application ou site,
c'est dans l'objectif d'avoir des réponses claires à ses questions, communiqué, s'informer.
Grâce à Internet, les nouveaux logiciels d'entreprise sont désormais conçus pour être
accessibles de partout dans le monde, à n'importe quel moment et avec un minimum
d'équipement. L'application est placée sur un serveur et les utilisateurs y accèdent par un
simple navigateur : il suffit d'une connexion à Internet.
• il n'est plus nécessaire d'installer un logiciel sur chaque poste, ce qui diminue en
grande partie les frais de maintenance et élimine certaines incompatibilités ;
• une application bien conçue peut être utilisée par différents types de terminaux
(Ordinateurs, Laptops, Tablettes, Smartphones);
• ces applications sont capables de gérer des données multimédia (textes, photos, vidéos
les utilisateurs sont à l'aise car habitués à utiliser un navigateur dans le cadre privé;
Page10
• pour mettre à jour l'application, il suffit de modifier l'application sur le serveur et tous
les postes accèdent instantanément à la nouvelle version.
Ainsi donc pour créer une application il faut donc le programmer à travers un langage de
programmation.
De nos jours il existe plusieurs langages de programmation et les utilisations diffèrent selon
la fonctionnalité attendue par l'application.
Pour être lu et compris par son utilisateur, pour la plupart du temps profanes, l'application
à besoin d'être décrypté.
Un navigateur est un logiciel conçu pour consulter le World Wide Web. Il est probablement
devenu le programme le plus utilisé sur un ordinateur et pour cause c'est grâce au navigateur
que de nombreux internautes ont droit à l'application.
~ Traitement de pages
L'internaute par l'intermédiaire du navigateur demande à avoir une page web au serveur.
Lorsque le serveur web reçoit la requête, il la lit, localise la page, fais le traitement de la page
Pagell
demandée et la transmet au navigateur qui l'a sollicité afin que l'internaute puisse avoir
accès.
L'utilisation d'une base de données pour stocker un contenu vous permet de séparer l'aspect
conceptuel d'un site web du contenu à afficher aux utilisateurs du site. Plutôt que de créer des
fichiers HTML distincts pour chacune des pages, il vous suffit de créer une page ou un
modèle pour les différents types d'informations que vous souhaitez présenter. Vous pouvez
ensuite télécharger du contenue dans une base de données pour qu'ensuite l'application
puisse extraire ce contenu en réponse à une demande d'un utilisateur.
2.5 CONCLUSION
Avec ces notions de cette importance, nous pourrons aisément aborder par la suite la
conception générale de notre application future.
Page12
Chapitre 3 : CONCEPTION
GENERALE
Page13
3.1 INTRODUCTION
Concevoir une application aujourd'hui n'est pas aisé. Faudra trouver les outils les mieux
adaptés à notre ca. Pour ce fait une approche conceptuelle est nécessaire entre différents
outils pour pouvoir mieux aborder l'objectif visé.
Dans ce chapitre, nous ferons un choix entre deux approches qui nous permettra de détailler
notre conception.
L'entreprise est un système complexe dans lequel transitent de très nombreux flux
d'informations. Sans un dispositif de maitrise de ces flux, l'entreprise peut très vite être
dépassée et ne plus fonctionner avec une qualité de service satisfaisante. L'enjeu de toute
entreprise qu'elle soit de négoce, industrielle ou de services consiste à mettre en place un
système destiné à collecter, mémoriser, traiter et distribuer l'information (avec un temps de
réponse suffisamment bref).
Deux méthodes (le processus unifié avec UML, MERISE) ont été enseignées pendant notre
formation. Il s'agit de choisir l'une d'entre elles pour la réalisation du projet. Pour cela, les
atouts de chaque méthode sont représentés dans la suite.
Page14
commun, puissant et rigoureux pour qui la maîtrise. La méthode MERISE compose une
démarche articulée simultanément selon trois (03) axes pour hiérarchiser les préoccupations
et les questions auxquelles il faut répondre lors de la conduite d'un projet. Elle traite de toutes
les étapes de développement depuis la définition des processus à la mise en production, en
passant par la modélisation, la conception, la réalisation, les tests etc. Elle est suffisamment
générique pour s'adapter à n'importe quelle technologie y compris les plus récentes
(conception orientée objet par exemple).
Merise en tant que méthode utilise le modèle entité-relation qui s'appuie sur le modèle
relationnel nécessaire à la phase logique ou organisationnelle des données. Les données
exploitables lors de la réalisation à partir des logiciels se basant sur les Systèmes de Gestion
de Base de Données Relationnelle (SGBDR).
Dans UML, l'architecture logicielle a une place prépondérante et est intégrée très en amont
dans l'élaboration du système d'information.
Aussi, l'avancement du projet est mesuré par le nombre de cas d'utilisation, de classes
réellement implantée et non par la documentation produite. Ces itérations servent en outre à
répartir l'itération et les tests tout au long du processus d'élaboration du système
d'information.
UML n'est pas à l'origine des concepts objets mais en constitue une étape majeure, car il
unifie les différentes approches et en donne une définition plus formelle.
En somme, la méthode MERISE et la méthode UML ont des similitudes pour la phase de
modélisation de base de données. Mais la différence principale est que MERISE est une
méthode d'analyse, et UML un langage de modélisation de données.
Pagels
3.2.2 Choix de la méthode
Le Processus Unifié et MERISE sont les deux méthodes étudiées lors de la formation
acquise durant notre cursus universitaire.
Notre étude est portée sur la conception et la réalisation d'une application de gestion. Le
principal travail consiste d'abord à concevoir une base de données pouvant gérer l'ensemble
d'information du système.
Pour cela, la conception de cette application sera faite avec la méthode MERISE parce
qu'elle permet aisément la conception et la mise en place de base de données. Merise peut
supporter un mode de traitement et une architecture client-serveur. Elle peut aboutir à une
programmation structurée, mais surtout à la conception d'une base de données orienté objet
(grâce aux extensions actuelle de MERISE). La méthode MERISE propose une méthode de
conception et développement de systèmes d'informations complètes, détaillées, en grande
partie formalisée qui garantit une informatisation réussie.
Pour une future évolution du modèle, une bonne conception avec la méthode
MERISE peut faire gagner énormément de temps.
Merise a été très utilisée dans les années 1970 et 1980 pour l'informatisation massive des
organisations. Cette méthode reste adaptée pour la gestion des projets internes aux
organisations, se limitant à un domaine précis. [3]
Notre choix étant centré sur cette méthode, une description détaillée est alors nécessaire.
Page16
La séparation des données et des traitements assure une longévité au modèle.
La méthode MERISE prévoit une conception par niveaux, et définit pour cela 3 mveaux
essentiels :
3 .3 .2 Modèle de données
Un modèle de données décrit de façon abstraite comment sont représentées les données
dans un système d'information ou une base de données. Les étapes pour l'élaboration du
modèle de données de cette application se présentent comme suit :
Page17
id frs ~ Texte <O>
om_frs Tex-~ (1
pru1oms_frs Tex!~ (30}
si!vs!io"l_geo Telée (60)
edres~_h Te;icie !30}
ld!.."ltilis,t_ 1 <pi>
1,n L
'ASSE. JE
d ande ~ Texte 115}
libelle_ande Texte (30)
qte_O'T1de
1.1
(ds'.e_ande
r ldenlifiant_ t <pi>
Page18
9 Design_ bcmd Designation AN 30 E
d'un bon de
commande
10 design_cmd Designation de AN 30 E
la commande
11 ld_banque Identifiant de la AN 15 E
banque
12 id bcmd identifiant du AN 15 E
bonde
commande
13 Id client Identifiant du AN 15 E
client
14 Id frs Identifiant du AN 15 E
fournisseur
15 Id_parcelle Identifiant de la AN 15 E
parcelle
16 Id_prduit Identifiant du AN 15 E
produit
17 Id stock Identifiant du AN 15 E
stock
18 Lib_banque Libellé de la AN 50 E
banque
19 Lib facture Libellé de la AN 100 E
facture
20 Mht facture montant hors N 14 E (prix_unitaire*
taxe de la Tonnage)
facture
21 Mttc facture Montant toute N 14 E
taxe confondue
de la facture
22 Nom frs Nom du A 15 E
fournisseur
23 Nv stock Nouveau stock N 25 E
24 Pu facture Prix unitaire de N 15 E
la facture
25 Sit_geo _parcelle Situation AN 30 E
géographique de
la parcelle
26 Statut client Statut social du AN 25 E
client
Une liste non exhaustive des règles de gestion aussi bien sur les données que les traitements
et l'organisation du système est donnée ci-après:
Page19
Rg 1 : un utilisateur ne peut qu'avoir un et un seul compte.
Rg2 : un utilisateur n'a accès qu'à des pages spécifiques selon son type d'utilisateur.
Rg3 : un client peut passer commande à tout moment.
Rg4: la modification d'une commande implique une nouvelle commande.
Rg4 : l'enregistrement d'une parcelle modifie le profil planteur.
Rg5 : tout paiement donne lieu à un enregistrement nouveau.
Rg6 : un fournisseur peut fournir à tout moment sur validation de produit.
Rg7 : toute sortie de produits donne lieu à 2 enregistrements.
Rg8 : une facture est émise par une et une seul personne.
Rg9 : une facture est adressée à un et un seul client.
RglO: un produit ne provient que d'une parcelle enregistré.
Rgl 1 : seul un fournisseur est prit en compte en cas de partenariat associative.
Rg12: les commandes adressées aux fournisseurs sont comptable que 72h après.
Rg 13 : le client peut annuler une commande avant facturation.
Rg 14 : le client peut retourner une commande pour non compatibilité
Rg 15 : une commande retournée modifie le stock existant.
Rg 16 : tout paiement client se fera par voie bancaire.
-
<cffl:.irt_· ••••
,..,..
iUCCi.
~ë.-~
~-'
Sll:à
fr-tt1'
S't;tf'
<Ill>
V
L
°'
,~ · -
-
.flCl
CHlqfJICl tt>:.(~)
q•» 1 ft'C*
----
,_prcdl
l!rto,
-------.
C>ndn\V-- -
r_gto_,Clll'a ft ~ ~ ~
11,., ~.:=::-_':"_1 ~
,cc,.
[U:11,TI
f,:;:" ~
C>ndr! ..,._ 12!) !ln\tr('t
r_!ot'ct Mcrn.:t \~«) Qtf_\fctl c•
_'>cO.n
t_~
c...
",_"Kel.n llcrni•~>
0
~>
--·-
'.ca:_c:i"tt.t
~
~\2::!
pnrar-d!ffl îlJlf tm)
IC'KH_dftrt C3natrf\111Uô.t ~&)
l ~-~ ~-~)
L or
_-..-- ~ l!a'oc,,nrco
Page20
3.3.2.5 Modèle Logique de Données Relationnelles
Page21
Analyse du besoin Employé
Toujours
Besoin accepté
a. Processus d'achat
ENREGISTREMENT
PRISE EN COMPTE
TOUJOURS
Achat approuvé
et validé
Page22
re4: MCTA GESTION DES ACHATS MISE EN STOCK
b. Processus de vente
Commande
CONFIRMATION COMMANDE
REGLE DE SOLVABILITE
REGLE DE RUPTURE
SOLVABLE NON
SOLVABLE
toujours Stock
potentielle<
stock min
Refus
Rupture
Confirmé
c. Processus comptable
Page23
Factures
Bons
Vérification
OK I lOK
Duplication 1 \. 1 Vérification
OK I lOK
3.4 CONCLUSION
Ce chapitre nous a permis de faire une étude entre deux approches et de choisir celle qui
nous nous aidera à mieux atteindre notre objectif.
Merise qui fut adopté dans cette étude nous à permit de dégager les différents modèles et
processus qui nous aiderons pour la suite.
Page24
Chapitre4 : CONCEPTION
DETAILLEE
Page25
4.1 INTRODUCTION
Avant toute représentation, il faudra avoir une vue de ceux à quoi on s'entend d'où l'intérêt
des maquettes et captures.
Maquette de connexion ;
Tableau de bord des Ventes/Achats;
a- Maquette de connexion
Page26
GESANACI
•
Connectez Vous Ici
Utilisateur
Mot de passe
• 0 Se souvenir de moi
Page27
Ce tableau de bord nous donnera une vue sur les différents Impayés et les encaissements à
déposer. Il nous permettra d'enregistrer aussi les différentes ventes et différents achats
occasionnés.
Nous présenterons dans le cadre de ce projet, six(6) écrans qui seront détaillés dans le
chapitre 6 à savoir :
L'écran de connexion ;
L'écran d'enregistrement de nouvel utilisateur ;
Tableau de bord ;
Tableau de bord des Achats/V entes ;
Tableau de bord des stocks;
Tableau de bord de la comptabilité.
Page28
4.4 CONCLUSION
Au terme de ce chapitre, nous avons eu une large vue sur comment sera notre application.
Les différentes maquettes obtenues nous permettrons de tendre vers une représentation
semblable même si la réalité peut différer d'une fenêtre à une autre.
Page29
Chapitre5 : ETUDE TECHNIQUE
Page30
5.1 INTRODUCTION
Les deux parties précédentes, ont décrit les concepts techniques permettantd'implémenter
l'application de gestion pour ANACI. Cette étape consiste à la réalisation des_différents
composants de l'application.
L'application sera une application web et sera développée avec Eclipse et utilisera JAVA
comme langage.
La base de données utilisée sera MySQL et sera implantée avec le server web wampserver.
Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant
les activités de programmation (notamment environnement de développement intégré et
Frameworks). Son Environnement de Développement Intégré (EDI ou IDE en anglais pour
Integrated Development Environment) vise notamment à supporter tout langage de
programmation à l'instar de Microsoft Visual Studio. Figurant parmi les grandes réussites de
l'Open source, Eclipse est devenu un standard du marché des logiciels de développement.
Notre application sera donc conçue sur l'IDE Eclipse.
Page31
Jo.;mal.P,v ,i ID dashboard.htm1 n
l l{exttnds '110tn.htal' /)
l l{set title: 'Home' /}
t,,~Pytetl l· cdtv,.
c,_.,, __
""""'"" 4
S·
c.1--- lt.lrt~•. , --~
ci:tlv ctos.s-",,_ ,..._.,..,, <1-· . .,,..~, ->
6""'- <div ctoss••"'ml-s.-4 œl....,-t">
.~gestcoop
•11!>- 7i'
•~
<dl" ctca.u.- •st.Dt.kr.c aidprt .._
<d1v ctou-"'•i.ri,d-a.tr,t">
,.__......,.">
•.• c:ontrollers
9~ <di.. dou•'"W"i~l c,an">
•a.- lt c:dtv ctoss- •.•tatbcM-.sporlrhM">S eee 4SI FCFAc/d\V>
' •• è,virws 11 c/div>
""""""
•12-
lZ
13
<d'iv ctos~"Utlif'">(ots,~</dtY»
cbr-/>
14 ô r"/ >
1S ..cdiv closs- •.wZ.u e'"> </d\V>
lb . co ctos.s-*_,.. •. href•"jowrscrfpt:wfd(fJ;..,. P•tat\ <i. cton-"puU-rtjllrt' icon--,I•-rlrt'">clb<./0>
11 ,c/diY>
,.
li
19
c/di'I> <!-- /.MIQ.l'.ili\
,c/d{Y> c!-- /.SJtl-fBl-3 -->
->
pusher-0.1 "
Z2 <div class-·.s:~ .t.,.t --~-:O.
.cd\v class:- ·coi__.., c:o?_..,-e-:,..
to.
·~·K\lrll
•• e,.test ,.
Z3 uli.v closs-"~-nllttr?t-:0.
cdtv clou• ·v-u.-,J ,,.....-,.
•11!>-
gestcoop.iml
,."
Z7
<div class- ".st.tbo.a:-sparkline--:..1ae NI FCFA<ldi.v.>
</dtY>
cd{v closs-"t1tlif'">(oinpt.e. $C)Ul'Gflt. oc;tjv\tt Coop<ldiY>
gntcoopJpr ZI <br/>
gestcoopJws 29 cbrl>
•G:èi!~uges li <div clcss- •wrl"11t'"><ldi.Y>
• 12-Rffl'M)teS)'StemslempRI •• 31 ,co ctas.s-"_.. •. href•'")llt'DSCript:•td(a)~">Dtt_a\l <\ clcss--,..1r-n.,.t lai,,--.1~n,t,.t~/t.><l0>
c/d{V>
"
H
)4
.,c/dlV> .c!-~ / .HQ.ll.a.lQ.t -->
</di.Y> cJ•- .r.g;,1.-fKl-3 -->
)S
36 cdi.v c\GSS•"atl---6 Rl--'-f llri,..,_._u"'>
<div ctass-·st..t.Jircw WJ9't k.. .,..._..,.
"
3t
39
cd•v clou-·in~OWltft'lt",.
<Cdiv class-·..,...-1 yeJI•~
•• <div clou• "statba,t-SJl,llnrliM~ll He FCFA<ldiV>
.,.,
41 ,c/di.V>
..••
<div ctcs.s-"dtle~l 'exploltcantc/d'I.Y>
<!>ri>
••, 41,-/;;,,
<div clou- "vvl_.">c/diY»
<D closs- •._,..• href• "JIW0!6C"t,,;..-Ul l('S.);-:0..Qtto~U d ctoss- -,..11-rirt i~l.-..r1pf:~/bcl'o>
, ,c/d{V>
WampServer est une plate-forme de développement Web sous Windows pour des
applications Web dynamiques à l'aide du serveur Apache2, du langage de scripts PHP et
d'une base de données MySQL. Il possède également.
Dans le cadre de notre étude, nous l'utiliserons pour la gestion de la base de données.
• Etant un SGBDR, il permet de définir des relations entre les tables de façon à
garantir fortement l'intégrité des données qui y sont stockées;
Page32
• Comme serveur de base de données, il fournit les services de bases de données
requis par les très grands systèmes ;
La version 5.0 de MySQL est le Système de Gestion de Base de Données que nous
allons utiliser pour la réalisation de l'application.
Page33
Tous ces avantages non négligeables nous ont emmenés à choisir JAVA comme langage de
programmation.
5.2.1.5 Framework
Page34
place le Framework, et en plus ses fonctionnalités propres, créées par le programmeur en
fonction des besoins spécifiques à son programme. Le mécanisme d'héritage permet
également de transformer des fonctionnalités existant dans les classes du Framework.
Play Framework est un Framework web open source qui permet d'écrire rapidement des
applications web en Java ou en Scala. Créé par Guillaume Bort en 2007, co-fondateur et
associé de Zengularity SA, Play Framework s'inspire d'autres Framework comme Ruby on
Rails ou Django, en visant à apporter un outil simple et productif sur la machine virtuelle
Java. Play Framework a pour particularité de ne pas être basé sur le moteur Java de Servlet.
C'est un choix délibéré de l'auteur visant à offrir un système plus simple et plus puissant pour
développer une application Web en Java.
Le code source de la première version est apparu sur Launchpad en mai 2008. En octobre
2009 Play 1.0 est officiellement publié. Groovy est utilisé comme langage de script pour le
moteur de Template et Hibemate pour le mapping objet relationnel. [7]
Play fournit une API de programmation HTTP assez complète et pratique à utiliser. Elle
supporte nativement par exemple la sérialisation au format JSON et permet de façon assez
naturelle de manipuler les cookies et autres statuts ou en-têtes de réponse. Cette API n'est pas
une abstraction de HTTP, au contraire elle expose les différents composants du protocole.
Page35
Parfois c'est un peu frustrant parce qu'on a un peu plus de choses à gérer soi-même, mais
cela permet de pouvoir utiliser toute la puissance du protocole HTTP et c'est appréciable de
ne pas être limité comme avec certains outils sur ce plan là. Cela nécessite de bien maîtriser
les subtilités de HTTP mais de toute façon il est difficilement envisageable de faire de la
programmation web correctement (que ce soit un site web ou des web services) sans bien
connaître le protocole sur lequel le web repose.
Redéploiement à chaud :
Play ne nécessite pas d'extension à son IDE préféré pour supporter le rechargement à
chaud. Il suffit de lancer Play via sa console en mode développement et il prendra
automatiquement en compte à chaud les changements effectués sur le code, mais aussi les
Template ou le routage. Cela donne un peu l'impression de travailler avec un langage de
script, d'autant plus qu'il affiche les erreurs de compilation lorsqu'il y en a directement dans
la page web. C'est clairement appréciable et ça contribue largement à la productivité qu'offre
Play, c'est d'ailleurs un point qu'ils mettent particulièrement en avant.
Déploiement :
5.2.1.6 ORM
Le mapping objet-relationnel consiste à associer une ou plusieurs classes avec une table, et
chaque attribut de la classe avec un champ de la table.
Page36
En Java, il est alors possible d'utiliser l'introspection pour récupérer les informations sur
les attributs lors de l'exécution (type, valeur, etc.) et pouvoir construire dynamiquement les
requête SQL de type CRUD (Create, Read, Update, Delete). Des mécanismes similaires
existent pour les autres langages disposant de Framework de mapping objet-relationnel. Le
mapping objet-relationnel est considéré comme une méthode de programmation pour la
traduction des données entre les systèmes de bases de données relationnelles et des langages
de programmation orientés objet. Le résultat finit par être une base de données "objet",
"virtuelle", qui peut être utilisée au sein du langage de programmation. Il existe de nombreux
outils d'ORM payants, gratuits ou même en licence libre.
L'ORM utilisé par le Framework que nous utiliserons (c'est à dire Play Framework) est
Hibernate.
Hibernate est un Framework open source gérant la persistance des objets en base de
données relationnelle. Il est adaptable en termes d'architecture, il peut donc être utilisé aussi
bien dans un développement client lourd, que dans un environnement web léger de type
Apache Tomcat ou dans un environnement Java EE complet: WebSphere, JBoss Application
Server et Oracle WebLogic Server. Hibemate apporte une solution aux problèmes
d'adaptation entre le paradigme et les SGBD en remplaçant les accès à la base de données par
des appels à des méthodes objet de haut niveau. [9]
La figure ci-dessous énumère la liste des tables obtenues par l'ORM Hibemate:
Page37
-.
Navigateur d"objets.
38
S.3 GESTION DE LA SECURITE
Les menaces qui pèsent sur toute entreprise sont de natures multiples et en perpétuelle
évolution.
Le domaine couvert par la sécurité informatique est vaste. Selon Jean-Marc ROYER, la
sécurité informatique est : « La protection contre tous les dommages subis ou causés par
l'outil informatique et découlant de l'acte volontaire et malveillant d'un individu».
Protéger le système informatique d'une entreprise consiste à mettre en place des parades
contre chacune des menaces potentielles. Comme aucune protection n'est infaillible, il faut
s'attacher à multiplier les barrages successifs. [10]
L'application mise en place pouvant être exposée à des attaques, il convient d'envisager des
normes afin d'assurer la sécurité du système.
Ce niveau d'accès est octroyé aux différents responsables de département. Ce niveau permet
de spécifier l'état d'exécution des tâches attribuées aux différents acteurs au sein d'un
département. Il permet également d'avoir une vue sur l'état d'avancement des tâches par
rapport aux différents délais définis.
Page39
~ Niveau 1 : Utilisateur standard
Les fonctionnalités allouées aux utilisateurs standards sont très restreintes. Un utilisateur
standard a la possibilité de visualiser la liste des tâches qui lui sont attribuées. Il reçoit
également des signaux visuels lui rappelant son statut par rapport aux délais d'exécution des
tâches attribuées.
Le contrôle d'accès par l'utilisation de login et de mot de passe crypté permet aux
personnes autorisées d'avoir accès à des ressources d'un système. L'authentification par login
et mot de passe ne doit cependant pas être considéré comme infaillible. Il faut en outre
adopter les normes suivantes :
Ce point décrit l'architecture utilisée par l'application ainsi que les mesures mises en place
pour la sécurité du système .
Pour cela notre chois s'est porté sur le pattern Model View Controller(MVC) ou encore
Modèle Vue Contrôleur en français, qui à été l'objet de notre thème d'exposé en licence3.
5.5 CONCLUSION
Au terme de ce chapitre, nous pouvons conclure que les différents outils de développement
sur cités sont mieux adaptés à notre cas. Le langage Java utilisé, qui par son originalité
d'adaptation à tout système nous permettra de pouvoir gérer les cas d'incompatibilité.
La sécurité étant définie ici par les différents niveaux d'accès, l'application sera alors
Page41
Chapitre 6: PRESENTATION DE
L'APPLICATION
Page42
Ma<que·pa<JOS Outils Fanêtnl Alde
"9' IJ 12" [+:} Jeu. 24 nov. 19:22 Q. ,:E
-
a
a
type
conu<t
conu<t
•.•..•..•....
Nom
Tourf
Adjourouffou
-
Mokoko
YIMl<t
Nu-
4S893S 70
S66S659S
Actions
q,:a
q,a
q,;
a•
COOpet".o,.,eAmon
22563563
-- 2123S635 q,a
org1nisatlon Bk>ConseU
76869676 q,.
chk
Roland 09786532 q,a
Sery
a
conact
cor<aa
.,.,., n'gotta S,,4647474 q,a
15 3 10
DÉTAIL OlTM.
•••
A2016000124 10111/201609:04 Il Facture 230 500
•••
14111/201609:04 23500
11/11/201608:11
'"""" 200500 A2016000120 11/101201601:11 C>N sbroulllon 2 000500
'""""
,ocw •.• A2016000012 10/10i201615:34 15000
14/1Ql20161S:J,C. 10000
'""""
f2016000004 CW08/2016 1 1 :03
• F.aure 23SOO A2016000014 04/07/201611:0) oe,Ast,roulllon JOSOO
Page45
La gestion des AchatsNentes permet de maitriser les différents flux d'achats et de ventes.
Elle permet de contrôler les impayés et les encaissements à effectuer et les mouvements
effectués.
Bl.2016000041
C)0C)43
A2016000120 11/l0f2016~ 18 ,...,., . 1 8l2016000048
- PDODOD0000065 COOP DE SYONAY ChrisUal'l DUPONT Par 1'105 soins A201611000033 e1,a
P000000000053 BL2016000011 COOPDEBURtAY e1,a
..,,,.,,. P00000000007D Bl201ti0000S1 C.therlno 011is!lon DUPONT P•rnossoh'ls A201611000033 e1,a
ontr-. nt PD00000000073 BUO 1 fi000051 C00P Of BURLAV Chnsl'.1AnDUPONT Par nossoiM "201611000043 e1,a
PD00000000013 BL20160CK>011 JEAN BATISTE e1,a
La gestion des stocks étant très importante, il est impératif de savoir la maitriser et le
tableau de bord ci-dessus a été conçu pour cela.
Sa particularité est d'aussi enregistrer tous les mouvements de stocks afin de pouvoir les
tracer.
Page46
6.3.3 Gestion de la Comptabilité
JDHhboatdlMeton-Fl•t&~ ,c\!,_
,-,
+ © k>CalhOSt:9000/comptabliles/dashbootd
1
l'fXPLOIT,.P<f
c01i1,n COURANT AC1Wn1 COOP
o!TAlL
SJoumaux Action
type Cl6turfl•
Code
Coisse
31n211991 a,a
11
11n211997 a,a
cc Op~--
compte couranr. 31112/1899 a,a
-·-
•.....
Achats
"VENT
°"' 31112/1999 a,11
31112/1997 a,a
Rf
lrwentaltt des stoeks permanent a,a
31112/1997
STOC
Op«atk>ns diYerWS 31/12/1997 a,a
OP
La comptabilité, élément incontournable de l'entreprise doit être doté d'un système solide.
C'est dans ce cadre que nous avons beaucoup miser sur la page ci-dessus.
On arrive à contrôler les mouvements de la caisse et du compte courant mais aussi les
exploitants.
Les enregistrements journaliers (journal) listés permettent au comptable de pouvoir
aisément tiré ses états et cela accentue le contrôle de gestion de la comptabilité.
6.4 CONCLUSION
Page47
CONCLUSION GENERALE
Ces utilisateurs sont les employés de l'entreprise mais aussi les fournisseurs(Planteurs). Il
permettra de bien suivre les différents processus et d'atteindre l'objectif visé par les
dirigeants.
Ce projet répond aux attentes des utilisateurs et leur facilite le travail. Mais cela n'exclut
pas le faite que des corrections et améliorations soient apportées.
Page48
GLOSSAIRE
Application Web : Logiciel applicatif dont l'interface homme-machine imite
un site web qui change continuellement. L'interface homme-
machine est appelée interface web. Une application web
se manipule avec un navigateur web en parcourant les liens
hypertexte.
Base de données : Entité dans laquelle il est possible de stocker des données
de façon structurée et avec le moins de redondance possible.
Page49
BIBLIOGRAPHIE
(1] Stephanie , K. (2007), «conception et realisation d'un logiciel de gestion de management
qualite (smq) cas de ryca pharma sa», Mémoire Master MIAGE Cocody
[2] Maruis , K. (2015), «mise en place d'une banque de données des prix referentiels »,
Mémoire master génie informatique, Université Nangui Abrogoua ;
(3] Eve, S. (2015), «le rôle des coopératives et des organisations de producteurs de fruits et
légumes dans le développement des circuits courts alimentaires, diagnostic et propositions
d'actions», Mémoire Ingénieur agronome, sup agro de Montpellier
[4] Marc, E. (2007), «la participation dans les organisations coopératives en Haïti: le cas de
la coopérative Saint-jérôme», Mémoire Maîtrise en intervention sociale, université du Québec
à Montréal
[5] Chantal C, Francis. D. (2013), éditions Larcier« les coopératives agricoles - identité,
gouvernance et stratégies»
[7] Michel G, Claude J., Alain R. (2011), Edition Lavoisier« gestion de l'exploitation
agricole, éléments pour la prise de décision à partir de l'étude de cas concrets»
[8] Critique du livre Hibemate 3.0 : Gestion optimale de la persistance dans les apllications
Java/J2EE d' Anthony Patricio aux editions Eyrolles
[9] E.PUYBARET. - Cahier du programmeur Java 1.4 et 5.0 N°11916, 3eme édition; 2006,
380 pages
PageSO
ANNEXE
DIRECTION GENERALE
SECRETARIAT DE
1
DIRECTION DIRECTEUR DES DIRECTEUR
RESSOURCES TECHNIQUE
COMMERCIALE
DIRECTION
ADMINISTRATIV
iiiir
1 HHii,M
HIM~1,u,1 E ET DIRECTION
1 COMMERCIAUX Il ~ COMMERCIAUX Il
~I COMPTABLE Il
Il Il ... . 1
MAGA~INIE
Il CHAUFFEUR 1
Page51