Académique Documents
Professionnel Documents
Culture Documents
Signature
J’autorise les étudiantes à faire le dépôt de leurs rapport de stage en vue d’une soutenance.
Signature et cachet
Dédicaces
A mon très cher père Mohamed A l’homme qui est mon précieux offre du
Dieu, qui doit ma vie, ma réussite et tout mon respect, je dédie cet événement
marquant de ma vie en espérant que tu vas trouver de quoi être fier et honoré.
A mon adorable mère Lamia A la femme qui a souffert sans me laisser
souffrir, qui n’a jamais dit non à mes exigences et qui n’a épargné aucun
effort pour me rendre heureuse. Ce travail est dédié pour toi maman chérie
avez su être ma seconde famille. Vous avez continué à croire en moi même
lorsque je cesse de le faire. Je ne remercierai jamais assez le bon seigneur de
vous avoir mis sur mon chemin. Merci pour tout A tous ceux qui me sont
chers et que me ont omis de citer Que ce travail soit pour vous le témoignage
ii
Dédicaces
sempiternelle tendresse.
A ma sœur Dorra et mon frère Mohamed Amine Merci pour vos soutiens tout
A mon cousin Badreddine T’étais pour moi un frère aîné, tu étais toujours
près de moi dans les meilleurs et les pires moments. Tu m’as trop supporté.
A mes amis Wassim Houssem et Rihem qui m’ont apporté leur soutien moral
et leur amitié , qui m’ont prodigué des encouragements et se sont données la
iii
Remerciements
formation qu’il nous a procuré tout au long de cette expérience. Nos gratitudes
envers lui est au delà de ce que les mot peuvent décrire
et tous les formateurs qui ont assuré notre formation et notre encadrement.
Nous exprimons également nos sincère gratitudes à tous ceux qui ont contribué
iv
Table des matières
Introduction générale 1
v
1.10.1 Les méthodes agiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.10.2 Méthodologie adoptée : SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.11 Présentation de l’équipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.12 Chronogramme de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
vi
3.5.1 JWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7.1 Maquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7.2 REST API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.7.3 Interfaces graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
vii
5.3.2 Diagramme de séquence «Supprimer fréquence cardiaque » . . . . . . . . . . 73
5.4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.6 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.1 Maquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.2 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
CONCLUSION GÉNÉRALE 92
BIBLIOGRAPHIE 92
viii
Table des figures
ix
Table des figures
x
5.3 Diagramme de séquence de cas d’utilisation «Supprimer fréquence cardiaque» . . . . 73
5.4 Diagramme de classes gestion dossier . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.5 test de l’API liste des vaccinations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.6 Maquette « traitement » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.7 Maquette « Mesure » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.8 Interface « profil médical » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.9 Interface « les mesures d’un profil médical » . . . . . . . . . . . . . . . . . . . . . . . 76
5.10 Interface « Ajout traitement » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.11 Interface « Historique des traitements » . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.12 Interface « Ajout Hospitalisation par professionnel de santé » . . . . . . . . . . . . . 78
5.13 Swagger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.14 Code de l’implémentation de l ’API Ajout Hospitalisation par docteur . . . . . . . . 79
5.15 Interface « Liste des hospitalisation » . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.16 Interface « Liste des ordonnances » . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.17 Interface « Liste patient » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.18 Interface « Liste des professionnels de santé » . . . . . . . . . . . . . . . . . . . . . . 81
xi
Liste des tableaux
xii
Liste des abréviations
— CU = Cas d’Utilisation
— UI = User Interface
xiii
Introduction générale
Le projet de fin d’études est une initiation à la vie professionnelle vu que c’est une opportunité
pour valoriser nos compétences et nos connaissances dans le domaine informatique grâce à nos cursus
scolaires en particulier à l’Institut Supérieur des Etudes Technologiques de Sfax.
C’est le fruit de nos travaux pour obtenir nos diplômes de licences appliquées en développement de
systèmes d’information.
Afin de faciliter les taches des médecins, les personnels de santé ont migrés vers le domaine de
l’informatique avec des moyens assez avancés, notamment les plateformes web.
A titre d’exemple, notre projet de fin d’études est effectué au sein de la société FLYDEV où on
a développé une application web sous le nom «Espace Numérique De Santé » qui permet à ses
utilisateurs (médecins et patients) de partager les données.
Dans ce contexte, notre activité consiste à développer cette application.
Une application qui conserve, centralise et sécurise toutes les informations de santé d’un patient.
Tout patient peut partager son dossier avec les professionnels de santé de son choix, et ainsi être
soigné plus précisément. En effet rien n’est plus gratifiant que de donner un tel service afin de sauver
une vie.
Le présent rapport est structuré en 6 chapitres.
• Chapitre 1 : « Contexte général de projet »présentera en premier lieu l’organisme d’accueil
et leurs services puis abordera la présentation du projet, l’étude de l’existant et enfin exposera
la solution proposée.
1
Chapitre 1
Plan
1 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . 3
2 Cadre de stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 Etude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7 Choix technologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
9 Outils utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
10 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
11 Présentation de l’équipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
12 Chronogramme de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Chapitre 1. Contexte générale du projet
Introduction
Le succès de toute étude dépend de la qualité de son départ. C’est pour cette raison que
ce premier chapitre est dédié à l’étude du cadre de projet, ainsi, qu’à sa compréhension globale.
Nous allons entamer, dans la première partie, la présentation de l’organisme d’accueil. Par la suite,
nous allons enchaîner avec le contexte du projet, l’existant, la problématique ainsi que la solution
proposée.
Dans cette partie, nous allons présenter l’organisme d’accueil où a été réalisé notre projet de
fin d’études. Pour ce faire, nous allons commencer par introduire l’entreprise mère.
FLYDEV est une société française immatriculée au registre du commerce est active depuis
3 ans. Elle est spécialisée dans le secteur d’activité de la programmation informatique on peut dire
aussi que c’est une agence digitale full service basée à Paris et Tunis
La figure 1.17 présente le logo du groupe FLYDEV.[1]
En tant que société de services, FLYDEV prend en charge les projets de A jusqu’à Z, elle
met à la disposition des clients des compétences dans les domaines de :
• Frontend Backend : Sites Web réactifs Applications Web, Applications monopage (SPA),API
RESTful,Mean Stack.
3
Chapitre 1. Contexte générale du projet
• Développement Web : WordPress,Drupal, ,Blog sur mesure Gestion des actualités ,Système
d’adhésion , Applications PHP performantes ,Portails Web
1.1.3 Organigramme
Le présent projet intitulé ENS "Espace Numérique de Santé" est réalisé dans le cadre
d’un projet de fin d’études en vue de l’acquisition du diplôme national de licence en technologies
d’informatique. Ce projet a été effectué au sein de l’entreprise FLYDEV durant 14 semaines.
4
Chapitre 1. Contexte générale du projet
Aujourd’hui, le secteur de la santé évolue rapidement grâce aux technologies digitales qui
bouleversent les relations entre médecins et patients voire également entre les médecins eux-mêmes.
A l’heure de cette crise sanitaire, le Covid-19, les patients prennent des rendez-vous sur Internet ;
effectuent de la téléconsultation ..., la santé est résolument entrée dans une ère nouvelle. Dans ce
cadre , on a réalisé notre projet de fin d’études intitulé ENS "Espace Numérique de Santé" qui
présente un dossier médical partagé entre les patients et les professionnels de santé . Dans lequel il
y’a partage des informations de santé : traitements, résultats d’examens, allergies... en toute sécurité.
La méthode d’acronyme « SWOT » (Forces, Faiblesses, Opportunités, Menaces) est utile aux
acteurs de la prévention pour approfondir les réflexions sur les stratégies et politiques en matière de
santé et sécurité au travail (SST) l’analyse aide à gérer les risques en amont du processus de décision
.
med.tn : un service complet de gestion de cabinet médical, qui vous permet de trouver
rapidement un médecin le plus proche de chez vous et de prendre rendez-vous en ligne gratuitement.
lerdvmedical.tn : L’annuaire médical en ligne qui facilite la communication entre les citoyens et
les professionnels de santé et leurs permet de prendre un rendez-vous à distance, avec des mise a
jours garanties.
5
Chapitre 1. Contexte générale du projet
1.5 Problématique
Parmi les causes qui poussent FLYDEV à développer cette plateforme , c’est que les solutions
existantes manquent la notion de partage qui va faciliter les tâches et assurer un meilleur suivi de la
santé du patient.P lus besoin d’apporter ses anciennes radios, ordonnances, courriers. . ., pour justifier
de ses antécédents médicaux. Plus besoin non plus de se souvenir des examens ou médicaments
prescrits. Alors ,le ENS recense toutes ses informations médicales et permet ainsi une meilleure
gestion de sa santé.
Après avoir dégagé notre problématique, le défi de ce projet est de faire une conception et de
mettre en place une solution de partage qui comble les insuffisances énumérées précédemment. Cette
solution doit être unique et partagée par l’ensemble des collaborateurs de FLYDEV France et Tunisie
qui permet une meilleure transmission de l’information, favorise le partage et la communication entre
les professionnels de santé et les patients.
Le choix technologique doit être structurant et lié à l’aspect général du projet. Ce choix se
base généralement sur 3 axes :
• Le langage de développement
6
Chapitre 1. Contexte générale du projet
• Une fiabilité approuvée : En tant que logiciel libre Symfony crée des applications robustes et
offre aux développeurs un contrôle total. C’est un Framework comfortable, flexible et accessible.
• Des tests facilités : Pour garantir la fiabilité et la stabilité de notre application chaque ligne
de code doit être testée. Grâce à l’utilisation de la bibliothèque indépendante « PHPUnit », le
test unitaire est assez facile d’utilisation.
• Une communauté solide : Symfony est un framework reconnu dans le monde et présent dans
le TOP 3 mondial des frameworks PHP open source. Une des grandes forces du framework est
sans aucune doute sa forte communauté internationale
• La sécurité : Symfony intègre des mesures de sécurité préventives pour lutter contre les failles et
attaques XSS, CSRF et injection SQL. Symfony embarque systématiquement ces mécanismes
de sécurité, sans avoir à les implémenter à chaque fois.
• Performances
• Son plus gros avantage réside dans les possibilités d’amélioration des performances qu’il offre
nativement l’optimisation du code pour permettre d’éviter de recompiler le code PHP à chaque
appel et donc pouvoir afficher plus rapidement les pages du site, aussi les fonctions de cache
HTTP natives permettant de mettre en place facilement une stratégie de cache côté visiteur
et côté serveur.
1.7.2 ReactJS
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[6]
7
Chapitre 1. Contexte générale du projet
• Flexibilité La structure modulaire de ReactJS en fait l’un des meilleurs outils flexibles. Cela
facilite la maintenance, ce qui permet d’économiser beaucoup de temps de développement et
d’argent à long terme. Les applications créées avec cet outil sont faciles à mettre à l’échelle, à
entretenir et deviennent très flexibles.
• Rapidité : ReactJS crée son propre DOM virtuel où sont rattachés vos composants. Cette
approche vous donne énormément de flexibilité et des performances exceptionnelles, car ReactJS
calcule quel changement dans le DOM a besoin d’être fait, et change juste LA PARTIE qui
a besoin d’être mise à jour. De cette façon, ReactJS évite des opérations coûteuses dans le
DOM.
La spécification OpenAPI est un format de description d’API pour les API REST. Un fichier
OpenAPI vous permet de décrire l’intégralité de votre API. Les spécifications de l’API peuvent
être écrites en YAML ou JSON. Le format est facile à apprendre et lisible pour les humains et
les machines. Swagger est un ensemble d’outils open source construits autour de la spécification
OpenAPI qui va nous aider à concevoir, construire, documenter et consommer des API REST.
8
Chapitre 1. Contexte générale du projet
Nous avons élaboré ce travail en utilisant 2 ordinateurs portables qui représentent les machines
de développement possédant les caractéristiques suivantes :
9
Chapitre 1. Contexte générale du projet
1.9.1 GitHub
C’est un outil que nous avons utilisé pour tester les web services et API. Il permet de
construire et d’exécuter des requêtes HTTP, de les stocker dans un historique afin de pouvoir les
rejouer, mais surtout de les organiser en Collections. En fait, Postman permet de consommer des
web services en utilisant ses différentes méthodes :
• GET pour la récupération des données sous différentes format connue format JSON, XML,
HTML. . .
10
Chapitre 1. Contexte générale du projet
Est un éditeur de code, développé par Microsoft. Il peut interpréter et compiler toute languages
à l’aide des extensions à integrer. [9]
1.9.4 PhpStorm
PhpStorm est un éditeur pour PHP, HTML, CSS et JavaScript, édité par JetBrains. Il permet
d’éditer du code PHP pour les versions allant de la 5.3 à la 8.1. [10]
1.9.5 Overleaf
11
Chapitre 1. Contexte générale du projet
1.9.6 Balsamiq
Balsamiq est un logiciel de conception de wireframes qui permet aux équipes de créer des
maquettes et des prototypes interactifs, mais aussi de réaliser des tests utilisateurs .
Google Drive est un service de stockage et de partage de fichiers dans le cloud lancé par la
société Google. Google Drive, qui regroupe Google Docs, Sheets et Slides, Drawings, est une suite
bureautique permettant de modifier des documents, des feuilles de calcul, des présentations, des
dessins, des formulaires, etc.
12
Chapitre 1. Contexte générale du projet
Jira Software fait partie d’une gamme de produits conçus pour aider les équipes de tous types
à gérer leur travail. À l’origine, Jira a été pensé comme un outil de suivi des bugs et des tickets. Mais
aujourd’hui, c’est devenu un puissant outil de gestion du travail pour toutes sortes de cas d’usage,
de la gestion des exigences et des cas de test au développement logiciel Agile. [12]
Choisir la bonne méthodologie de gestion de projet est une étape indispensable pour réussir
notre projet. Cette méthodologie doit valoriser les objectifs de notre projet et les points forts de
l’équipe, aussi de finaliser le projet dans les délais de livraison.
Les méthodes de développement agiles se basent sur un cycle de développement qui attire le
client vers le centre. Ce dernier est impliqué dans la réalisation dans tous les phases de la réalisation
du projet. La méthode agile garantie au client une meilleure visibilité de la gestion et de la réalisation
du projet. L’implication de ce dernier dans le processus favorise à l’équipe d’avoir un feedback régulier
pour appliquer d’une manière directe les changements nécessaires. L’application de de cette méthode
permet d’accélérer le développement du logiciel en assurant la réalisation des livrables fonctionnels
tout au long de la durée de sa création. Le principe de base consiste à proposer une version minimale
du logiciel puis à intégrer des fonctionnalités supplémentaires à cette base, par processus itératif. Le
processus itératif regroupe une séquence d’instructions à répéter autant de fois que possible, selon
le besoin. La méthode agile repose sur quatre grands principes :
• La collaboration : Communication et cohésion d’équipe passent avant les outils et les processus.
• L’équipe : Le privilège de la relation équipe/client est mis en avant plutôt que la négociation
contractuelle.
La méthode de gestion SCRUM se base sur les développements itératifs à un rythme constant
qui varie entre 2-4 semaines « sprints ». Parmi les avantages d’adaptation de la méthodologie
13
Chapitre 1. Contexte générale du projet
• Le Product Owner : il est considéré comme le responsable du Product Backlog, son rôle est
de définir les spécifications fonctionnelles, établit la priorité des fonctionnalités à développer
ou corriger, coordonne l’implication des utilisateurs et des parties prenantes, ce qui le permet
de considérer comme l’interface entre l’utilisateur, le Scrum Master et les équipes chargées du
développement.
• Le Scrum Master membre de l’équipe qui s’assure que les principes et les valeurs de Scrum
sont respectés pour garantir la constante amélioration des performances et donc la réussite
d’un projet agile. Il est considéré comme le garant de la méthode Scrum.
• L’équipe opérationalle c’est l’équipe Scrum qui va mettre en œuvre les solutions techniques,
réaliser les développements. Tous les membres de l’équipe apportent leur savoir-faire pour
accomplir les tâches. Elle doit travailler de façon incrémentale et livrer une partie du produit
utilisable et testable à la fin de chaque sprint ou itération.
On ne peut pas passer par la méthode Scrum sans connaître les termes suivants :
• Le product backlog c’est un document contenant une liste des besoins du client à réaliser
et qui est la seule source d’exigences pour toute modification à apporter au produit.
• Le sprint backlog c’est un regroupement des éléments d’un document que l’équipe s’engage
à livrer du début à la fin du sprint et qui sont présenter sous forme d’un tableau kanban (ou
Scrum board).
• User story c’est une brève description simple d’une fonctionnalité décrite généralement par
un utilisateur ou un client du système.
• La mêlée (Scrum) C’est une réunion d’avancement quotidienne durant le sprint pour faire
un point sur ce qui a été fait et ce qu’il est prévu de faire.[13]
14
Chapitre 1. Contexte générale du projet
15
Chapitre 1. Contexte générale du projet
La clé principale pour la réussite d’un projet est un planning efficace. Ce dernier, nous permet
de décomposer le projet en un ensemble de tâches et d’activités afin d’estimer la période nécessaire
pour la réalisation de chacune d’elles. Pour cela, nous avons estimé le planning ci dessous
Conclusion
Dans ce premier chapitre, nous avons situé notre projet dans son contexte, en présentant
l’organisme d’accueil et le contexte du projet. Nous nous sommes aussi intéressés à l’étude de
l’existant et nous l’avons critiqué pour pouvoir déterminer nos objectifs d’une façon claire et objective
en choisissant la méthodologie la plus adéquate qui est dans notre cas la méthodologie Scrum. Pour le
chapitre suivant nous nous concentrons sur l’identification des acteurs, les besoins fonctionnels et non
fonctionnels, la planification des sprints, l’architecture de notre solution et les choix technologique
adoptés
16
Chapitre 2
Plan
1 Identification des besoins fonctionnels et non fonctionnels . . . . . . . 18
2 Backlog de produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 Architecture physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6 Architecture Logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Introduction
Ce chapitre sera dédié pour la conception qui est une phase très importante dans le cycle de
développement d’un système puisqu’elle prépare l’implémentation. Elle permet de décider comment
satisfaire les besoins dégagés. En premier lieu, nous présentons le backlog produit. En second lieu,
nous allons présenter notre diagramme de classes global. Après nous allons décrire notre architecture
logicielle et nous finirons par les choix technologiques adoptés.
— Patient : Est un utilisateur appartient a la communauté sociale il est identifié par des champs
spécifiques qui a des fonctionnalités limités et spécifiques tel que l’ inscription sur le plateform
en saisissant les informations personnelles , le droit a la recherche des professionnels de santé
déja inscrit sur la plateform , l’intéraction avec le professionnel de santé , consulter le dossier
médical gérer par les professionnel de santés qui ont l’accés
Les besoins fonctionnels ou besoin métiers sont les tâches exécutées par le système afin de
satisfaire une requête donnée. Notre application couvre les besoins fonctionnels suivants :
• Authentification :
• La création d’un compte à travers un formulaire
18
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
• Gestion d’expérience :
Géré par les professionnels de santé permettant d’effectuer les opérations de gestion telles que
(L’ajout, la modification, la suppression et la consultation).
• Géstion question-Réponse
• Le patient peux poser des questions médicaux a son professionnel de santé
• Le professionnel de santé doit répondre aux questions : il s’agit d’un module permettant
d’effectuer une opération de gestion telle que l’ajout d’une réponse
• Gestion des paramètres généraux : Cela permet de mettre plusieurs paramètres configurables.
• Performance :L’application doit optimiser les traitements pour avoir un temps de génération
de schéma raisonnable. La lenteur d’une application web pourrait avoir un impact négatif sur
l’UX (ou User Expérience). C’est pour cela que notre solution doit être avant tout performante
pour répondre à toutes les exigences des usagers d’une manière rapide et efficace. Ici revient
le choix technique de l’utilisation du Framework Angular que l’un de ces avantages est la
réalisation des interfaces de type mono-page qui fonctionnent sans rechargement de la page
web. En effet sur un mono-page après le chargement initial de la page, plus aucun code HTML
n’est envoyé sur le réseau. Au lieu de cela, seules les données sont demandées au serveur, donc
moins de temps et de bande passante que l’envoi constant de HTML. La figure suivante prouve
la rapidité de réponse du serveur (0.234 seconde) pour les statistiques :
19
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
• Ergonomie : En parallèle à l’UX, il y a l’UI (ou User Interface) qui est le lien entre l’humain et
la machine. Donc la plateforme doit offrir une interface conviviale et ergonomique exploitable
par l’utilisateur en envisageant toutes les interactions possibles à l’écran du support tenu.
• Sécurité : La plateforme doit assurer la sécurité pour les utilisateurs. Donc pour garantir
cette sécurité, nous avons utilisé les « JSON Web Token » ou JWT qui sont des jetons générés
par un serveur lors de l’authentification d’un utilisateur sur une application Web, et qui sont
ensuite transmis au client.
• Maintenabilité :Notre code doit être maintenable, c’est-à-dire non seulement pouvoir être
modifié facilement par moi-même mais également par quelqu’un d’autre. Angular a ses règles
de bonnes pratiques pour faciliter la vie des développeurs et éviter les pièges. On parle
ici du « tslint » qui est un package qui analyse votre code Typescript à la recherche de
points qui "enfreignent les règles de bonnes pratiques". Il est livré avec un ensemble de règles
préconfigurées pour les meilleures pratiques dans Typescript en général.
Un backlog produit contient les éléments qu’un client veut que l’équipe réalise sous forme
d’une liste. Cette liste est composée par plusieurs fonctionnalités hiérarchisées à atteindre sous forme
des brèves descriptions. Le classement de ces fonctionnalités est fait selon la valeur ajoutée que cet
élément apporte donc par ordre de priorité de réalisation. Alors nous pouvons dire que le product
backlog Scrum est autorisé à mesurer, croître et à évaluer que nous en apprenons plus sur le produit
ainsi que ses clients. Un backlog Scrum typique comprend les différents types d’éléments suivants :
20
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
• Fonctionnalités
• Bogues
• Travail technique
• Acquisition de connaissances
De loin, le principal moyen utilisé par une équipe Scrum pour exprimer les fonctionnalités du backlog
de produit consiste en des user stories, des descriptions courtes et simples de la fonctionnalité
souhaitée, présentées du point de vue de l’utilisateur. Le Backlog du produit comprend les champs
suivants :
• Histoire Utilisateur « User story » : une phrase décrivant la fonctionnalité désirée par le client
• Business Value (B.V) : la valeur, métier qui dirige la priorisation du développement des histoires
utilisateurs suivant les attentes et les besoins du client, allant de 0 à 100 (étant 100 le plus
important)
• Story point (S.P) : Les Story Points permettent de mesurer une tâche en termes d’effort d’une
équipe concrète, au lieu de simplement faire des estimations en jour-hommes, qui fluctuent
selon les personnes. On utilise souvent, et on utilisera ici, la suite de Fibonnacci (1, 2, 3, 5, 8,
13, 21. . .) pour décliner la quantité d’effort à fournir.
Composée principalement de quatre grandes phases, nous allons citer les étapes de chacune
d’entre elles.
21
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
22
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
Les cas d’utilisation permettent d’exprimer les besoins des utilisateurs d’un système. Le
diagramme des cas d’utilisation permet donc d’identifier les possibilités d’interaction entre le système
et les acteurs. Le use case, qui présente l’ensemble des fonctionnalités offerte par l’application pour
nos utilisateurs .
23
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
24
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
25
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
L’architecture de notre application est composée d’un frontend (react js), d’un backend
implémenté en symfony et d’un SGBD (système de gestion de base de donnés) MySql. Le frontend
et le backend sont déployés sur deux serveurs distincts. Le serveur backend interagit avec le SGBD
qui hébèrge une base de données. Depuis sa machine, un utilisateur envoie ses requetes, à travers
un navigateur, vers le serveur frontend qui interagit avec le serveur backend qui à son tour interagit
avec le SGBD. Le serveur de base de données interprète la requete et retourne le résultat au serveur
backend. Une fois le résultat est prêt au niveau du serveur backend, il sera renvoyé au serveur
frontend et sera disponible dans le navigateur.
Les utilisateurs utilisent un navigateur web pour accéder à l’interface graphique de l’application
qui est implémentée en React js. Les actions utilisateur sont ensuite traduites en requêtes HTTP et
envoyées au controlleur Front qui invoque à son tour les services demandés. Dans le cas où la couche
service a besoin d’informations stockées dans la base de données, une couche d’accès aux données
est responsable de communiquer avec une base de donnés MySql et retourne le résultat à la couche
service qui à son tour fait la logique métier avant de renvoyer le résultat au controlleur.
Le controlleur retourne le résultat au client react js en format json qui sera traduit en javascript.
26
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
La couche sécurité permet à l’application de sécuriser les actions coté client et serveur.
27
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
28
Chapitre 2. Sprint 0 « Etude fonctionnelle, méthodologique, architectural et technique »
Conclusion
Dans ce chapitre nous avons circonscrit notre problème et nous nous sommes focalisés sur
les différents diagrammes conceptuels, la présentation du backlog du produit et la planification des
sprints qu’on va attaquer dans les prochains chapitres sans oublier les technologies adoptées dans le
but d’avoir une meilleure vision sur notre projet.
Maintenant que la conception est réalisée, nous commençons par notre premier sprint : Authentification
et gestion de profil .
29
Chapitre 3
Sprint 1 : Authentification et
gestion de profil
Plan
1 Sprint Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5 Sécurité de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Chapitre 3. Sprint 1 : Authentification et gestion de profil
Introduction
Après avoir présenté l’environnement matériel, logiciel et après une longue vision précise sur
le déroulement du projet dans le sprint 0,nous nous somme dirigés vers les sprints pour décrire
les principaux objectifs et les fonctionnalités de l’application. Tout au long de ce chapitre, nous
allons traiter les users-stories du sprint 1 de leurs existences dans le Backlog sprint vers la fin leurs
réalisations pour produire un incrément potentiellement livrable
1
— Choix du Template react 8
3 En tant qu’administrateur,
— Implémenter l’interface d’authentification 8
je souhaite m’authentifier à
la plateforme via un e-mail
et un mot de passe.
31
Chapitre 3. Sprint 1 : Authentification et gestion de profil
4
En tant que admin je peux — Implementer l’interface des demandes 8
4
Gestion de Profil (Cas — Analyse du besoin 8
Générale)
32
Chapitre 3. Sprint 1 : Authentification et gestion de profil
5
En tant qu’un utilisateur je — Développement le code de récupération les 2
Afin de mieux spécifier les cas d’utilisation, nous avons préparé leurs raffinements pour mieux
décrire les différents scénarios possibles et en ce qui suit les tableaux de raffinements sont présentés
33
Chapitre 3. Sprint 1 : Authentification et gestion de profil
Titre : S’authentifier
« DEBUT »
1. L’utilisateur ouvre la page d’authentification.
2. Le système lui affiche le formulaire d’authentification.
3. L’utilisateur saisit ses données d’authentification.
Enchainement Nominal
4. L’utilisateur clique sur le bouton « S’identifier »
5. Le systéme vérifie les données saisies et affiche l’interface réservée
à l’utilisateur.
« FIN »
34
Chapitre 3. Sprint 1 : Authentification et gestion de profil
« DEBUT »
1. L’acteur clique sur mon profil qui existe dans le sidebar ou widget
Enchainement Nominal
2. Le profil sera affiché
« FIN »
« DEBUT »
1. L’acteur saisie les nouvelles informations
2. Le système vérifie la validité des données saisies
Enchainement Nominal
3. L’acteur clique sur le bouton « enregistrer les modifications »
4. Le système fait la mise à jour,
« FIN »
Tableau 3.4 : Description textuelle du cas d’utilisation « Mettre à jour les données de Profil »
35
Chapitre 3. Sprint 1 : Authentification et gestion de profil
« DEBUT »
1. L’acteur clique sur le bouton « Choisir un fichier »
2. Le système affiche un popup pour choisir image
Enchainement Nominal 3. L’acteur choisit une image et clique sur le bouton
« Enregistrer »
4. Le système fait la mise à jour,
« FIN »
Tableau 3.5 : Description textuelle du cas d’utilisation « Mettre à jour les données de Profil »
Titre : Inscription
« DEBUT »
1. Le système affiche l’interface d’inscription
Enchainement Nominal 2. L’utilisateur saisit ses informations personnelles
3. L’administrateur accepte la demande de création de compte
« FIN »
36
Chapitre 3. Sprint 1 : Authentification et gestion de profil
« DEBUT »
1. Le système affiche l’interface de demande de réinitialisation de
mot de passe
2. L’utilisateur saisit son email si email invalide alors « E1 »
3. Le système envoyer un email contenant un nouveau mot de passe .
Enchainement Nominal
4. L’utilisateur reçoie l’email envoyé .
5. Le système affiche l’interface d’authentification
« FIN »
Exception
E1 : invalidation email
37
Chapitre 3. Sprint 1 : Authentification et gestion de profil
38
Chapitre 3. Sprint 1 : Authentification et gestion de profil
Le diagramme de classes est un élément principal de conception d’un logiciel, c’est un modèle
représentant la structure du système à concevoir. Le diagramme de classes est un schéma utilisé
pour présenter les classes et les différentes relations. Ce diagramme appartient à la partie statique
d’UML
3.5.1 JWT
Pour déployer la sécurisation JWT sur une application Symfony 5 on utilise ici le bundle : «
LexikJWTAuthenticationBundle ». Le principe d’authentification JSON Web Tokens est de retourner
un token chiffré grâce à une clé secrète. Le token comporte directement les informations client tel
que le username. Ainsi on évite de stocker des informations relatives au token côté serveur. D’un
point de vu Client / Serveur : Le client envoie via un formulaire d’authentification son couple :
username et mot de passe. En retour, le serveur va envoyer un token contenant le username. En
effet, le username est directement encodé dans le token grâce à la clé privé (SHA256) qui aura été
39
Chapitre 3. Sprint 1 : Authentification et gestion de profil
préalablement générée sur le serveur. Le client possède en retour son token. Ce token est conservé
du coté client (localStorage) et est envoyé à chaque requête vers le serveur. Ainsi, à chaque requête,
le serveur décrypte le token toujours grâce à la clé privée de manière à récupérer directement et
simplement le username. De plus, le token contient une signature permettant de s’assurer que le
contenu n’a pas été altéré par le client.
40
Chapitre 3. Sprint 1 : Authentification et gestion de profil
3.6 Test
3.7 Réalisation
3.7.1 Maquettes
41
Chapitre 3. Sprint 1 : Authentification et gestion de profil
42
Chapitre 3. Sprint 1 : Authentification et gestion de profil
Une API RESTful est une interface de programme d’application (API) qui utilise des requêtes
HTTP pour les données GET, PUT, POST et DELETE. Elle est basée sur la technologie de
pointe (REST), un style architectural et une approche de la communication souvent utilisés dans le
développement de services Web.
L’interface d’authentification, c’est la première interface vue par l’utilisateur aprés la page
d’acceuil . Chaque utilisateur doit s’authentifier pour accéder à la partie utilisateur, et pour chaque
authentification une génération de Token se fait et l’utilisateur obtient ses privilèges
43
Chapitre 3. Sprint 1 : Authentification et gestion de profil
44
Chapitre 3. Sprint 1 : Authentification et gestion de profil
45
Chapitre 3. Sprint 1 : Authentification et gestion de profil
Suite à une authentification, l’interface de changement de mot de passe permet aux professionnel
de santés et aux patients de modifier leur mot de passe. Il s’agit de ressaisir un nouveau mot de
passe et le confirmer .
Suite à une authentification, l’interface de modification de profil (figure 20) permet aux chefs
de projet et aux chefs d’équipe de consulter et modifier leur profil. Il s’agit de changer le nom, le
prénom, le numéro de téléphone et la photo de profil pour modifier leurs informations.
46
Chapitre 3. Sprint 1 : Authentification et gestion de profil
Conclusion
47
Chapitre 4
Plan
1 sprint backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3 Diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
Introduction
Ce chapitre est consacré à l’étude du sprint 2,Nous allons détailler les différents user-story
de ce sprint, ces tâches et l’estimation de temps pour les accomplir.
Dans cette partie, nous allons élaborer les différents user stories de ce sprint, ainsi que les
tâches qui devront être accomplies à la fin du sprint et leurs estimations.
1 En tant qu’un
— Mettre en place les entités de la base de 8
administrateur et selon mes
données
permissions je peux
attribuer les droits d’accès
— Implémenter les méthodes accepter ou 7
en acceptant ou en refusant
refuser un utilisateur
un compte crée
49
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
50
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
7 En tant qu’un
— Mettre en place les entités de la base de 8
professionnel de santé je
données
peux modifier une
expérience
— Implémenter les méthodes de modification 7
d’une expérience
51
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
« DEBUT »
1. Le professionnel de santé clique sur le bouton « Ajouter expérience »
2. L’acteur saisie les informations de l’expérience
Enchainement Nominal
3. Le système Vérifie les données saisies.
4. Le système enregistre les données dans la base de données
« FIN »
52
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
« DEBUT »
1. Le professionnel de santé clique sur le bouton « Modifier »
2. L’acteur saisie les nouvelles informations de l’expérience
Enchainement Nominal
3. Le système Vérifie les données saisies.
4. Le système enregistre les données dans la base de données
« FIN »
« DEBUT »
1. Le professionnel de santé clique sur le bouton « supprimer »
Enchainement Nominal 2. Le système supprime les données dans la base de données
3. Le système affiche la suppression
« FIN »
La figure 4.2 illustre le diagramme de cas d’utilisation raffiné pour le module de la demande d’accés
53
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
54
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
Acteur : Patient
« DEBUT »
1. le profile du medecin est affiché
2. le patient clique sur le bouton « Demande accés »
Enchainement Nominal
3. Le système vérifie la demande .
4. une demande sera envoyer
« FIN »
Tableau 4.6 : Description textuelle du cas d’utilisation « recherche d’un professionnel de santé »
Acteur : Patient
« DEBUT »
1. Le patient choisit la spécialité de son professionnel de santé
2. L’acteur saisie la ville ou il situé son professionnel
Enchainement Nominal
3. Le système Vérifie les données saisies.
4. le systéme affiche la liste des professionnels de santé concerné
« FIN »
Tableau 4.7 : Description textuelle du cas d’utilisation « recherche d’un professionel de santé »
55
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
« DEBUT »
1. L’acteur appuie sur le bouton qui est dans le tableau de bord
Enchainement Nominal « afficher les demandes »
2. le systéme doit afficher la liste des demandes d’accés des patient
« FIN »
Enchainement alternatif Les informations sont incorrectes : Un message d’erreur sera affiché
Tableau 4.8 : Description textuelle du cas d’utilisati« Consulter les détails de la demande »»
« DEBUT »
1. L’acteur consulte la demande
Enchainement Nominal 2. L’acteur clique sur le bouton « confirmer » ou « rejeter »
3. Le système fait la modification dans la base de données
« FIN »
Enchainement alternatif Les informations sont incorrectes : Un message d’erreur sera affiché
56
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
La figure 22 représente le diagramme de classes relatif au module « gestion des accés » « gestion
expérience » :
57
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
4.5 Test
Pour assurer le bon fonctionnement d’une API, On a utilisé l’outil postman pour pouvoir
régulièrement faire les test API.
58
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
4.6 Réalisation
4.6.1 Maquettes
59
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
60
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
4.6.2 Interfaces
Dans cette section, nous présentons le travail que nous avons réalisé à travers des interfaces
permettant d’exploiter facilement les fonctionnalités développées La figure represente la gestion
d’expérience d’un médecin
Pour ajouter une nouvelle experience, il suffit de cliquer sur le bouton « Nouvelle experience ».
Les trois figures ci dessous représentent le process de demande d’accés a un professionnel de santé :
La figure 4.9 représente la phase ou le patient doit choisir la spécialité de son médecin
61
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
La figure 4.10 représente l’interface du choix de ville où le patient cherche son professionnel de santé
dés le clique sur « Recherche » une liste contient les professionnel de santé et leur spécialité sera
affiché
Pour ajouter un professionnel de santé, il suffit de cliquer sur le boutton « Demande d’accés ».
62
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
L’interface ci-dessous (figure 4.11) présente l’interface de l’ajout d’un professionnel de santé
La figure ci-dessous (4.12) représente la liste des patients en attente :qui ont envoyé une demande a
leur professionnel de santés.Le professionnel de santé traite cette demande.
63
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
La figure ci-dessous (4.13) représente la liste des professionnel de santés qui ont l’accés a un dossier
du patient
Figure 4.14 : Interface «consulter les medecins qui ont l’accés a un compte patient»
La figure (4.14) représente l’espace administratif d’ou on peut trouver la liste des patients déja inscrit
dans la plateform selon le Code de la sécurité sociale l’administrateur fait la verification des comptes
La figure (4.15) interface représente l’espace administratif d’ou on peut trouver la liste des
professionnels de santé déja inscrit dans la plateform selon le Répertoire Partagé des Professionnels
de Santé l’administrateur fait la verification des comptes
64
Chapitre 4. Sprint 2 : Gestion des accés , des Expériences
Conclution
Dans ce chapitre, nous nous sommes intéressés à la réalisation du module de la gestion des accés et
des opérations .
Pour ce faire, nous avons commencé par l’élaboration du sprint backlog, puis une étude conceptuelle
et finalement la réalisation.
65
Chapitre 5
Plan
1 Sprint Backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3 Diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4 Diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Chapitre 5. Sprint 3 : Gestion dossier
Introduction
Le but de ce sprint est de mettre en œuvre les différentes fonctionnalités qui vont servir à gérer
dossier patient Pour ce faire, nous allons élaborer le sprint backlog et les diagrammes relatifs à la
conception, puis nous clôturerons cette partie par des captures d’écran expliquant la réalisation
67
Chapitre 5. Sprint 3 : Gestion dossier
68
Chapitre 5. Sprint 3 : Gestion dossier
6 En tant qu’un
— Implémenter la méthode de consultation des 8
professionnel de santé je
notifications
peux consulter les
informations génerale de
la méthode en tant que web service 7
toute professionnel de santé
dans la liste
— Consommer et intégré l’API 8
7 En tant qu’un
— Implémenter la méthode de L’ajout des 8
professionnel de santé je
informations dans le rapport médical
peux ajouter des rapports (
hospitalisation et
la méthode en tant que web service 7
Taitement ) pour le dossier
de mes patients
— Consommer et intégré l’API 8
8 En tant qu’un
— Implémenter la méthode de consultation des 8
professionnel de santé je
notifications
peux ecrire une
consultation sera partagé
la méthode en tant que web service 7
avec le patient concerné
69
Chapitre 5. Sprint 3 : Gestion dossier
70
Chapitre 5. Sprint 3 : Gestion dossier
Acteur : Patient
« DEBUT »
1. L’acteur clique sur le bouton « Ajouter Traitement » ,
« Ajouter maladie » , « Ajouter allergie »
Enchainement Nominal 2. L’acteur saisie les informations nécessaire
3. Le système enregistre les données dans la base de données
4. Le système affiche les données dans une liste
« FIN »
Enchainement alternatif Les informations sont incorrectes : Un message d’erreur sera affiché
Tableau 5.3 : Description textuelle du cas d’utilisation « Ajout des informations médicaux »
« DEBUT »
1. Le patient appuie sur le bouton qui est dans la barre de navigation
« dossier médical »
Enchainement Nominal 1.1 le professionnel de santé cherche un patient
2. l’acteur clique sur les bouton d’historique de chaque domaine
3. le systéme affiche la liste des historiques
« FIN »
71
Chapitre 5. Sprint 3 : Gestion dossier
« DEBUT »
1. Le patient appuie sur le bouton qui est dans la barre de navigation
« Liste des patients » « Liste des professionnels de santé »
Enchainement Nominal
2. l’acteur cherche a partir d’un id ou nom, prénom
3. le systéme affiche la liste des informations
« FIN »
72
Chapitre 5. Sprint 3 : Gestion dossier
73
Chapitre 5. Sprint 3 : Gestion dossier
5.5 Test
La figure 5.5 représente le test de L’API Liste vaccination ajouter par un docteur
74
Chapitre 5. Sprint 3 : Gestion dossier
5.6 Réalisation
Dans cette section, nous présentons le travail que nous avons réalisé à travers des maquettes
et des interfaces permettant d’exploiter facilement les fonctionnalités développées.
5.6.1 Maquettes
75
Chapitre 5. Sprint 3 : Gestion dossier
5.6.2 Interfaces
La figure 5.8 représente l’interface d’un profil médical. Pour ajouter un poids, il suffit de
cliquer sur le bouton « Ajouter une valeur ».
76
Chapitre 5. Sprint 3 : Gestion dossier
Pour ajouter un nouveau traitement, il suffit de cliquer sur le bouton « Ajouter un traitement
».
Pour visualiser tous les traitements, il suffit de cliquer sur le bouton «Historique de traitement
».
77
Chapitre 5. Sprint 3 : Gestion dossier
Pour que un professionnel ajoute une nouvelle hospitalisation, il suffit de cliquer sur le bouton
« Ajouter hospitalisation ».
78
Chapitre 5. Sprint 3 : Gestion dossier
Pour que un professionnel visualise tous les hospitalisations , il suffit de cliquer sur le bouton
«Historique d’hospitalisation ».
La figure ci-dessous (figure 5.) présente la liste des ordonnances d’un patient ajouté par le
professionnel de santé.
79
Chapitre 5. Sprint 3 : Gestion dossier
La figure ci-dessous (figure 5.16) présente la liste des patients déja accéptés dans lequel le
professionnel de santé peut filtrer soit par identifiant soit par nom soit par prénom .
La figure ci-dessous (figure 5.17) présente la liste des professionnel de santés dans lequel le
professionnel de santé peut filtrer soit par identifiant soit par nom soit par prénom .
80
Chapitre 5. Sprint 3 : Gestion dossier
Conclution
81
Chapitre 6
Plan
1 Sprint backlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3 Diagrammes de séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4 Diagrammes de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
Introduction
Le but de ce sprint est de mettre en œuvre les différentes fonctionnalités qui vont servir à
gérer les questions réponses. Pour ce faire, nous allons élaborer le sprint backlog et les diagrammes
relatifs à la conception, puis nous clôturerons cette partie par des captures d’écran expliquant la
réalisation
2 En tant qu’un
— Mettre en place les entités
professionnel de santé je
de la base de données
peux répondre au questions
proposé par mes patients
— Exposer la méthode en tant que
web service
83
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
84
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
Acteur : Patient
« DEBUT »
1. Le patient appuie sur le bouton qui est dans la barre de navigation
« Contact »
Enchainement Nominal 2. l’acteur seléctionne le professionnel de santé concerné
et saisie le titre et le question
3. le systéme envoie le question au professionnel de santé concerné
« FIN »
85
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
86
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
6.5 Test
Cette figure représente le test de la méthode d’ajout question pour un docteur concerné
87
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
6.6 Réalisation
6.6.1 Maquettes
6.6.2 Interfaces
La figure ci-dessous (figure 6.6) présente les questions posés par les patients.
88
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
Pour qu’un patient ajoute un question, il suffit qu’il clique sur le boutton « Ajouter un
question». L’interface ci-dessous (figure 6.7) présente l’interface de l’ajout d’un question
89
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
Conclution
90
Chapitre 6. Sprint 4 : Gestion Question-Reponse et tableau de bord
Pour ce faire, nous avons commencé par l’élaboration du sprint backlog, puis une étude conceptuelle
et finalement la réalisation.
91
CONCLUSION GÉNÉRALE
Ce projet de fin d’études , realisé au sein de l’entreprise FLYDEV , a pour objectif de réaliser
un plateform partagé entre les professionnels de santé et les patients "ENS". permettant aux patients
de donner les accés aux professionnels de santé et de partager avec eux leurs informations de santé
en toute sécurité , et d’autre part aux médecins de gérer les accés des patients et de gérer leurs
dossiers.
Pour atteindre note objectif, nous avons commencé par mettre en relief la problématique par
une étude de l’existant ensuite d’identifier les acteurs et de dégager les besoins fonctionnels et non
fonctionnels.
En deuxiéme lieu , nous avons entamé la partie conception et l’implémentation des différents sprints
Malgré la complexité des enjeux et les contraintes de temps, nous avons arrivé à réussir au final à
mettre en place une solution qui peuvent être évolutive et flexible, pouvant être considérablement
étendue par l’ajout de nouvelles fonctionnalités.
Notre travail était réalisé avec une importance considérable dans la mesure où il nous a servi
comme portail vers le monde professionnel et la vie en entreprise. De point de vue technique, il nous
a permis de mettre en œuvre les acquis théoriques que nous avons appris tout le long de notre cursus
universitaire et de les enrichir par la découverte de nouvelles technologies.
Pour finir, ce projet ne s’arrête pas là. La richesse et la complexité du domaine de santé
permet toujours l’apparition de nouveaux besoins que la structuration et la conception de notre
solution permet de les gérer sans beaucoup de difficulté.
92
BIBLIOGRAPHIE
93