Académique Documents
Professionnel Documents
Culture Documents
Elaboré par :
Ibn abdallah Fida
Chakroun Rania
Encadré par :
Mme .Meherzi Soumaya
Mr .Ben lamine Khaled
Remerciements
Nous désirons exprimer nos sincères remerciements à Madame Soumaya Meherzi
et Monsieur Khaled Ben Lamine, nos encadrants, pour leur soutien inébranlable,
leurs conseils avisés, leur patience et leur engagement tout au long de notre projet.
Leurs précieux commentaires et encouragements ont grandement contribué à notre
succès dans cette mission.
Nous aimerions également exprimer notre profonde gratitude envers tous les
membres du jury pour leur temps, leur expertise et leur soutien dans l’évaluation
de notre projet.
Enfin, nous souhaitons adresser nos chaleureux remerciements à toutes les personnes
qui nous ont soutenus dans la réalisation de ce projet.
1
Table des matières
Introduction 1
1 Étude préliminaire 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Ètude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Application de la SmartWatch 14
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Spécification et analyse des besoins . . . . . . . . . . . . . . . . . . 15
3.3.1 Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Spécification des besoins . . . . . . . . . . . . . . . . . . . . 15
3.4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . 19
2
Rapport de projet de fin d’année 2A INFO
3.4.2 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4 Application mobile 32
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Spécification et analyse des besoins . . . . . . . . . . . . . . . . . . 33
4.3.1 Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.2 Spécification des besoins . . . . . . . . . . . . . . . . . . . . 34
4.4 Réalisation de l’application . . . . . . . . . . . . . . . . . . . . . . . 36
4.4.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . 36
4.4.2 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3
Table des figures
4
3.22 Visualisation du signal de fréquence cardiaque . . . . . . . . . . . . 30
3.23 Visualisation de chaque signal de fréquence cardiaque . . . . . . . . 30
Les plateformes mobiles sont devenues un élément clé de la santé connectée car
elles permettent de collecter et de gérer efficacement les données médicales générées
par des dispositifs portables tels que les montres connectées. En effet, ces dispositifs
peuvent fournir des données précises et en temps réel sur différents paramètres de
santé, notamment la fréquence cardiaque, la pression artérielle, les scores ECG et
PPG, ainsi que d’autres données qui peuvent être utilisées pour surveiller l’état de
santé d’un individu.
L’avantage de ces données est qu’elles peuvent être facilement partagées avec les
professionnels de la santé, ce qui permet une prise en charge plus personnalisée et
efficace des patients. Les plateformes mobiles permettent également de stocker les
données médicales des patients de manière centralisée, ce qui peut faciliter l’accès
aux données et la coordination entre différents professionnels de la santé.
Notre projet vise à développer une plateforme reliant une application sur une
montre connectée Galaxy Watch 4 à une application sur un téléphone pour acquérir
des données brutes provenant de différents capteurs tels que le capteur du signal
photoplethysmography (PPG) et le capteur du signal electrocardiography (ECG).
Afin de réaliser ce projet, nous avons utilisé le SDK Samsung Privileged Health qui
n’est pas en accès libre et nécessite une demande auprès de Samsung pour y avoir
accès.
1
Chapitre 1
Étude préliminaire
1.1 Introduction
Dans un premier lieu,cette partie est consacrée à mettre le projet dans son
cadre général en présentant le sujet. En seconde lieu, nous introduisons une étude
de l’existant afin d’obtenir des résultats assez riches et solides basant sur les
insuffisances des solutions existantes.
C’est là que notre projet SayFR intervient, en fournissant une plateforme pra-
tique et efficace pour collecter et traiter les données biomédicales des montres
connectées. Cette plateforme fournit également une interface intuitive pour visuali-
ser les données et envoyer des messages d’urgence et des alertes pour contacter le
médecin.
Le nom SayFR est inspiré de "safer" en anglais, soulignant l’objectif de rendre
les patients plus sains et plus sûrs, et est également inspiré des prénoms de ses
2
Rapport de projet de fin d’année 2A INFO
3
Rapport de projet de fin d’année 2A INFO
1.5 Conclusion
En conclusion, ce chapitre a présenté notre projet SayFR. Nous avons énoncé
nos objectifs spécifiques pour le développement de l’application, notamment la
collecte fiable et précise de données biomédicales, le traitement et l’analyse de ces
données, la conception d’une interface utilisateur ergonomique.
4
Chapitre 2
2.1 Introduction
Dans ce chapitre, nous présentons les concepts fondamentaux liés au développe-
ment de la solution proposée. Plus précisément, nous nous intéressons à l’utilisation
de la technologie de l’internet des objets dans le domaine de la surveillance médicale
à distance.
5
Rapport de projet de fin d’année 2A INFO
6
Rapport de projet de fin d’année 2A INFO
7
Rapport de projet de fin d’année 2A INFO
8
Rapport de projet de fin d’année 2A INFO
b/ Architecture de CFM
L’architecture de FCM se compose de trois parties principales :
— Application client : C’est l’application mobile qui envoie et reçoit les
messages de notification. Les applications peuvent recevoir des messages
même lorsqu’elles sont en arrière-plan ou qu’elles ne sont pas en cours
d’exécution[8].
— Serveur d’application : Il s’agit de l’application qui envoie les messages
de notification aux clients via le serveur de cloud messaging de Firebase.
Le serveur d’application peut être hébergé sur un cloud public ou privé[8].
— Serveur de Cloud Messaging de Firebase (FCM) : Le serveur
de FCM reçoit les messages de notification des serveurs d’application
et les transmet aux appareils clients appropriés. FCM prend en charge
plusieurs protocoles, notamment HTTP et XMPP, pour la transmission
de messages[8].
9
Rapport de projet de fin d’année 2A INFO
10
Rapport de projet de fin d’année 2A INFO
11
Rapport de projet de fin d’année 2A INFO
12
Rapport de projet de fin d’année 2A INFO
2.5 Conclusion
En conclusion, dans ce chapitre, nous avons avons définir quelques notions qu’on
va l’utilisés dans la suite de rapport. nous avons abordé le sujet de l’internet des
objets dans le domaine de la santé. Nous avons également parlé de son rôle dans
notre projet.
13
Chapitre 3
Application de la SmartWatch
3.1 Introduction
Dans ce chapitre nous allons identifier les acteurs de notre application du
smartwatch, ainsi qu’à les modéliser à l’aide de diagrammes de cas d’utilisation et
de séquence. Nous allons ensuite parlé de la réalisation de notre application.
3.2 Présentation
L’application de la smartwatch enregistre les données des capteurs, les stocke et
les transmet. Elle propose une interface utilisateur facile à l’utilisation. L’application
a été développée sur les smartwatches Samsung Galaxy 4. Ces derniers fonctionnent
avec le système d’exploitation Android, qui fournit des SDK pour gérer et interagir
avec les capteurs et les protocoles de communication.
14
Rapport de projet de fin d’année 2A INFO
Besoins fonctionnels
Notre application offre à notre acteur les fonctions suivantes :
— BF1 : Se connecter ou faire un compte.
— BF2 : Envoyer les données des signaux.
— BF3 : Envoyer un message à son médecin.
— BF4 : Envoyer une notification en urgence.
15
Rapport de projet de fin d’année 2A INFO
16
Rapport de projet de fin d’année 2A INFO
17
Rapport de projet de fin d’année 2A INFO
Figure 3.5 – Diagramme de séquence pour le cas d’utilisation «Envoyer les données
biomédicales d’un patient»
18
Rapport de projet de fin d’année 2A INFO
3.4 Réalisation
3.4.1 Environnement de travail
Configuration matérielle :
Pour mettre en en oeuvre ce projet, nous avons travaillé sur un ordinateur personnel,
dont la configuration est la suivante :
— Ordinateur : PC PORTABLE HP windows 10
— Processeur : Intel(R) Core(TM) i5-8250U CPU 1.60GHz 1.80 GHz
— Mémoire installée(RAM) : 8.0 GB
Nous avons utilisé aussi la smartwatch Samsung Galaxy Watch 4 qui fonctionne
avec le systéme d’exploitation Abdroid.
Environnement logiciel :
Cette partie est consacrée à citer les logiciels utilisés à la réalisation de notre
application :
— Android Studio : Un environnement de développement des applications mo-
biles Android. Il est basé sur IntelliJ IDEA et utilise le moteur de production
Gradle.
— Firebase : Firebase est une plateforme mobile de Google conçue pour simplifier
la création d’un back-end à la fois évolutif et performant. En d’autres termes,
elle offre une solution rapide pour développer des applications mobiles et
Web.
— ThingSpeak : C’est est un API destinée au domaine de l’Internet des objets
qui nous a permis de collecter et stocker les données provenant des capteurs
de smartwatch en utilisant le protocole MQTT. Dans notre projet, nous
avons opté pour l’utilisation de ce protocole. En outre, ThingSpeak est équipé
d’outils de traitement de données numériques tels que le calcul de la moyenne,
la médiane, la somme, etc. en plus de stocker et récupérer ces données[5].
— Github : C’est une plateforme d’hébergement de code pour le contrôle de
version et la collaboration. Elle permet de partager et sauvegarder le code et
héberge plus d’une dizaine de millions de repositories.
Choix technologiques :
Dans cette partie, nous présentons les langages de programmation et les biblio-
thèques utilisées dans notre application en justifiant à chaque fois notre choix :
— Langage de programmation :
- Java : C’est un langage de programmation populaire pour la création d’appli-
19
Rapport de projet de fin d’année 2A INFO
— Bibliotheques et SDK :
- Samsung Privileged Health SDK | Tracking Service : La plateforme de santé
fournit le suivi des données de santé et l’accès aux données de stockage de
santé. Son service de suivi fournit des données de capteurs brutes et traitées
telles que l’accéléromètre, PPG et les données de composition corporelle que
le capteur BioActive a envoyées. Le nouveau capteur BioActive de la Galaxy
Watch exécute précisément trois capteurs de santé puissants tels que le PPG,
l’ECG, le BIA, la perte de sueur et le SpO2.
Les API de suivi du Samsung Privileged Health SDK permettent à une
application partenaire de suivre les données de capteurs liées à la santé. Une
application importe la bibliothèque de suivi du SDK (priv-health-tracking.aar)
et définit un écouteur d’événements de suivi pour recevoir des événements
de données. Les données de suivi sont transférées à l’application avec des
événements ponctuels ou périodiques jusqu’à ce que l’écouteur d’événements
soit supprimé. Le nombre d’événements et la fréquence des événements
diffèrent selon le type de suivi.
- Les bibliothèques Firebase : pour le stockage, la récupération et la synchro-
nisation des données en temps réel dans la base de données Firebase. Les
bibliothèques Firebase pour Android comprennent également d’autres outils
tels que l’authentification, les notifications, l’analyse, le reporting d’erreurs,
la messagerie en temps réel, la gestion à distance, etc.
- La Bibliothéque Eclipse Paho Java Client : C’est une bibliothèque de clients
MQTT open-source écrite en Java et développée par la fondation Eclipse.
Elle permet de créer des clients MQTT pour communiquer avec des brokers
MQTT. Cette bibliothéque nous facilite l’implementation des fonctionnalités
de communication entre l’application est le broker MQTT[7].
3.4.2 Implémentation
Dans cette partie nous allons présenter le schéma de la base données de notre
application et quelques imprimes écran :
20
Rapport de projet de fin d’année 2A INFO
21
Rapport de projet de fin d’année 2A INFO
22
Rapport de projet de fin d’année 2A INFO
Après avoir rempli le formulaire et cliqué sur le bouton d’envoi, une notification
est envoyée au médecin, comme le montre la figure ci-dessous.
23
Rapport de projet de fin d’année 2A INFO
En cliquant sur le signal souhaité pour envoyer ses données au médecin, l’application
lui demande de commencer l’envoi, comme le montre la figure ci-dessous.
24
Rapport de projet de fin d’année 2A INFO
Lorsque l’utilisateur clique sur le bouton "START", les données du signal asso-
ciées à cette action sont récupérées à partir des capteurs de la montre et traitées par
notre code d’application. Une fois le traitement terminé, les données sont affichées
sur le terminal Android Studio. Comme illustré dans les figures suivantes :
25
Rapport de projet de fin d’année 2A INFO
26
Rapport de projet de fin d’année 2A INFO
27
Rapport de projet de fin d’année 2A INFO
28
Rapport de projet de fin d’année 2A INFO
29
Rapport de projet de fin d’année 2A INFO
30
Rapport de projet de fin d’année 2A INFO
3.5 Conclusion
Dans ce chapitre, nous avons parlé de l’application de la montre. Nous avons
cité ses besoins fonctionnels et ses besoins non fonctionnels. Ce qui nous a permis
de procure une vision claire sur le fonctionnement de notre solution en s’appuyant
sur les différents diagrammes.
31
Chapitre 4
Application mobile
4.1 Introduction
Ce chapitre consiste à présenter notre application mobile et à identifier ses
acteurs, ainsi qu’à les modéliser à l’aide de diagrammes de cas d’utilisation et de
séquence. Nous allons ensuite parler de la réalisation de notre application.
4.2 Présentation
Notre application permet aux médecins de surveiller à distance l’état de leurs
patients en créant un compte et en ajoutant le profil du patient. Lorsque l’application
smartwatch envoie les données du capteur, notre application mobile les reçoit et les
enregistre dans le profil du patient.
32
Rapport de projet de fin d’année 2A INFO
Besoins fonctionnels
Notre application offre à notre acteur les fonctions suivantes :
— BF1 : Se connecter ou faire un compte.
— BF2 : Ajouter un patient.
— BF3 : Mise à jour d’un patient.
— BF4 : Suppression d’un patient.
— BF5 : Voir la liste des patients.
— BF6 : Mise à jour de son profil.
33
Rapport de projet de fin d’année 2A INFO
34
Rapport de projet de fin d’année 2A INFO
35
Rapport de projet de fin d’année 2A INFO
36
Rapport de projet de fin d’année 2A INFO
Nous avons également utilisé comme émulateur un appareil virtuel Pixel 5 API 30
qui fonctionne avec le système d’exploitation Android 11.
Environnement logiciel :
Pour mettre en oeuvre cette application nous avons utilsé aussi
— Android Studio
— Firebase
— Github
Choix technologiques :
Pour programmer cette application nous avons utilisé le langage de programmation
Java, les bibliothéques de Firebase pour le stockage et la récupération des données
et la bibliothéque Eclipse Paho Java Client.
4.4.2 Implémentation
Dans cette partie nous allons présenter le schéma de la base données de notre
application et quelques imprimes écran :
37
Rapport de projet de fin d’année 2A INFO
38
Rapport de projet de fin d’année 2A INFO
39
Rapport de projet de fin d’année 2A INFO
40
Rapport de projet de fin d’année 2A INFO
41
Rapport de projet de fin d’année 2A INFO
Après que les données de signal d’un patient sont envoyées au serveur par la
smartwatch, le médecin peut consulter ces données en accédant à l’interface de
ce patient par le bouton "SEE MORE" dans l’interface de liste des patients. Ce
processus est effectué en connectant l’application mobile par le protocole mqtt et à
la même canal de la plateforme ThingSpeak que celle utilisée par la smartwatch.
4.5 Conclusion
Dans ce chapitre, nous avons parlé au début de l’architecture générale du projet
puis nous avons cité les besoins fonctionnels et les besoins non fonctionnels.Ce qui
nous a permis de procure une vision claire sur le fonctionnement de notre solution
en s’appuyant sur les différents diagrammes.
La création d’une plateforme de collecte et de traitement de données biomédi-
cales à partir d’une montre connectée représente un défi passionnant et porteur
d’espoir dans le domaine de la santé connectée.
Basée sur le concept de l’Internet des objets (IoT), une telle plateforme nécessite
le développement d’un ensemble de composants liés entre eux. Dans le cadre du
présent projet, nous avons pu développer une application permettant d’accéder aux
données brutes des capteurs embarqués dans une Galaxy Watch 4.
D’une part, nous avons développé une application Android permettant d’accéder
aux données des capteurs et de les envoyer à un serveur distant sur la plateforme
thingspeak. Dans cette étape, nous avons dû utiliser le SDk fourni par Samsung
(après une demande) pour pouvoir lire les données brutes des capteurs.
Dans un second temps, nous avons développé une application mobile permettant
d’accéder aux données enregistrées sur le serveur à partir d’un terminal mobile. La
solution que nous avons proposée est une étape importante pour la mise en place
d’une plateforme de collecte de données à partir de smartwatches. Elle peut être
améliorée par l’ajout d’autres fonctionnalités enrichissantes.
42
Webographie
[1] https://blog.engineering.publicissapient.fr/2015/12/02/linternet-
des-objets-101//ConsultÃľle:01/02/2023.
[2] https://iotindustriel.com/iot-iiot/architecture-iot-lessentiel-
a-savoir/#:~:text=L’architectureConsultÃľle:01/02/2023.
[3] https://webmedy.com/blog/fr/top-benefits-of-iot-in-healthcare/
ConsultÃľle:01/02/2023.
[4] https://www.paessler.com/fr/it- explained/mqttConsultÃľle:04/
04/2023.
[5] https://www.comparitech.com/net-admin/what-is-mqtt/ConsultÃľle:
04/04/2023.
[6] https://www.automation- sense.com/blog/blog- objets- connectes/
thingspeak - api - pour - objets - connectes . htmlConsultÃľle : 04 / 04 /
2023.
[7] https://qkzk.xyz/docs/nsi/cours_premiere/programmation/outils/
libraries_faciles/mqtt/#:~:text=IntroductionConsultÃľle:04/04/
2023.
43
Bibliographie
44