A mes parents
Pour tous les sacrifices qu’ils ont faits et pour tout le soutien qu’ils ont offert tout au
long de mes études.
Pour leur encouragement et pour tous les bons moments qu’on a vécus ensemble.
J’espère que notre amitié durera éternellement.
Fehmi
i
Remerciements
Au terme de ce travail, je tiens à remercier mademoiselle Mariem el
Chikh, directrice général de HypaTech, de m’avoir accordé cette
opportunité d’entreprendre ce projet au sein de l’équipe de HypaTech.
ii
Table de matières
Introduction générale .................................................................................................................. 1
Introduction ............................................................................................................................ 3
Conclusion .............................................................................................................................. 7
Introduction ............................................................................................................................ 9
i
2.4 Etude de quelques diagrammes des séquences .......................................................... 17
Conclusion ............................................................................................................................ 28
Introduction .......................................................................................................................... 30
ii
3.2.2.3 Application mobile...................................................................................... 35
3.3.1.3 Interface profil d’un médecin et processus de prise d’un rendez-vous ....... 38
Conclusion ............................................................................................................................ 49
Bibliographie ............................................................................................................................ 51
iii
Liste des figures
Figure 1: Logo du HypaTec ....................................................................................................... 3
Figure 2: Fonctionnement du JWT............................................................................................. 6
Figure 3: Diagramme de Gantt ................................................................................................... 7
Figure 5: Diagramme de cas d'utilisation global ...................................................................... 11
Figure 6: Diagramme de cas d'utilisation de l’administrateur.................................................. 12
Figure 7: Diagramme de cas d'utilisation du patient ................................................................ 13
Figure 8: Diagramme de cas d'utilisation du médecin ............................................................. 16
Figure 9: Diagramme de séquence prendre rendez-vous ......................................................... 17
Figure 10: Diagramme de séquence de recherche du médecin ................................................ 18
Figure 11: Diagramme de séquence de création du compte patient ......................................... 19
Figure 12: diagramme de séquence de l'administrateur ........................................................... 20
Figure 13: Diagramme de classes ............................................................................................. 22
Figure 14: Diagramme de déploiment ...................................................................................... 23
Figure 15: Schéma relationnel de la base de données .............................................................. 24
Figure 16: Pattern MVC ........................................................................................................... 26
Figure 17 : Les 3 nuances de bleu dans le logo ........................................................................ 27
Figure 18: Prototype d’interface d'accueil ............................................................................... 27
Figure 19: prototype d'interface d'inscription .......................................................................... 28
Figure 20: Logo du Framework Laravel .................................................................................. 31
Figure 21 : Logo Post Man ....................................................................................................... 34
Figure 22: Interface de connexion du patient ........................................................................... 36
Figure 23: interface carte et direction ...................................................................................... 37
Figure 24: Interface de chercher un médecin par spécialité ..................................................... 38
Figure 25: Profil médecin ......................................................................................................... 38
Figure 26: Processus de prise d’un rendez vous ...................................................................... 39
Figure 27: Message succès et erreur de rendez-vous ............................................................... 40
Figure 28: Interface liste des rendez-vous ................................................................................ 40
Figure 29 : Interface de connexion du médecin ....................................................................... 42
Figure 30: Interface calendrier des rendez-vous acceptés ........................................................ 43
Figure 31: Interface statistiques ............................................................................................... 43
iv
Figure 32: Profil médecin ......................................................................................................... 44
Figure 33: Profil d’un Patient ................................................................................................... 44
Figure 34: Interface fiche rendez-vous ..................................................................................... 46
Figure 35: interface de connexion administrateur .................................................................... 47
Figure 36: interface de gestion des médecins ........................................................................... 48
Figure 37: interface de gestion des spécialités ......................................................................... 48
v
Liste des tableaux
Tableau 1: Liste des acteurs par application ............................................................................ 10
Tableau 2:Identification des acteurs et des cas d'utilisations ................................................... 10
Tableau 6: Description du cas d’utilisation Gestion des spécialités ........................................ 13
Tableau 3: description du cas d’utilisation de prise de rendez-vous ........................................ 14
Tableau 4: description du cas d’utilisationde recherche de médecin ....................................... 15
Tableau 5: description de cas de création du compte patient .................................................. 15
Tableau 7: Comparaison entre CMS et Framework ................................................................. 31
vi
Introduction générale
C’est dans ce contexte, que s’intègre notre projet de fin d’étude effectué au sein de la société
HypaTech et qui consiste à réaliser un système de gestion des rendez-vous médicaux intitulé
«Allo Doctor».
Nous sommes appelé à concevoir, développer et intégrer un système incluant des interfaces
claires et faciles à utiliser afin de mettre en place une solution mobile pour rapprocher le
médecin de ses patients et faciliter le processus de prise des rendez-vous.
- Une étude préalable qui nous permet de placer le projet dans son contexte général.
Nous présentons l'organisme d'accueil ainsi qu'une description du projet et une
spécification des besoins fonctionnels et non fonctionnels du système.
1
Chapitre 1 : Etude préalable
2
Chapitre 1: Etude préalable
Introduction
’étude d’un projet est une démarche stratégique qui va nous permettre d’avoir une
L 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 de
l’organisme d’accueil, la présentation du projet et la spécification des besoins fonctionnels et
non fonctionnels de notre système.
Chez HypaTech, chaque projet est analysé avec une attention particulière afin de développer
des sites fiables qui répondent aux besoins des clients
HYPAtech travaille dur pour atteindre sa réputation, et si elle travaille pour les petites ou les
grandes entreprises, elle applique les mêmes niveaux de pensée, de soins et d'attention aux
détails.
3
L’origine de ce sujet était une simple idée pour fournir des informations concises et
pertinentes sur les médecins en Tunisie facilement accessible en cas de besoin. Au fur et à
mesure cette idée a évolué pour concevoir un système de gestion des rendez-vous médicaux
constitué de trois applications :
Ce type d’application métier s’avère très utile non seulement afin de subvenir aux besoins des
patients mais il peut aussi représenter un réel avantage pour les médecins. Il s’agit de
rapprocher le médecin de ses patients et de le rendre plus disponible et surtout accessible en
cas de besoin.
a. Authentification
Chaque utilisateur (médecin, patient, administrateur), 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é.
b. Gestion des rendez-vous
Le patient a la possibilité de prendre un rendez-vous et il peut consulter l’état de sa
demande de rendez-vous (En attente, acceptée ou refusée), de plus le médecin peut
accepter ou refuser une demande de rendez-vous selon sa disponibilité.
c. Voir l’historique des rendez-vous
Le médecin peut consulter l’historique des demandes qu’il a acceptées et refusées.
d. Chercher un médecin par nom ou par spécialité
e. Localiser un médecin
f. Gestion des spécialités
4
L’administrateur du système peut ajouter, modifier une spécialité.
g. Vérification du médecin
Un médecin doit envoyer une image de sa carte d’identité ou une autre pièce qui
vérifie qu’il est un médecin. L’administrateur vérifie cette pièce justificative avant de
valider le compte du médecin.
- Le système doit être sécurisé au niveau des données : authentification et contrôle des
droits d’accès.
Pour cela nous utiliserons le jeton de sécurité web (Json Web Token ou tout
simplement JWT) qui est un standard pour échanger de l'information de manière
sécurisée via un jeton signé. Par exemple un serveur pourrait émettre un jeton
possédant l'affirmation "utilisateur identifié en tant qu'administrateur" et le fournir au
client. Le client pourrait alors vérifier le jeton pour prouver que l'utilisateur est
identifié en tant qu'administrateur.
Le jeton JWT est composé de trois parties :
Un entête : indique quel algorithme a été utilisé pour générer la signature
L’information : variable en fonction de l'application
Une signature : comprend une clé, un jeton et la signature effective
5
Figure 2: Fonctionnement du JWT
Ce diagramme présente les tâches à faire pendant la période de stage, avec des durées
d’accomplissements approximatives.
6
Figure 3: Diagramme de Gantt
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.
7
Chapitre 2 : Etude conceptuelle
8
Chapitre 2: Etude conceptuelle
Introduction
D ans ce chapitre nous commençons par une présentation des différents outils logiciels
et les langages de modélisations utilisés. Ensuite nous détaillons les diagrammes des
cas d’utilisation, les diagrammes des classes et les diagrammes de séquences.
C'est un langage de modélisation, défini comme une norme de modélisation objet qui sert à
décrire et à documenter un système d'information.
StarUML gère la plupart des diagrammes spécifiés dans la norme UML 2.0, il est écrit
en Delphi, et dépend de composants Delphi propriétaires.
9
2.2 Identification des acteurs et des cas d’utilisation
Les acteurs sont les entités externes qui interagissent directement avec le système et
communiquent avec ce dernier par émission et réception de messages
Notre système présente trois parties : une application web, une application mobile et une
application desktop. Chaque application concerne un acteur :
Application Acteur
Web Médecin
Mobile Patient
Desktop Administrateur
Tableau 1: Liste des acteurs par application
Les acteurs et les cas d’utilisation sont résumés dans le tableau suivant :
10
Ce diagramme présente le système entier avec ses trois applications, chaque application a ses
propres cas d’utilisation et son propre acteur comme présenter dans le diagramme ci-dessous.
11
Figure 5: Diagramme de cas d'utilisation de l’administrateur
12
Pré-condition Administrateur authentifié
Post condition - Spécialité ajouté
- Spécialité mis à jour
Tableau 3: Description du cas d’utilisation Gestion des spécialités
Le patient est l’utilisateur de l’application mobile, Pour pouvoir accéder aux différentes
fonctionnalités de l’application, le patient doit se connecter s’il possède déjà un compte, sinon
il doit créer un compte.
Une fois le médecin a été sélectionné, le patient peut prendre un rendez-vous selon la
disponibilité du médecin.
13
Après avoir pris un rendez-vous, le patient peut consulter la liste de ses rendez-vous
(acceptés, refusés et en attente). Tant que le rendez-vous est encore en attente, le patient a la
possibilité de l’annuler.
Si un rendez-vous a été accepté par le médecin et le patient rate la consultation plusieurs fois
son compte sera supprimé.
14
1.2.3. Le patient choisit un médecin de la liste
1.2.4. Le système affiche le profil du médecin sélectionné
1.3.1. Le patient saisit le nom du médecin
1.3.2. Le système cherche tous les médecins avec ce nom
1.3.3. Le patient choisit un médecin de la liste
1.4.4. Le système affiche le profil du médecin
Scénario d’erreur 1.2.1. Le patient ne choisit aucune spécialité
1.2.3. Le patient ne choisit aucun médecin
1.3.1.1. Le patient saisie un nom erroné
1.3.1.2. Le patient ne saisit aucun nom
1.3.3. Le patient ne choisit aucun médecin
Pré-condition Patient authentifié
Post condition Profil de médecin affiché
Tableau 5: description du cas d’utilisationde recherche de médecin
15
2.3.4 Diagramme de cas d'utilisation du médecin
Le médecin dans le système peut gérer ses disponibilités, il peut ajouter ou modifier ses jours
et heure de travail.
Si un rendez-vous est accepté, le médecin peut gérer le dossier du patient: il peut ajouter une
ordonnance, ajouter une observation ou télécharger une fiche médicale.
16
2.4 Etude de quelques diagrammes des séquences
17
2.4.2 Diagramme de séquence de recherche du médecin
Le patient peut chercher un médecin par son nom, sa spécialité ou par sa localisation sur la
carte.
La localisation des médecins sur la carte est disponible en deux modes : terrain et satellite.
Le patient peut choisir celui qui lui convient le mieux, c’est une fonctionnalité gérée par l’API
de Google adaptée pour un usage facile et rapide.
Le patient peut choisir un médecin directement en cliquant sur son marqueur sur la carte.
Pour chercher un médecin par spécialité, il suffit de choisir une des spécialités existante dans
la base de données et le système affiche la liste des médecins de cette spécialité.
En plus, le patient a la possibilité de chercher un médecin par son nom. Pour cela, il suffit de
saisir un nom et le système affiche la liste des médecins avec ce nom.
18
2.4.3 Diagramme de séquence de création du compte patient
Pour crée un compte, le patient doit saisir les informations demandées correctement puis le
système vérifie ces informations et si n’a pas des erreurs le compte sera créé et les
informations seront enregistrées dans la base de données.
19
2.4.4 Diagramme de séquence de l’administrateur
20
Une fois authentifié, l’administrateur a le droit de gérer les spécialités :
- Il peut consulter la liste de toutes les spécialités existantes dans la base de données
- Il peut ajouter une nouvelle spécialité
- Il peut modifier une spécialité qui existe déjà.
De plus, l’administrateur peut consulter la liste des médecins. Si le compte du médecin est
inactif, il vérifie la copie de la carte d’identité nationale envoyée par ce dernier. Suite à cette
vérification, il peut soit activer le compte du médecin soit annuler son inscription.
Dans notre diagramme de classes on a trois classes (administrateur, médecin et patient) qui
hérite d’une classe mère nommé utilisateur.
L’administrateur valide le compte d’un médecin après la vérification de son carte d’identité
nationale.
21
Figure 12: Diagramme de classes
22
- Une machine client dans laquelle le médecin peut accéder à son espace de travail via
un navigateur web.
23
2.7 Schéma de la base de données
Nous avons utilisé le système de gestion de base de données relationnel MySQL pour
enregistrer les tables de notre système.
Nous avons choisi ce SGBD vu qu’il est très léger et simple à utiliser et configurer, de plus il
est open source et tous les hébergeurs web le fournie avec leur packs d’hébergement.
La figure ci-dessous montre les relations entre les différentes tables de notre système.
Ses avantages :
24
Séparation des compétences (design, base de données, application)
Simplicité de mise à jour
Vitesse de création de pages.
Le modèle représente les structures de données. Typiquement, les classes modèles contiennent
des fonctions qui aident à récupérer, à insérer et à mettre à jour des informations de la base de
données.
Par exemple, lorsque nous disons« le contrôleur récupère les données d’un outil», il va en fait,
faire appel au modèle Outil (« Tool »). C'est le modèle qui peut récupérer les données de cet
outil, généralement via une requête au serveur SQL. Au final, il permet au contrôleur de
manipuler les outils mais sans savoir comment ils sont stockés, gérés, etc. C'est une couche
d'abstraction.
La vue correspond à l'interface avec laquelle l'utilisateur interagit. Elle se présente sous la
forme d'une Template représentant l'interface.
Reprenons l'exemple de l’outil. Ce n'est pas le contrôleur qui affiche le formulaire, il ne fait
qu'appeler la bonne vue. Si nous avons une vue formulaire, les balises HTML du formulaire
d'édition de l’outil y seront et finalement le contrôleur ne fera qu'afficher cette vue sans savoir
vraiment ce qu'il y a dedans.
Donc en pratique, c'est le « designer » d'un projet qui travaille sur les vues. La séparation de
vues et contrôleurs permet aux designers et aux développeurs PHP de travailler ensemble sans
besoin de contact direct.
Il gère l'interface entre le modèle et le client. Il va interpréter la requête de ce dernier pour lui
envoyer la vue correspondante. Il effectue la synchronisation entre le modèle et les vues.
25
Il est la couche qui se charge d'analyser et de traiter la requête de l'utilisateur. Le contrôleur
contient la logique de notre application et va se contenter « d'utiliser » les autres composants :
les modèles et les vues. Concrètement, un contrôleur va récupérer, par exemple, les
informations sur l'utilisateur courant, vérifier qu'il a le droit de modifier un tel outil, récupérer
les données de cet outil et demander la page du formulaire d'édition de l’outil. [2]
2.9.1 Le logotype
26
Figure 16 : Les 3 nuances de bleu dans le logo
Dans cette interface nous trouvons un calendrier qui contient les rendez-vous acceptés et des
liens vers la page de statistiques et la page de gestion des rendez-vous.
27
La figure ci-dessous montre le prototype du page d’inscription dans l’application web, cette
interface est très importante car elle est la première interaction du médecin avec notre
système, alors nous choisissons une interface très simple qui contient quelques champs de
texte à remplir par des informations du médecin comme son nom, son prénom, son email, son
mot de passe, sa prix de visite …
Cette interface doit être anti-spam alors nous aurons mis un système de vérification de type
Récaptcha pour éliminer les inscriptions des rebout.
Pour compléter l’inscription, le médecin doit accepter les termes d’utilisation du système.
Conclusion
Dans ce chapitre, nous avons pu concevoir un système de gestion des rendez-vous médicaux
en se basant sur les diagrammes du langage UML à savoir le diagramme de cas d'utilisation,
le diagramme de séquences et le diagramme de classes .
28
Chapitre 3: Réalisation
29
Chapitre 3: Réalisation
Introduction
e chapitre représente le dernier volet de ce rapport, il sera consacré à l’implémentation
Les avantages des frameworks sont nombreux. En effet,, un Framework est portable, de la
part de son abstraction de la base de données et de la gestion générique du cache. Les temps
de développement avec un Framework sont réellement plus courts. Tous les outils essentiels
sont déjà écrits. Le développement des applications sécurisées est facile.grâce aux systèmes
d'authentification, à la gestion des injections SQL ainsi qu'à la protection CSRF (Cross-Site
Request Forgery) qui est gérée par la plupart des Framework. Les Framework sont des outils
communautaires et ont, par conséquent, des forums, des listes de diffusion et des canaux IRC
pour les soutenir. De plus vu que les framework sont largement déployés, la chance de
trouver les correctifs des problèmes rencontrés est plus grande.
Utiliser le langage PHP et passer par le modèle MVC signifie l’utilisation des outils convenables pour
bien respecter ce modèle et bien mener nos travaux de développement. Les solutions
proposées sur ce domaine sont les frameworks et les CMS. Dans cette partie, nous allons mener
une étude comparative pour bien choisir la solution qui répondra le plus à nos exigences et nos
attentes.
CMS Framework
Coût Réduit pour les projets personnels Elevé
Compatible avec Les projets personnels essentiellement Tous les projets
30
Des fonctionnalités superflues pour les Des APIs importantes un
Fonctionnalité
projets professionnels peu compliqués
Importante pour quelques CMS Importante pour la
Communauté
plupart des Framework
Extensibilité Très Difficile de l’étendre Toujours extensible
Tableau 7: Comparaison entre CMS et Framework
En prenant en considération l’étude comparative qu’on a élaborée, nous déduisons que les
Framework sont la solution la plus apte pour notre application en matière d’extensibilité et
l’importance de leurs communautés, ainsi que la nature de projet à réaliser.
3.1.2.1 Définition
Laravel est un Framework web gratuit, open-source, créé par Taylor Otwell et destiné au
développement d'applications Web suivant le modèle-vue-contrôleur (MVC). Certaines des
caractéristiques de Laravel sont un système modulaire système d'emballage avec un
gestionnaire de dépendances dédié, pour accéder à différentes façons de bases de données
relationnelles, les services publics que l'aide au déploiement d'applications et de maintenance,
et son orientation vers le sucre syntaxique
En Mars 2015, Laravel est considéré comme l’une des plus populaires Framework PHP.
Le code source de Laravel est hébergé sur Git Hub sous licence conformément aux termes de
licence MIT. [3]
31
Contient des fichiers d’auto loading.
Répertoire Config
Comme son nom l'indique, contient tous les fichiers de configuration de l’application.
Répertoire data base
Contient la migration de la base de données.
Répertoire public
Contient le fichier, ce qui est le point d'entrée pour toutes les demandes entrant dans
l’application. Ce répertoire contient également les images, JavaScript et CSS.
Répertoire Routes
Contient toutes les définitions de route pour l’application. Par défaut, plusieurs fichiers
d'itinéraire sont inclus avec Laravel:
- web.php
- api.php
- console.php
De plus, pour tester notre application, nous avons utilisé un Smartphone Samsung galaxy g3
SM-J320f dont la configuration est :
32
3.2.2 Environnement logiciel
PhpStorm est un éditeur pour PHP, HTML et JavaScript, édité par l’entreprise informatique
JetBrains.
Il soutient PHP 5.3, 5.4 et 5.5 pour des projets modernes et anciens. L'IDE fournit les
meilleurs codes auto-complétion, sur la volée de prévention d'erreur, soutient le mélange de
langues et plus. Il traite automatiquement le code avec précaution, pour aider les développeurs
à effectuer des changements globaux du projet facilement et en toute sécurité.
b. Bootstrap:
Bootstrap est un Framework qui facilite et accélère le développement Front-End. Il inclue une
base CSS très complète (au format LESS) configurée à partir d’un fichier de variables, un
ensemble de conventions de structure HTML et de nommage de classes des librairies
JavaScripts simples pour les fonctions les plus courantes.
c. Blade:
Blade est le moteur de modélisation simple, mais puissant. Contrairement à d'autres moteurs
de modèles PHP populaires, Blade n’empêche pas l'utilisation du code PHP simple dans les
vues. En fait, toutes les vues de Blade sont compilées en code PHP ordinaire et mises en
cache jusqu'à ce qu'elles soient modifiées, ce qui signifie que Blade ajoute une surcharge de
zéro à l’application. Les fichiers de vue Blade utilisent l'extension « .blade.php » et sont
généralement stockés dans le répertoire ressources/vies.
d. Eloquent:
L’ORM Eloquent fournit une simple implémentation Active Record pour travailler avec la
base de données. Chaque table de base de données a un "Modèle" correspondant qui est utilisé
pour interagir avec cette table. Les modèles les permettent de demander des données dans les
tableaux, ainsi que d'insérer de nouveaux enregistrements dans la table.
e. Postman:
Postman est une application permettant avec un navigateur Web de lancer des appels d’API et
de les tester.
33
Postman permet d’envoyer des requêtes vers l’API de site en lui ajoutant des en-têtes clés /
valeurs puis il permet de formater le résultat sur plusieurs formats tels que JSON, XML,
HTML et autres.
f. MySQL:
MySQL est un système de gestion de base de données relationnelle (SGBDR). Il est distribué
sous une double licence GPL et propriétaire. 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, en concurrence avec Oracle et Microsoft SQL
Server. [4]
g. JQuery:
jQuery est une bibliothèque JavaScript libre développée initialement par John Régis et
qui est aujourd'hui maintenue et mise à jour par la communauté jQuery Team. Le
Framework JavaScript jQuery code rapidement et simplement des traitements à base de
code JavaScript pour dynamiser et améliorer l'ergonomie des sites internet.
Visual Studio est un ensemble complet d'outils de développement permettant de générer des
applications web ASP.NET, des services web XML, des applications bureautiques et des
applications mobiles. Visual Basic, Visual C++, Visual C# utilisent tous le même
environnement de développement intégré (IDE), qui leur permet de partager des outils et
facilite la création de solutions faisant appel à plusieurs langages. Par ailleurs, ces langages
permettent de mieux tirer parti des fonctionnalités du framework .NET, qui fournit un accès à
des technologies clés simplifiant le développement d'applications web ASP et de services web
XML grâce à Visual Web Developer. [5]
34
Nous utilisons le langage c# pour l’application desktop, C# est un langage de programmation
orienté objet, commercialisé par Microsoft depuis 2002 et destiné à développer sur la
plateforme Microsoft .NET.
b. Java :
35
3.3 Description des interfaces réalisées
L’interface d’authentification est une des interfaces les plus importantes dans l’application
android, car chaque patient doit être enregistré dans notre système pour qu’il puisse profiter
des fonctionnalités de notre application.
A travers cette interface le patient donne son email et son mot de passe. Si cette combinaison
correspond aux informations qui existent dans la base de données, l’application le redirige
vers l’interface de recherche des médecins sinon un message d’erreur apparait.
L’authentification reste active pendant deux semaines: durant cette période le patient n’est pas
obligé de saisir ses données d’authentification à chaque utilisation de l’application sauf s’il
choisit de se déconnecter.
36
3.3.1.2 Interface de recherche d’un médecin dans la carte
La localisation d’un médecin (coordonnées GPS) sur la carte représentée par la figure 23 est
affichée en mode terrain au moment du chargement de l’interface. Néanmoins, l’utilisateur a
la possibilité de changer le mode satellite et choisir le mode qui lui convient.
37
Figure 23: Interface de chercher un médecin par spécialité
38
Si le patient clique sur le marqueur d’un médecin
Si le patient choisit un médecin après une recherche par spécialité ou par nom
Dans cette interface le patient trouve les informations relatives à un médecin : biographie,
email et numéro de téléphone.
Ensuite, il faut préciser l’heure et la date du rendez-vous souhaité comme le montre la figure
suivante.
Après avoir sélectionné la date et l’heure du rendez-vous, le patient reçoit un message qui lui
informe si sa demande de rendez-vous a été enregistrée ou pas.
39
Figure 26: Message succès et erreur de rendez-vous
40
Dans cette interface le patient peut trouver la liste de tous ses rendez-vous classés par état :
Une première liste contient les rendez-vous en attente que le patient a la possibilité de les
annuler.
Une deuxième liste contient les rendez-vous acceptés par le médecin et une troisième liste
contient les rendez-vous refusés.
41
3.3.2 Application Web
Pour accéder à son espace de travail, le médecin doit s’authentifier et son compte doit être
actif (un email d’activation est envoyé au médecin après l’inscription contient le lien et le
code d’activation du médecin).
Si le compte n’existe pas ou s’il est inactif, un message d’erreur apparait, sinon, le médecin
sera redirigé à son espace de travail.
42
3.3.2.2 Interface calendrier des rendez-vous
Dans cette interface le médecin trouve la liste de tous les rendez-vous acceptés dans un
calendrier.
Le calendrier peut être affiché par mois, par semaine et même par jour.
Il peut choisir entre consulter les statistiques de l’année courante qui affiche le taux des
rendez-vous acceptés et refusés par mois ou il peut préciser une année pour consulter les
rendez-vous de cette année.
43
3.3.2.4 Interface profil médecin
Cette interface présente le profil du médecin, dans laquelle le médecin peut trouver tous ses
coordonnées.
A partir de cette interface le médecin peut changer sa biographie, ses photo de profil, sa
position sur la carte et ses jours de travail.
44
3.3.2.6 Interface fiche rendez-vous
Pour chaque patient, un dossier médical sera créé.
Si un rendez-vous est accepté, le médecin peut créer une fiche de rendez-vous le jour de la
consultation. A travers cette fiche, il peut :
45
Figure 33: Interface fiche rendez-vous
1
Le Material Design est un ensemble de règles de design proposées par Google et qui s'appliquent à l'interface
graphique des logiciels et applications
46
3.3.3.1 Interface d’authentification
Dans ce cas, l’administrateur doit vérifier l’image envoyée par le médecin avant d’activer son
compte en cliquant sur le check box comme le montre la figure suivante.
47
Figure 35: interface de gestion des médecins
48
Conclusion
Au cours de ce chapitre, nous avons décrit les plateformes matérielles et logicielles sur
lesquelles nous avons développé notre système. Nous avons ensuite présenté les trois
applications de notre système de gestion des rendez-vous médicaux à travers quelques
interfaces que nous avons développées.
49
Conclusion Générale
La réalisation de ce travail a passé par trois phases essentielles. En premier lieu, nous avons
effectué une étude préalable qui nous a permis d’identifier les besoins de notre application.
En deuxième lieu, nous avons entamé la partie conception. Enfin, nous avons présenté les
outils de développement adoptés et les résultats obtenus.
Finalement, notre application peut être améliorée et enrichie par de nouvelles fonctionnalités.
50
Bibliographie
[1] https://openclassrooms.com/courses/debutez-l-analyse-logicielle-avec-uml/uml-c-est-quoi
[2]https://book.cakephp.org/2.0/fr/cakephp-overview/understanding-model-view-
controller.html
[3] https://laravel.com/docs/5.4
[4] https://www.oracle.com/fr/mysql/index.html
[5] https://fr.wikipedia.org/wiki/Microsoft_Visual_Studio
51