Vous êtes sur la page 1sur 55

REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON

PAIX-TRAVAIL-PATRIE PEACE-WORK-FATHERLAND
*********** ***********
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
MINISTRY OF HIGHT SCHOOL
***********
***********
UNIVERSITE DE NGAOUNDERE
*********** UNIVERSITY OF NGAOUNDERE
INSTITUT UNIVERSITAIRE DE ***********
TECHNOLOGIES UNIVERSITY INSTITUT OF
TECHNOLOGIES

INSTITUT UNIVERSITAIRE DE TECHNOLOGIE DE NGAOUNDERE


BP : 455 NGAOUNDERE
Division des stages, de la Formation Permanente et des Relations avec les
milieux Professionnels
TEL: 677 51 21 08/ 6 77 11 22 17 / 674 91 60 57
E- mail : Dstages2015@Gmail.com

THEME :
COMPARATEUR DE PRIX DES
MEDICAMENTS

MÉMOIRE DE FIN D’ÉTUDE


En Vue de l’Obtention du

DIPLÔME UNIVERSITAIRE DE TECHNOLOGIE

Mention : Génie Informatique


Effectué du 29 Juin au 28 Août 2020 à l’IUT de Ngaoundéré
Par

HAOUWAOU
18I046IU
Encadreur Industrielle : Encadreur Académique :
Dr. NDAM NJOYA Arouna Dr. NDAM NJOYA Arouna
(Chargé de Cours IUT) (Chargé de Cours IUT)

Année académique :2019/2020


COMPARATEUR DE PRIX DES MEDICAMENTS

DEDICACE

Je dédie ce travail :

À mes parents

REMERCIEMENTS

A mes parents

Rédigé par HAOUWAOU 18I046IU i


COMPARATEUR DE PRIX DES MEDICAMENTS

REMERCIEMENTS

Au terme de ce travail, nos remerciements vont d’abord à Dieu le Tout Puissant qui a
permis la réalisation de ce travail, en nous accordant santé, inspiration et courage pour arriver
à ce stade. Ensuite, sensible aux multiples efforts fournis par les uns et les autres pour leur
contribution, leur collaboration, leur soutien infaillible, notre gratitude est exprimée :

• Pr Mohammadou Bouba Adji, Directeur de l’Institut Universitaire de Technologie de


Ngaoundéré pour la qualité de la formation reçue dans son institution ;

• Pr EDOUN MARCEL, Directeur adjoint de l’Institut Universitaire de Technologie de


Ngaoundéré ;

• Pr YENKE Blaise Omer, Chef du Département Informatique à l’Institut Universitaire


de Technologie de Ngaoundéré ;
• Dr NDAM NJOYA Arouna, enseignant à l’Institut Universitaire de Technologie de
Ngaoundéré ;

• Dr FENDJI EBONGUE KEDIENG Jean Louis, enseignant à l’Institut Universitaire


de Technologie de Ngaoundéré ;

• Dr ABBOUBAKAR Hamadjam, enseignant à l’Institut Universitaire de Technologie


de Ngaoundéré ;

• Dr DANGBE Ezekiel, chef de service de stage à l’IUT de Ngaoundéré ;

• M. KANI DJOULDE, Enseignant à l’Institut Universitaire de Technologie de


Ngaoundéré ;
• Tout le personnel enseignant de l’Institut Universitaire de Technologie de Ngaoundéré.

• A ma famille pour leur soutien moral et financier.

• Tous mes camarades de promotion ;

Rédigé par HAOUWAOU 18I046IU ii


COMPARATEUR DE PRIX DES MEDICAMENTS

PRESENTATION DE L’ENTREPRISE

I- HISTORIQUE ET EVOLUTION DE L’IUT


Créée par décret présidentiel N0 008/CAB/PR du 19 janvier 1993 et placée sous la tutelle
de l’Université de Ngaoundéré, l’Institut Universitaire de Technologie de Ngaoundéré est un
établissement de formation professionnel qui a pour mission de former les techniciens
supérieurs qualifiés, dotés des compétences adaptées aux besoins des entreprises. Pour assurer
la formation des techniciens supérieurs de qualité, l’Institut Universitaire de Technologie de
Ngaoundéré offre à ses étudiants un cadre de travail serein et des laboratoires équipés par des
nouveaux équipements technologiques de pointes. Elle est managée par un personnel enseignant
compétant, dévoué aux attentes de l’institution et accessible aux étudiants.

Depuis sa création, elle a connu une évolution tant sur ses formations que sur la qualité de
ses enseignements. Nous retenons ici quelques dates marquantes de son évolution :

 1993 : Création de l’IUT de Ngaoundéré ;

 1995 : Création de la spécialité Génie Informatique ;

 2003 : GAI devient Génie Biologique ;

 2003 : Création de la spécialité Génie Thermique et Energétique ;

 2007 : Passage au système Licence- Master - Doctorat (LMD) ;

 2008 : Ouverture de la Licence Professionnelle en Génie Informatique ;

 2009/2010 : Ouverture de la Licence Professionnelle en Génie Biologique ;

 2010/2011 : Ouverture de la Licence Professionnelle en Génie Industriel et


maintenance ;
 2014 : Ouverture du parcours Génie Mécanique.

 2017/2018 : Passage de la Licence Professionnelle pour la Licence Technologique en


Génie Informatique.
 2019/2020 : Création de la spécialité Génie Civil et Développement Durable ;

Rédigé par HAOUWAOU 18I046IU iii


COMPARATEUR DE PRIX DES MEDICAMENTS

II- STRUCTURE ORGANISATIONNELLE


L’organigramme hiérarchique de l’IUT est présenté à l’Annexe 1. Les différents maillons
de la chaîne administrative de l’IUT sont formés de la direction, des divisions et de divers
services allant des affaires générales à l’intendance.

• La Direction : Elle est composée d’un directeur assisté d’un adjoint. Elle est chargée
de la police générale de l’établissement, de la gestion des crédits et du personnel, de la
représentation de l’institut auprès du recteur de l’Université, du suivi de la coopération,
de la coordination et de l’animation des activités académiques ;

• Les divisions : Il y en a deux. Celle en charge de la formation initiale qui gère


l’organisation, l’animation et le suivi des activités de l’ensemble des départements ; et
celle des stages et de la formation permanente et des relations avec les milieux
professionnels ;

• Le service chargé des affaires qui s’occupe de la gestion du personnel administratif et


de l’instruction des affaires générales ;

• Le service de la documentation et de la reprographie qui organise et anime les


activités d’impression et de diffusion des matériels pédagogiques ;

• Le service de la scolarité et de l’orientation professionnelle, chargé de l’information


et de l’orientation des candidats à l’inscription dans les différentes filières et la gestion
des statistiques ;

• Le service de l’intendance qui a en charge l’instruction des affaires financières ;

• Le service des stages qui est chargé de la gestion des étudiants en stage et des relations
avec les entreprises.

III- SECTEUR D’ACTIVITE


L’Institut Universitaire de Technologie de Ngaoundéré est une école de formation dans le
domaine des technologies. Cet institut a pour missions :

• De dispenser en formation initiale un enseignement moyen supérieur préparant aux


fonctions de cadres intermédiaires dans les domaines des Techniques Industrielles, du
Génie des Procédés et de l’Informatique ;

Rédigé par HAOUWAOU 18I046IU iv


COMPARATEUR DE PRIX DES MEDICAMENTS

• D’assurer la formation permanente dans les mêmes domaines qu’en formation initiale ;
de fournir aux entreprises ou administrations, des prestations de recherche appliquée, de
services ou de formation professionnelle dans les domaines techniques correspondant à
ses activités.

L’IUT de Ngaoundéré dispose de deux cycles :

• Un premier cycle du Diplôme Universitaire de Technologie, d’une durée de quatre


semestres, et sanctionné par le Diplôme Universitaire de Technologie (DUT) (niveau
BAC + 2) ;

• Second cycle de Licence Professionnelle (post DUT), d’une durée de deux semestres,
sanctionné par le Diplôme de Licence Professionnelle (niveau BAC + 3).

Il existe trois Mentions à l’IUT de Ngaoundéré à savoir : Génie Informatique, Génie


Biologique, Génie Industriel et maintenance. L’IUT offre donc plusieurs parcours de formation
pour chaque mention :

 Mention Génie Industriel et Maintenance :

- Génie Thermique et Énergétique ;

- Maintenance Industriel et Productique ;

- Génie Électrique ;

- Génie Mécanique ;

- Génie Civil et Développement Durable.

 Mention Génie Biologique :

- Industries Alimentaires et Biotechnologiques ;

- Génie de l’Environnement ;

- Analyses Biologiques et Biochimiques.

 Mention Génie Informatique

Rédigé par HAOUWAOU 18I046IU v


COMPARATEUR DE PRIX DES MEDICAMENTS

- Génie Logiciel ;

- Réseautique et Internet.

IV- SITUATION GEOGRAPHIQUE


L’IUT (Institut Universitaire de Technologie) de Ngaoundéré est située dans la région
de l’Adamaoua, dans le département de la vina plus précisément dans l’Arrondissement de
Ngaoundéré 3ème. Elle se trouve dans l’enceinte de l’université de Ngaoundéré (Voir annexe
2).
Tableau 1 : Fiche d’identification de l’IUT

Raison sociale Institut Universitaire de Technologie de


Ngaoundéré

Sigle IUT

Logo

Siège Sociale Ngaoundéré


Boite postal 455 Ngaoundéré
Téléphone (+237) 677 11 22 18 / 677 11 22 20

Fax (+237) 677 11 22 18

Site internet http://iut.univ-ndere.cm


Email iut@univ-ndere.cm
Ressources matérielles Matériel informatique et matériel de
sécurité incendie

Ressources humaines L’IUT compte plus de 50 employés


Personnels Personnel d’appuis et personnel
enseignant

Rédigé par HAOUWAOU 18I046IU vi


COMPARATEUR DE PRIX DES MEDICAMENTS

TABLE DES MATIERES


DEDICACE ................................................................................................................................. i
REMERCIEMENTS .................................................................................................................. ii
PRESENTATION DE L’ENTREPRISE .................................................................................. iii
I- HISTORIQUE ET EVOLUTION DE L’IUT .............................................................................iii
II- STRUCTURE ORGANISATIONNELLE .............................................................................. iv
III- SECTEUR D’ACTIVITE........................................................................................................ iv
IV- SITUATION GEOGRAPHIQUE ........................................................................................... vi
TABLE DES MATIERES ....................................................................................................... vii
LISTE DES FIGURES .............................................................................................................. ix
LISTE DES TABLEAUX .......................................................................................................... x
LISTE DES ABREVIATIONS ................................................................................................. xi
RESUME .................................................................................................................................... 1
ABSTRACT ............................................................................................................................... 2
INTRODUCTION ...................................................................................................................... 3
CHAPITRE 1 : PROBLEMATIQUE DU COMPARATEUR DE PRIX DES MEDICAMENTS
.................................................................................................................................................... 4
I. DESCRIPTION DE L’EXISTANT ............................................................................................ 4
II. CRITIQUE DE L’EXISTANT .................................................................................................... 4
III. DEFINITION DU PROBLEME ............................................................................................. 4
IV. PROPOSITION DE SOLUTIONS .......................................................................................... 5
V. EXIGENCES DU SYSTEME ..................................................................................................... 5
1. Exigences fonctionnelles ......................................................................................................... 5
2. Exigences non fonctionnelles .................................................................................................. 6
CHAPITRE 2 : ANALYSE ET CONCEPTION DU COMPARATEUR DE PRIX DES
MEDICAMENTS....................................................................................................................... 7
I. PRESENTATION DU LANGAGE UML .................................................................................. 7
II. ANALYSE DES CAS D’UTILISATION ................................................................................... 8
1. Les acteurs ............................................................................................................................... 8
2. Cas d’utilisation ....................................................................................................................... 9
3. Diagramme des cas d’utilisation ............................................................................................. 9
4. Description textuelle des cas d’utilisations ........................................................................... 12
III. ANALYSE STATIQUE ........................................................................................................ 17
1. Les classes et les objets ......................................................................................................... 17
2. Le diagramme de classe......................................................................................................... 17

Rédigé par HAOUWAOU 18I046IU vii


COMPARATEUR DE PRIX DES MEDICAMENTS

IV. CONCEPTION ...................................................................................................................... 20


1. Conception génerale du systeme ........................................................................................... 20
2. Conception détaillée du système ........................................................................................... 20
a. Architecture de l’application .......................................................................................... 20
b. Structrure des répertoires .............................................................................................. 21
CHAPITRE 3 : IMPLEMENTATION ET TESTS .................................................................. 23
I. IMPLEMENTATION ............................................................................................................... 23
1. Présentation du serveur web Apache ..................................................................................... 23
2. Présentation du serveur de base de données MYSQL ........................................................... 24
3. Présentation des langages utilisés .......................................................................................... 25
a. Langages de programmation côté client ........................................................................ 25
b. Langage de programmation côté serveur ...................................................................... 25
4. Présentation des outils utilisés. .............................................................................................. 26
a. Outils logiciels .................................................................................................................. 26
b. Outils matériels ................................................................................................................ 27
5. Présentation des framework utilisés ...................................................................................... 27
a. Bootstrap 4 ....................................................................................................................... 27
b. JQuery 3 ........................................................................................................................... 28
c. CodeIgniter ...................................................................................................................... 28
d. Font Awesome .................................................................................................................. 28
II. TESTS ....................................................................................................................................... 28
CONCLUSION ET PERSPECTIVES ..................................................................................... 35
REFERENCES BIBLIOGRAPHIQUES ................................................................................. 36
ANNEXES ............................................................................................................................... 37
Annexe 1 :Organigramme de l’IUT .................................................................................................. 37
Annexe 2 :Plan de localisation de l’IUT .......................................................................................... 38

Rédigé par HAOUWAOU 18I046IU vii


i
COMPARATEUR DE PRIX DES MEDICAMENTS

LISTE DES FIGURES

Figure 1 : Schéma de représentation d’un acteur .............................................................................. 8


Figure 2 : Schéma de représentation d’un cas d’utilisation ............................................................. 9
Figure 3 : Schéma de représentation d’un diagramme de cas d’utilisation ..................................... 9
Figure 4 : Diagramme de cas d’utilisation du comparateur de prix des médicaments ................. 10
Figure 5 : Schéma de représentation d’une classe ............................................................................ 18
Figure 6 : Diagramme de classe du comparateur de prix des médicaments ................................. 19
Figure 7: Architecture de l’application ............................................................................................. 21
Figure 8 :Architecture des répertoires de CodeIgniter .................................................................... 22
Figure 9: Page d’accueil ...................................................................................................................... 29
Figure 10 :Formulaire de connexion.................................................................................................. 30
Figure 11: Liste des pharmacies de garde ......................................................................................... 30
Figure 12 : Page des résultats d’une recherche sur un médicament............................................... 31
Figure 13 : Page de demande d’achat d’un médicament ................................................................. 31
Figure 14 : Formulaire d’enregistrement d’un médicament ........................................................... 32
Figure 15 :Formulaire d’enregistrement d’une pharmacie ............................................................. 32
Figure 16 :Liste des pharmacies de garde ......................................................................................... 33
Figure 17 :Liste des médicaments par pharmacie ............................................................................ 33
Figure 18 :Liste des utilisateurs ......................................................................................................... 34

Rédigé par HAOUWAOU 18I046IU ix


COMPARATEUR DE PRIX DES MEDICAMENTS

LISTE DES TABLEAUX

Tableau 1 : Fiche d’identification de l’IUT ......................................................................................... vi


Tableau 2 : Description textuelle du cas d’utilisation « s’authentifier » ........................................ 12
Tableau 3: Description textuelle du cas d’utilisation « rechercherMédicament » ........................ 13
Tableau 4: Description textuelle du cas d’utilisation «consulterListePharmaGarde » ................ 13
Tableau 5 : Description textuelle du cas d’utilisation « consulterListeMédicPharma » ............... 14
Tableau 6 : Description textuelle du cas d’utilisation «affecterMédicamentAUnePharmacie » .. 15
Tableau 7 Description textuelle du cas d’utilisation « retirerMédicamentAUnePharmacie » .... 16

Rédigé par HAOUWAOU 18I046IU x


COMPARATEUR DE PRIX DES MEDICAMENTS

LISTE DES ABREVIATIONS

CSS : Cascading StyleSheet ;

DUT : Diplôme Universitaire de Technologie ;

HTML : HyperText Markup Language ;

IDE : Integrated Development Environment ;

IUT : Institut Universitaire de Technologie ;

MVC : Modèle Vue Contrôleur ;

PHP : HyperText Preprocessor ;

PDF : Portable Document Format ;

SGBD : Système de Gestion de Base de Données ;

SQL : Structured Query Language ;

UML : Unified Modeling Language ;

Rédigé par HAOUWAOU 18I046IU xi


COMPARATEUR DE PRIX DES MEDICAMENTS

RESUME

De nos jours, la recherche ou l’achat d’un médicament via une pharmacie se fait
systématiquement par le déplacement d’un usager vers la pharmacie sollicitée. Dans l’optique
de faciliter l’accès à distance aux prix des médicaments ainsi qu’à la disponibilité de ces
derniers dans une pharmacie donnée, il a été initié un projet dont l’objectif est de mettre en
place un comparateur de prix des médicaments. Pour parvenir aux résultats escomptés, nous
avons utilisé la méthode UML comme langage de modélisation et l’architecture MVC pour la
conception. Le SGBD MySQL est utilisé pour la base de données et les langages de
programmation ont été le PHP, le HTML, le CSS et le JavaScript. Il a donc été mise sur pied
une solution informatique dont les fonctionnalités de la partie frontend intègrent la recherche
d’un médicament, la visualisation de la disponibilité d’un médicament, la comparaison des prix
d’un médicament, la consultation de la liste des pharmacies de garde, la gestion des comptes
des utilisateurs. Dans la partie backend (espace d’administration), le système permet
d’enregistrer un médicament, d’enregistrer une pharmacie, d’affecter un médicament à une
pharmacie, d’ajouter une période de garde à une pharmacie, de consulter la liste des pharmacies
de garde à une période donnée, de gérer le compte des utilisateurs.

Rédigé par HAOUWAOU 18I046IU 1


COMPARATEUR DE PRIX DES MEDICAMENTS

ABSTRACT

Nowadays, the search for or the purchase of a drug via a pharmacy is done systematically by
moving a user to the requested pharmacy. With a view to facilitating remote access to drug
prices as well as to their availability in a given pharmacy, a project has been initiated whose
objective is to set up a drug price comparator. To achieve the expected results, we used UML
as the modeling language and the MVC architecture for the design. The MySQL DBMS is used
for the database and the programming languages have been PHP, HTML, CSS and JavaScript.
An IT solution was therefore set up whose front-end functionalities include finding a drug,
viewing the availability of a drug, comparing the price of a drug, consulting the list of drugs.
pharmacies on duty, management of user accounts. In the backend part (administration area),
the system allows you to register a drug, register a pharmacy, assign a drug to a pharmacy, add
an on-call period to a pharmacy, view the list pharmacies on duty at a given period, to manage
user accounts.

Rédigé par HAOUWAOU 18I046IU 2


COMPARATEUR DE PRIX DES MEDICAMENTS

INTRODUCTION
GENERALE

Rédigé par HAOUWAOU 18I046IU


COMPARATEUR DE PRIX DES MEDICAMENTS

INTRODUCTION

L’offre de service relative à l’achat et la recherche de la disponibilité d’un médicament


se fait par le déplacement de l’usager vers le point de vente qui en général sont des pharmacies.
Dans certains cas, un usager peut se retrouver en train de parcourir systématiquement ou
presque toutes les pharmacies à la recherche d’un médicament. Ceci engendre des coûts
énormes liés au déplacement de l’usager. Pourtant, il est possible de tirer l’avantage des
solutions informatiques pour permettre aux usagers d’accéder à ces informations en ligne avant
leur déplacement.

Le projet sur comparateur de prix vise à fournir à toute personne sollicitant un achat ou
une recherche d’un médicament une plateforme en ligne qui intègre les différents médicaments
vendus par les pharmacies de Ngaoundéré en particulier et du Cameroun en général. Nous
pensons à travers cette plateforme permettre aux usagers de faire autant d’économie que
possible lors de l’achat d’un médicament.

Pour ce faire, il a été adopté une démarche basée sur le langage de modélisation UML.
Le framework de développement adopté est le CodeIgniter qui repose sur une architecture
MVC. La base de données a été implémentée sur le SGBD MySQL et les langages de
programmation inclut le PHP, le HTML, le CSS et le JavaScript.

Il a donc été développé une plateforme web composée de deux parties. La partie
Frontend qui offre une barre de recherche permettant d’accéder entre autres aux prix des
médicaments. Le partie Backend qui intègre les fonctionnalités d’administration de la
plateforme à l’instar de l’enregistrement des médicaments dans une pharmacie donnée et
l’édition des pharmacies de garde.

Le reste de ce document est structuré comme suit : nous présentons d’abord au chapitre
1, la problématique du comparateur du prix des médicaments ensuite au chapitre 2,
l’analyse et la conception de la solution proposée et enfin au chapitre 3 l’implémentation et
tests. Nous terminons par une conclusion et des perspectives.

Rédigé par HAOUWAOU 18I046IU 3


COMPARATEUR DE PRIX DES MEDICAMENTS

CHAPITRE 1 :
PROBLEMATIQUE DU
COMPARATEUR DE PRIX
DES MEDICAMENTS

Rédigé par HAOUWAOU 18I046IU


COMPARATEUR DE PRIX DES MEDICAMENTS

CHAPITRE 1 : PROBLEMATIQUE DU
COMPARATEUR DE PRIX DES MEDICAMENTS

Ce chapitre présente la manière dont un usager se procure d’un médicament


actuellement en faisant ressortir ces limites. Il définit par la suite une solution qui palie aux
limites répertoriées.

I. DESCRIPTION DE L’EXISTANT
Cette étape est indispensable pour la mise en place de tout projet informatique ou autre.
Elle permet de définir le contexte de fonctionnement, ou bien le processus métier, et de dégager
les différentes imperfections dans le système actuel afin de les corriger.

La recherche ou l’achat d’un médicament via une pharmacie ainsi que la connaissance
des pharmacies de garde se fait systématiquement par le déplacement d’un usager vers la
pharmacie sollicitée

II. CRITIQUE DE L’EXISTANT


Les limites de la gestion actuelle sont les suivants :

 Un usager peut se rendre à la pharmacie et ne pas trouver le médicament dont il a


besoin ;
 L’usager peut prévoir une somme pour un médicament et part trouver que ce n’est pas
suffisant.
 Un usager peut parcourir toutes les pharmacies de la ville parce qu’il ne connait pas
quelle pharmacie est de garde ;
 Problème de coût lié au déplacement d’un usager à la recherche d’un médicament.

III. DEFINITION DU PROBLEME


Actuellement, la recherche ou l’achat d’un médicament via une pharmacie et la
connaissance des pharmacies de garde se fait systématiquement par le déplacement d’un
usager vers la pharmacie sollicitée. Dans certains cas, un usager peut se retrouver en train
de parcourir systématiquement ou presque toutes les pharmacies à la recherche d’un

Rédigé par HAOUWAOU 18I046IU 4


COMPARATEUR DE PRIX DES MEDICAMENTS

médicament. Ceci engendre des coûts énormes liés au déplacement de l’usager. Le


problème qui nous a été posé est de développer un comparateur de prix des médicaments
pouvant permettre à un usager de pouvoir de consulter la disponibilité d’un médicament et
de connaître les pharmacies de garde de manière simple et efficace.

IV. PROPOSITION DE SOLUTIONS


Pour remédier aux problèmes cités plus haut, nous proposons la solution suivante :
Développer une plateforme web composée de deux parties. La partie Frontend qui offre une
barre de recherche permettant d’accéder entre autres aux prix des médicaments. Le partie
Backend qui intègre les fonctionnalités d’administration de la plateforme à l’instar de
l’enregistrement des médicaments dans une pharmacie donnée et l’édition des pharmacies de
garde.

V. EXIGENCES DU SYSTEME
Les exigences sont l’expression formelle des besoins de l’application. Les exigences de
l’application constituent l’ensemble des actions qui doivent être implémenté. Dans un premier
temps nous allons énumérer les exigences fonctionnelles et dans un second temps les exigences
non fonctionnelles.

1. Exigences fonctionnelles
Les exigences fonctionnelles expriment une action que doit effectuer le système en
réponse à une demande (sorties qui sont produites pour un ensemble de données d’entrer).

Le système proposé doit permettre :

 Le système doit permettre d’avoir toutes les informations sur un médicament et sur une
pharmacie ;
 Le système doit permettre d’affecter un médicament à une pharmacie ;
 Le système doit permettre de retirer un médicament d’une pharmacie ;
 Le système doit permettre d’avoir la liste des médicaments par pharmacie ;
 Le système doit permettre de connaitre la liste des pharmacies de garde à une période
donnée ;
 Le système doit permettre de mettre à jour le prix et la quantité des médicaments dans
une pharmacie ;
 Le système doit permettre d’ajouter les pharmacies à une période de garde donnée ;

Rédigé par HAOUWAOU 18I046IU 5


COMPARATEUR DE PRIX DES MEDICAMENTS

 Le système doit permettre d’afficher ou rechercher un produit(Médicament) ;


 Le système doit permettre d’afficher la disponibilité d’un médicament ;
 Le système doit permettre d’imprimer la liste des médicaments par pharmacie ;
 Le système doit permettre d’imprimer la liste des pharmacies de garde ;
 Le système doit permettre d’envoyer une demande d’achat d’un médicament ;

2. Exigences non fonctionnelles


Les exigences non fonctionnelles sont importantes car ils agissent de façon indirecte sur
le résultat et sur le rendement de l’utilisateur. L’application doit répondre à ces besoins qui sont
nécessaire pour une bonne qualité de l’application.

 Le système doit être écrit en PHP ;


 Le système doit utiliser une base de données MYSQL ;
 Le système doit envoyer des notifications aux utilisateurs ;
 Le système doit avoir une interface facile à utiliser ;
 Le système doit être sécurisé avec l’obligation pour chaque utilisateur de saisir un
mot de passe et un login ;
 L’application doit être performante, c’est-à-dire qu’elle doit répondre à travers ses
fonctionnalités à toutes les exigences des utilisateurs d’une manière optimale.

Dans ce chapitre nous avons décrit l’existant, apporter les insuffisances et proposer
les solutions à ce problème. Dans le chapitre suivant, nous allons poursuivre avec une
analyse des besoins et une conception du système.

Rédigé par HAOUWAOU 18I046IU 6


COMPARATEUR DE PRIX DES MEDICAMENTS

CHAPITRE 2 : ANALYSE ET
CONCEPTION DU
COMPARATEUR DE PRIX
DES MEDICAMENTS

Rédigé par HAOUWAOU 18I046IU


COMPARATEUR DE PRIX DES MEDICAMENTS

CHAPITRE 2 : ANALYSE ET CONCEPTION DU


COMPARATEUR DE PRIX DES MEDICAMENTS

Dans ce chapitre nous présentons l’outil de modélisation que nous avons utilisé dans ce
travail, ensuite nous illustrerons quelques diagrammes et tableaux qui explicitent le problème
et montre comment a été conçu le nouveau système.

I. PRESENTATION DU LANGAGE UML


UML (Unified Modeling Language, en français "langage de modélisation objet unifié")
est né de la fusion des trois méthodes qui ont le plus influencés la modélisation objet au milieu
des années 90 : OMT de James Rumbaugh (General Electric) fournit une représentation
graphique des aspects statique, dynamique et fonctionnel d’un système ; OOD de Grady Booch,
définie pour le Department of Defense, introduit le concept de paquetage (package) ;OOSE
d’Ivar Jacobson (Ericsson) fonde l’analyse sur la description des besoins des utilisateurs (cas
d’utilisation, ou use cases).
UML est donc non seulement un outil intéressant mais une norme qui s’impose en technologie
à objets et à laquelle se sont rangés tous les grands acteurs du domaine, acteurs qui ont d’ailleurs
contribués à son élaboration. UML n’est pas une méthode (une description normative des étapes
de la modélisation) : ses auteurs ont en effet estimé qu’il n’était pas opportun de définir une
méthode en raison de la diversité des cas particuliers. Ils ont préféré se borner à définir un
langage graphique qui permet de représenter, de communiquer les divers aspects d’un système
d’information (aux graphiques sont bien sûr associés des textes qui expliquent leur contenu).
UML est donc un métalangage car il fournit les éléments permettant de construire le modèle
qui, sera le langage du projet. UML 2.0 comporte ainsi treize types de diagrammes représentant
autant de vues distinctes pour représenter des concepts particuliers du système d’information.
Ils se répartissent en deux grands groupes :

o Diagrammes structurels ou diagrammes statiques (UML Structure) : diagramme


de classes (Class diagram), diagramme d’objets (Object diagram), diagramme de
composants (Component diagram), diagramme de déploiement (Deployment diagram),

Rédigé par HAOUWAOU 18I046IU 7


COMPARATEUR DE PRIX DES MEDICAMENTS

diagramme de paquetages (Package diagram), diagramme de structures composites


(Composite structure diagram) ;
o Diagrammes comportementaux ou diagrammes dynamiques (UML Behavior) :
diagramme de cas d’utilisation (Use case diagram), diagramme d’activités (Activity
diagram), diagramme d’états-transitions (State machine diagram), diagrammes
d’interaction (Interaction diagram) : diagramme de séquence (Sequence diagram),
diagramme de communication (Communication diagram), diagramme global
d’interaction (Interaction overview diagram), diagramme de temps (Timing diagram).
Ces diagrammes, d’une utilité variable selon les cas, ne sont pas nécessairement tous
produits à l’occasion d’une modélisation. Les plus utiles pour la maîtrise d’ouvrage
sont les diagrammes d’activités, de cas d’utilisation, de classes, d’objets, de séquence
et d’états transitions. Les diagrammes de composants, de déploiement et de
communication sont surtout utiles pour la maîtrise d’œuvre à qui ils permettent de
formaliser les contraintes de la réalisation et la solution technique.

II. ANALYSE DES CAS D’UTILISATION

1. Les acteurs
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é [2]. On distingue
deux types d’acteurs :

 Acteurs primaires ou principales qui sont ceux pour qui le système est construit,
c’est-à-dire celui pour qui le système rend service ;
 Acteurs secondaires qui sont ceux nécessaire pour le bon fonctionnement du
système mais qui ne sont pas ceux pour qui le système est construit.

On peut représenter un acteur comme suit :

Acteur
Acteur
Figure 1 : Schéma de représentation d’un acteur

Rédigé par HAOUWAOU 18I046IU 8


COMPARATEUR DE PRIX DES MEDICAMENTS

2. Cas d’utilisation
Un cas d’utilisation (« use case ») représente un ensemble de séquences d’actions qui
sont réalisées par le système et qui produisent un résultat observable intéressant pour un acteur
particulier. Chaque cas d’utilisation spécifie un comportement attendu du système considéré
comme un tout, sans imposer le mode de réalisation de ce comportement. Il permet de décrire
ce que le système devra faire, sans spécifier comment il le fera. On le représente comme suit :

Nom du cas d’utilisation

Figure 2 : Schéma de représentation d’un cas d’utilisation

3. Diagramme des cas d’utilisation


Le diagramme de cas d’utilisation est un schéma qui montre les cas d’utilisation reliés
par des associations(lignes) à leurs acteurs. Chaque association signifie simplement « participe
à ». Un cas d’utilisation doit être relié à au moins un acteur. La figure suivante est la
représentation graphique d’un diagramme de cas d’utilisation :

Cas 1

Système

Acteur primaire Acteur secondaire

Figure 3 : Schéma de représentation d’un diagramme de cas d’utilisation

La figure suivante illustre le diagramme de cas d’utilisation du système. Ils y sont


représentés dans ce diagramme des cas d’utilisation, des acteurs et des associations entre acteurs
et cas d’utilisation.

Rédigé par HAOUWAOU 18I046IU 9


COMPARATEUR DE PRIX DES MEDICAMENTS

Figure 4 : Diagramme de cas d’utilisation du comparateur de prix des médicaments

Commentaire des cas d’utilisation


 rechercherMédicament : ce cas d’utilisation permet à un utilisateur de rechercher un
médicament;

Rédigé par HAOUWAOU 18I046IU 10


COMPARATEUR DE PRIX DES MEDICAMENTS

 comparerPrixMédicament : ce cas d’utilisation permet à un utilisateur de comparer


le prix des médicaments;
 consulterListePharmaGarde : ce cas d’utilisation permet à un utilisateur de consulter
la liste des pharmacies de garde ;
 voirDisponibilitéMédicament : ce cas d’utilisation permet à un utilisateur de voir la
disponibilité d’un médicament ;
 envoyerDemandeAchat : ce cas d’utilisation permet à un utilisateur ayant les droits,
d’envoyer une demande d’achat d’un médicament;
 s’inscrire : ce cas d’utilisation permet à un utilisateur de s’inscrire;
 enregistrerMédicament : ce cas d’utilisation permet à un utilisateur ayant les droits
d’enregistrer un médicament ;
 enregistrerPharmacie : ce cas d’utilisation permet à un utilisateur ayant les droits
d’enregistrer une pharmacie ;
 affecterMédicamentAUnePharmacie : ce cas d’utilisation permet à un utilisateur ayant
les droits d’affecter un médicament à une pharmacie.
 modifierMédicament : ce cas d’utilisation permet à un administrateur de d’éditer ou de
supprimer un médicament sur la liste des médicaments ;
 modifierMarque : ce cas d’utilisation permet à un administrateur d’éditer ou de
supprimer une marque sur la liste des marques.
 modifierConditionnement : ce cas d’utilisation permet à un administrateur d’éditer ou
de supprimer un conditionnement sur la liste de conditionnements.
 modifierPharmacie : ce cas d’utilisation permet à un administrateur d’éditer ou de
supprimer une pharmacie de la liste des pharmacies.
 gérerCompte : ce cas d’utilisation permet à un administrateur ou à un utilisateur de créer
des comptes utilisateur, d’attribuer ou de retirer des privilèges à ces utilisateurs.
 modifierForme : ce cas d’utilisation permet à un administrateur d’éditer ou de supprimer
une forme dans la liste des formes.
 ajouterPériodeDeGarde : Ce cas d’utilisation permet à un administrateur de mettre des
pharmacie en garde.
 validerDemandeAchat : ce cas d’utilisation permet à un administrateur de valider les
demandes d’achat sur les médicaments.

Rédigé par HAOUWAOU 18I046IU 11


COMPARATEUR DE PRIX DES MEDICAMENTS

 consulterListeMédicPharma : ce cas d’utilisation permet à un administrateur de


consulter la liste des médicaments par pharmacie et s’il le souhaite retirer le médicament
de la pharmacie, éditer ,imprimer la liste des médicaments de cette pharmacie .

4. Description textuelle des cas d’utilisations


Une description textuelle des cas d’utilisation permet de détailler les différentes façons
dont les acteurs peuvent utiliser le système. Les tableaux ci-dessous présentent la description
textuelle des différents cas d’utilisations.

Tableau 2 : Description textuelle du cas d’utilisation « s’authentifier »

Nom S’authentifier

Sommaire d’identification : Résumé : Ce cas d’utilisation permet a un


utilisateur de se connecter à l’application et
d’avoir accès à son compte.
Acteur : Tous les utilisateurs.
Version : 1.0

Précondition 1) Avoir un compte utilisateur actif

Scénario nominal 1. L’utilisateur demande à s’authentifier


2. Le système affiche l’interface
d’authentification
3. L’utilisateur saisit les informations
de son compte (login et mot de
passe)
4. Le système vérifie les informations
entrées
5. Le système affiche la page d’acceuil
en fonction de rôle de l’utilisateur
Scénario alternatifs A1 : les informations du compte sont
incorrectes
L’enchainement A1 commence au point 4
5- Le système informe l’utilisateur de l’erreur

Rédigé par HAOUWAOU 18I046IU 12


COMPARATEUR DE PRIX DES MEDICAMENTS

Le scénario reprend au point 2

Post - conditions L’utilisateur est connecté à l’application

Tableau 3: Description textuelle du cas d’utilisation « rechercherMédicament »

Nom rechercherMédicament

Sommaire d’identification : Résumé : ce cas d’utilisation permet de


rechercher un médicament
Acteur : Tous les utilisateurs
Version : 1.0

Précondition aucune

Scénario nominal 1. Le système lui renvoie la barre de


recherche.
2. L’utilisateur entre le nom du
médicament qu’il souhaite
rechercher.
3. Le système lui renvoie les
médicaments qui correspond à sa
recherche.

Scénario alternatifs A1 : L’utilisateur n’a pas renseigné la


barre de recherche
L’enchainement A1 commence au point
3- Le système informe l’utilisateur de l’erreur
Le scénario reprend au point 1.

Tableau 4: Description textuelle du cas d’utilisation «consulterListePharmaGarde »

Nom consulterListePharmaGarde

Rédigé par HAOUWAOU 18I046IU 13


COMPARATEUR DE PRIX DES MEDICAMENTS

Sommaire d’identification : Résumé : ce cas d’utilisation permet de


consulter la liste des pharmacies de Garde.
Acteur : utilisateur
Version : 1.0

Précondition 1) L’utilisateur doit être connecté.


Scénario nominal 1. Le système lui renvoie les éléments
du menu.
2. L’utilisateur cliques sur le bouton
« voir les pharmacies de garde ».
3. Le système affiche la liste des
pharmacies de garde de la semaine.

Tableau 5 : Description textuelle du cas d’utilisation « consulterListeMédicPharma »

Nom consulterListeMédicPharma

Sommaire d’identification : Résumé : ce cas d’utilisation permet de


consulter la liste des médicaments par
pharmacie.
Acteur : Administrateur
Version : 1.0
Précondition 1) L’utilisateur doit être connecté.
2) Les informations sur le médicament
et la pharmacie doivent être à jour.

Scénario nominal 1) Le système lui renvoie les éléments


du menu.
2) L’utilisateur choisit le menu «
Pharmacie ».
3) L’utilisateur choisit « Liste
pharmacie ».
4) L’utilisateur cliques sur le bouton vu
sur la liste des pharmacies

Rédigé par HAOUWAOU 18I046IU 14


COMPARATEUR DE PRIX DES MEDICAMENTS

5) Le système affiche la liste des


médicaments de cette pharmacie.

Tableau 6 : Description textuelle du cas


d’utilisation «affecterMédicamentAUnePharmacie »

Nom affecterMédicamentAUnePharmacie

Sommaire d’identification : Résumé : ce cas d’utilisation permet de


d’affecter un médicament à une pharmacie.
Acteur : Administrateur
Version : 1.0
Précondition 1) L’utilisateur doit être connecté.
2) Les informations sur le
médicament doivent être à jour.

Scénario nominal 1) Le système lui renvoie les


éléments du menu.
2) L’utilisateur choisit le menu «
Médicament ».
3) L’utilisateur choisit « Liste
médicament ».
4) L’utilisateur cliques sur le
bouton plus sur la liste des
médicaments
5) Le système affiche le
formulaire d’affectation du
médicament à une pharmacie.
6) L’utilisateur choisit la
pharmacie ,renseigne le prix
et la quantité du médicament
et cliques sur le bouton
« valider ».

Rédigé par HAOUWAOU 18I046IU 15


COMPARATEUR DE PRIX DES MEDICAMENTS

7) Le système ajoute le
médicament à la pharmacie
Scénario alternatifs A1 : les informations envoyer
par l’utilisateur au systeme sont
incorrectes
L’enchainement A1 commence au point 6
7) Le système informe l’utilisateur de
l’erreur
Le scénario reprend au point 6
Post - conditions aucune

Tableau 7 Description textuelle du cas d’utilisation « retirerMédicamentAUnePharmacie »

Nom retirerMédicamentAUnePharmacie

Sommaire d’identification : Résumé : ce cas d’utilisation permet de


retirer un médicament d’une pharmacie.
Acteur : Administrateur
Version : 1.0
Précondition 1) L’utilisateur doit être connecté.

Scénario nominal 1) Le système lui renvoie les éléments


du menu.
2) L’utilisateur choisit le menu «
Pharmacie ».
3) L’utilisateur choisit « Liste
pharmacie ».
4) L’utilisateur cliques sur le bouton vu
sur la liste des pharmacies
5) Le système affiche la liste des
médicaments de la pharmacie.
6) L’utilisateur cliques sur le bouton
moins sur la liste des médicaments.

Rédigé par HAOUWAOU 18I046IU 16


COMPARATEUR DE PRIX DES MEDICAMENTS

7) Le système retire le médicament de


la pharmacie après confirmation de
l’utilisateur
Post - conditions Aucune.

III. ANALYSE STATIQUE


Dans cette section, sont aborés les modèles du domaine c’est-à-dire le diagramme de
classe statique. Ces derniers sont utilisés pour modéliser l’aspect statique du système. Ils
mettent en avant sa structure statique qu’ils representent avec des classes, le vocabulaire utilisé
dans le système qu’il présente sous forme d’attribut de classe, ainsi que les relations statiques
qui existent entre elles.

1. Les classes et les objets


Une classe est la représentation d’un ensemble d’élément (objet) doté des propriétés,
des opérations et d’une sémantique commune. Elle représente des éléments variés pouvant être
le concrète (voiture, élève, avion, commerçant, ...) ou abstrait (commande, livraison…).

2. Le diagramme de classe
Nous avons dit plus haut que le diagramme de cas d’utilisation montre le système du
point de vu de ses acteurs. Le diagramme de classe montre plutôt la structure interne. Il exprime
de manière générale la structure statique d’un système, en termes de classes et de relations
(associations) entre ces dernières.

Représentation :

Les classes sont représentées par des rectangles compartimentées :

 Le premier compartiment représente le nom de la classe ;


 Le deuxième compartiment représente les attributs de la classe ;
 Le troisième compartiment représente les opérations de la classe.

NOM DE LA CLASSE
- Attribut1 : type
- Attribut2 : type

Rédigé par HAOUWAOU 18I046IU 17


COMPARATEUR DE PRIX DES MEDICAMENTS

- Methode1 (argument) : type retour


- Methode2 (argument) : type retour

Figure 5 : Schéma de représentation d’une classe


Formalisme :

Devant chaque attribut ou méthode, est placée une visibilité. UML défini 03 niveaux de
visibilité pour les attributs et méthodes :

 Public (+) : l’élément est visible pour tous les objets de la classe ;
 Protégé (#) : l’élément est visible pour tous les sous classes de la classe ;
 Privé (-) : l’élément n’est visible que par les objets de la classe dans laquelle il est
déclaré.

Association :

L’association est la relation la plus courrante et la plus riche du point de vue


sémantique.Une association est une relation statique n-aire (le plus souvent : elle est binaire) :
c’est-à-dire qu’elle relie plusieurs classes entre elles.

Cardinalité :

La cardinalité ou multiplicité défini le nombre d’instance de l’association pour une


instance de la classe. Nous représentons toutes les cardinalités possible qu’on peut avoir dans
le tableau suivant :

Cardinalités Signification

1 Un et un seul

0..* Zéro ou un

N ou * Entier naturel

M…N De M à N

Rédigé par HAOUWAOU 18I046IU 18


COMPARATEUR DE PRIX DES MEDICAMENTS

0..* De zéro à plusieurs

1..* D’un a plusieurs

La figure suivante présente le diagramme de classe au niveau conceptuel du système


que nous mettons en place.

Figure 6 : Diagramme de classe du comparateur de prix des médicaments

Rédigé par HAOUWAOU 18I046IU 19


COMPARATEUR DE PRIX DES MEDICAMENTS

IV. CONCEPTION
L’objectif de la phase de conception est de proposer une solution conceptuelle qui
répond aux besoins définis et spécifiés lors de la phase d’analyse. Elle permet de spécifier une
solution informatique qui sera ensuite concrétisée ultérieurement.

Au cours de la phase d’analyse, nous nous sommes concentrés sur ce qui devait être fait,
le quoi, indépendamment de la manière de le faire, le comment. Au cours de la conception, des
décisions doivent être prises concernant la façon de résoudre le problème, d’abord à un niveau
général, puis à des niveaux de détail plus précis.

1. Conception génerale du systeme


La conception générale du système est la première étape de conception, au cours de
laquelle doit être choisie une approche de base pour la résolution du problème. Pendant la
conception du système, on décide de la structure générale et du style à adopter. L’architecture
du système désigne l’organisation du système en composants appelés sous-systèmes.
L’architecture fournit alors le contexte dans lequel seront prises des décisions plus détaillées,
au cours des phases ultérieures de conception. En prenant des décisions de haut niveau
s’appliquant au système entier, le concepteur effectue une décomposition du système en sous-
systèmes, afin que les suivants puissent être assurés par plusieurs concepteurs travaillant
indépendamment sur des sous-systèmes différents.

2. Conception détaillée du système


Cette partie va mettre en évidence les différentes ressources de conception qui ont été
mise en œuvre pour la réalisation de l’application.

a. Architecture de l’application
L’architecture qui est mise en évidence pour cette application est l’architecture web
classique.Cette architecture est présentée comme suit :

Rédigé par HAOUWAOU 18I046IU 20


COMPARATEUR DE PRIX DES MEDICAMENTS

CLIENTS SERVEUR WEB SERVEUR DE


Requêtes Requêtes DONNEES
HTTP SQL

Navigateur internet :
- Google chrome Serveur web Apache
- Mozilla Firefox Page Données SGBD MySQL
- Opera HTML
- Internet Explorer…

Figure 7: Architecture de l’application

b. Structrure des répertoires


Un autre problème important sur lequel nous nous sommes confrontés, et qui est
généralement courant lorsqu’un projet est délivré à d’autres personnes pour le terminer ou pour
y apporter des améliorations, est qu’on ne sait pas où aller pour faire quoi dans la grande liste
de dossiers/ sous-dossiers lorsque ces derniers n’ont pas été décrit. Alors pour pallier ce
problème, le choix de développement de l’application s’est porté sur le Framework
CodeIgniter qui pose une très bonne structuration des répertoires et donc une bonne
organisation. La figure suivante illustre l’organisation des répertoires de ce Framework.

Rédigé par HAOUWAOU 18I046IU 21


COMPARATEUR DE PRIX DES MEDICAMENTS

Figure 8 :Architecture des répertoires de CodeIgniter

Dans ce chapitre nous avons présenté la modélisation du système Dans le chapitre


suivant nous allons présenter l’implémentation et tests.

Rédigé par HAOUWAOU 18I046IU 22


COMPARATEUR DE PRIX DES MEDICAMENTS

CHAPITRE 3 :
IMPLEMENTATION ET
TESTS

Rédigé par HAOUWAOU 18I046IU


COMPARATEUR DE PRIX DES MEDICAMENTS

CHAPITRE 3 : IMPLEMENTATION ET TESTS

I. IMPLEMENTATION
Dans ce chapitre, nous parlons de l’environnement de développement et nous présentons
aussi l’implémentation du système. Nous parlons des technologies utilisées pour le
développement de l’application, tel que les langages de programmation, le SGBD, etc. Nous
terminons par présenter quelques captures d’écran de notre application.

1. Présentation du serveur web Apache


Un serveur HTTP est un logiciel permettant à des machines clientes d’accéder à des
pages web à partir d’un navigateur (aussi appelé browser) installé sur un ordinateur distant.

Le terme serveur web est utilisé pour désigner l’ordinateur sur lequel fonctionne un
serveur http. Mais le terme serveur web peut aussi désigner le serveur http (le logiciel) lui-
même. Les deux termes sont utilisés pour le logiciel car le protocole http a été développé pour
le web et les pages web sont en pratique toujours servies avec ce protocole. Un serveur web est
donc un logiciel servant à exécuter des requêtes respectant le protocole de communication
client-serveur HyperText Transfert Protocol (HTTP) en utilisant le port associé (par défaut le
port 80).

Les principaux serveur web sur le marché sont entre autres :

 Microsoft IIS (Internet Information Server) ;


 Microsoft PWS (Personal Web Server) ;
 Apache ;
 Sun One de Sun Microsystems (anciennement iPlanet de Netscape
Communication Corporation) ;
 Le serveur Web Zeus de Zeus Technologie.

Le serveur sur lequel notre application a été testé est le serveur Apache et c’est ce dernier
qui fera l’objet de notre présentation.

Apache est un serveur web open source basé sur le protocole http ; Apache est produit
par « Apache Software Fondation ». Il fonctionne principalement sur les systèmes

Rédigé par HAOUWAOU 18I046IU 23


COMPARATEUR DE PRIX DES MEDICAMENTS

d’exploitation Windows et Unix/Linux. La première version est sortie en décembre 1995. La


version Windows n’est considérée comme stable que depuis la version 2 d’apache. La dernière
version est Apache 2.2. Apache est redistribué sous d’autre nom par des nombreuses
entreprises, dont IBM et ORACLE Corporation. Apache est conçu pour supporter de nombreux
modules lui donnant des fonctionnalités supplémentaires : interprétation du langage Perl, PHP
et Python, serveur Proxy, protocoles de communication additionnels, etc.

Les possibilités de configuration d’apache sont ses fonctionnalités phares. Le principe


repose sur une hiérarchie des fichiers de configuration, qui peuvent être gérés indépendamment.

2. Présentation du serveur de base de données MYSQL


MySQL est un SGBD (Système de Gestion de Base de Données) développé par la
société suédoise PYSQL AB, ex TCX DataKonsult AB. Ce SGBDR est livré et fonctionne sous
plusieurs versions selon les plates-formes (Linux et Windows). Depuis la version 3.23.19,
MySQL est sous licence GPL (General Public Licence), ce qui signifie qu’il peut être utilisé
gratuitement.

MySQL est un véritable serveur de base de données multi utilisateur, ses principaux
atouts sont la robustesse, la fiabilité et la facilité d’utilisation. Pour les plates-formes Unix et
OS/2, MySQL est libre.

Les clients peuvent se connecter à MySQL en utilisant les sockets TCP/IP, les sockets
Unix ou les named piped. Le serveur MySQL dispose d’un support d’ODBC (Open-DataBase-
Connectivity). On peut par exemple, utiliser MS Access pour se connecter au serveur MySQL.
Nous pouvons dire de ce SGBD (avec sa version 5.0) :

 Qu’il permet des enregistrements de longueur fixe ou variable ;


 Charges supportées et limites : le serveur MySQL est utilisé par MySQL AB
avec des tables qui contiennent 50.000.000 de lignes, 60.000 tables, jusqu’à 32
index sont permis par table ;
 Utilisation des procédures et fonctions stockées : les procédures et fonctions
stockées (Stored Procedures, en abrégé SP) sont du code applicatif entreposé et
exécuté au sein du serveur de base de données. Ce code combine commande
SQL, structure de contrôle, variable, tout comme une fonction ou méthode dans
n’importe quel langage de programmation.

Rédigé par HAOUWAOU 18I046IU 24


COMPARATEUR DE PRIX DES MEDICAMENTS

Malgré toutes ses capacités MySQL n’est pas un SGBD totalement parfait. Il existe
quelques soucis quant à la manière dont ce SGBD gère les clés des enregistrements et les
relations entre tables.

3. Présentation des langages utilisés


Pour l’implémentation de l’application web à mettre en place, nous avons utilisés des
langages de programmation côté client (interprété par le navigateur web) et des langages de
programmation côté serveur(interprété par le serveur web).

a. Langages de programmation côté client


Les langages de programmation côté client que nous avons utilisés sont le HTML, le
JavaScript, le CSS.

 HTML

Langage de balisage utilisé pour structurer et donner du sens au contenu web. Par exemple :
définir des paragraphes, titres et tables de données ou encore intégrer des images ou des vidéos
dans une page [5].

 CSS

Langage de règles de style utilisé pour mettre en forme le contenu HTML. Par exemple : en
modifiant la couleur d’arrière-plan ou les polices, ou en disposant le contenu en plusieurs
colonnes [5].

 JavaScript

En abrégé « JS » est un langage de programmation dynamique complet qui, appliqué à un


document HTML, peut fournir une interactivité dynamique sur les sites Web. Il a été inventé
par Brendan Eich, co-fondateur du projet Mozilla, de Mozilla Fondation de Mozilla Corporation
[6].

b. Langage de programmation côté serveur


Les langages de programmation côté serveur sont interprétés et exécutés sur la machine
désignée comme serveur. L’utilisateur n’a pas accès au code source de la page visualisée. Il
existe plusieurs langages de programmation coté serveur tels que : le PHP, ASP (Active Server

Rédigé par HAOUWAOU 18I046IU 25


COMPARATEUR DE PRIX DES MEDICAMENTS

Page), C#, JSP (Java Server Page), Perl, etc. Le langage utilisé ici est le PHP .Nous présentons
ainsi ce langage :

 PHP

PHP (HyperText Preprocessor) est un langage de programmation interprété.


Correctement interfacé avec Apache, il permet au serveur de fournir des pages dynamiquement
générées en fonction des besoins des utilisateurs. En clair, la page n’est plus un document
statique mais peut évoluer, afficher des informations différentes selon le souhait de l’utilisateur.

Empruntant des concepts à des langages comme le C ou le Perl, PHP est un langage de
script capable de fonctionner sur n’importe quelle plateforme. En effet, chacun des systèmes
d’exploitation Windows, Unix, Linux ou encore Mac OSX, peut devenir un support pour des
applications Internet écrites en PHP en accueillant un module spécifique s’intégrant au serveur
Web en place. Ainsi la plupart des serveurs web à l’image de Microsoft IIS, Netscape Enterprise
Server ou encore Apache supporte parfaitement le PHP.

4. Présentation des outils utilisés.


a. Outils logiciels

Les outils logiciels principalement utilisés pour la mise en place de la plateforme web
sont Sublime Text et XAMPP.

Sublime Text est un éditeur de texte codé en Python et C++ qui présente une interface
originale ainsi que de nombreuses fonctionnalités. Elle dispose de toutes les fonctions
nécessaires pour créer et éditer du code en toute commodité et de façon pratique. Sublime Text
veut éviter les distractions et réussir la plus grande efficacité au moment de localiser les codes
et les lignes de texte recherchés. Il, permet d’éditer du code en PHP, en HTML ,en JavaScript
,etc. Il est compatible aussi bien sur Windows que sur Mac et sur Linux, et il est essentiellement
dédié aux codeurs travaillant en PHP. La plupart des licences sont payantes, et elles permettent
de mettre à jour la plateforme gratuitement pendant un an. Il existe également une version
gratuite pour mener à bien des projets open source.

Sublime Text a plusieurs atouts parmi lesquels, vous disposerez de la coloration


syntaxique, de l'auto-complétion et de plusieurs outils de recherche. Une barre latérale, aussi
appelée minimap offre la possibilité de naviguer et prévisualiser rapidement votre code source.

Rédigé par HAOUWAOU 18I046IU 26


COMPARATEUR DE PRIX DES MEDICAMENTS

De plus, vous aurez les moyens d'utiliser des macros pour automatiser vos tâches et simplifier
votre travail. Dans la même lignée, le logiciel intègre la sauvegarde automatique de vos projets.

Sublime Text se distingue également grâce aux nombreux langages de programmation


compatibles avec les standards JavaScript, C, C++, C#, LaTeX, Perl, PHP, Ruby, CSS, SQL,
XML ou encore XLS.

Cet éditeur de texte affiche une interface épurée et soignée qui s'avère simple et agréable
à prendre en main. Un atout notable au regard de certaines interfaces austères présentées par
d'autres outils du même genre.

XAMPP est une plateforme de développement Web de type WAMP, permettant de faire
fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. XAMPP n'est
pas en soi un logiciel, mais un environnement comprenant que phpMyAdmin pour
l'administration Web des bases de données MySQL.

On a la possibilité d'y installer et d'utiliser n'importe quelle version de PHP, Apache ou


MySQL en un clic. Ainsi, chaque développeur peut reproduire fidèlement son serveur de
production sur sa machine locale

b. Outils matériels
Nous avons utilisé un ordinateur :

 Marque : Lenovo
 Processeur : Intel® Core™ i3-3120M CPU 0N3050 @ 2.50GHz 2.50 GHz
 Mémoire vive : 4.00 GB RAM
 Système d’exploitation : Windows 10 64 bits

5. Présentation des framework utilisés


Un Framework est, comme son nom l’indique en anglais, un “cadre de
travail“. L’objectif d’un Framework est généralement de simplifier le travail des
développeurs informatiques (les codeurs si vous préférez), en leur offrant une
architecture “prête à l’emploi” et qui leur permette de ne pas repartir de zéro à chaque
nouveau projet. Ainsi, nous avons utilisé :
a. Bootstrap 4
Bootstrap est une collection d'outils utiles à la création du design de sites et
d'applications web. C'est un ensemble qui contient des codes HTML et CSS, des

Rédigé par HAOUWAOU 18I046IU 27


COMPARATEUR DE PRIX DES MEDICAMENTS

formulaires, boutons, outils de navigation et autres éléments interactifs, ainsi que des
extensions JavaScript en option.

b. JQuery 3
JQuery est une bibliothèque JavaScript libre et multiplateforme créée pour faciliter
l'écriture de scripts côté client dans le code HTML des pages web. La première
version est lancée en janvier 2006 par John Resig.

c. CodeIgniter
CodeIgniter est un Framework libre écrit en PHP. Il suit le motif de conception
MVC et s'inspire du fonctionnement de Ruby on Rails. Les versions inférieures à la
2.0.0 sont compatibles avec PHP 4 et 5, tandis que celles supérieures à la 2.0.0 ne sont
compatibles qu'avec PHP 5.1.6 ou plus.
d. Font Awesome
Font Awesome est une police d'écriture et un outil d'icônes qui se base sur CSS,
LESS et SASS. Ce framework permet d’ajouter des icônes dans les pages web, les
boutons, les liens par exemple.
Dans la section qui suit, nous allons présenter le fonctionnement de notre système en
présentant les quelques captures d’écrans de ses interfaces.

II. TESTS
Cette section présente les aspects techniques relatifs à la mise en œuvre de ces services.

Rédigé par HAOUWAOU 18I046IU 28


COMPARATEUR DE PRIX DES MEDICAMENTS

Interfaces de la partie frontend

Figure 9: Page d’accueil


La figure 9 est la page d’accueil d’un internaute. Sur cette page, l’internaute à la
possibilité de faire la recherche sur un médicament, de consulter la liste des pharmacies de
gardes, de se connecter ou de s’inscrire.

Rédigé par HAOUWAOU 18I046IU 29


COMPARATEUR DE PRIX DES MEDICAMENTS

Figure 10 :Formulaire de connexion

Figure 11: Liste des pharmacies de garde


La figure 11 est la liste des pharmacies de garde.

Rédigé par HAOUWAOU 18I046IU 30


COMPARATEUR DE PRIX DES MEDICAMENTS

Figure 12 : Page des résultats d’une recherche sur un médicament


La figure 12 est la page qui s’affiche lorsque le nom du médicament renseigner par
l’internaute correspond aux médicaments enregistrés dans la base de données.

Figure 13 : Page de demande d’achat d’un médicament


La figure 13 est la page qui permet d’afficher les pharmacies qui possède le médicament et
leurs différents prix. Sur cette page, un inscrit peut également envoyer une demande d’achat
du médicament.
Interfaces de la partie Backend

Rédigé par HAOUWAOU 18I046IU 31


COMPARATEUR DE PRIX DES MEDICAMENTS

Figure 14 : Formulaire d’enregistrement d’un médicament


La figure 14 est un formulaire d’enregistrement d’un médicament.

Figure 15 :Formulaire d’enregistrement d’une pharmacie


La figure 15 est un formulaire d’enregistrement d’une pharmacie.

Rédigé par HAOUWAOU 18I046IU 32


COMPARATEUR DE PRIX DES MEDICAMENTS

Figure 16 :Liste des pharmacies de garde


La figure 16 permet de voir la liste des pharmacies de garde d’une période donnée et
d’imprimer la liste de ces dernières.

Figure 17 :Liste des médicaments par pharmacie

Rédigé par HAOUWAOU 18I046IU 33


COMPARATEUR DE PRIX DES MEDICAMENTS

La figure 17 est la liste des médicaments par pharmacie. Sur cette liste on a la possibilité
de modifier le prix et la quantité de ce médicament dans la pharmacie ainsi que d’imprimer
cette liste.

Figure 18 :Liste des utilisateurs


La figure 18 est la liste des utilisateurs. Sur cette page un administrateur à la possibilité
d’ajouter un utilisateur, modifier un utilisateur et de supprimer un utilisateur.
Dans ce chapitre, nous avons présenté dans ce chapitre l’implémentation de notre
solution en ses différentes interfaces.

Rédigé par HAOUWAOU 18I046IU 34


COMPARATEUR DE PRIX DES MEDICAMENTS

CONCLUSION ET PERSPECTIVES

Dans le cadre de notre projet de fin d’étude, il a été question de mettre sur pied un
comparateur de prix des médicaments. Le présent document détaille toutes les étapes par
lesquelles nous sommes passés pour arriver au résultat attendu.

En définitive, nous avons développé une application qui répond aux exigences
spécifiées. En effet cette application permet entre autres à un usager de faire une recherche sur
un médicament, comparer le prix de ce médicament, consulter la liste des pharmacies de garde
et bien d’autres. Cette application est simple d’utilisation et permet à un usager de consulter la
disponibilité d’un médicament. Par ailleurs, il serait intéressant d’agréger un module de gestion
des demandes d’achats d’un médicament entre une pharmacie et un usager.

Rédigé par HAOUWAOU 18I046IU 35


COMPARATEUR DE PRIX DES MEDICAMENTS

REFERENCES BIBLIOGRAPHIQUES

Rapport de Fin d’étude :


- [1] ABDOULAZIZ BIA, Développement d’une application de gestion de notes,
mémoire DUT, IUT de Ngaoundéré, 2019.

Livres support de cours :

- [2] Pascal ROQUES, UML2 par la pratique livre, édition Eyrolles, 2008.
- [3] NDAM NJOYA Arouna, Analyse et Conception en UML, Support de cours,
IUT de Ngaoundéré,2019.
Liens internet :
 [4]https://www.codeigniter.com/ tout au long du stage ;
 [5]https://developer.mozilla.org/fr/docs/Learn/JavaScript/First_steps/What_is_JavaScr
ipt ,visité le 13/10/2020.
 [6] https://developer.mozilla.org/fr/docs/Web/JavaScript, visité le 13 /10/2020.

Rédigé par HAOUWAOU 18I046IU 36


COMPARATEUR DE PRIX DES MEDICAMENTS

ANNEXES

Annexe 1 :Organigramme de l’IUT

Rédigé par HAOUWAOU 18I046IU 37


COMPARATEUR DE PRIX DES MEDICAMENTS

Annexe 2 :Plan de localisation de l’IUT

Rédigé par HAOUWAOU 18I046IU 38


COMPARATEUR DE PRIX DES MEDICAMENTS

Rédigé par HAOUWAOU 18I046IU 39

Vous aimerez peut-être aussi