Application Web de Gestion Hospitalière
Application Web de Gestion Hospitalière
Pour obtenir
A nos chers parents dont les sacrifices quotidiens ont fait de nous ce que nous sommes
aujourd’hui, qu’ils sachent que nous les associons entièrement à la réalisation de ce travail. A
ceux qui n’ont jamais cessé de nous encourager et de nous conseiller. A ceux qui n’ont jamais
été avares ni de leur temps ni de leurs connaissances pour satisfaire nos interrogations. A mes
éducateurs bien veillant pour tous les efforts qu’ils ont faits en vue de nous aider. A nos
encadrant, Monsieur ENAANAI ADIL.
A tous nos ami(e)s et nos chers…
3
Remerciement
Merci à Dieu de sa grâce, source de notre force et courage tout au long de la réalisation de
notre projet.
Nous souhaitons adresser nos remerciements les plus sincères aux membres de jury. Veuillez
accepter dans ce travail notre sincère respect et notre profonde reconnaissance.
Nous tenons également à remercier infiniment Monsieur ENAANAI ADIL qui, en tant
qu’encadrant du projet, s’est toujours montré à l’écoute malgré ses empêchements, ainsi pour
l’inspiration, l’aide et le temps qu’il nous a consacré.
On n’oublie pas nos parents pour leur contribution, leur soutien et leur patience. Enfin, nous
adressons nos remerciements à tous nos proches et amis, qui nous ont toujours soutenues et
encouragés au cours de la réalisation de ce mémoire.
4
Table des Matières
Dédicaces .............................................................................................................. 3
Remerciement ...................................................................................................... 4
Table des matières ............................................................................................... 5
Liste des abréviations .......................................................................................... 7
Liste des figures ................................................................................................... 8
Introduction générale .......................................................................................... 9
Chapitre 1 : Contexte générale et analyse du projet…………………….….10
1.1. Introduction ……………………………………………11
1.2. Presentation du projet ………………………………….11
1.3. Critique de l’existant …………………………………..11
1.4. Specification des besoins fonctionnels ………………...12
1.5. Specification des besoins non fonctionnels ……………12
1.6. Planification du projet …………………………………13
1.6.1. Le diagramme de Gantt ……………………….13
1.6.2. Plan réalisé ……………………………………13
1.7. Conclusion ……………………………………………..14
5
Chapitre 3 : Réalisation du projet...................................................................28
3.1. Introduction ……………………………………………...…29
3.2. Environnement logiciel …………………………………....29
3.2.1. Serveur de la base de données MySQL ……...29
3.2.2. PHPMyAdmin ……………………….…….…29
3.2.3. XAMPP ……………………………………....30
Conclusion Générale………………………………………………...………..53
Références …………………………………………………………………….54
6
Liste des abréviations
Abréviation Désignation
JS JavaScript
7
Liste des Figures
8
Introduction générale
Le monde d'aujourd'hui est témoin d'un progrès énorme dans les différents
domaines .En particulier, le domaine d'informatique qui a facilité autant des choses,
et vient d’être exploitée dans tous les aspects de la vie. En effet, les systèmes
d'informations ont répondu à un besoin vif pour n’importe quel type d’organisation, et
ils ont facilité les taches aussi bien pour les entreprises que les personnels.
9
Chapitre 1 :
10
1.1. Introduction :
L’étude d’un projet est une démarche stratégique qui va nous permettre d’avoir une vision
globale sur ce dernier visant ainsi à bien organiser le bon déroulement du projet. Cette étude
fera donc l’objet du premier chapitre qui sera consacré à la présentation du projet et la
spécification des besoins fonctionnels et non fonctionnels de notre système.
11
1.4. Spécification des besoins fonctionnels :
Dans cette partie nous détaillons l’ensemble des fonctionnalités que l’application doit
offrir aux utilisateurs. En effet, le système à réaliser doit répondre aux besoins fonctionnels
suivants :
● Authentification : Chaque utilisateur (médecin, patient, admin), possède un login et un
mot de passe spécifique qui lui permet de vérifier son identité, afin d'autoriser l'accès
de cette entité à des ressources en toute sécurité.
● Chaque utilisateur peut chercher un médecin par leur spécialité ou par
recommandation.
● Chaque patient a la possibilité de prendre un rendez-vous et il a son propre profile qui
contient la fiche médicale, l’ordonnance, l’historique des RDV et les questions qui a
posé.
● Chaque médecin a son propre profile qui contient la liste des rendez-vous, reviews des
patients et ses réponses aux questions des patients il peut aussi faire la description des
rendez-vous précédant.
● Admin a la possibilité de gérer les comptes des médecins, approuver ou modifier la date
des rendez-vous et de manager les questions réponses.
● Le patient à le doit de poser la question qu’il veut et seuls les médecins qui ont la
possibilité de répondre à ses questions.
● Liste des médicaments et des informations utile et exacte sur chaqu’un.
12
● Maintenance et évolution : Le code doit être bien lisible, compréhensible et modulaire
pour garantir la souplesse, l’évolution et la maintenance de la solution et ainsi répondre
aux changements du marché.
Le diagramme de Gantt, couramment utilisé en gestion de projet, est l'un des outils les plus
efficaces pour représenter visuellement l'état d'avancement des différentes activités (tâches)
qui constituent un projet. La colonne de gauche du diagramme énumère toutes les tâches à
effectuer, tandis que la ligne d'en-tête représente les unités de temps les plus adaptées au
projet (jours, semaines, mois etc.). Chaque tâche est matérialisée par une barre horizontale,
dont la position et la longueur représentent la date de début, la durée et la date de fin.
Ce diagramme permet donc de visualiser d'un seul coup d'œil :
Les différentes tâches à envisager
La date de début et la date de fin de chaque tâche
La durée escomptée de chaque tâche
La date de début et la date de fin du projet dans son ensemble
13
1.7. Conclusion :
Dans ce chapitre, nous avons présenté le cadre général de notre projet et nous avons exposé
l’analyse et la spécification des besoins permettant de concevoir et de développer un système
qui facilitera la gestion des rendez-vous médicaux. Après avoir fixé nos objectifs, l’étape
suivante sera consacrée à une conception détaillée.
14
Chapitre 2: Conception du projet
15
2.1. Introduction
Avant la réalisation de n’importe quel projet, la conception joue un rôle très important dans la
préparation et l’organisation de ce dernier. Elle permet de créer une vue générale sur les
différents principes de notre application. Dans ce chapitre nous allons justifier le choix d’UML
et l’outil de modélisation, la présentation des différents diagrammes d’UML et des tables de la
base de données.
16
2.4. Diagramme de cas d’utilisation
Le diagramme de cas d’utilisation est un diagramme UML utilisé pour donner une vision
globale du comportement fonctionnel d’un système logiciel. Un cas d’utilisation représente
une unité discrète d’interaction entre un utilisateur et un système. Il est une entité significative
de travail.
17
Pour le médecin :
Pour l’admin :
18
2.5. Diagramme de classes
Un diagramme de classes fournit une vue globale d'un système en présentant ses classes,
interfaces et collaborations, et les relations entre elles. Les diagrammes de classes sont
statiques : ils affichent ce qui interagit mais pas ce qui se passe pendant l'interaction. La figure
ci-dessous représente les différentes classes de notre système
19
2.6. Les diagrammes de séquences
L’authentification :
Lors de l’authentification, le patient admet sont donnés dont le système vérifie ses derniers
dans la base de données. Si les données sont incorrectes le système va renvoyer le patient vers
la page de l’authentification sinon il va le renvoyer vers son accueil.
20
Prendre un rendez-vous :
21
Figure 6 : Diagramme de séquence de patient
L’authentification :
Pour le médecin, l’authentification se fait par email et par mot de passe dont le système
vérifie ces derniers au niveau de la base de données. Si les données sont incorrectes le
système va renvoyer l’utilisateur vers la page de l’authentification sinon il va le renvoyer vers
le Dashboard en tant comme connecté.
22
Gérer les rendez-vous :
Puis le médecin peut accéder à la liste des rendez-vous pour ajouter ou modifier la prescription d’un
patient.
23
Gérer les réponses :
Le médecin peut aussi répondre aux questions des patients par ajouter une réponse et aussi
modifier ou supprimer la réponse.
L’authentification :
Pour l’admin, l’authentification se fait par email et par mot de passe dont le système vérifie
ces derniers au niveau de la base de données. Si les données sont incorrectes le système va
renvoyer l’utilisateur vers la page de l’authentification sinon il va le renvoyer vers le
Dashboard en tant comme connecté.
24
Gérer les rendez-vous :
Puis l’admin peut voir la liste des rendez-vous pour approuver que le rendez-vous par modifier le
statut par 1 et si le rendez-vous est déjà fait le statut devient 2.
25
Gérer les médecins :
L'admin peut voir la liste des questions et leurs réponses et si l'une des questions est inappropriée, il
doit être supprimé.
Dans ce chapitre nous avons présenté la conception de notre système en utilisant les
différents diagrammes d’UML (diagramme de cas d’utilisation, diagramme de classes et les
diagrammes de séquences) et la présentation des tables de la base de donnes qui nous a aidés
de visualiser les besoins du système à développer ainsi que les différentes interactions entre
les objets participant à son fonctionnement, ce qui nous mènent à notre prochain chapitre ;
réalisation du projet.
27
Chapitre 3: Réalisation du
project
28
3.1. Introduction
Ce chapitre représente le dernier volet de ce rapport, il sera consacré à l’implémentation
de notre système. Nous commençons par la présentation des ressources matérielles et logicielles
utilisées. Nous passons ensuite à présenter des captures d’écran dans le but de mettre en
évidence l’aspect ergonomique et fonctionnel des interfaces développées.
MySQL est un système de gestion de base de données (SGBD). Selon le type d’application.
Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par
le grand public (applications web principalement) que par des professionnels. (Réf 6)
3.2.2. PHPMyAdmin
PhpMyAdmin est une application Web de gestion pour les systèmes de gestion de base
de données MySQL réalisée principalement en PHP et distribuée sous licence GNU GPL.
Il s'agit de l'une des plus célèbres interfaces pour gérer une base de données MySQL sur
un serveur PHP. De nombreux hébergeurs, gratuits comme payants, le proposent ce qui évite à
l'utilisateur d'avoir à l'installer. (Réf 7)
29
3.2.3. XAMPP
XAMPP est un ensemble de logiciels permettant de mettre en place un serveur Web local,
un serveur FTP et un serveur de messagerie électronique. Il s'agit d'une distribution de logiciels
libres (X (cross) Apache MariaDB Perl PHP) offrant une bonne souplesse d'utilisation, réputée
pour son installation simple et rapide. Ainsi, il est à la portée d'un grand nombre de personnes
puisqu'il ne requiert pas de connaissances particulières et fonctionne, de plus, sur les systèmes
d'exploitation les plus répandus. (Réf 8)
Laravel est un framework PHP gratuit et open-source qui fournit un ensemble d'outils et de
ressources pour créer des applications PHP modernes. Avec un écosystème complet tirant
parti de ses fonctionnalités intégrées et une variété de packages et d'extensions compatibles,
Laravel a vu sa popularité croître rapidement au cours des dernières années, de nombreux
développeurs l'adoptant comme cadre de choix pour un processus de développement
rationalisé. (Réf 9)
30
3.3.2. Bootstrap
3.3.3. Javascript :
31
3.3.4. Git et Github
Git est un système de contrôle des révisions, un outil pour gérer votre historique de code source.
GitHub est un service d’hébergement pour les dépôts Git. Ce n’est donc pas la même chose :
Git est l’outil, GitHub est le service pour les projets qui utilisent Git. (Réf 12)
3.3.5. SASS
Sass est un langage de script préprocesseur qui est compilé ou interprété en CSS.
SassScript est le langage de script en lui-même. Sass est disponible en deux syntaxes. (Réf 13)
3.3.6. React
React est une bibliothèque JavaScript libre développée par Facebook depuis 2013. Le but
principal de cette bibliothèque est de faciliter la création d'application web monopage, via la
création de composants dépendant d'un état et générant une page HTML à chaque changement
d'état. (Réf 14)
32
3.3.7. Sanctum
Laravel Sanctum fournit un système d'authentification poids plume pour les SPA
(applications à page unique), les applications mobiles et les API simples basées sur des jetons.
Sanctum permet à chaque utilisateur de votre application de générer plusieurs jetons API pour
son compte. (Réf 15)
Accueil du site :
Figure 9 : Accueil
33
La page d’accueil représente la une de notre site. C’est la première interface qui voit
l’utilisateur, nous avons décidé de la simplifier le plutôt possible afin d’être claire et d’éviter la
perturbation de l’utilisateur avec beaucoup d’informations et des couleurs.
Chercher un médecin :
Dans cette page l'utilisateur peut chercher le médecin dont avez besoin par spécialité ou par nom. Puis
cliquer sur Book Now pour passer à la prochaine étape de prise des rendez-vous, ou cliquer sur More
Info pour passer à voir le profile de médecine
34
Figure 11 : Interface d’authentification Admin
35
c. Interface d’authentification de médecin
Pour consulter les rendez-vous, donner leurs descriptions, et répondre aux questions des patients
le médecin faut s’authentifier, L’authentification des médecines se fait avec leurs Email et leurs
mots de passe et bien évidement il est déjà saisir par l’administration.
Le patient peut laisser toute question à son médecin, et il peut voir les autre question avec
leurs réponses donnée par les médecins.
36
Figure 14 : Interface des questions
Cette interface est un moyen simple de créer un lien avec les patients et les médecins, grâce
à cette interface, le patient peut consulter les réponses du médecin à sa question.
37
3.4.5. Interface de chercher les médicaments
Si le patient a besoin des informations sur un médicament, il peut aller à cette interface où il y
a toutes sortes de médicaments ainsi que de l’information à leur sujet, le médicament peut être
recherché par son nom ou par sa catégorie.
38
3.4.6. Interface d’inscription du patient
Pour que le visiteur devient un client est profiter des différentes fonctionnalités et services de
client il faut d’abord remplir le formulaire d’inscription pour créer son compte.
39
Figure 17 : Interface d’inscription patient
40
3.4.7. Interface de profile du patient
La page de profile contient toutes les informations concernées le patient, ses rendez-vous et
ses questions et les descriptions des rendez-vous qui déjà passé.
41
Figure 18: Interface de profile patient
Ce formulaire pour but de prendre un rendez-vous avec le docteur qui est déjà choisi, alors le
patient doit déterminer la date et l'heure de ce rendez-vous et aussi les causes de le demander.
42
Après avoir créé un rendez-vous, le patient reçoit un message comme suit :
Dans cette interface l’admin de système peut manager et manipuler toutes les informations de
la base de donnes.
peut ajouter supprimer les médecines et éditer leurs information plus que voir leurs profile.
43
Le profile contient toutes les informations d’un médecin et le calendrier des rendez-vous de la
semaine.
Pour ajouter les médicine il y a deux étape, premier étape pour créer les information
d’authentification.
44
La deuxième étape et de créer les informations professionnelles de médecin.
45
Plus que ça l’admin peut supprimer les comptes des patients et de consulter leurs profile.
46
Pour gérer les Rendez-vous et les accepter ou modifier
Les Rendez vous qui a l’attend d’accepter a une pointe rouge sur leur ID.
Après l'accepter
47
Après avoir modifier le rendez-vous, le patient reçoit un email comme suit :
48
Dans cette interface, l’admin peut voir toutes les réponses et les questions, et peut également
supprimer les questions inappropriées.
49
Quand le rendez-vous est finie le médecin peut ajouter une prescription pour le patient
50
Le docteur peut voir les rendez-vous qu'il a en une semaine.
51
On clique sur le bouton Replay le médecin peut insèrer sa réponse.
3.5. Conclusion
Dans ce dernier chapitre nous avons présenté les outils et les Framework utilisées lors du
développement ainsi les interfaces de notre application web qui ont montré les différentes
fonctionnalités développé.
52
Conclusion Générale
53
Références
54