Académique Documents
Professionnel Documents
Culture Documents
Paix-Travail-Patrie Peace-Work-Fatherland
****** ******
ECOLE NATIONALE NATIONAL ADVANCED SCHOOL
SUPERIEURE DES POSTE ET OF POST AND
TELECOMMUNICATION ET DES TELECOMMUNICATION AND
TICs ICTs
******* *******
Groupe3
Noms des membres Note
EFEMBA JOHANNA XAVIERA
MADIA MAKOMRA MODESTE
MENGUE BOMBA AUDREY
ONDOUA AYONG LUDOVIC
TAKAM TCHEUTCHOUA JUNIOR
TIKELA DAOU CHRISTIAN AYMAR
YAYA MAHAMAT IMAR II
YUMO BERNARD DZEKEM
Supervisé par:
IT1 2022-2023
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour
un organisme de sécurité social 1
Sommaire
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 2
organisme de sécurité social
Liste des figures
Figure 1: diagramme de contexte ______________________________________________ 8
Figure 2: structure d'une application javafx _____________________________________ 14
Figure 3: implementation de la BD dans MySQL __________________________________ 16
Figure 4: structure MVC de l'application 1 ______________________________________ 19
Figure 5: structure MVC de l'application 2 ______________________________________ 19
Figure 6: prise en main de scène Builder ________________________________________ 20
Figure 7: classe PatientData__________________________________________________ 22
Figure 8: classe Info ________________________________________________________ 22
Figure 9: classe DataBase ____________________________________________________ 23
Figure 10: prototype vue message de conformation ______________________________ 23
Figure 11: prototype vu message d'erreur _______________________________________ 23
Figure 12: classe SuccessController ____________________________________________ 24
Figure 13: Classe ErrorController ______________________________________________ 24
Figure 14: interface ajouter patient ____________________________________________ 25
Figure 15: code Enregistrer patient ____________________________________________ 25
Figure 16: fonction enregistrer patient du modèle patient _________________________ 26
Figure 17: interface dashboard _______________________________________________ 26
Figure 18: interface ajouter patient ____________________________________________ 27
Figure 19: message d'alerte __________________________________________________ 27
Figure 20: interface consulter liste des patients __________________________________ 28
Figure 21: interface modifier les informations d'un patient _________________________ 28
Figure 22: interface suppression d'un patient ____________________________________ 29
Figure 23: interface impression feuille de maladie ________________________________ 29
Figure 24: dossier document _________________________________________________ 30
Figure 25: feuille de maladie du patient SONNA BOREL ____________________________ 30
Figure 26: interface enregistrement du médecin _________________________________ 31
Figure 27: Interface de la liste des médecins _____________________________________ 31
Figure 28: Interface de mise à jour des informations d'un médecin___________________ 32
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 3
organisme de sécurité social
Liste des tableaux
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 4
organisme de sécurité social
Résumé
Le présent rapport constitue le résultat de notre travail accompli dans le cadre de notre
cours de programmation orienté objet et pratiques JAVA portant sur le thème : «
Implémentation de l’application de gestion des patients, leurs médecins traitants et des
médecins spécialistes pour un organisme de sécurité social ». L’objectif de ce travail est de
coder ce projet grâce au langage de programmation JAVA. C’est dans cet optique que nous
avons décidé de mettre sur pied ce document qui propose une présentation étape après
étapes en partant de la description du projet et de ses fonctionnalités jusqu’à
l’implémentation dans l’optique de mieux éclaircir les contours du problème. Il s’agit d’une
application de gestion des patients, des médecins, des consultations, des enregistrements de
feuilles de soins, et des remboursements. Pour y parvenir, Nous utiliserons les logiciels Intellij,
Scenebuilder et MySQL qui nous permettront de réaliser l’ensemble de nos interfaces, le
backend de l’application et l’implémentation de la base de données. Ce document est donc le
résultat d’une étude préalable effectué au cours d’UML.
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 5
organisme de sécurité social
Abstract
This report is the result of our work accomplished within the framework of our course in
object-oriented programming and JAVA practices on the theme: "Implementation of the
application for the management of patients, their treating physicians and specialist
physicians for a social Security ". The objective of this work is to code this project using the
JAVA programming language. It is with this in mind that we have decided to set up this
document which offers a step-by-step presentation starting from the description of the
project and its functionalities up to the implementation with a view to better clarifying the
contours of the issue. It is an application for managing patients, doctors, consultations, care
sheet recordings, and reimbursements. To achieve this, we will use Intellij, Scene builder and
MySQL software, which will allow us to create all of our interfaces, the backend of the
application and the implementation of the database. This document is therefore the result of
a preliminary study carried out during UML.
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 6
organisme de sécurité social
Introduction
De nos jours, nous remarquons que les TIC apportent de plus en plus des solutions aux
problèmes que nous rencontrons dans notre vie quotidienne. Ceci principalement sur le plan
économique. Ainsi La demande en logiciel d’automatisation et de gestion des entreprises
s’accentue de nos jours. De plus en plus des entreprises, des particuliers et bien d’autres font
appel à un informaticien pour la mise en place d’un bon logiciel de gestion de ses ressources.
Toutes fois, la production d’un tel logiciel passe par plusieurs étapes que l’on appelle le cycle
de développement d’un logiciel (l’analyse, la conception, l’implémentation, les tests et le
déploiement). Afin de maitriser la création d’un logiciel, nous nous sommes pour le moins
focaliser la phase d’implémentation du cycle de développement pour le projet tutoré qui est tiré
d’un problème réel consistant à mettre en place une application de gestion des assurés.
Pour cela, nous nous sommes servis du Framework JAVAFX afin de réaliser une logiciel
intégrant qualité et qui est adapté aux exigences du client bonne analyse et compréhension par
le client. Ainsi notre travail consistera d’abord à présenter le projet, ensuite les fonctionnalités
à développées et les étapes de l’implémentation.
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 7
organisme de sécurité social
Partie 1 : Présentation du projet
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 8
organisme de sécurité social
Partie 2 : Spécification des besoins
Le système à réaliser doit offrir un ensemble de fonctionnalités qui doivent être mises
en relation avec un ensemble de besoins utilisateur. Ces dernières définissent les services
auxquels les utilisateurs s’attendent et se caractérisent par les catégories suivantes :
• Le respect des obligations légales : l’utilisateur doit donner son consentement avant la
collecte de données, être informé sur les données collectées. Il doit pouvoir accéder aux
données collectées et les modifier. Enfin, il doit être tenu au courant en cas de brèche
de sécurité.
Il doit être par ailleurs possible d’imprimer la feuille de maladie d’un patient au format PDF et EXCEL
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 9
organisme de sécurité social
2.2.2. Gestion des médecins
L’application doit être à mesure de gérer les médecins que ce soit généraliste ou spécialiste,
il doit être possible d’effectuer l’enregistrement d’un médecin, de consulter la liste des médecins, de
supprimer un médecin de la base de données ou de modifier les informations d’un médecin.
Il doit être par ailleurs possible d’imprimer les informations d’un médecin via la plateforme toujours
au format PDF et EXCEL
Un besoin non fonctionnel est une restriction ou une contrainte qui pèse sur un service du
système, telles que les contraintes liées à l’environnement et à l’implémentation et les exigences en
matière de performances, les dépendances du projet, de facilité de maintenance, d’extensibilité et
de fiabilité.
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 10
organisme de sécurité social
• La performance : Temps de réponse court.
• La fiabilité : Les données fournies par l'application doivent êtres fiables et la solution
doit rendre des résultats corrects.
• Guidage : L'ensemble des moyens mis en œuvre pour conseiller, orienter, informer et
conduire l'utilisateur lors de ses interactions avec l'ordinateur;
• Feedback immédiat : Dans tous les cas, l'ordinateur doit répondre à l’utilisateur en
fonction des actions et des requêtes de ce dernier;
• Brièveté : Limiter le travail de lecture, d'entrée et les étapes par lesquelles doivent passer
les usagers;
• Adaptabilité : Capacité à réagir selon le contexte et selon les besoins et les préférences
des utilisateurs;
• Correction des erreurs : Mettre à la disposition des utilisateurs des moyens pour
corriger leurs erreurs. Par exemple, fournir la possibilité de modifier les commandes lors
de leur saisie;
• Comptabilité : Il faut qu'il y ait accord entre les caractéristiques des utilisateurs et des
tâches, d'une part, et l'organisation des sorties, des entrées et du dialogue d'une
application donnée, d'autre part. Par exemple, les termes employés doivent être
familiers aux utilisateurs, et relatifs à la tâche à réaliser.
Implémentation de l’application de gestion des patients, leurs médecins et des médecins spécialistes pour un 11
organisme de sécurité social
Partie 3 : Implémentation de la solution
Partie 3partie,
Dans cette nous ferons l’implémentation
: Implémentation de delanotre
solution
application
Pour la mise sur pieds de notre solution, nous avons eu besoin des langages de
programmation, des technologies et des outils de développements, de déploiement et de
référencement.
• Back end : il s’agit de la partie du code qui va faire les requêtes pour la base de données
• Front end : il s’agit des interfaces que l’on voit à l’écran et avec lesquelles on interagit.
Ainsi, dans le cadre de notre projet, les langages et technologies choisis sont les suivants :
12
TABLEAU 65: LANGAGES DE PROGRAMMATION ET TECHNOLOGIES PLATEFORME WEB
Domaines Langages et technologies Justification
• Open source ;
• Orienté objet ;
Backend JAVAFX/JAVA • S’adapte parfaitement à l’architecture MVC ;
• Permet de faire des requêtes pour la base de
données
• C’est un format de données textuelles, dérivé du
format XML, qui permet de décrire une interface
Frontend utilisateur pour des applications conçus
FXML avec JavaFX.
• Facile d’utilisation ;
• Peut-être générer à partir de scenebuilder
SOURCE : NOUS-MEMES
Présentation de javaFX
JavaFX est une technologie créée par Sun Microsystems qui appartient désormais à Oracle.
Avec l'apparition de Java 8 en mars 2014, JavaFX devient la bibliothèque de création d'interface
graphique officielle du langage Java, pour toutes les sortes d'application (applications mobiles,
applications sur poste de travail, applications Web), le développement de son prédécesseur Swing étant
abandonné (sauf pour les corrections de bogues).
JavaFX contient des outils très divers, notamment pour les médias audio et vidéo, le graphisme 2D et 3D,
la programmation Web, la programmation multi-fils etc.
Main Le point d'entrée pour les applications JavaFX est la classe Application. JavaFX exécute dans l'ordre,
chaque fois qu'une application est lancée, les actions suivantes :
Il est à noter que la méthode de démarrage (start) est abstraite et doit être surchargée. Les méthodes
d'initialisation (init) et d'arrêt (stop) ont des implémentations concrètes qui ne font rien.
L’exécution du code suivant montre que l’exécution de la méthode init n’est pas faite par le même fil
d’exécution (thread) que l’appel au constructeur par défaut et l’exécution de la méthode start.
13
FIGURE 2: STRUCTURE D'UNE APPLICATION JAVAFX
14
3.1.1.2. Bibliothèque
Une bibliothèque désigne un une collection de routines, qui peuvent être déjà compilées
et prêtes à être utilisées par des programmes. De ce fait, il permet de faciliter le développement
d’un certain type d’application pour lequel il est conçu, et rend aussi facile la gestion ou la
conception de certaines parties du logiciel.
Front-end
ITextPDF Bibliothèque qui permet de faire les impressions
SOURCE : NOUS-MEMES
15
MySQL
MySQL est un serveur de bases de données relationnelles Open Source. Il est le deuxième
SGBD le plus utilisé et le plus populaire. Celui-ci stocke les données dans des tables séparées
plutôt que de tout rassembler dans une seule table. Cela améliore la rapidité et la souplesse de
l'ensemble. Les tables sont reliées par des relations définies, qui rendent possible la combinaison
de données entre plusieurs tables durant une requête.
Dans le cadre de notre projet, nous avons choisir d’utiliser MySQL comme SGBD de par
ses nombreux avantages :
• Multi-utilisateur;
• Gère différents types de données ;
• Simple d’utilisation ;
• Open source, c'est-à-dire que tout programmeur peut modifier son code ;
• Prise en charge de la programmation dans des langages comme C, Perl, C++, Java, Python et
PHP ;
16
3.1.3. Logiciels et matériels utilisés
Paint 3D
Réalisation du logo et
retouche des images du la
Photoshop est un logiciel de retouche, de traitement et de Plateforme
dessin assisté par ordinateur, lancé en 1990 sur MacOs
puis en 1992 sur Windows.
Photoshop
XAMPP est une distribution Apache entièrement gratuite Il nous a servir à mettre sur
et facile à installer contenant MySQL, PHP et Perl. pied la base de données en
local
XAMPP
Est un environnement de développement intégré destiné
au développement de logiciels informatiques reposant
sur la technologie Java
Intellij
Source : Nous-mêmes
17
3.2. Processus de réalisation
3.2.1. Sécurité
Les révolutions du numérique n’ont pas apporté que des bonnes choses, car elles ont aussi
emmené avec elles de nombreux pirates informatiques. En effet, à l’ère du tout connecté, de
nombreuses informations sensibles circulent sur internet, et il convient donc aux startups et
entreprises qui manipulent ces données, de garantir à leurs clients la sécurisation de ces données.
Il s’agira dans cette partie de démontrer comment nous allons assurer à la fois la sécurité des
informations des utilisateurs et celle de nos propres infrastructure matérielle et logicielle.
• Nom;
• Hash du mot de passe ;
• Les activités qu’il a réalisées.
Ainsi, chaque utilisateur aura uniquement accès à ses propres données uniquement s’il dispose
en effet d’un compte et d’un mot de passe.
18
FIGURE 4: STRUCTURE MVC DE L'APPLICATION 1
19
Pour le design des interfaces, nous utilisons le logiciel Scène Builder. Qui est un outil très performant qui
facilite la conception des vues notamment grâce à son concept de glisser déposer.
Apres la phase de connexion à l’application, il s’agit du code qui sera en cours d’exécution tout au long
de l’exécution de l’application
20
Elle contient la méthode StartVue qui permet de lancer n’importe quelle vue. Elle est notamment
utilisée pour créer des fenêtres modales
21
6.1.1.1.2. La classe PatientData
Il s’agit de la classe qui va faire le mappage avec l’entité patient de la base de données
22
6.1.1.1.4. Classe DataBase
Cette classe permet de gérer la connexion à la base de données MySQL
6.1.1.1.5.1. Vues
23
6.1.1.1.5.2. Contrôleur
24
6.1.1.2. Exemple du processus d’enregistrement d’un
patient
• La vue présente l’IHM qui permettre à l’utilisateur d’entrer les informations du patient
• Le contrôleur va récupérer les valeurs de tous les champs lorsque l’utilisateur clique sur le
bouton d’enregistrement pour les passer au modèle
Dans cette partie il sera question de faire une brève présentation de notre plateforme, à
travers la présentation de quelques interfaces clés
26
6.1.1.3.2. Patient
Nous allons présenter les interfaces relatives au patient :
6.1.1.3.2.1. Enregistrement d’un patient
27
6.1.1.3.2.2. Consulter liste des patients
28
6.1.1.3.2.4. Suppression d’un patient
29
FIGURE 24: DOSSIER DOCUMENT
30
6.1.1.3.3. MEDECIN
31
6.1.1.3.3.3. Mettre à jour les informations d’un médecin
32
Conclusion
Conclusion
Parvenu au terme de notre travail faisant suite à une modélisation réalisée lors du cours
d’UML, nous avons pu implémenter l’application qui nous incombait en utilisant le Framework
JAVAFX. Grace à cette technologie, nous avons pu réaliser toutes les interfaces et la logique
métier de notre application. Il apparait que javafx est une technologie qui se démarque de par sa
simplicité, son architecture de base qui est MVC et par son évolutivité. Nous avons également vu
un logiciel très puissant à savoir Scène Builder qui permet de faire du glisser déposer pour créer
nos vues et par la suite, il génère un fichier fxml qui s’intègre parfaitement avec javafx. Le
nouveau défi qui s’offre à nous est celui du déploiement
33
Bibliographie
Bibliographie
➢ Cours de modélisation UML 2022 de Pr. BATCHAKUI
➢ Cours de POO 2022 de Pr. BATCHAKUI
➢ PFE Groupe 19 2021-2022
➢ Cours javafx-fr.pdf créé à partir des contributeurs de Stack Overflow
➢ GUI avec JavaFX 8+
➢ Cours sur l’Introduction à JavaFX
34
Webographie
[1]
Webographie
https://www.google.com/search?q=le+FXML+en+javaFX+c%27est+quoi%3F&source=lnms&tbm
=isch&sa=X&ved=2ahUKEwjml5-J657-
AhVWTKQEHQlSDwcQ_AUoAXoECAEQAw&biw=1536&bih=688&dpr=1.25#imgrc=_w3zXLbBof4abM
[2] https://www.youtube.com/watch?v=ZfaPMLdgJxQ
[3] https://gluonhq.com/products/scene-
builder/thanks/?dl=https://download2.gluonhq.com/scenebuilder/19.0.0/install/win/SceneBuilder-
19.0.0.msi
[4] https://gluonhq.com/products/javafx/
[5] https://openjfx.io/openjfx-docs/
[6] https://code.makery.ch/fr/library/javafx-tutorial/part4/
[7] https://jdk.java.net/javafx20/
[8] https://www.oracle.com/java/technologies/javase/javafx-overview.html
[9] https://fr.wikibooks.org/wiki/Programmation_JavaFX/Introduction#:~:text=JavaFX%20est%20un
%20framework%20et,applications%20smartphones%20et%20tablettes%20tactiles.
35