Memoire Finale 3
Memoire Finale 3
Memoire Finale 3
A
Nos Familles
1
REMERCIEMENTS
De nombreuses personnes ont contribué scientifiquement, intellectuellement,
techniquement, spirituellement et financièrement à la réussite de ce parcours et de ce projet,
et nous tenons sincèrement à leur exprimer ici notre gratitude et notre profonde
reconnaissance. Nous saisissons donc cette opportunité pour remercier particulièrement :
Les membres du jury, qui n’ont ménagé aucun effort à accepter d’évaluer notre
travail : nous nous sentons honorés ;
Pr. MOUANGUE Ruben, Directeur de l’École Nationale Supérieure Polytechnique
de Douala pour son dynamisme et l’abnégation au travail bien fait ;
Dr MATANGA Jean Jacques et M. MIMBEU Yves, Nos encadreurs académiques
pour leurs très grande disponibilité, encouragements, conseils, orientations, rigueurs
et le soutien inconditionnel qui nous a permis d’améliorer ce travail et nos capacités ;
Nos enseignants de l’ENSPD et en particulier ceux du Département de TTIC, qui
ont toujours cultivés en nous la quête de l’amélioration et ont toujours sus répondre en
temps opportun à nos diverses interpellations et qui ont assuré notre formation durant
tout ce cycle ;
M. ATEMKENG Aurélien et M. KUETCHE Platini, Nos Encadreurs
professionnels pour le suivi professionnel, la disponibilité et le cadre de travail
agréable qu’ils nous ont fourni.
Nos camarades de promotion, pour les échanges de documentations ayant ainsi
facilité l’élaboration de notre travail et aussi pour avoir cultivé un esprit de solidarité
et de fraternité avec nous, facilitant ainsi notre insertion dans le milieu éducatif.
Notre gratitude à tous ceux qui nous ont soutenus de près ou de loin dans cette œuvre
et dont les noms restent anonymes mais plutôt prestigieusement considérés.
2
AVANT-PROPOS
Mécanique et matériaux ;
Géophysique, eau et environnement ;
Electronique, électrotechnique, automatisme et télécommunication ;
Energie ;
Chimie appliquée ;
Science des données et intelligence artificielle
Cursus de masters professionnels dans les spécialités suivantes :
Hydrocarbures et développement durable ;
Géotechnique et infrastructure ;
Construction métallique et mécanique ;
3
Génie industriel et maintenance ;
Ingénierie thermique et énergie ;
Génie informatique option ingénierie logiciel ;
Mécatronique et gestion technique des équipements.
Les étudiants y sont admis par voie de concours en 1ère année et en 3ème année pour le
cursus d’ingénieur et 1ere année pour le cursus des sciences de l’ingénieur et sur étude de
dossier pour le master professionnel. Les enseignements y sont organisés en cours
magistraux, travaux dirigés, travaux pratiques, travaux personnels, visites d’entreprise et
stages techniques.
Les études sont effectuées en trois cycles : Les enseignements du 1er cycle s’étalent sur six
semestres et ont pour principal objectif « d’initier les étudiants aux techniques industrielles »
afin d’assister les ingénieurs. La validation de toutes les Unités d’Enseignement (UE) du 1er
cycle correspondant au quota requis donne droit à une admission au 2nd cycle et à l’obtention
d’une Licence en science de l’ingénieur pour le cursus science de l’ingénieur.
Le second cycle s’étend sur quatre semestres dit de « spécialisation ». Les étudiants ayant
choisi leur filière en fin de premier cycle se spécialisent en choisissant un axe pour
l’élaboration d’un profil particulier et personnel. En effet, l’étudiant a un quota d’unités
d’enseignements obligatoires et des optionnelles au choix en fonction de son profil. Les
objectifs du 2nd cycle sont :
4
science de l’ingénieur pour le cursus science de l’ingénieur donnant lieu au passage
au 3eme cycle et celui de master 2 professionnel pour le cursus master professionnel.
RESUME
5
ABSTRACT
6
LISTE DES FIGURES
Figure 1. 1: Schémas d’un IAAS [4]..........................................................................................4
Figure 1. 2: Schémas d’un PAAS [4].........................................................................................4
Figure 1. 3: Schémas d’un SAAS [4].........................................................................................5
Figure 1. 4: Pyramide du Cloud Computing [5]........................................................................5
Figure 1. 5: Modèle de développement en cascade [8]..............................................................6
Figure 1. 6: Modèle de développement en V [8]........................................................................6
Figure 1. 7: Le modèle de développement itératif [8]................................................................7
Figure 1. 8: Architecture de Devups..........................................................................................9
Figure 1. 9: Organigramme de SPACEKOLA.........................................................................11
Figure 1. 10: Diagramme de Gantt...........................................................................................22
7
Figure 3. 1: Migration de la table pharmacie 44
Figure 3. 2: Migration de la table inventaire............................................................................45
Figure 3. 3: Orchestration et Automatisation des migrations dans Talend...............................45
Figure 3. 4: Automatisation de la Mise à jour du data Warehouse...........................................46
Figure 3. 5: Page d’inscription.................................................................................................46
Figure 3. 6: Page d’authentification.........................................................................................47
Figure 3. 7: Page de visualisation des tâches...........................................................................48
Figure 3. 8: Menu de détails d’une tâche.................................................................................48
Figure 3. 9: Page de consultation des produits.........................................................................49
Figure 3. 10: Page de consultation des clients.........................................................................50
Figure 3. 11: Tableau de bord de l’administrateur...................................................................50
Figure 3. 12: Page de gestion des utilisateurs..........................................................................51
Figure 3. 13: Modale de création d’un utilisateur....................................................................51
8
LISTE DES TABLEAUX
Tableau 1. 1: Identité de SPACEKOLA...................................................................................10
Tableau 1. 2: Services de SPACEKOLA..................................................................................10
Tableau 1. 3: Avantages et limites de l’existant.......................................................................15
Tableau 1. 4: Acteurs du projet.................................................................................................21
9
LISTES DES ABREVIATIONS
AFNOR : Association Française de Normalisation
AJAX : Asynchronous JavaScript and XML
API : Application Programming Interface
AWS : Amazon Web Service
BI : Business Intelligence
COCOMO : Constructive Cost Model
CTO : Chief Technical Officer
EJD : ESSEC Junior Développement
ENSPD : École Nationale Supérieure Polytechnique de Douala
ETL : Extraction Transformation Loading
IA : Intelligence Artificielle
IAAS : Infrastructure As A Service
IDE : Environnement de Développement Intégré
KLS : Kilo Ligne Source
MVC : Modele-Vue-Controlleur
NIST : National Institute of Standards and Technology
OMG : Object Management Group
ORM : Object-Relational Mapping
PAAS : Plateform As A Service
PHP : Hypertext Preprocessor
SAAS : Software As A Service
SGBD : Système de Gestion de Base de Données
TIC : Technologie de l’Information et de la Communication
UML : Unified Modeling Language
10
TABLE DES MATIÈRES
DEDICACE................................................................................................................................i
REMERCIEMENTS..................................................................................................................ii
AVANT-PROPOS.....................................................................................................................iii
RESUME....................................................................................................................................v
ABSTRACT..............................................................................................................................vi
INTRODUCTION GENERALE...............................................................................................1
1.1.2 Le cloud................................................................................................................2
1.1.3.5 Devups..............................................................................................................8
11
1.2.1.2 Service de SPACEKOLA...............................................................................10
1.2.1.3 Organigramme................................................................................................11
1.2.3.3 Solution...........................................................................................................16
1.2.4.2 Objectifs.........................................................................................................17
2.1 Méthodologie.............................................................................................................23
2.2.1.2 Exigences........................................................................................................25
2.3 Conception.................................................................................................................28
12
2.3.2 Modélisation dimensionnelle du data warehouse..............................................29
3.1.1.2 Inventaire........................................................................................................44
13
3.2.2.1 Interfaces d’accueil.........................................................................................50
CONCLUSION GENERALE..................................................................................................56
REFERENCES BIBLIOGRAPHIQUES.................................................................................57
14
INTRODUCTION GENERALE
Actuellement, le monde connaît une avancée technologique considérable dans tous les
secteurs et cela grâce à l'informatique qui est une science étudiant les techniques du
traitement automatique de l'information. Elle joue un rôle important dans le développement
de l'entreprise et d'autres établissements notamment les pharmacies.
L’utilisation des outils logiciels dans les pharmacies facilite la gestion des opérations au
sein de celle-ci, elle permet des gains de temps et d’énergie et d’accroitre sa rentabilité.
Cependant avec l’augmentation de la production de médicaments et des ventes de produits,
ces pharmacies produisent de grandes quantités de données, mais la plupart des outils
logiciels utilisés ne permettent pas l’exploitation. Par ailleurs avec l’augmentation des
effectifs au sein de ces entreprises, il est de plus en plus difficile d’organiser et de suivre
l’évolution du travail du personnel. C’est pour apporter un début de solution à ces problèmes
que la plateforme MEDOCLAB a été pensée. En effet basée sur le cloud elle vient en
complément au système existant. Elle permettra à une pharmacie d’exploiter ses données de
façon optimale, facilitera l’observation statistique et améliorera la prise de décision dans
Dans le cadre donc de la réalisation du projet, nous avons divisé notre travail en trois (03)
chapitres. De prime abord, le premier chapitre fait l’état de l’art sur les solution logicielle
cloud du domaine pharmaceutique, on y aborde également les notions du génie logiciel, nous
présentons le projet dans son cahier de charge, ainsi que l’entreprise d’accueil. Ensuite on
fera une analyse et conception de notre solution dans le second chapitre. Dans le dernier
chapitre, enfin on échouera sur les résultats et l’évaluation financière de la plateforme.
1
CHAPITRE 1 : ETAT DE L’ART ET CONTEXTE
Dans ce chapitre il sera question de faire une étude sur les logiciels de gestion de
pharmacies existants ; nous présenterons quelques notions sur le génie logiciel. Puis nous
présenterons l’entreprise d’accueil ainsi que le contexte du projet et son cahier de charge.
1.1 Etat de l’art
L’état de l’art ici fait référence à l’évolution du marché des pharmacies, aux notions
générales du cloud ainsi qu’à quelques notions du génie logiciel.
1.1.2 Le cloud
Selon le groupe Gartner : le Cloud Computing (ou "informatique en nuage" en Français)
regroupe « l’ensemble des disciplines, technologies et modèles d’entreprise utilisé pour
fournir des capacités informatiques (logiciels, plates-formes, matériels) à la manière d’un
2
service à la demande, évolutif et élastique. » [3]. C’est un concept qui réfère à la fourniture de
services informatiques, tels que le stockage de données, le traitement de données et les
applications, via internet. Au lieu de stocker ou de traiter des données localement sur un
ordinateur ou un serveur physique, les utilisateurs peuvent accéder à ces services à distance
via des serveurs distants, généralement gérés par des tiers fournisseurs.
3
c. Le cloud communautaire fait référence à une architecture dédiée à une communauté
professionnelle spécifique incluant partenaires, et sous-traitants, pour travailler de
manière collaborative sur un même projet [3].
4
Figure 1. 2: Schémas d’un PAAS [4]
Ces trois éléments constituent ce que l’on appelle la pyramide du cloud computing
schématisée comme suit :
5
Figure 1. 4: Pyramide du Cloud Computing [5]
b. Le modèle de développement en V
Dans ce type de modèle, les différentes phases sont planifiées en parallèle. Les phases de
vérification du logiciel et de sa validation se font parallèlement et en simultané. Le modèle en
V est venu améliorer le modèle en cascade dans la mesure où celui-ci réduit les retour-
arrières en établissant des liaisons entre les différentes étapes de développement, permettant
de passer de l’une vers l’autre en cas de besoin [7].
6
Figure 1. 6: Modèle de développement en V [8]
7
La méthode Extreme Programming ;
La méthode KANBAN [9].
adopté par l'Object Management Group (OMG) qui est l'organisation responsable de sa
définition et de son évolution. Il est utilisé pour spécifier, visualiser, modifier et construire les
documents nécessaires au bon développement d'un logiciel orienté objet.
1.1.3.5 Devups
Devups est un Framework camerounais de développement web open-source écrit en PHP
développe par l’entreprise SPACEKOLA. Il a été créé pour simplifier le processus de
développement web en offrant une structure de base pour les applications web. Il est basé sur
la combinaison de l'OOP/ORM stricte avec la simplicité de l’ORM (Object-Relational
Mapping) et la simplicité du querybuilder(template engine). De plus, il comporte un puissant
form builder, un form filling d'entité, un lazy loading, un data table, une entity collection, un
8
gestionnaire de fichiers et une activité sans état avec AJAX (Asynchronous JavaScript and
XML), ainsi que deux niveaux de modularité. Il dispose également d'un administrateur par
défaut avec une gestion complète des droits et des rôles sur les modules et les entités. Il est
basé sur le design pattern MVC(Modele-Vue-Controlleur) et son architecture se présente
comme suit :
9
Elle a à son actif plusieurs produits notamment : la Marketplace BUYAMSELLAM [12]qui
permet de promouvoir le commerce local et le Framework Devups qui est utilisé pour le
développement des applications au sein de SPACEKOLA.
Email info@spacekola.com
N RCCM RC/YAO/2018/A/172
Services Description
10
Flyers, logo, Brochures, magazines, Vidéos
Graphisme
publicitaires, Design d’application
1.2.1.3 Organigramme
L’équipe de SPACEKOLA est dirigée par 03 ingénieurs partageant la responsabilité
d'associé gérant et d’un staff technique d’environ huit membres.
11
Figure 1. 9: Organigramme de SPACEKOLA
12
pharmacie peuvent les aider à atteindre cet objectif en leur offrant des outils pour
mieux gérer leur entreprise et améliorer leur service client.
a. Winpharma cloud
Winpharma cloud est une version cloud du logiciel de gestion intégré de pharmacie
Winpharma qui est hébergée sur le cloud. Winpharma cloud offre toutes les
fonctionnalités du logiciel Winpharma à savoir:
La gestion du stock,
La gestion des ventes,
La gestion de l’ordonnance,
La gestion des clients,
La gestion des fournisseurs.
Les coûts d'acquisition de Winpharma Cloud varient en fonction de la taille et de la
complexité de votre organisation. Voici quelques-uns des facteurs qui peuvent influer sur le
coût: le nombre d'utilisateurs, la quantité de données stockées, etc. Les frais d’abonnements
se font de façon mensuelle et annuelle. Par exemple, une petite organisation comptant 10
utilisateurs et 1 To de données peut payer quelques milliers de dollars par an pour
Winpharma Cloud. Une grande organisation avec 1 000 utilisateurs et 10 To de données peut
payer des dizaines de milliers de dollars par an.
b. NextPharm
13
NextPharm cloud est un système de gestion intégré de pharmacie basé sur le cloud, conçu
pour permettre aux pharmacies de gérer leur activité de manière efficace et rentable.
NextPharm offre plusieurs fonctionnalités à savoir:
La gestion de stock,
La gestion de vente,
La gestion des ordonnances ;
La gestion des clients ;
L’intégration à d'autres systèmes devient plus facile avec NextPharm cloud. Il fournit des
données et des informations en temps réel sur les activités de la pharmacie. Cela peut vous
aider à prendre de meilleures décisions et à améliorer les services rendus aux patients.
Les frais d'abonnement à NextPharm cloud sont basés sur le nombre d'utilisateurs et la
quantité de données analysées. Le prix commence à 10 000 dollars par an pour un seul
utilisateur et 100 Go de données. Pour un plus grand nombre d'utilisateurs et de données, le
prix augmente.
c. PioneerRx cloud
PioneerRx cloud est un système de gestion de pharmacie basé sur le cloud proposé par
PioneerRx, une entreprise spécialisée dans les logiciels de gestion de pharmacie. Il aide les
pharmacies indépendantes à rationaliser leurs opérations, à améliorer les soins aux patients et
à gérer efficacement leur pharmacie. Il offre une suite complète de fonctionnalités,
notamment :
La gestion des stocks;
La gestion des formulaires de suivi des commandes et des factures;
La gestion des réclamations.
Les frais d'abonnement à PioneerRx varient en fonction de la taille de la pharmacie et des
fonctionnalités sélectionnées. Les frais d'abonnement de base pour une petite pharmacie
commencent à 50 $ par utilisateur et par mois. Des fonctionnalités supplémentaires, telles que
la prescription électronique et la vérification des interactions médicamenteuses, peuvent
augmenter le coût.
d. Id (ex LGPI)
Id est un logiciel de gestion de pharmacie SaaS conçu par la société Pharmagest Interactive.
Il aide les pharmaciens à gérer efficacement leurs activités notamment à travers :
La gestion de stocks;
14
La gestion des ventes et des commandes;
La gestion des dossiers médicaux des patients et la planification des rendez-vous.
Les tarifs d'abonnement d’Id dépendent de plusieurs facteurs, tels que le nombre
d'utilisateurs, les fonctionnalités sélectionnées et la durée de l'abonnement. Les tarifs varient
également en fonction de la région géographique où se trouve la pharmacie.
15
PioneerRx -Mises à jour automatiques : PioneerRx -Limitations de stockage :
cloud Cloud est mis à jour automatiquement, ce PioneerRx Cloud peut avoir des
qui garantit que les pharmacies utilisent limitations en termes de
toujours la dernière version du logiciel stockage.
avec les fonctionnalités les plus récentes -Complexité de l'interface : La
et les corrections de bogues. complexité de l'interface peut
poser des problèmes pour les
-Sécurité : PioneerRx Cloud utilise des utilisateurs, ce qui peut
mesures de sécurité avancées pour nécessiter une formation
protéger les données sensibles des supplémentaire.
patients et respecter les réglementations
HIPAA.
1.2.3.3 Solution
Les technologies de l’internet connaissent actuellement un bouleversement radical : l’accès
classique au web via des ordinateurs de bureau et portables n’est plus seulement complété,
mais de plus en plus remplacé par l’usage de dispositifs du cloud. Toutes les études récentes
et les rapports sur les tendances à propos du développement d’Internet et du cloud s’accorde à
dire que la dématérialisation des ressources non seulement physique mais également logiciel
dans le cloud représente l’avenir pour les entreprises qui se veulent prospères, ambitieuses et
pérennes.
L’étude de l’existant nous a permis de dégager plusieurs anomalies que nous avons détaillées
dans la section précédente. Pour corriger ces anomalies nous proposons de concevoir et
d’implémenter une plateforme Saas intuitive et conviviale. Elle aura pour objectif de se servir
16
des données qui sont générées par l’activité des pharmacies pour optimiser la prise de
décision au sein de celles-ci. Elle viendra se brancher au système existant de la pharmacie et
permettra de conserver la structure de ses données tout en automatisant d’avantage les
processus de la pharmacie dont la gestion des tâches et du personnel.
17
1.2.4.2 Objectifs
De nos jours, la donnée informatique est un élément vital pour toute entreprise qui se veut
prospère et pérenne. Pour cela elle doit être hautement disponible et fiable.
Les pharmacies produisent d’énorme quantités de données lies aux patients, à la grande
quantité de médicaments et produits de santé ainsi qu’aux personnels de celles-ci.
Malheureusement ces données ne sont pas toujours utilisées à bon escient. Il faut donc créer
un cadre dans lequel on pourra utiliser au mieux le potentiel de ces données, tant pour
faciliter la gestion des officines et maximiser leur rentabilité que pour améliorer le suivi des
patients et la qualité du service au sein de celles-ci.
18
b. Besoin fonctionnel
Encore appelés besoins utilisateur, les besoins fonctionnels sont les fonctionnalités du
système qui répondent directement aux exigences exprimées par le client et dont l’exécution
aidera à résoudre un sous problème identifié. Ils induisent les qualités fonctionnelles
attendues en termes des services offerts.
Pour aider les utilisateurs dans leur démarche, l’application offrira un certain nombre de
services via un espace personnel accessible depuis internet. Ce sont :
L’authentification : le système doit permettre à un utilisateur de s’inscrire et de se
connecter pour accéder à son espace.
La gestion des comptes et la supervision : le système doit permettre aux administrateurs
de gérer, et valider les inscriptions d’un pharmacien et une pharmacie sur la plateforme.il
doit aussi permettre de gérer les différents comptes utilisateurs et l’attribution des droits
aux utilisateurs.
La gestion des tâches : le système permettra au pharmacien ou au gérant de gérer
efficacement la planification, l’attribution et le suivis des tâches au sein de sa ou ses
pharmacies.il pourra avoir une vision globale sur l’état d’avancement des différentes
tâches suivant le statut de celles-ci ou alors leur priorité. Un personnel (stagiaire,
pharmacien adjoint…) pourra aussi être notifié des tâches qui lui sont attribués et les
consulter dans son espace.
La gestion du personnel : le système doit permettre au pharmacien ou au gérant de
visualiser l’effectif de son personnel, la répartition ainsi que l’évolution de ses équipes
dans sa ou ses pharmacies. Il pourra suivre les présences de son personnel ainsi que
l’impact sur son chiffre d’affaire des différentes proportions de ses équipes.
L’abonnement : le pharmacien pourra souscrire à un abonnement sur la plateforme qui
lui donnera certains privilèges en fonction de la formule achetée.
19
contraintes, les interfaces doivent être simples et compréhensible avec le respect du
code de couleurs ; les informations doivent être organisée en rubrique sous des
onglets afin de rendre l’application intuitive et attrayante.
La fiabilité : l’application doit fonctionner de façon cohérente sans erreurs
(l’utilisateur doit avoir confiance en la qualité du système).
L’accessibilité : les utilisateurs doivent avoir accès au système, 24h/24
La maintenabilité : le code doit être maintenable pour faciliter toute opération
d’amélioration ou d’optimisation.
La sécurité : La plateforme doit être sécurisée et doit pouvoir contrer les attaques
informatiques les plus basiques.
L’interopérabilité : notre application doit fonctionner de façon optimale et sans
restriction sur un environnement contenant d’autres applications.
b. contraintes de qualité
Selon l'AFNOR (Association Française de Normalisation) de juillet 1982 : "La qualité est
l'ensemble des caractéristiques intrinsèques d'une entité qui lui confèrent l'aptitude à satisfaire
des besoins exprimés ou implicites". Pour qu’un logiciel ou une application soit de qualité,
celui-ci doit intégrer des caractéristiques bien définies afin de répondre aux attentes du client.
On en distingue principalement deux : les critères de qualité externes (coter utilisateur) et les
critères de qualité interne (coter concepteur).
Comme critères de qualité externe on doit avoir :
La Conformité ou Validité : c’est la capacité du logiciel à répondre aux besoins des
Utilisateurs tels que les conventions préétablies soient respectées.
La convivialité c’est l’aisance avec laquelle les utilisateurs pourront apprendre à
utiliser le logiciel. D’une manière générale, elle renvoie à l’ergonomie visant à
l’adaptation des machines et logiciel à l’homme (dans tous ses aspects physiologique,
20
psychologique…) pour une utilisation avec un maximum de confort. Elle recouvre
également la facilité d’installation, d’opération et de contrôle.
Sécurité : cela renvoie au respect de la confidentialité et de l’intégrité des données
ainsi qu’à la gestion des droits d’accès ou privilèges.
Fiabilité : tolérance aux pannes ou à certains manquements. Autrement dit, le logiciel
doit être capable d’assurer la continuité dans les services qu’elle vient rendre.
Performance : le logiciel doit répondre dans les délais court aux requêtes, avoir un
bon débit, fluidité etc.
Efficacité : c’est la capacité qu’aura le logiciel à remplir ou à retourner le résultat
exact des tâches lui ayant données naissance avec une utilisation minimale de
ressources avec lesquelles il doit interagir.
Comme critères de qualité interne on doit avoir :
Modularité : Aptitude d’un logiciel à être structuré en composants ou modules
indépendants. Ceci revient à juger la pertinence de la fonction de chaque module et de
ses interactions avec les autres modules.
Portabilité : facilité avec laquelle des produits logiciels peuvent être transférés d’un
environnement logiciel ou matériel à l’autre.
Robustesse : capacité qu’offrent des systèmes logiciels à réagir de manière appropriée
lorsqu’une condition anormale (fausse manipulation de la part de l’utilisateur)
survient.
La réutilisabilité : c’est la capacité des éléments logiciels à servir à la construction de
plusieurs autres applications différentes.
L’extensibilité ou flexibilité : c’est la facilité d’adaptation des produits logiciels aux
Changements de spécifications.
Lisibilité : ceci renvoie à la clarté, c’est-à-dire l’organisation donnée au code source
afin qu’il soit compréhensible et facilement modifiable.
L’interopérabilité c’est la capacité pour un logiciel à pouvoir interagir avec d’autres
entités partageant le même environnement.
21
Noms et prénoms Fonction Rôles
22
Figure 1. 10: Diagramme de Gantt
Dans ce chapitre, il était question de présenter l’état de l’art sur les solutions de gestion des
pharmacies, le contexte dans lequel s’inscrit notre projet ainsi que son cahier de charge. Dans
les prochains chapitres nous aborderons l’analyse et la conception de ce dernier.
Dans ce chapitre il sera question de faire l’analyse et la conception de notre solution. Dans
un premier temps nous aborderons la méthodologie utilisée, l’analyse de notre data
warehouse et de l’application ainsi que leurs différents diagrammes et modélisation. Puis
nous présenterons l’architecture du système. Enfin les différents outils de développements.
23
1.3 Méthodologie
Comme méthode de développement, nous avons opté pour la méthode agile Scrum. Elle est
la plus utilisée et contrairement aux méthodes classiques, c’est une méthode de
développement incluant le client dans la quasi-totalité du projet ; de la conception à la
réalisation en passant par le recueil des besoins et les tests fonctionnels. Cette approche est
largement recommandée car elle permet d’éviter au maximum des résultats non satisfaisants.
Scrum est le cadre de développement agile le plus populaire car il est relativement simple à
mettre en œuvre.
Dans cette méthode, une petite équipe est dirigée par un Scrum master dont la tâche
principale est d’éliminer tous les obstacles pour que le travail soit fait plus efficacement.
L’équipe travaille selon des cycles courts de deux semaines appelés sprints.
24
s’améliorer constamment : c’est Mlle. Orchelle Patricia WELEHELA
TAWEUTEU qui assure ce rôle.
L’équipe : c’est un groupe de personnes chargé du développement du produit
(codage, tests, documentation) sans spécialisation de rôles. Ces rôles sont assurés par
M. Arnold Borele KENGNE et M. Ulrich yvan Tankoua Ntchantchou.
25
Les responsables chaîne d'approvisionnement qui ont besoin de données sur les
fournisseurs, les délais de livraison et les coûts pour optimiser la chaîne
d'approvisionnement
Les analystes financiers qui ont besoin de données sur les marges bénéficiaires, les
coûts et les revenus pour améliorer la rentabilité de l'entreprise.
Le pharmacien et le gérant seront responsables de toute les données.
1.4.1.2 Exigences
Pour répondre aux besoins métiers de la pharmacie, les exigences métiers pour le data
warehouse incluent les données suivantes :
Données de vente : Les données de vente peuvent inclure les informations sur les
produits achetés, les quantités, les prix. Ces données peuvent aider les responsables de
la gestion des stocks, les responsables du marketing et les analystes financiers à
comprendre les tendances de vente et à optimiser les stratégies commerciales.
Données de produit : Les données de produit peuvent inclure les niveaux de stock, les
délais de livraison et les taux de rotation des stocks. Ces données peuvent aider les
responsables de la gestion des stocks et les responsables de la chaîne
d’approvisionnement à optimiser la gestion des stocks et à réduire les coûts.
Données de fournisseur : Les données de fournisseur peuvent inclure les informations
sur les fournisseurs, les délais de livraison et les coûts. Ces données peuvent aider les
responsables de la chaîne d’approvisionnement à optimiser la chaîne
d’approvisionnement et à réduire les coûts.
Données de client : Les données de client peuvent inclure les informations sur les
clients, les comportements d’achat, les préférences et les commentaires. Ces données
peuvent aider les responsables du marketing à améliorer les stratégies de marketing et
à personnaliser l’expérience d’achat des clients.
Données d’ordonnance : les donnée d’ordonnance peuvent inclure les informations
sur le médecin en vue de déterminer la compétence du médecin.
26
Système de gestion des ventes : Ce système contient des données sur les ventes de
médicaments et de produits liés à la santé, y compris les quantités vendues, les prix,
les informations de paiement. Les données de vente seront importantes pour répondre
aux exigences métiers liées à l'analyse des ventes, à la gestion des stocks et à la
planification de la demande.
Système de gestion des stocks : Ce système contient des données sur les niveaux de
stock, les délais de livraison des fournisseurs, les taux de rotation des stocks, les coûts
d'inventaire et les informations sur les produits. Les données de gestion des stocks
seront importantes pour répondre aux exigences métiers liées à la gestion des stocks, à
la commande de réapprovisionnement et à la gestion des coûts.
Système de gestion des fournisseurs : Ce système contient des données sur les
fournisseurs de médicaments et de produits liés à la santé, y compris les contrats, les
prix, les délais de livraison, les normes de qualité et les informations de contact. Les
données de gestion des fournisseurs seront importantes pour répondre aux exigences
métiers liées à la gestion des relations avec les fournisseurs, à la gestion des coûts et à
la chaîne d'approvisionnement.
27
-s’inscrire sur la plateforme et enregistrer une pharmacie
-acheter un abonnement
Ce tableau résume les cas d’utilisations de l’administrateur. Il passe beaucoup plus de temps
sur le logiciel et a tous les droits sur le système.
Tableau 2. 3: Identification de l'acteur "Gérant"
Gérant
Responsabilités: Il doit s’occuper de la gestion administrative, financière,
commerciale et de ressources humaines.
Niveau de Intermédiaire
Compétence :
Fréquence Courte utilisation quotidienne
d’utilisation :
Autorité : Dans l’organigramme de la pharmacie le gérant est sous l’autorité du
pharmacien. Dans notre application cette autorité est représentée par
‘administrateur.
28
Permissions : Il peut :
-consulter les informations de tout le personnel
-gérer les taches (créer, lister, modifier, supprimer) les taches
-visualiser l’évolution de l’effectifs du personnel
Ce tableau décrit l’ensemble des droits du personnel. En effet le personnel a une utilisation
courte mais quotidienne du système et est chargé dans la plupart des cas de l’exécution des
tâches.
1.5 Conception
La conception informatique est le processus de création d’un système informatique. Elle
consiste à appliquer les concepts liés aux fonctionnalités du système.
29
Figure 2. 2: : Architecture de Medoclab
Dans cette architecture nous récupérons les données directement des pharmacies avec
l’ETL. Ce dernier nous permet de transformer ces données en fonction de notre modèle, puis
on stocke ces données dans notre data warehouse qui interagit avec l’API, lui aussi
communiquant avec l’interface client.
30
Désignation détail
Cette table présente les différentes propriétés de l’entité client liée à une pharmacie. On a
entre autre : son nom, son adresse et sa date de naissance.
Dimension produit : cette dimension est importante car elle va permettre de
connaitre le stock des produits.
Cette table montre les propriétés d’un produit : son id, son nom, la quantité, le prix.
Dimension fournisseur : Elle est utile car elle permettra de connaitre si le produit
d’un fournisseur est le plus vendu ou le moins vendu.
31
Elle précise les propriétés du fournisseur lié à une pharmacie : ses coordonnées, son adresse.
Dimension pharmacie : Cette table nous permettra de savoir à qui appartient la
pharmacie et les différents employés de pharmacie
Tableau 2. 8: Table de dimension pharmacien
Désignation Détail
Id_pharmacie Identifiant du pharmacien
nom Nom du pharmacien
gérant Nom du gérant
adresse Adresse du pharmacie
Téléphone Téléphone du pharmacie
Cette table présente les différentes propriétés de la pharmacie. Cela permet d’avoir les
différents éléments d’une pharmacie donnée.
Dimension médecin : Cette dimension permettra d’avoir les informations sur le
médecin qui établit l‘ordonnance d’un client.
Tableau 2. 9: Table de dimension du médecin
Désignation détail
Id_medecin Identifiant de la médecin
Elle permet d’identifier le médecin qui prescrit un médicament avec son nom, son prénom.
Dimension remise : Cette dimension permettra de répertorier les produits ayant eu
une remise et le client concerné pour permettre une analyse.
Tableau 2. 10: Table de dimension de la remise
Désignation détail
Id_remise Identifiant de la remise
Montant Montant de la remise
Type Le type de la remise
Elle donne les différentes propriétés sur une remise liée à un produit telle que le montant de la
remise et le type de remise.
32
Dimension date : Cette dimension permet de faire ressortir le moment précis où
l’enregistrement a été fait pour permettre l’analyse des différentes informations de
l’entreprise en fonction du temps.
Tableau 2. 11: Table de dimension de date
Désignation Détail
Id Identifiant date
heure Heure de commande
jour Jour de commande
année Année de commande
Cette table donne les propriétés du temps lie chaque entité de la pharmacie : le jour,
l’heure et l’annee.
Dimension dateliv : Cette dimension permet de faire ressortir le moment précis où
l’enregistrement a été fait pour permettre l’analyse des différentes informations de
l’entreprise en fonction du temps.
Tableau 2. 12: Table de dimension de dateliv
Désignation Détail
Id dates Identifiant date de livraison
heure Heure de la livraison
mois Mois de la livraison
année Année de la livraison
33
Désignation détail
Id_commande Identifiant de la commande
Id_client Identifiant du client
Id_produit_commander Identifiant du produit
Id_medecin Identifiant du médecin
Id_pharmacie Identifiant du pharmacien
Id_date Identifiant de la date de la commande
Id_remise Identifiant de remise
Elle ressort les données spécifiques et utiles sur les produits telles que l’id du client, l’id
de sa pharmacie et sa remise.
Table de fait inventaire : La table de fait stock permettra de créer une connexion
entre le produit et le fournisseur.
Tableau 2. 14: Table de fait stock
Désignation détail
Id Identifiant
Id_produit Identifiant du produit
Id_fournisseur Identifiant du fournisseur
Id_pharmacien Identifiant du pharmacien
Id_date Identifiant de la date
Le modèle en Etoile : c’est un modèle de données largement utilisé dans les data
warehouse. Il est simple, facile à comprendre et à utiliser. Il se compose d'une table de
faits centrale qui est entourée de plusieurs tables de dimensions.
Le modèle en flocon de neige : c’est une variante du modèle en étoile qui est utilisée
pour réduire la redondance des données dans un data warehouse. Dans ce modèle, les
tables de dimensions sont normalisées pour réduire la répétition de données
descriptives, ce qui crée une structure en forme de flocon de neige plutôt qu'une
structure en étoile.
34
Le modèle en constellation : c’est un modèle de données utilisé dans les data
warehouse pour gérer des données complexes provenant de plusieurs sources. Dans le
modèle en constellation, plusieurs tables de faits sont reliées entre elles par des tables
de dimensions communes. Les tables de dimensions sont utilisées pour filtrer, trier et
regrouper les données dans les tables de faits.
Pour notre analyse nous utiliserons le modèle en Constellation avec les dimensions et faits
que notre projet décisionnel va utiliser, nous remarquons que ce modèle permet l’analyse de
données depuis plusieurs vues différentes.
Dans ce modèle en constellation de la vente nous avons deux tables de faits qui sont la table
commande et l’inventaire qui vont nous servir de pont pour atteindre les tables dimensions
35
supposé faire. Les principaux concepts de ces diagrammes sont l’acteur, le cas d’utilisation et
l’interaction entre l’acteur et le cas d’utilisation :
Un acteur est un utilisateur qui a toujours le même comportement vis-à-vis d’un cas
d’utilisation. C’est une entité qui utilise le système à représenter.
Un cas d'utilisation c’est une fonctionnalité proposée par le système. Il modélise un
service rendu par le système.
36
Figure 2. 5: Diagramme de cas d’utilisation global
Dans ce graphe on présente l’ensemble des cas d’utilisation du système et les acteurs
concernés par ces cas d’utilisation.
37
Cas d’utilisation gestion des comptes
38
Figure 2. 7: Diagramme du cas d’utilisation gestion des tâches
Dans ce graphe on présente les fonctionnalités liées à la tâche qu’effectuera les différents
acteurs employer et gérant dans le système.
39
Figure 2. 8: Diagramme de séquence pour l’inscription
40
Figure 2. 9: Diagramme de séquence d’authentification
41
Figure 2. 10: Diagramme de classe
Le diagramme de classe permet la description statique du système. On peut voir les données
qui vont circuler et les classes qui encapsule ces données. Ici nous avons principalement sept
(07) classes : payement, tache, abonnement, utilisateur, rôle, présence et pharmacie.
42
JavaScript : c’est un langage de programmation de haut niveau utilisé pour créer des
et la mise à l'échelle des applications web. Chaque composant peut être créé avec son
propre modèle, son propre style et son propre comportement, ce qui permet de
construire des interfaces utilisateur complexes à partir de petits éléments modulaires
[15].
43
1.6.2 Les outils de développement
Pour réaliser notre projet, nous avons utilisé plusieurs outils tels que des éditeurs, des
navigateurs, les outils de versionning, les outils de test, de documentation et d’intégration des
données. Le choix de chaque outil a été justifié par leur performance et les aptitudes que nous
avions déjà quant à leur utilisation.
Visual Studio Code : c’est un IDE (Environnement de Développement
Intégré) extensible créé par Microsoft pour Windows, Linux et MacOs. Il prend en
charge une grande variété de langages de programmation et dispose d'une interface
utilisateur intuitive qui permet de naviguer facilement dans les fichiers et les dossiers.
On aurait aussi pu utiliser des éditeurs comme Sublime Text, Notepad++, ou
PHPStorm qui offre des fonctionnalités similaires [16].
44
Figure 2. 14: Page d’Accueil de Google Chrome
Le serveur web : dans le cadre du projet nous avons utilisé le serveur Apache car
largement utilisé et facile à déployer.
L’outil de versionning : notre choix s’est penché sur l’outil Git associé à la
plateforme GitHub. C’est un système de contrôle de version distribué pour suivre les
modifications du code source pendant le développement du logiciel [17]. Il est conçu
pour coordonner le travail entre les programmeurs, et pour suivre les modifications
dans n'importe quel ensemble de fichiers d’un projet.
Postman : c’est l’outil utilisé pour tester nos différents services web. Il permet
également la documentation de ces derniers [18].
45
Figure 2. 17: Logo de Postman [18]
46
CHAPITRE 3 : RESULTATS ET DISCUSSION
Maintenant que nous connaissons comment la plateforme fonctionne et les outils qui nous
ont aidés à la réalisation ; nous allons dans ce chapitre présenter quelques interfaces et faire
l’évaluation financière du projet.
47
1.7.1.1 Migration de la table pharmacie
Ici, nous récupérons les éléments de la pharmacie dans la base de données source, puis nous
migrons ces informations directement dans la table pharmacie de la base de données
medoclab.
Ici on récupère les données de la table pharmacie appartenant à la source que nous faisons
migrer ces données directement dans notre data Warehouse
1.7.1.2 Inventaire
Dans cette étape, nous extrayons les informations des produits à partir de la base de données
source et les intégrons directement dans la table ‘’inventaire’’ de la base de données
medoclab.
48
Figure 3. 3: Orchestration et Automatisation des migrations dans Talend
L’orchestrateurs des job est le job principal qui lance les autres job, les uns à la suite des
autres et qui va en cas d’erreur executer le composant Die qui arrete directement le processus
49
1.8 Présentation de quelques interfaces
De façon générale l’application possède une partie back-office pour l’administrateur du
système et une partie cliente pour les autres utilisateurs.
50
Figure 3. 6: Page d’authentification
51
Il permet également de visualiser les détails sur une tâche ainsi que les différentes statistiques
sur les tâches.
52
Figure 3. 9: Page de consultation des produits
53
1.8.2.1 L’ Interface d’accueil
Il s’agit de l’interface de gestion globale de la plateforme. Elle permet à l’administrateur du
système d’accéder à l’ensemble des modules de l’application, de gérer les comptes, de gérer
les tâches ainsi que l’attribution des différents rôles.
54
Figure 3. 13: Modale de création d’un utilisateur
55
Total 885 000
COCOMO est un modèle de régression basé sur le nombre de KLS (Kilo Ligne Source). Il
s’agit d’un modèle procédural d’estimation des coûts pour les projets logiciels et souvent
utilisé comme processus de prédiction fiable des divers paramètres associés à la réalisation
d’un projet, tels que la taille, l’effort, le coût, le temps et la qualité. Il a été proposé par Barry
Boehm en 1981 et est divisé en trois modèles, qui affinent l'estimation en prenant en compte
plusieurs paramètres :
S (complexité organique) : Ce sont des applications simples, n'ayant que peu de cas
particuliers et de contraintes. Un projet logiciel est dit de type organique si la taille de
l’équipe requise est suffisamment petite, si le problème est bien compris et a été
résolu dans le passé et si les membres de l’équipe ont une expérience nominale du
problème.
P (complexité semi détachée) : Ce sont des applications intermédiaires, plus
complexes que les applications de type S, elles restent tout de même déterministes,
56
bien que le nombre de cas particuliers et de tests doivent être plus important que pour
les applications de type S. Ici les caractéristiques vitales telles que la taille de
l’équipe, l’expérience, la connaissance des différents environnements de
programmation se situent entre celles de l’organique et de l’embarqué. Ces projets
demandent plus d’expérience et une meilleure orientation et créativité. Exemple : Les
compilateurs ou différents Systèmes Embarqués peuvent être considérés de type
Semi-Détachés.
E (complexité embarquée) : Ce sont des applications très complexes, que ce soit au
niveau de leurs contraintes (comme un système temps réel) ou au niveau des données
saisies.
Tableau 3. 2: Tableau des formules de calculs de l'effort pour chaque type de projets
Complexité Effort (en Mois Homme) Temps de développement
(en mois)
1 , 05 0 ,38
S Effort =2 , 4 x KLS TDev=2 ,5 x Effort
1 ,12 0 ,35
P Effort =3 x KLS TDev=2 ,5 x Effort
1 ,2 0 ,32
E Effort =3 , 6 x KLS TDev=2 ,5 x Effort
Au vu des caractéristiques de notre projet, nous avons opté pour le modèle intermédiaire et de
complexité organique pour l’estimation des coûts.
Calcul de l’effort : Après décompte le Frontend compte 27 fichiers (pages,
composants, routes et store) avec une moyenne de 300 lignes de code par fichier. Le
Backend est constitué de 35 fichiers (components, data table, modèles, contrôleur)
avec une moyenne de 300 lignes de codes par fichier.
Il découle de ces calculs que le Frontend comptabilise 8100 lignes de code et le
Backend 10500 lignes de code. Il résulte donc un total de lignes d’environ 18600
lignes.
Ainsi l’effort est de :
1 , 05 1.05
Effort =2 , 4 x KLS =2 , 4 x 18 , 6 ≈ 52 M . H
57
Calculons le temps de développement :
0 ,38 0.38
TDev=2 ,5 x Effort =2, 5 x 52 ≈ 12 Mois
Dans ce chapitre, il était question pour nous de présenter les différents résultats obtenus
après la réalisation de notre projet au niveau du data warehouse, au niveau de l’API et au
niveau du Frontend. Nous avons également effectué une estimation du coût du projet grâce à
la méthode COCOMO.
58
CONCLUSION GENERALE
Toute fois des perspectives d’amélioration restent à prendre en compte notamment la mise à
disposition des stocks de médicaments auprès des patients et des hôpitaux afin de faciliter la
recherche de ceux-ci au travers d’une version mobile de notre solution.la mise en place d’un
système permettant d’optimiser la mise à jour du data warehouse, et d’un autre permettant
d’avoir une statistique générale des stocks pharmacies. L’implémentation d’un système de
haute sécurité pour la plateforme, vu la sensibilité des données manipulées au sein de celle-ci.
L’intégration d‘un modèle d’IA entrainé sur les données des pharmacies qui permettra de
faire des prédictions sur un médicament en fonction d’une période.
L’analyse des données pourra permettre au gouvernement de faire des projections sur les
maladies qui sévissent le plus dans une région donnée pendant telle ou telle période. Ce qui
les aidera pour lancer des campagnes préventives.
59
REFERENCES BIBLIOGRAPHIQUES
[4] B. M. C. Helier, Le Cloud Computing est-il une solution d’avenir pour l’entreprise,Mémoire de
Recherche, ESGI,, 2012.
[5] F. N. Fenohanitra, «IMPLEMENTATION D’UN CLOUD PRIVE IAAS ET ANALYSE BIG DATA DANS UN
SYSTEME DISTRIBUE AU SEIN D’ACM,» ANTANANARIVO, 2019.
[6] D. Boudaa, Cours de Genie Logiciel Boudaa Boudjemaa, Université Ibn Khaldoun de
Tiaret,Algerie, 2020.
[7] «Quelles sont les phases du cycle de développement logiciel ? SDLC,» [En ligne]. Available:
https://www.eurotechconseil.com/blog/cycle-de-vie-developpement-logiciel/. [Accès le 08 juin
2023].
[8] H. Ahmed, «Mise en place d'un site web pour l'institut supérieur des affaires de Tunis,» Tunis,
2017.
[10] S. KHOURI, THESE pour l’obtention du Grade de DOCTEUR DE L’ESI & DE L’ISAE-ENSMA : Cycle
de Vie Sémantique de Conception de Systèmes de Stockage et Manipulation de Données,
France, 2013.
[13] «12ème édition du Panorama Top 250 des éditeurs de logiciels français | Numeum,» [En ligne].
Available: https://numeum.fr/actu-informatique/12eme-edition-du-panorama-top-250-des-
editeurs-de-logiciels-francais. [Accès le 13 mai 2023].
[15] B. Chaponneau, Vue.js : Applications web complexes et réactives, Paris: EYROLLES, 2019.
60
[16] Microsoft, «Visual Studio Code - Code Editing. Redefined,» [En ligne]. Available:
https://code.visualstudio.com/. [Accès le 3 juillet 2023].
[18] J. Oliver, Mastering Postman: A Comprehensive Guide to Building End-to-End APIs with Testing,
Integration and Automation, GitforGits.
[19] «Talend Open Studio : ETL open source et intégration de données gratuite | Talend,» [En ligne].
Available: https://www.talend.com/fr/products/talend-open-studio/. [Accès le 2 07 2023].
[21] «Quelle place pour la France dans le marché des SaaS pré et post Covid-19 ?,» [En ligne].
Available: https://www.sempai.io/blog/quelle-place-pour-la-france-dans-le-marche-des-saas.
[Accès le 13 mai 2023].
[22] developper, «Conception d'un entrepôt de données (Data Warehouse),» [En ligne]. Available:
https://grim.developpez.com/cours/businessintelligence/concepts/conception-
datawarehouse/#LII. [Accès le 02 06 2023].
61