Rapport - de Stage
Rapport - de Stage
INFORMATIQUE MEDICALE
Intitulé
_____________________________________________________________________________________________________________________
El ASRI Mohamed
BOUICHIDAR Amine
Le : 19-07-2022
Encadré par
Pr. Seddiq EL KASMI ALAOUI
Composition du jury
Nous tenons à adresser nos vifs remerciements à notre encadrant Pr. Seddiq EL KASMI
ALAOUI, pour ses précieux conseils, son engagement et sa patience, qui ont grandement
contribué à l'avancement du projet. Nos vifs remerciements sont adressés aussi au Dr. Asmae
Zaidani, pédiatre concernée par notre projet, pour son accueil chaleureux et pour le partage de
son expertise.
Nous adressons également nos sincères remerciements au Pr. SAID JAI ANDALOUSSI,
chef de la filière « Informatique Médicale » à la FSAC, ainsi qu'à tous les professeurs et
dirigeants de cet institut pour les efforts qu’ils consacrent pour notre formation.
2
Résumé
Le projet vise à développer une application qui informatise la gestion d’un cabinet de
pédiatrie avec une interface graphique simple et ergonomique.
Cette application sera utilisée entre autres pour gérer les rendez-vous, consultations,
ordonnances, certificats médicaux, dossiers des patients, facturations, gestion du personnel du
cabinet, ...
● La création d’un cahier de charge qui inclut toutes les exigences demandées
par le client.
○ La définition du contexte.
○ L’établissement des fonctionnalités de base.
○ L’établissement des diagrammes nécessaires à la conception de l’application.
○ Le choix des outils nécessaires (PHP, HTML, CSS, JavaScript...).
3
Abstract
The project aims to develop an application that computerizes the management of a
pediatric practice with a simple and ergonomic graphic interface.
This application will be used, among other things, to manage appointments, consultations,
prescriptions, medical certificates, patient files, invoicing, practice staff management, ...
● The creation of a specification that includes all the requirements, validated by the client.
4
Table des matières
Introduction générale...........................................................................................................................11
[Link] : ................................................................................................................................14
[Link]ématiques : ...........................................................................................................................14
5
f. La gestion de facturation: ..........................................................................................................19
[Link] ....................................................................................................................................22
[Link] ..................................................................................................................................24
[Link]...................................................................................................................................36
[Link] ..................................................................................................................................38
[Link] .......................................................................................................................................38
[Link] ...........................................................................................................................................38
[Link] 38
[Link] ..........................................................................................................................................39
6
[Link] ...................................................................................................................................39
[Link] .......................................................................................................................................39
[Link]......................................................................................................................................39
[Link] .......................................................................................................................................40
[Link] ...........................................................................................................................................40
[Link] ...................................................................................................................................40
[Link] ......................................................................................................................................40
3.Réalisation ....................................................................................................................................41
[Link] ....................................................................................................................................62
Webographie .......................................................................................................................................65
7
Figure 4 : Diagramme de cas d’utilisation de la prise de rendez-vous .....................................................26
8
Figure 27 : Insertion des données de vaccination ...................................................................................50
9
Liste des abréviations
UML : Unified Modeling Language.
MCD : Modèle Conceptuel de Données.
MLD : Modèle Logique de Données.
SGBD : Système de Gestion de Bases de Données.
BD : Base de données.
CIN : Carte Nationale d’Identité
HTML : Hyper Text Markup Language
CSS : Cascading Style Sheets
PHP : HyperText Preprocessor
HTTP : HyperText Transfer Protocol
HTTPS : HyperText Transfèr Protocol Secure
DDOS : Distributed Denial-of-Service
SQL : Structured Query Language
FSAC : Faculté des sciences Ain Chock
10
Introduction générale
De nos jours, le développement des applications informatiques est très convivial et
reconnu dans presque tous les domaines y compris le domaine médical.
En effet, les applications informatiques et les sites web ont une apparence plus harmonisée
et spécifique avec la rapidité d’accès à l’information et la possibilité de profiter d’un certain
nombre de fonctionnalités innovantes, intéressantes et intuitives.
Le présent projet s’articule autour de trois chapitres qui sont présentés comme suit :
11
● Le troisième chapitre permet de définir les outils que nous avons utilisés tout au long de
la réalisation de notre projet ainsi que la présentation des activités des différentes
interfaces de l’application.
12
Chapitre I
Contexte général du projet
13
1. Introduction :
Ce chapitre présente d’une manière générale le contexte du projet, tels que sa description
détaillée, ses objectifs et aussi les besoins communiqués avec le client.
2. Problématiques :
La digitalisation des données médicale est devenue le plus caractéristique attendu, pour
plusieurs raisons comme celle que nous allons présenter dans cette partie.
● Perte de temps.
● Difficultés de stockage.
● Mauvaise modification.
● Travail répétitif.
● …………
14
a. Etude de l’existant
b. Limite de l’existant
Après l'étude de l’existant réalisé nous nous sommes rendu compte de plusieurs
faiblesses et limites de la solution existante, telles que :
- Application intranet.
15
- Difficulté de navigation entre les interfaces.
a. Besoins fonctionnels
Le développement d’une application Web pour la gestion d’un cabinet de pédiatrie qui
répondra aux besoins suivants :
● Rechercher un patient.
● Gérer la facturation.
16
b. Besoins non fonctionnels
Le développement d’une application Web demande une réponse sur plusieurs besoins
fonctionnels ainsi que les non fonctionnels, Comme suivant :
● Sécurisé et performant.
● Facile à utiliser.
● …..
5. Solution proposée
En effet, avec ce système les patients pourront rapidement prendre rendez-vous dans le
cabinet pour une consultation et gérer leur rendez-vous quel que soit l’heure. Pour toute
consultation, les médecins pourront facilement retrouver le dossier médical de leur patient et le
mettre à jour avec les nouvelles données de consultation. L’application met en contact
patient/médecin grâce au Blog, où les patients peuvent trouver des informations et obtenir des
réponses à propos de leur inquiétude à travers des articles écrits par le médecin. Ceci assure le
suivi effectif à long terme du patient.
17
a. La gestion d’un patient :
● Gérer la « vaccination ».
○ Ajouter « Rendez-vous ».
○ Supprimer « Rendez-vous ».
○ Affichage « Rendez-vous ».
○ Validation de « Rendez-vous ».
18
● Ajouter une « ordonnance ».
f. La gestion de facturation:
● Créer « facture ».
● Afficher « facture ».
● Modifier « facture ».
● Imprimer « facture ».
g. La gestion du personnel :
● Ajouter un utilisateur
● Modifier un utilisateur
● Supprimer un utilisateur
● Planification :
Cette phase d’initiation de projet met la table pour l’estimation du projet avec une
connaissance à haut niveau des besoins et des objectifs visés. Diverses facettes sont abordées
avec le client durant des rencontres exploratoires ou d’analyses. Le contexte d’affaires, la
transition technologique, ainsi qu’une connaissance des utilisateurs internes/externes sont pris en
considération. Le tout permet d’appréhender les risques et les enjeux afin de mieux évaluer les
coûts et la planification du projet.
● Les requis :
Cette étape reprend les points notés durant l’étape de planification et ajoute un niveau de
précision supplémentaire pour faire avec le client un inventaire complet des besoins et des
objectifs. La transcription de ceux-ci se détaille en fonctionnalités qui pourront être proposées en
équipe (par sprints) pour le design et le développement.
● Le design et le prototypage :
Une fois les requis bien définis, une schématisation de l’architecture de la solution est faite
durant cette phase. Il peut prendre différentes formes. Il peut décrire l’architecture technologique
(matérielle et logicielle), les interfaces exposées à différents services ou applications ou à des
sources de données.
● Le développement logiciel :
Comme le nom l’indique, c’est l’étape où les développeurs codent la solution
(Frontend et Backend) et connectent les interfaces pour atteindre les objectifs définis.
Dans le cadre de la méthodologie Agile, c’est un processus itératif. Les clients sont en
20
mesure de suivre, tester et approuver les fonctionnalités codées et à venir. Ceci permet de
livrer une solution opérationnelle en fonction des besoins priorisés par sprints.
Durant la phase de développement, divers tests mettent à l’épreuve la solution pour valider
le comportement et les fonctions. Les équipes et le client suivant des plans de tests et les résultats
sont passés en revue. Le tout se déroule dans des environnements de tests ou de « Staging »,
différents de celui où la solution finale sera mise en production. Durant cette phase, il y a une
rétroaction continuelle entre l’assurance qualité et les développeurs pour supprimer les erreurs
(bogues). Lorsque le moment survient de mettre en production la solution, la phase déploiement
s’organise déjà.
● Le déploiement
Le déploiement marque la fin des développements et des tests sur le logiciel. Cette phase
est constituée du transfert de la solution sur l’environnement client ou celui de production. Des
mécanismes d’alerte et de contrôle sont mis en place en vue de la phase maintenance.
● La maintenance
C’est une phase où, typiquement, une autre équipe prend la relève. Cette nouvelle équipe
est en quelque sorte un service à la clientèle post-implantation. À la suite d’une période de
stabilisation de la solution en déploiement, l’équipe de support et maintenance reste alerte face
aux demandes du client. Les correctifs ou les demandes d’améliorations sont pris en charge selon
leur envergure et les délais définis dans l’entente de service (Service Levels Agreement). Si
nécessaire, le cycle de développement logiciel peut reprendre du départ si les efforts requis
représentent un nouveau projet.
La planification de projet est une étape nécessaire dans l’étude préalable ; son objectif
principal est la planification des tâches et la fourniture d’une vision globale sur le déroulement
du projet. Il permet de superviser la réalisation d’une tâche unique, avec ses ressources, ses dates
21
de début et de fin et la durée qui lui a été déjà consacrée, comme il permet de suivre l’avancement
du projet dans son ensemble.
9. Conclusion
Dans ce premier chapitre, nous avons fait une étude globale de notre projet tout en définissant
son contexte général, puis nous avons défini les défis et les problèmes qui peuvent être
rencontrés par un utilisateur dans des applications similaires, ensuite nous avons proposé des
solutions pour résoudre ces problèmes.
22
Chapitre II
Conception et modélisation du
projet
23
[Link]
[Link]ésentation d’UML :
[Link]ésentation de MERISE :
24
[Link] des acteurs du système :
ACTEUR RÔLE
Ce diagramme représente les besoins des utilisateurs par rapport au système. Dans ce
diagramme on trouve trois concepts : les acteurs, le cas d’utilisation et l’interaction entre ces
deux derniers.
L’acteur est toute personne ou système qui interagit avec le système en cours de
modélisation. Il peut être défini comme une description de l’interaction entre les acteurs et le
système, selon le point de vue de l’utilisateur.
25
Figure 3 : Diagramme de cas d’utilisation de gestion d’un patient
La figure 3 présente les différentes gestions, qui se font par le médecin, la secrétaire, et le
tuteur au niveau des différents services proposés par notre solution.
26
Figure 5 : Diagramme de cas d’utilisation de facturation
La figure 5 présente le déroulement de la gestion de la facturation exécuté par la secrétaire.
[Link] de séquence
27
Le diagramme de séquence permet de représenter des collaborations entre les objets, selon
un point de vue temporel, on met l’accent sur la chronologie des envois de messages. Sa
représentation se concentre sur l’expression des interactions. Il peut servir à illustrer un cas
d’utilisation.
28
Les étapes d’authentification :
● Le système envoie les données dans une requête à la base des données.
29
● Après l’authentification, du tuteur sur l’application, Il peut cliquer sur le bouton«
Demande de rendez-vous ».
● La secrétaire reçoit une notification dans le cas d’annulation de rendez-vous par le patient.
30
Figure 9 : Diagramme de séquence pour la gestion des consultations
31
● Si le médecin effectue le remplissage avec succès, le système envoie une requête d’ajout
à la base des données.
32
Figure 10 : Diagramme de séquence pour la création de la fiche d’un patient
● Quand elle clique sur le bouton de la création de fiche patient, le système affiche un
formulaire à remplir.
● Elle doit remplir les champs obligatoires, avant de cliquer sur Valider, pour envoyer la
requête de création correcte.
33
● La BD vérifie si les données n'existent pas dans la BD, avant de les enregistrer, sinon il
envoie un message d’erreur au système qui affiche ça à l’utilisateur.
· La classe : un ensemble de fonctions et de données (attributs) qui sont liées par un champ
sémantique.
· L’association : une sorte de connexion sémantique entre deux classes (relation logique).
34
Le modèle conceptuel de données (MCD) est une représentation graphique de haut niveau
qui permet facilement et simplement de comprendre comment les différents éléments sont liés
entre eux.
Il a pour objectif de constituer une perception claire et cohérente des données manipulées
dans l’entreprise en décrivant leur sémantique (le sens attaché à ces données) et les rapports qui
existent entre elles.
Figure 12 : MCD
Le modèle logique de données est une étape de la conception qui consiste à décrire la
structure des données utilisées, et présenter la structure statique du système d'information, il a
pour but la traduction du modèle conceptuel de données en fonction du SGBD à utiliser lors du
développement de l'application.
35
Figure 13 : MLD
[Link]
Dans ce deuxième chapitre, nous avons décrit la phase d’analyse et conception de notre
projet et nous avons aussi présenté et défini quelques diagrammes du formalisme UML.
Ces diagrammes, nous ont aidé à déduire notre MCD et MLD afin d’illustrer le
fonctionnement de l’application.
Le troisième chapitre sera dédié à la description des différents outils que nous avons
employés pour réaliser notre projet.
36
Chapitre III
Mise en œuvre du projet
37
1. Introduction
Ce chapitre sera consacré à la description des outils que nous avons utilisés tout au long
de la réalisation de notre projet. Pour mettre en place notre système, nous avons utilisé plusieurs
outils de conception et de développement qui ont assuré le bon déroulement de différentes phases
de ce projet.
Ainsi qu’une partie de réalisation qui présente et décrit les interfaces graphiques les plus
importantes dans notre application.
Avant de passer à la phase de réalisation, nous passons vers la phase de choix des
technologies, qu’on doit les utiliser pour implémenter notre connaissance et notre conception,
afin de créer l’application.
a. HTML
HTML est le format de données conçu pour représenter les pages web. C’est
un langage de balisage permettant d’écrire de l’hypertexte, d’où son nom. HTML
permet également de structurer sémantiquement et de mettre en forme le contenu
des pages, d’inclure des ressources multimédias dont des images, des formulaires
de saisie, et des programmes informatiques.
b. CSS
Les feuilles de style en cascade, généralement appelées CSS, forment un
langage informatique qui décrit la présentation des documents HTML.
c. JS
JavaScript est un langage de programmation de scripts orienté objet, il est
à ce jour utilisé majoritairement sur Internet, conjointement avec les pages Web
(HTML). Le JavaScript s'inclut directement dans la page Web (ou dans un fichier
externe) et permet de dynamiser une page HTML.
38
d. PHP
PHP est un langage de programmation libre principalement utilisé pour
produire des pages Web dynamiques via un serveur HTTP, mais pouvant
également fonctionner comme n'importe quel langage interprété de façon
locale.
e. Bootstrap
Bootstrap est une collection d'outils utiles à la création du design de sites
et d'applications web. C'est un ensemble qui contient des codes HTML et CSS,
des formulaires, boutons, outils de navigation et autres éléments interactifs,
ainsi que des extensions JavaScript en option.
f. JQuery
JQuery est une bibliothèque JavaScript libre et multiplateforme créée
pour faciliter l'écriture de scripts côté client dans le code HTML des pages web.
La première version est lancée en janvier 2006 par John Resig.
g. MySQL
Le SGBD MySQL est supporté par un large éventail d'outils. MySQL
est surtout installé pour les applications Web, ce SGBD est solide et utilisé
par de grands groupes spécialisés dans l'Internet. Plusieurs pilotes natifs de
type 4 sont disponibles pour MySQL et sont conseillés pour une utilisation
en PHP.
39
i. Xampp
Xampp(APACHE) : est un ensemble de logiciels permettant de mettre
en place un serveur Web local, un environnement comprenant deux serveurs
(Apache et MySQL), un interpréteur de script (PHP), ainsi que PhpMyAdmin
pour l'administration Web des bases MySQL.
j. VSC
Visual Studio Code : (VSC par la suite) est un éditeur de code open-
source, gratuit et multiplateforme (Windows, Mac et Linux), développé par
Microsoft, Principalement conçu pour le développement d'application avec
JavaScript, TypeScript et [Link], l'éditeur peut s'adapter à d'autres types de
langages grâce à un système d'extension bien fourni.
k. StarUML
StarUML est un logiciel de modélisation UML, qui a été « cédé comme
open source » par son éditeur, à la fin de son exploitation commerciale, sous
une licence modifiée de GNU GPL.
l. Looping
Looping est un logiciel de modélisation conceptuelle de données entièrement gratuit et
libre d'utilisation. Il permet de modéliser des entités et des associations, de
générer des diagrammes de classes UML, de créer des associations réflexives
avec définitions des rôles, de transformer ces associations en entités avec
identifiants relatifs, d'exporter des scripts SQL, d'afficher en temps réel les
modules logiques de données textuels, ou encore d'exécuter des requêtes SQL
de création de tables de la base de données instantanément.
m. FileZilla
FileZilla Client est un client FTP, FTPS et SFTP, développé sous la
licence publique générale GNU. Il est intégré à la liste des logiciels libres
40
préconisés par l’État français dans le cadre de la modernisation globale de ses systèmes
d’informations.
n. Microsoft Project
Microsoft Project est un logiciel de gestion de projets édité par
Microsoft. Il permet aux chefs de projet et aux planificateurs de planifier et
piloter les projets, de gérer les ressources et le budget, ainsi que d'analyser et
communiquer les données des projets.
3. Réalisation
L’objectif de cette partie est d’appliquer tout ce qu’on a vu dans la partie théorique, Et pour
ce but, nous présentons par la suite notre réalisation qui contient quatre parties (Côté patient,
médecin, secrétaire et administrateur), à travers des captures d’écrans des parties réalisées.
a. Côté patient :
Figure 14 : Portail
41
La figure 14, montre que l'utilisateur peut accéder à son espace, en cliquant sur le bouton
d’authentification, comme il a l’accès au chabot où il peut s’informer sur le cabinet, docteur et
l’application.
La figure 15, représente l’interface d’où l’utilisateur (Tuteur) peut s’authentifier sur
l’application en saisissant son email et son mot de passe s’il a déjà créé son propre compte.
42
Figure 16 : Page d’inscription
La figure 16, représente la page d’inscription, Où l'utilisateur peut créer son compte sur
l’application, il peut le créer en saisissant son nom complet, email, mot de passe et la confirmation
de son mot de passe.
43
Figure 17 : Réinitialisation de mot de passe
44
La figure 18, montre la page d’accueil de l’application, qui s’affiche si l’opération
d’authentification s’est effectuée avec succès.
45
La figure 19, présente une vue sur le processus de prise de rendez-vous ainsi qu’il donne
la possibilité d'accéder pour réserver un rendez-vous et aussi de gérer la liste des rendez-vous
réservés.
46
Figure 21 : Liste des rendez-vous
La figure 21, montre l’interface qui permet à l’utilisateur d’imprimer la fiche de rendez-
vous, s’il est confirmé par la secrétaire, et aussi il peut l’annuler.
47
La figure 22, présente l’interface d’impression de confirmation de rendez-vous par le
tuteur.
b. Côté secrétaire :
48
Figure 24 : Création de profile tuteur
La figure 24, représente la page de création des profils tuteurs pour la prise de rendez-vous
à domicile.
La figure 25, montre la page de création des profils patient, après la sélection de son tuteur
depuis le tableau qui est affiché à droit pour le but de la prise de rendez-vous.
49
Figure 26 : La prise de Rendez-vous
50
Figure 28 : Liste des rendez-vous
La figure 28, montre la liste des rendez-vous, Et les actions que la secrétaire peut effectuer
sur chaque rendez-vous, ainsi que l’option d’impressions des rendez-vous qui sont déjà
programmés, et les Rendez-vous qui sont en attente de confirmation.
c. Côté médecin :
Figure 29 : Dashboard
51
La figure 29, présente la vue générale du médecin sur l’état de son cabinet, grâce aux
indicateurs où il peut savoir combien de consultations sont passées par jour et aussi combien
d’argent recevez par jour ou par mois à partir des factures payées.
La figure 30, représente que le médecin peut créer une consultation, il suffit de choisir le
patient concerné, et de remplir les champs requis qui s’affichent dans une “pop-up”.
52
Figure 31 : Modification des consultations
53
Figure 32 : Création des ordonnances
54
La figure 33, montre la liste des ordonnances au médecin qui peut les imprimer, ou
d’afficher les informations d’ordonnance.
Figure 34 : Ordonnance
55
Figure 35 : Modification des ordonnances
La figure 35, montre que le médecin peut modifier les informations des ordonnances s’il
y a une erreur.
56
Figure 36 : Création des certificats
La figure 36, montre que le médecin peut créer les certificats médicaux, il suffit de
sélectionner une consultation.
57
Figure 37 : Liste des certificats
La figure 37, représente la liste des certificats médicaux, et les actions que le médecin
peut effectuer sur les certificats.
58
Figure 38 : Certificat médical
59
Figure 39 : Modification des certificats
La figure 39, montre que le médecin à la possibilité de modifier les informations des
certificats médicaux qu’il a créé.
d. Côté administrateur :
60
La figure 40, montre que l'administrateur peut créer plusieurs accès pour les employées du
cabinet.
La figure 41, présent le privilège de modification des informations des employés accordé
à l’administrateur, s’il y’a un changement au niveau des données personnel d’un l’employé
61
La figure 42, montre que l'administrateur prend le privilège de restreindre les accès aux
membres de personnel en cas de changement des employés.
4. Conclusion
Dans le chapitre réalisation nous avons appelé à présenter les interfaces réalisées dans
notre application pour clarifier les étapes d’utilisation de notre service.
Au niveau du développement du code, les interfaces ont été modifiées selon le nouveau
besoin apparu afin de garder la cohérence et la simplicité au niveau de compréhension pour le
client. Comme résultat final, l’application est conforme au cahier des charges, respectant ces
objectifs et ces consignes.
62
Conclusion générale
Ce projet nous a permis d'avoir une approche complète du développement des applications
informatiques et une bonne initiation à l'analyse des besoins ainsi que la gestion d’un projet
informatique.
Sur le plan conceptuel nous avons utilisé le langage UML que nous avons bien maîtrisé à
travers l'étude effectuée de l'application gestion du cabinet de pédiatrie, et sur le plan pratique,
cette application a été développée avec le système de gestion de bases de données PHPMyAdmin.
Nous avons donc présenté les différentes étapes de la conception et la réalisation de notre
application. Par ailleurs, ce projet était pour nous une occasion intéressante d’acquérir de
nouvelles connaissances, ainsi qu'une expérience forte enrichissante qui nous a permis de mettre
en œuvre le bagage qu’on a pu acquérir durant notre formation universitaire au sein de la faculté,
sans oublier l’esprit d’équipe qu’on a pu développer tout au long de notre réalisation du projet.
63
● L’utilisation du nouveau-né par rapport à la technologie du Web : py-script.
64
Webographie
● [Link]
le 29/04/2022
● [Link] le 10/05/2022
● [Link] le 18/05/2022
● [Link] le 20/05/2022
● [Link] le 22/05/2022
● [Link] le 29/05/2022
● [Link]
mail-from-localhost le 10/06/2022
● [Link] le 14/06/2022
● [Link] le 19/06/2022
● [Link] le 22/06/2022
● [Link] le 25/06/2022
● [Link]
mysql-via-php le 29/06/2022
● [Link] le 01/07/2022
● [Link]
stage-les-regles-de-presentation/ le 03/07/2022
● [Link] le 06/07/2022
● [Link] le 06/07/2022
● [Link] le 06/07/2022
65
● [Link] le 06/07/2022
● [Link] le 06/07/2022
● [Link] le 06/07/2022
● [Link] le 06/07/2022
● [Link] le 06/07/2022
● [Link] le 06/07/2022
● [Link]
recognition/blob/master/[Link] le 08/07/2022
● [Link] le 11/07/2022
● [Link] le 12/07/2022
66
Les annexes
67
Annexe 1 : Point de Production
68
Année universitaire : 2021/2022
Titre du sujet : La mise en œuvre d’une application Web pour la gestion d’un cabinet de
pédiatrie
Résumé
Le projet vise à développer une application qui informatise la gestion d’un cabinet de
pédiatrie avec une interface graphique simple et ergonomique.
Cette application sera utilisée entre autres pour gérer les rendez-vous, consultations,
ordonnances, certificats médicaux, dossiers des patients, facturations, gestion du personnel
du cabinet, ...
________________________________________________________
________________________________________________________
69