Académique Documents
Professionnel Documents
Culture Documents
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
THEME :
COMPARATEUR DE PRIX DES
MEDICAMENTS
HAOUWAOU
18I046IU
Encadreur Industrielle : Encadreur Académique :
Dr. NDAM NJOYA Arouna Dr. NDAM NJOYA Arouna
(Chargé de Cours IUT) (Chargé de Cours IUT)
DEDICACE
Je dédie ce travail :
À mes parents
REMERCIEMENTS
A mes parents
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 :
PRESENTATION DE L’ENTREPRISE
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 :
• 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 ;
• Le service des stages qui est chargé de la gestion des étudiants en stage et des relations
avec les entreprises.
• 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.
• 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).
- Génie Électrique ;
- Génie Mécanique ;
- Génie de l’Environnement ;
- Génie Logiciel ;
- Réseautique et Internet.
Sigle IUT
Logo
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.
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.
INTRODUCTION
GENERALE
INTRODUCTION
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.
CHAPITRE 1 :
PROBLEMATIQUE DU
COMPARATEUR DE PRIX
DES MEDICAMENTS
CHAPITRE 1 : PROBLEMATIQUE DU
COMPARATEUR DE PRIX DES MEDICAMENTS
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
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 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 ;
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.
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.
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.
Acteur
Acteur
Figure 1 : Schéma de représentation d’un acteur
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 :
Cas 1
Système
Nom S’authentifier
Nom rechercherMédicament
Précondition aucune
Nom consulterListePharmaGarde
Nom consulterListeMédicPharma
Nom affecterMédicamentAUnePharmacie
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
Nom retirerMédicamentAUnePharmacie
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 :
NOM DE LA CLASSE
- Attribut1 : type
- Attribut2 : type
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 :
Cardinalité :
Cardinalités Signification
1 Un et un seul
0..* Zéro ou un
N ou * Entier naturel
M…N De M à N
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.
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 :
Navigateur internet :
- Google chrome Serveur web Apache
- Mozilla Firefox Page Données SGBD MySQL
- Opera HTML
- Internet Explorer…
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.
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).
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
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) :
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.
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
Page), C#, JSP (Java Server Page), Perl, etc. Le langage utilisé ici est le PHP .Nous présentons
ainsi ce langage :
PHP
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.
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.
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.
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.
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
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.
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.
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.
REFERENCES BIBLIOGRAPHIQUES
- [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.
ANNEXES