Vous êtes sur la page 1sur 92

Master of Science HES-SO in Engineering

Av. de Provence 6
CH-1007 Lausanne

Master of Science HES-SO in Engineering


Orientation : Technologies de l’information et de la communication (TIC)

Smartwatch Resident Monitoring Applicaiton

Fait par

Nicolas Zurbuchen
Sous la direction de
Prof. Pascal Bruegger
à la Haute Ecole d’Ingénierie et d’Architecture Fribourg

Lausanne, HES-SO//Master, 8 juin 2018


Historique

Version Date Auteur Modifications


0.1.0 27.02.18 Nicolas Zurbuchen Création du document
0.2.0 27.02.18 Nicolas Zurbuchen Rédaction du chapitre d’introduction
0.3.0 01.03.18 Nicolas Zurbuchen Rédaction de l’approche utilisateur
0.4.0 05.03.18 Nicolas Zurbuchen Rédaction de l’analyse du projet
0.5.0 12.03.18 Nicolas Zurbuchen Rédaction de la conception de l’application
0.6.0 23.03.18 Nicolas Zurbuchen Rédaction de l’implémentation
0.7.0 02.04.18 Nicolas Zurbuchen Rédaction des tests et validations
0.8.0 06.06.18 Nicolas Zurbuchen Rédaction de la conclusion
1.0.0 07.06.18 Nicolas Zurbuchen Mise au propre du rapport

3
Table des matières

1 Introduction 9
1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Gestion des documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Gestion du code source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Planification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Logiciels utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Structure du rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Analyse 13
2.1 Situation actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Besoins de l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Définition de l’audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Eléments hors-projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6 Analyse du système actuel . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.6.1 SEMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6.2 HMMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.6.3 RMMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7 Diagramme d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.8 Etat de l’art des montres connectées . . . . . . . . . . . . . . . . . . . . . 21
2.8.1 Liste des montres connectées . . . . . . . . . . . . . . . . . . . . . 21
2.8.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.9 OS pour montres intelligentes . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9.1 FitbitOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9.2 Tizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9.3 WatchOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.9.4 Wear OS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.10Etude des biosignaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.10.1Fréquence cardiaque . . . . . . . . . . . . . . . . . . . . . . . . . . 33

5
Zurbuchen Nicolas TABLE DES MATIÈRES

2.10.2Tension artérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.10.3Saturation en oxygène . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.10.4Glycémie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.10.5Température . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.10.6Chutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.11Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3 Conception 39
3.1 Interface graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Maquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.2 Thème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Ecran de préférences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Capteurs de la montre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4 Implémentation 47
4.1 Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.1 Canal de notification . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.2 Création de notifications . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Liste avec différentes vues . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5 Tests et validations 55
5.1 Procédure de test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.3 Messagerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.4 Cardiofréquencemètre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.5 Suivi d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.6 Localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.7 Détection de chute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.8 Rappels de médicament . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.9 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

6 Conclusion 71
6.1 Objectifs atteints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.2 Points d’améliorations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.3 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.4 Synthèse personnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.5 Déclaration d’honneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Annexes 85

Rapport de projet 6 SRMA


Zurbuchen Nicolas TABLE DES MATIÈRES

A Logiciels utilisés 87
A.1 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.2 Creately . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.3 TeXstudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.4 Microsoft Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.5 Microsoft Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
A.6 Microsoft PowerPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Rapport de projet 7 SRMA


1. Introduction

SRMA (Smartwatch Resident Monitoring Application) est un projet d’approfondisse-


ment qui consiste au développement d’une application mobile pour montre connectée
permettant le suivi de résidents dans les homes.

Ce document présente le projet avec ses objectifs ainsi que le travail qui a été réalisé.

1.1 Contexte

De nos jours les infirmiers/infirmières, aides-soignants/aides-soignantes ou éduca-


teurs/éducatrices doivent s’occuper d’un nombre de patients ou de résidents de plus
en plus important. Dans les homes et les lieux de résidence pour personnes âgées
ou handicapées, le personnel est souvent en sous-effectif et la supervision de ces
personnes devient problématique. De plus, dans le cas de personnes âgées, il est
assez difficile pour elles de passer d’une vie indépendante à une vie supervisée, as-
sistée. L’idée est de leur donner une certaine indépendance tout en monitorant les
aspects sécuritaires comme une chute, une inactivité suspecte ou, pour les personnes
atteintes de la maladie d’Alzheimer, un mouvement hors du périmètre de sécurité.

Un moyen simple est l’utilisation de montres connectées, peu intrusives, pour suivre
les mouvements des personnes dans le bâtiment et de générer des alarmes en cas de
problèmes. Le personnel soignant est alors immédiatement prévenu et un système de
priorité dans l’intervention est mis en place. Soit la personne de référence intervient
ou alors, en cas de problème plus grave, la personne la plus proche ou un médecin
interviendra.

Un premier prototype de système a été réalisé dans le cadre de trois travaux de Ba-
chelor à la HEIA-FR (Haute Ecole d’Ingénierie et d’Architecture de Fribourg). Ces
trois projets correspondent chacun à une composante du système et sont décrites
ci-dessous :

— HMMA (Health Monitoring Mobile App) est une application mobile destinée au

9
Zurbuchen Nicolas 1.2. OBJECTIFS

personnel soignant. Elle permet de monitorer les résidents et de recevoir des


alertes lorsqu’un résident a un problème. Les alertes sont transmises par le
serveur central (SEMS).
— RMMA (Resident Monitoring Mobile App) est une application mobile destinée
aux résidents. Elle permet d’enregistrer toute sorte d’informations (localisation,
activités, chute) concernant le résident et de les envoyer au serveur central
(SEMS). De plus, elle permet une communication entre le résident et le person-
nel soignant.
— SEMS (Smart Environment Monitoring System) est un système centralisé qui
a pour but de stocker les informations concernant les résidents et notifier le
personnel soignant en cas de nécessité. Il doit notifier le personnel soignant
adéquat en fonction de la position du résident et lui transmettre le type de
problème avec une certaine priorité.

La Figure 1.1 illustre l’architecture du système composé par ces projets.

Figure 1.1 – Architecture comprenant les différents composants du système

1.2 Objectifs

L’objectif du projet est d’adapter l’application mobile développée dans le cadre du


projet RMMA en une application pour montre connectée. Celle-ci devra pourvoir com-
muniquer avec l’ensemble du système mis en place, notamment avec le serveur prin-
cipal. Elle devra intégrer une partie des fonctionnalités qu’offre l’application RMMA
comme la localisation du résident, la détection de l’activité qu’il réalise ainsi que l’en-
voi d’alertes au serveur en cas de problème.

Un aspect important que doit pouvoir réaliser la montre connectée est la mesure des
signaux physiologiques de son porteur. Ces mesures permettront d’avertir les aides-
soignants en cas d’activité inhabituelle. Il s’agira donc de réaliser un état de l’art des
capteurs existants pour la mesure des aspects physiologiques et d’analyser ce que les
montres connectées actuelles sont capables de mesurer.

Le but est aussi de concevoir une interface pour montre connectée adaptée aux per-
sonnes âgées pour que le système soit le plus simple d’utilisation et le moins intrusif

Rapport de projet 10 SRMA


Zurbuchen Nicolas 1.3. GESTION DES DOCUMENTS

possible. Ces personnes qui sont dans la grande majorité très peu habituée à la tech-
nologie peuvent être réticentes à porter un appareil connecté. C’est pourquoi, il faut
que l’application leur soit bien adaptée.

Ce projet a aussi pour but de préparer le travail de Master qui traite une théma-
tique très similaire qui est la mise en place d’un environnement intelligent chez les
particuliers permettant aux personnes âgées vivant seuls de garder une certaine in-
dépendance. Ce système permet de détecter l’activité courante et de déterminer si
elle est habituelle ou non dans le but de prévenir des aides-soignants.

Les objectifs de ce projet sont donc les suivants :


— Prise en main du projet global (RMMA + HMMA + SEMS),
— Analyse du fonctionnement et des possibilités des montres connectées,
— Etat de l’art des mesures physiologiques et des capteurs existants,
— Etat de l’art des applications et projets similaires au but de ce projet,
— Conception d’une interface graphique ergonomique pour la montre connectée,
— Adaptation de l’application RMMA pour la montre connectée,
— Tests de l’application pour montre connectée avec l’ensemble du système.

1.3 Gestion des documents

Les documents réalisés pendant le projet sont tous disponibles sur le portail de la
forge. Il est possible aussi d’y retrouver chaque version afin d’observer leur évo-
lution. Le lien du projet sur ce portail est : https://redmine.forge.hefr.ch/
projects/srma

1.4 Gestion du code source

L’outil de gestionnaire de version GIT est utilisé lors du développement du code de


l’application et la forge s’y rattachant est GitLab. Le lien de cette dernière est :
https://gitlab.forge.hefr.ch/nicolas.zurbuchen/srma.git

1.5 Planification

La planification réalisée lors de la rédaction du cahier des charges se trouve en annexe


à la fin du document. Elle a permis une bonne structuration des différents éléments à
étudier.

Rapport de projet 11 SRMA


Zurbuchen Nicolas 1.6. LOGICIELS UTILISÉS

1.6 Logiciels utilisés

Plusieurs logiciels sont utilisés pour l’analyse du code du prototype et des solutions
trouvées. Une description ainsi que la version de ceux-ci se trouvent en annexe A.

1.7 Structure du rapport

Ce rapport de projet d’approfondissement possède une grande analyse sur les montres
connectées et une partie concernant le développement de l’application mobile. Les
chapitres sont les suivants :
Introduction : Introduit le contexte et pose le but du projet,
Analyse : Présente l’étude réalisée sur le monde des montres connectées,
Conception : Présente la façon dont la solution a été développée,
Implémentation : Expose les problèmes rencontrés et les solutions trouvées,
Tests et validations : Décrit les tests réalisés pour valider le système,
Conclusion : Présente les résultats et le bilan du projet.

Rapport de projet 12 SRMA


2. Analyse

Ce chapitre présente l’analyse de l’approche utilisateur par rapport à cette nouvelle


application pour montre connectée. Une étude de ces montres et de leur système d’ex-
ploitation respectif permettra de comprendre leurs limitations. De plus, une étude des
biosignaux avec les différents capteurs existants est aussi présente. Enfin un compa-
ratif avec d’autres applications similaires clora ce chapitre.

2.1 Situation actuelle

Un phénomène auquel beaucoup de pays sont actuellement confrontés est le vieillis-


sement de leur population. En effet, le nombre de personnes de soixante ans et plus
est celui qui augmente le plus vite parmi les tranches d’âges. La cause est l’améliora-
tion des conditions de vie dans les sociétés notamment ce qui concerne les aspects de
la santé. Cela a pour effet d’augmenter l’espérance de vie de la population. Le taux
de natalité est aussi de plus en plus faible dans les pays développés ce qui accroît ce
vieillissement. De plus, les personnes nées dans la période du baby-boom entre 1945
et 1965 vont dépasser les soixantes ans dans les années à venir et cela va provoquer
communément dit le papy-boom. Tous ces facteurs accumulés vont alors accroître ce
vieillissement de la population. [1]

Ce phénomène touche aussi la Suisse. La Figure 2.1 présente l’évolution de la pyra-


mide des âges pour la population Suisse. L’axe des abscisses représente les hommes
et le femmes en millier de personnes et l’axe des ordonnées leur âge. Il est possible
d’observer au 31 décembre 2016 que la plus grande tranche d’âge se situe aux alen-
tours des 50 ans. C’est justement ces personnes qui vont atteindre la retraite dans
quelques années et provoquer un grand changement démographique auquel il faudra
que les sociétés soient prêtes pour réagir aux besoins.

Le problème est que les personnes âgées ne sont plus en aussi bonne santé que lors-
qu’elles étaient jeunes. Au fil des ans, elles accummulent des dommages moléculaires
et cellulaires ce qui baisse leur niveau de santé. Cependant, il existe de grandes dif-

13
Zurbuchen Nicolas 2.1. SITUATION ACTUELLE

Figure 2.1 – Evolution de la pyramide des âges en Suisse. [2]

férences entre les personnes. Certaines peuvent être en très bonne santé à l’âge de
70 ans alors que d’autres doivent être assistées quotidiennement. Cela provient en
général de problèmes de santé tels que la démence, l’arthrose, le diabète, la mala-
die d’Alzheimer et encore la perte de l’audition. Mais il se peut aussi qu’elles soient
tout simplement trop faibles physiquement pour pouvoir s’assumer. Il leur est dès
lors compliqué de vivre dans leur domicile et doivent déménager dans des résidences
spécialisées. [3]

Le nombre de résidents dans ces homes augmentent avec le vieillissement de la popu-


lation et les aides-soignants se retrouvent à devoir gérer de plus en plus de personnes.
Ils sont alors débordés et ne peuvent pas s’occuper convenablement de chaque ré-
sident, ou du moins pas efficacement. Du fait qu’ils ne peuvent pas être présents pour
chaque personne, il peut arriver qu’ils interviennent trop tard lorsqu’un incident se
produit. Cela peut par exemple être une chute qui est l’une des plus grandes causes
de décès chez ce type de population.

La problématique est alors la suivante : comment est-il possible pour les aides-soignants
et médecins de gérer efficacement ces résidents et d’intervenir au plus vite lorsque
la situation l’exige ?

Pour y remédier, un premier prototype de système a été réalisé dans le cadre de trois
travaux de Bachelor et celui-ci est étudié à la section 2.6.

Rapport de projet 14 SRMA


Zurbuchen Nicolas 2.2. BESOINS DE L’UTILISATEUR

2.2 Besoins de l’utilisateur

Le personnel soignant a besoin d’un système l’informant de façon la plus précise


possible sur l’état de santé des résidents cela dans le but de pouvoir intervenir le
plus efficacement possible. Avec une montre connectée portée par les résidents, cela
permettrait aux aides-soignants de les localiser, d’avoir leur état de santé grâce à des
capteurs et de leur communiquer des rappels via de simples messages. Le personnel
pourra alors gérer efficacement les différents résidents.

2.3 Contraintes

L’application mobile doit être développée pour le système d’exploitation « Android


Wear » et le projet devra globalement comporter les phases suivantes :
1. Phase d’analyse des applications pour montre connectée existante,
2. Phase de conception modulaire de l’architecture de l’application,
3. Phase de réalisation et de tests montrant la justesse des choix effectués.

2.4 Définition de l’audience

L’application mobile pour montre connectée est destinée à être utilisée par des per-
sonnes âgées qui ne sont pas forcément très à l’aise avec ce genre technologie. Il faut
donc que l’application soit le plus simple d’utilisation et qu’elle soit le moins intrusif
possible.

2.5 Eléments hors-projet

Dans le cadre de ce projet, l’aspect de la sécurité n’est pas pris en compte car cela
peut demander beaucoup de temps. Afin qu’il y ait un minimum de fonctionnalités
implémentées pendant la durée du projet, cet aspect a alors été mis de côté.

2.6 Analyse du système actuel

Un premier prototype de système a été réalisé dans le cadre de travaux de Bachelor.


Il pose les bases d’un système pour la gestion d’une résidence spécialisée compre-
nant des aides-soignants et des personnes âgées. Il se compose de deux applications

Rapport de projet 15 SRMA


Zurbuchen Nicolas 2.6. ANALYSE DU SYSTÈME ACTUEL

mobiles, une destinée au personnel soignant et l’autre aux résidents ainsi qu’un ser-
veur contenant la logique métier. Ces trois parties sont décrites dans les sous-sections
suivantes.

2.6.1 SEMS

Le projet SEMS (Smart Environnement Monitoring System) avait pour but de dévelop-
per le côté serveur du système. Il permet de centraliser les données et de coordonner
les aides-soignants et les résidents utilisant chacun une application mobile qui s’y
connecte.

Son objectif est de recevoir les informations mesurées sur l’état des résidents et de
détecter si un problème a lieu concernant la fréquence cardiaque, la localisation ou
une chute. Un algorithme de traitement des alarmes permet d’identifier le problème,
de lui attribuer une priorité puis de notifier l’aide-soignant adapté. Cette notification
se fait à l’aide d’un système PUSH en utilisant la solution de messagerie Firebase
Cloud Messaging. L’aide-soignant concerné doit alors indiquer s’il est en mesure de
s’occuper de ce problème ou non auquel cas, un autre responsable est sollicité. Il offre
en plus les fonctionnalités suivantes :
— Authentification des aides-soignants et des résidents (connexion et déconnexion),
— Mise-à-jour des informations concernant les aides-soignants (localisation, dis-
ponibilité, numéro de téléphone),
— Mise-à-jour des informations concernant les résidents (localisation, type d’acti-
vité, fréquence cardiaque),
— Envoi et réception de messages entre les aides-soignants et les résidents.

Ce serveur possède une architecture de type REST et les communications des données
sont au format JSON. Il utilise le framework uMove qui permet de définir et représen-
ter un système informatique ubiquitaire. Ce dernier a pour objectif l’intégration de la
prise en charge d’utilisateurs et de la détection de leur situation. Il est notamment
possible de créer un monde comportant des entités ayant des attributs de taille et de
localisation.

De plus, SEMS propose une application Web développée en Angular 2 et offrant une
plateforme de gestion de système. Cela permet à un administrateur d’ajouter des
aides-soignants et des résidents ainsi que de visualiser où se trouve tous les acteurs
du système. La Figure 2.2 présente la page d’accueil de cette application web. Elle
affiche la modélisation d’un étage d’un bâtiment et indique où se trouve les aides-
soignants et les résidents. La sélection d’un acteur affiche en plus son nom et son
identifiant. La recherche permet d’obtenir les informations concernant un des acteurs
du système. Enfin, il est possible d’afficher la liste de toutes les personnes. [4]

Rapport de projet 16 SRMA


Zurbuchen Nicolas 2.6. ANALYSE DU SYSTÈME ACTUEL

Figure 2.2 – Page d’accueil de l’application Web du projet SEMS.

2.6.2 HMMA

Le projet HMMA (Health Monitoring Mobile App) avait pour but de développer une
des applications mobiles du système. Celle-ci est destinée aux aides-soignants et elle
leur permet de monitorer les personnes âgées habitant dans le home.

Elle doit permettre au personnel soignant de pouvoir intervenir de manière efficace


auprès des résidents lorsque ceux-ci ont un problème. En outre, elle reçoit des noti-
fications depuis le serveur en indiquant le type d’alerte et le résident concerné. De
plus, l’application permet les fonctionnalités suivantes :
— Authentification du personnel garantissant la sécurité de l’accès aux données
des résidents,
— Consultation des résidents et de leur état. Cela permet de connaître la liste des
résidents ainsi que leurs informations personnelles telles que leur nom, leur
pathologie, leur localisation ainsi que des informations physiologiques. De plus,
il est possible de consulter les médicaments que les personnes âgées doivent
prendre et de les modifier.
— Communication par messages avec les résidents.
— Configuration de l’application pour changer son comportement. Cela permet
d’activer le vibreur ou la sonnerie pour les alertes ou encore d’activer l’actuali-
sation automatique des informations des patients.
— Consultation des statistiques des alertes concernant les résidents. Il est possible

Rapport de projet 17 SRMA


Zurbuchen Nicolas 2.6. ANALYSE DU SYSTÈME ACTUEL

de visualiser le nombre d’alertes levées par résident, la quantité d’alarmes triée


par type ou encore la quantité d’alarmes reçues par semaine. Cependant cette
fonctionnalité de statistique n’a pas été implémentée par manque de temps.

Cette application mobile a été développée en utilisant la technologie Xamarin qui


permet le développement d’applications mobiles en cross-platforme. Il existe actuel-
lement une version Android et une version iOS de l’application.

La Figure 2.3 présente une capture d’écran de la vue affichant la liste des résidents.
Il est possible de voir leur activité courante (vélo, pied), leur nom et leur position. Les
onglets du haut permettent de naviguer entre les fonctionnalités de l’application. En
sélectionnant un résident, la vue présente à la Figure 2.4 s’affiche. Celle-ci indique
plus d’informations telles que la date de naissance, la pathologie aindi que la locali-
sation sur une carte. De plus, des onglets permettent de consulter les médicaments
prescrits ou d’échanger des messages. [5]

Figure 2.3 – Liste des résidents Figure 2.4 – Profile d’un résident

2.6.3 RMMA

Le projet RMMA (Resident Moniroting Mobile App) avait pour but de développer la
seconde application mobile du sysètme. Celle-ci est destinée aux résidents du home
et elle permet de suivre leurs mouvements afin de notifier le personnel soignant en
cas de problème.

L’application a pour objectif de collecter des informations telles que la localisation

Rapport de projet 18 SRMA


Zurbuchen Nicolas 2.6. ANALYSE DU SYSTÈME ACTUEL

ainsi que la fréquence cardiaque puis de les transmettre au serveur. Afin de mesurer
la fréquence cardiaque, elle supporte l’utilisation de la ceinture Zephyr qui doit se
placer au niveau du torse du porteur. Elle communique via le protocole Bluetooth
et permet en plus de la fréquence cardiaque de mesurer la distance parcourue, les
calories dépensées et la vitesse. Une API pour Android est mise à disposition afin de
faciliter le développement.

Le suivi de la localisation du résident se fait en utilisant une API spécialisée du nom de


IndoorAtlas. Cette librairie à été utilisée car il est difficile d’obtenir une localisation
précise à l’intérieur d’un bâtiment. Cela vient du fait que le signal GPS est insuffisant
et n’est donc pas utilisable. Cette API combine d’autres techniques (Wi-Fi, champ
magnétique ou Beacons) pour déterminer la position qui est ensuite transmise au
serveur. Il est nécessaire d’être précis afin que le personnel soignant puisse intervenir
le plus rapidement possible.

De plus, l’application permet de détecter quelle est l’activité courante du résident.


Une autre API est utilisée pour cela et elle se nomme ActivityRecognitionAPI. Elle est
développée par Google et elle peut déterminer les activités suivantes (en gras celles
utiles au projet) :
— En véhicule,
— En vélo,
— A pied,
— En train de courir,
— Immobile,
— Inclinaison,
— En train de marcher.

Une fonctionnalité de gestion de prise de médicaments à l’aide de rappels sous forme


de notifications est aussi intégrée à l’application. Cela donne une certaine indépen-
dance aux personnes âgées. Le système de messagerie déjà cité offre la possiblité de
rapidement envoyer un message prédéfini ou personnalisé au personnel soignant. Il
est aussi possible de répondre à des messages reçus. L’application permet de détec-
ter si une chute a eu lieu en utilisant l’accéléromètre. Cependant cette fonctionnalité
n’est pas fonctionnelle.

Un écran de configuration offre encore la possiblité de paramétrer les fréquences


cardiaques de base pour la marche, la course et l’immobilité. En plus, les capteurs
disponibles et les rappels de médicaments peuvent être désactivés pour adapter l’ap-
plication au résident.

La Figure 2.5 présente l’écran d’accueil après qu’un utilisateur se soit connecté. Cet
écran a pour but d’afficher l’information de l’état actuel du résident (fréquence car-
diaque, activité, localisation). La Figure 2.6 présente quant à elle le menu de configu-

Rapport de projet 19 SRMA


Zurbuchen Nicolas 2.7. DIAGRAMME D’UTILISATION

ration où il est possible d’activer ou désactiver les capteurs et d’entrer les valeurs par
défaut de la fréquence cardiaque. [6]

Figure 2.5 – Accueil de l’application Figure 2.6 – Réglages pour le résident

Dans le cadre de ce projet d’approfondissement, les fonctionnalités présentes dans


l’application RMMA devront être adaptées pour qu’elles fonctionnent dans une ap-
plication pour montre connectée. De plus, il faudra utiliser les capteurs inclus sur la
montre pour récupérer les données physiologiques du résident à la place de capteurs
externes tels que la ceinture Zephyr. Les fonctionnalités à intégrer sont les suivantes :
— Localisation du résident de la manière la plus précise possible,
— Rappels pour la prise de médicaments,
— Messagerie rapide pour l’échange de courts messages avec le personnel soi-
gnant,
— Détection de chute fonctionnant mieux que la version RMMA,
— Mesures des signaux physiologiques automatiques du résident.

2.7 Diagramme d’utilisation

Un diagramme de cas d’utilisation a été réalisé afin de visualiser les actions que
peuvent faire les utilisateurs avec l’application qui est a développer dans le cadre
de ce projet. La Figure 2.7 présente ce diagramme.

Rapport de projet 20 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

Figure 2.7 – Diagramme de cas d’utilisation de l’application

2.8 Etat de l’art des montres connectées

Depuis quelques années, le nombre de montres connectées commercialisées a énor-


mément augmenté. Il en existe dorénavant un large choix dans le but de toucher le
plus de consommateur possible. Qu’elles soient rondes, carrées, de couleur, chères ou
bon marché, tout le monde peut y trouver son compte. Cette section a pour but d’étu-
dier les caractéristiques de ces montres et d’en trouver les limitations. Cette section
se compose de la façon suivante :
— Liste des montres connectées,
— Limitations.

2.8.1 Liste des montres connectées

Cette sous-section présente une sélection de montres disponibles sur les marchés.
Elles ont été choisies car elles présentent de très bonnes ventes à travers le monde et

Rapport de projet 21 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

qu’elles possèdent toutes au moins un capteur physiologique. Elles sont décrites par
ordre de sortie.

Samsung Gear S3

La plus ancienne montre des cette étude est la Samsung Gear S3 qui est sortie le
18 novembre 2016. Elle existe en deux design qui sont la « Frontier » et la « Clas-
sic », cette dernière étant présentée à la Figure 2.8. Elle fonctionne avec le système
d’exploitation maison de Samsung du nom de Tizen (plus d’informations à la sous-
section 2.9.2). Elle intègre plusieurs capteurs dont un accéléromètre, un baromètre,
un gyroscope, un capteur lumineux ainsi qu’un capteur cardiaque. Il est possible de
l’utiliser avec des smartphones Android ou des iPhones ou même de manière auto-
nome (« standalone »). Grâce à son support de LTE, il est possible de passer des ap-
pels, d’échanger des SMS ou encore d’utiliser des applications accédant à internet.
Cette fonctionnalité permet alors d’avoir un smartphone complet au poignet auquel il
est aussi possible de connecter des écouteurs via Bluetooth.

Comme pour sa version précédente, la Samsung Gear S2, elle possède une lunette ro-
tative qui permet de naviguer dans ses menus. Cela évite d’utiliser des gestes avec le
doigt qui ont tendance à masquer l’écran. Elle peut aussi être utilisée pour prendre/-
rejeter des appels et modifier le volume d’écoute. Cependant, la lunette ne peut pas
effectuer des clics. Les deux boutons physiques sont utilisés pour accéder rapidement
à certaines fonctionnalités de la montre telles que Samsung Pay. Un microphone ainsi
qu’un haut-parleur font aussi partie intégrante de cette montre.

Figure 2.8 – Samsung Gear S3 Classic [7] [8]

En plus, la Samsung Gear S3 possède les technologies NFC et WiFi et grâce à son
GPS, elle peut suivre les déplacements de son utilisateur. Sa batterie de 380 mAh

Rapport de projet 22 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

tient 3 jours avec une bonne utilisation et peut atteindre les 4 jours avec l’économie
d’énergie.

Son avantage est principalement le fait qu’elle puisse fonctionner de manière auto-
nome. Elle n’est donc plus dépendante du smartphone qui lui est attaché. Concernant
le suivi de personne, elle peut être localisée et son seul signal physiologique qu’elle
enregistre est la fréquence cardiaque. Elle permet aussi de détecter l’activité grâce
à ses autres capteurs. Ses désavantages sont sa taille qui apparaît très grande au
poignet et son manque d’applications disponibles du fait de l’utilisation du système
d’exploitation Tizen. [9] [10] [11]

LG Watch Sport

La LG Watch Sport sortie le 9 février 2017 est présentée à la Figure 2.9 et elle est
l’une des premières montres à utiliser la deuxième version du système d’exploita-
tion Wear OS. Elle est très similaire à la montre Samsung Gear S3 précédemment
décrite. Elle intègre plusieurs capteurs tels qu’un baromètre, un accéléromètre, un
gyroscope, un capteur de lumière ainsi qu’un capteur cardiaque. Il est possible de
l’utiliser avec un smartphone Android ou un iPhone bien qu’avec ce dernier, les fonc-
tionnalités soient limitées (pas d’iMessage ni d’Android Pay, manque d’application
compatible sur iPhone).

Cette montre est très grande (plus que la Samsung Gear S3) ce qui n’est pas adapté
aux personnes avec des poignets fin. De plus, elle peut ne pas être confortable selon
le porteur et son bracelet ne peut pas être changé. Elle possède deux boutons d’ac-
cès rapide à certaines fonctionnalités (par défaut Android Pay et Google Fit) mais ils
peuvent être reconfigurés. Une couronne placée entre les deux boutons permet de na-
viguer dans les menus de la montre. Son fonctionnement est similaire à la lunette de
la Samsung Gear S3 et est inspiré de la couronne existante sur l’Apple Watch Series
2. Cela évite d’utiliser des gestes sur l’écran tactile et ainsi de masquer l’écran bien
qu’il soit possible de l’utiliser de cette manière. De plus, la couronne peut être pressée
pour afficher la liste d’applications. Il sera donc tout de même nécessaire d’utiliser
l’écran tactile pour sélectionner l’option désirée. Mais la couronne facilite et améliore
la rapidité d’utilisation de la montre de manière générale.

La LG Watch Sport peut fonctionner en Bluetooth avec un smartphone ou de manière


autonome grâce à la LTE. Cela lui permet à l’aide d’une carte SIM de téléphoner,
échanger des messages et utiliser des applications telles que WhatsApp. Elle possède
un GPS qui couplé avec le capteur cardiaque a la possiblité de suivre le porteur et
d’enregistrer son rythme cardiaque. Elle est résistante à l’eau grâce à la norme IP68
mais elle ne peut pas être utilisée pour nager. Elle peut gérer les protocoles NFC
et WiFi et dispose d’un microphone, d’un haut-parleur et d’un vibreur pour notifier

Rapport de projet 23 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

Figure 2.9 – LG Watch Sport [12] [13]

l’utilisateur. Concernant sa batterie qui est d’une taille de 430 mAh, elle peut être
utilisée pendant une journée avant de devoir être rechargée.

Ses désavantages sont sa taille qui est vraiment grande et sa batterie qui se vide
extrêmement vite. Ses avantages sont similaires à la Samsung Gear S3 : Le mode
autonome est très pratique, elle possède beaucoup de caractéristiques pour le suivi
de personne mais elle est tout de même limitée en termes de possiblité de mesure de
signaux physiologiques différents.

Une version plus simple de cette montre est sortie à la même période elle se nomme
LG Watch Style. Elle est plus petite et possède moins de caractéristiques (Pas de GPS,
ni de LTE, ni de capteur cardiaque). Elle n’a pas été étudiée car elle ne possède aucun
capteur physiologique. [14] [15] [16]

Huawei Watch 2

La Huawei Watch 2, sortie le 18 avril 2017, est l’une des montres à disposition dans
le cadre de ce projet sur laquelle l’application sera testée et elle est présentée à la
Figure 2.10. Elle très similaire aux deux montres précédemment étudiées en particu-
lier la LG Watch Sport car elle possède le même système d’exploitation, Wear OS. De
ce fait elle est compatible avec les smarpthones Android et les iPhones bien que les
fonctionnalités sur ces derniers soient réduites.

Elle est dotée d’une boussole en plus des traditionnaux accéléromètre, gyroscope,
baromètre et capteur cardiaque. Il existe une version autonome avec le support LTE et
4G avec l’utilisation d’une carte SIM ainsi qu’une version sans ce support. Elle intègre
un GPS, un haut-parleur et un vibreur et gère les communications par Bluetooth, WiFi
et NFC. Ce dernier étant utilisé pour Android Pay.

Concernant le matériel, elle possède deux boutons dont un peut être programmé pour

Rapport de projet 24 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

Figure 2.10 – Huawei Watch 2 [17] [18]

ouvrir rapidement une application et dont l’autre sert à ouvrir la liste des applications
ou revenir à l’écran d’accueil. Elle ne possède pas de couronne ou lunette de navi-
gation. Il faut donc utiliser l’écran tactile pour réaliser toute action dans la montre.
Cela complique son utilisation et son porteur aura plus de difficulté à voir l’écran à
cause de son doigt. De plus, l’écran est plus petit que les deux autres montres et il est
placé trop à l’intérieur du matériel ce qui fait qu’il est plus difficilement atteignable.
Sa taille de manière général est assez volumineuse mais son bracelet est facilement
interchangeable. Elle est résistante à la poussière et à l’eau grâce à la norme IP68
mais ne peut pas être utilisée pour la natation.

La Huawei Watch 2 possède une batterie de 420 mAh qui lui donne une autonomie
d’une journée pour la version LTE et de deux jours pour la version sans. Un mode spé-
cial pouvant augmenter son autonomie à dix-huit jours existe mais il désactive toutes
les fonctionnalités dites intelligentes. Elle devient alors une montre toute simple.

Ses avantages sont très similaires à la LG Watch Sport mais elle est globalement
moins agréable à utiliser. Elle donne par moment une impression de lenteur à cause
de ses nombreuses caractéristiques et le fait qu’elle ne possède pas un bouton rotatif
rend son utilisation plus fastidieuse. Ses désavantages en plus sont son volume et sa
petite taille d’écran. [19] [20] [21]

Apple Watch Series 3

L’Apple Watch Series 3 est sortie le 22 septembre 2017 et est présentée à la Fi-
gure 2.11. Son design est extrêmement similaire à sa précédente version, l’Apple
Watch Series 2. Ses caractérstiques sont à quelques détails près les mêmes que les
précédentes montres étudiées. Elle possède un accéléromètre, un gyroscope, un ba-
romètre et un capteur cardiaque. A cela s’ajoute un vibreur, un haut parleur et un

Rapport de projet 25 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

microphone.

En termes de connectivité, il existe une version supportant les données cellulaires


LTE et une sans cette option. Les deux peuvent utiliser le Bluetooth, le Wi-Fi, le NFC
et intègrent un GPS. La version LTE permet de remplacer l’iPhone car il est possible
de téléphoner, échanger des messages et utiliser d’autres applications fonctionnant
de manière autonome. Elle intègre aussi le système Apple Pay qui permet de payer
dans les magasins diretement avec la montre.

Figure 2.11 – Apple Watch Series 3 [22] [23]

Sa grande différence est qu’elle tourne sur la plateforme watchOS qui est le système
d’exploitation développé par Apple. De ce fait, la montre est uniquement compatible
avec des iPhones. Siri, qui fait partie de la montre, peut être utilisé pour obtenir des
informations et il répond au travers du haut-parleur ce qui n’était pas le cas pour
l’Apple Watch Series 2. Cependant, il n’est pas souvent pertinent et l’utilisateur va
vite arrêter de l’utiliser.

Au point de vue matériel, l’Apple Watch Series 3 possède un bouton permettant l’accès
rapide à une application et une couronne rotative fonctionnant de la même manière
que la LG Watch Sport. Elle permet de naviguer dans les applications, de défiler du
texte ou encore de zoomer sur certaines pages. L’écran de la montre ne reste pas
tout le temps allumé pour afficher l’heure mais un coup de poignet l’active tempo-
rairement. Sa batterie peut la faire fonctionner une journée mais dès que des fonc-
tionnalités LTE sont utilisées, elle se vide en quelques heures. Elle suporte l’eau et
la poussière et peut être utilisée pour la natation contraitrement aux autres montres.
Son capteur cardiaque très évolué a la capacité de mesurer précisément la fréquence
cardiaque lors d’activité physique mais aussi lorsque le porteur est immobile.

Ses avantages sont son support de la connexion cellulaire LTE et de son capteur car-

Rapport de projet 26 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

diaque. C’est une montre qui rivalise avec les trois précédemment étudiées mais à
la différence de fonctionner avec watchOS. Ses désavantages sont son manque d’ap-
plication fonctionnant de manière autonome, sa petite batterie et le fait qu’elle soit
uniquement compatible avec les iPhones. [24] [25] [26]

Fitbit Ionic

La FitBit Ionic sortie le 1er octobre 2017 est présentée à la Figure 2.12 et est la
première montre intelligente de la compagnie. Elle est orientée pour les sportifs, c’est-
à-dire qu’elle permet facilement d’enregistrer des sessions de natation, de course, de
cyclisme ou encore les phases du sommeil pendant la nuit. Elle possède un baromètre,
un accéléromètre, une boussole et un capteur cardiaque pouvant fonctionner toute la
journée. Cela rend faisable la mesure de la fréquence cardiaque au repos.

Elle tourne sur un système d’exploitation fait maison, le FitbitOS et fonctionne avec
des smartphones Android ou des iPhones. Elle possède aussi une fonctionnalité de
paiement mais est moins répandue que l’Apple ou l’Android Pay. Elle se connecte au
téléphone via Blutetooth et supporte les protocoles WiFi et NFC. Sa très bonne gestion
de batterie lui permet de tenir pendant 4 à 5 jours mais l’utilisation du GPS va faire
diminuer drastiquement cette durée de vie.

Ses faiblesses sont liées au manque de caractéristiques typiques de montres intel-


ligentes. Elle ne supporte pas le LTE, ne possède pas de microphone ni d’un haut-
parleur. Elle affiche tout de même des notifications lorsqu’un message est reçu mais
il n’est pas possible d’y répondre depuis la montre.

Figure 2.12 – Fitbit Ionic [27] [28]

Ses principaux avantages sont sa durée de vie et son bon suivi d’activités. Ses trois
boutons facilitent la navigation dans les menus lorsque l’utilisateur est en train de
faire du sport. Ses désavantages sont le peu d’applications disponibles sur son app
store ainsi que son prix élevé qui s’approche de la Samsung Gear S3. [29] [30] [31]

Rapport de projet 27 SRMA


Zurbuchen Nicolas 2.8. ETAT DE L’ART DES MONTRES CONNECTÉES

Omron HeartGuide

Cette dernière montre qui n’est pas encore sortie est présentée à la Figure 2.13. Elle
fait partie de cette analyse car elle sera la première montre intelligente à pouvoir
mesurer la pression du sang. Elle a été annoncée pendant le CES du début de cette
année et c’est pourquoi il n’y a pour l’instant que très peu d’information. Elle devrait
intégrer en plus un capteur cardiaque ainsi que d’autres fonctionnalités classiques
qui peuvent être trouvée chez ses concurrents. Actuellement, elle subit des tests par
la FDA afin d’approuver sa mesure de la pression sanguine. [32] [33]

Figure 2.13 – Omron HeartGuide [34]

2.8.2 Limitations

Avec l’étude de ces quelques montres, il est dès lors possible de se rendre compte
des limitations qu’elles pourraient imposer de manière générale suivant les caracté-
ristiques qu’elles possèdent.

Une des plus grandes limitations que possède ces montres est la durée de vie de leur
batterie. La plupart peuvent tenir de deux à trois jours mais tout dépend de l’utilisa-
tion qui en est faite. Cela implique que le porteur devra souvent enlever sa montre
afin de la mettre à charger et que pendant ces périodes aucune mesure ne pourra être
faite. De plus, en l’enlevant souvent, cela augmente le risque que l’utilisateur oublie
de la remettre, en particulier les personnes âgées.

L’écran de ces montres est très petit et il devient vite compliqué de réaliser des ac-
tions. Il est nécessaire alors de limiter le nombre d’actions possibles afin de ne pas
rendre l’application pénible à utiliser. Du fait aussi de ces petits écran tactiles, le
doigt à tendance à gêner l’utilisateur. Certains constructeurs résolvent ce problème

Rapport de projet 28 SRMA


Zurbuchen Nicolas 2.9. OS POUR MONTRES INTELLIGENTES

avec des boutons matériels rotatifs ce qui est d’ailleurs plus instinctif pour des per-
sonnes âgées non-habituées à ce type d’écran.

Une autre limitation datant surtout des premières générations de montres intelli-
gentes est la possiblité de leur utilisation sans smartphone associé. Cela forçait les
utilisateurs à avoir deux appareils sur eux. Cette problématique a tendance à être
résolue avec les montres sorties depuis 2017. Dans des bâtiments où une connexion
Wi-Fi est disponible, il est tout-à-fait possible d’avoir des applications fonctionnant
de manière autonome et accédant à internet. Typiquement l’application RMMA pour-
rait être développée dans ce sens. Cela impliquerait qu’il ne sera plus nécessaire au
résident d’avoir un smartphone. Cependant, dès que l’utilisateur va à l’extérieur, il
faut que la montre possède la technologie LTE et cela requiert alors un abonnement
spécifique engendrant des frais supplémentaires. Cela sans compter le fait que cette
technologie consomme énormément de batterie.

Cependant, un grand avantage des ces montres est qu’elles sont en tout temps (sauf
lors des chargements) en contact direct avec son porteur. Cela implique qu’elles
peuvent facilement prendre des mesures physiologiques. Bien qu’actuellement, elles
mesurent uniquement la fréquence cardiaque, cela va évoluer au fil des années. La
Omron HeartGuide va justement dans ce sens. Beaucoup de recherches sont faites
dans ce sens afin de développer des « wearables » pouvant mesurer d’autres signaux
physiologiques dans la finalité de tout pouvoir intégrer dans un seul appareil. [35] [36]

2.9 OS pour montres intelligentes

Il a été vu lors de l’étude des montres intelligentes qu’elles utilisent des différents sys-
tèmes d’exploitation suivant le constructeur. Bien qu’une contrainte du projet soit de
développer l’application Waer OS (Android), il est tout de même intéressant d’étudier
les autres existants afin de relever leurs différences.

2.9.1 FitbitOS

Le premier est le système d’exploitation développé par la compagnie Fitbit et il est


probablement le moins connu. Il est pour l’instant uniquement disponible sur la Fit-
bit Ionic. Il propose des fonctionnalités classiques à ce type de montre telles que le
support de notifications, l’acceptation ou le rejet d’appels, la lecture de musique ou
encore le paiement sans fil. Une plateforme de développement en ligne du nom de
« Fitbit Studio » permet de coder des applications. Il est nécessaire d’avoir un compte
afin de pouvoir développer soit des applications soit des designs de montre. Le lan-
gage utilisé est le JavaScript et tout un SDK est mis à disposition afin d’accéder aux

Rapport de projet 29 SRMA


Zurbuchen Nicolas 2.9. OS POUR MONTRES INTELLIGENTES

différents capteurs, au système de fichiers ou à la localisation. Le site web officiel


propose des guides de développement, des tutoriels ainsi qu’une référence.

Fitbit a décidé de ne pas utiliser Wear OS pour sa montre intelligente car elle veut
un système d’exploitation consommant peu de batterie et supportant des applications
sportives. Ils ont bien réussit avec la Fitbit Ionic qui tient quatre jours d’utilisation. De
plus, le fait d’utiliser Wear OS les limite en termes d’interface et de personnalisation.

De manière générale, le fonctionnement de FitbitOS est similaire aux autres systèmes


d’exploitation. Les notifications s’affichent avec un geste allant vers le haut depuis le
bas de l’écran et les applications sont présentées sous formes de pages défilables.
[37] [38]

Figure 2.14 – Logo du système d’exploitation de l’entreprise Fitbit [39]

2.9.2 Tizen

Ce système d’exploitation sorti en 2012 est développé par Samsung et il est déjà
présent sur plusieurs gammes de leurs produits (montres, télévisions, caméras in-
telligentes). Il fait partie de la famille Linux. Les parts de marchés de Tizen sont
pratiquement identiques à Wear OS et tournent aux alentours des 20%. Pour le dé-
veloppement, il existe un logiciel du nom de « Tizen Studio » et il permet de créer
des applications web avec de l’HTML5 ou des applications natives avec du C/C++.
Tout comme Fitbit, il propose un SDK et des APIs afin de pouvoir utiliser différentes
caractérisques matérielles des produits telles que le cardiofréquencemètre. Il existe
aussi une extension pour Visual Studio permettant le développement avec ce logiciel.

Tizen peut gérer toutes les fonctionnalités classiques retrouvées dans une montre
intelligente. Que ce soit l’affichage de notifications, l’utilisation de gestes ou d’une
lunette rotative pour naviguer ou encore la connexion au réseau LTE. Il n’y pas réel-
lement de différences ave les autres systèmes d’exploitation. En comparaison à Wear
OS, il intègre un assistant beaucoup moins performant (S Voice contre Google Assis-
tant) mais est légèrement plus fluide d’utilisation car il est mieux intégré au maté-
riel. [40] [41]

Rapport de projet 30 SRMA


Zurbuchen Nicolas 2.9. OS POUR MONTRES INTELLIGENTES

Figure 2.15 – Logo du système d’exploitation de Samsung. [42]

2.9.3 WatchOS

WatchOS est le système d’exploitation présent sur les montres de la firme Apple, c’est-
à-dire les Apples Watch Series 1, 2 et 3. Il possède la plus grande part de marché avec
un peu plus de 50% et en est actuellement à la quatrième version (watchOS 4.0). Il est
nécessaire de posséder un ordinateur Apple (MacBook, iMac) avec le logiciel Xcode
installé afin de pouvoir développer des applications natives pour montres connectées.
Le langage utilisé est le Swift et c’est un langage maison à la marque. Il est aussi pos-
sible d’utiliser Xamarin afin de développer des applications et le langage utilisé danc
ce cas est le C#. Cependant, il sera tout de même nécessaire d’avoir un ordinateur
Mac afin de compiler le code. Ce système d’exploitation est uniquement compatible
avec les iPhones.

Il n’y a pas de fonctionnalités spécifiques par rapport aux autres systèmes d’exploi-
tation. Le support est le même et la navigation peut se faire de deux manières soit
avec l’écran tactile soit avec la couronne rotative. Le menu d’application est la seule
grande différence car il peut être affichée sous une forme de grille en nid d’abeille ce
qui n’est possible chez les autres. Le design de l’interface est globalement similaire à
celle présente dans les iPhones.

Le choix d’utiliser WatchOS se fera uniquement en fonction du smartphone que l’utili-


sateur possède. S’il veut une Apple Watch, il doit obligatoirement avoir un iPhone. [43]

Figure 2.16 – Logo du système d’exploitation d’Apple. [44]

Rapport de projet 31 SRMA


Zurbuchen Nicolas 2.10. ETUDE DES BIOSIGNAUX

2.9.4 Wear OS

Enfin Wear OS dont la deuxième version est sortie en début d’années 2017 est le
système d’exploitation développé par Google. Anciennement appelé Android Wear, son
nom a changé pendant la durée de ce projet dans le but d’avoir un nom similaire aux
autres systèmes d’exploitation. Une des raisons est le fait que beaucoup d’utilisateurs
ont une montre intelligente Android couplée à un iPhone.

Le développement d’applications pour Wear OS se fait avec le logiciel Android Studio


utilisant le langage de programmation Java ou Kotlin. Il est aussi possible d’utiliser le
programme Xamarin qui permet de faire de cross-plateforme mais celui-ci utilise le
langage C#. Il a un support complet de touts les capteurs qu’il est possible de retrou-
ver dans une montre intelligente (cardiofréquencemètre, accéléromètre, boussole et
d’autres) et il supporte aussi différents format d’écran (rond et carré). Son développe-
ment d’applications est identique que pour les smartphones car tous les concepts et
toutes les librairies sont les mêmes. Google a aussi défini des lignes directrices pour
l’interface graphique qui porte le nom de Material Design. Les applications peuvent
être autonomes (« standalone »), semi-autonome ou dépendante d’un smartphone.

Wear OS propose globalement les mêmes fonctionnalités que les autres systèmes
d’exploitation. Il permet d’afficher des notifications, de contrôler la musique et de
se connecter au réseau cellulaire ou WiFi (pour autant que la montre le supporte). Sa
différence et qu’il peut être utilisé avec tout smartphones qu’ils tournent sous Android
ou iOS bien que sur ces derniers certaines fonctionnalités soient limitées.

Figure 2.17 – Logo du système d’exploitation d’Android. [45]

2.10 Etude des biosignaux

Cette section a pour but de présenter les signaux physiologiques les plus communs
que mesurent les médecins lors d’un contrôle médical et d’étudier des « wearables »
pouvant réaliser ces mesures. Pour ce faire, un ami en étude de médecine a été in-
terviewé. Chaque sous-section suivante correspond à une mesure physiologique diffé-
rente.

Rapport de projet 32 SRMA


Zurbuchen Nicolas 2.10. ETUDE DES BIOSIGNAUX

2.10.1 Fréquence cardiaque

Une des mesures les plus communes est celle de la fréquence cardiaque. C’est d’ailleurs
celle qui est le plus retrouvée dans les montres connectées grâce à leur cardiofréquen-
cemètre. Il existe beaucoup d’appareils différents permettant cette mesure. Le projet
RMMA utilise par exemple une ceinture qui se porte au niveau de la poitrine.

Deux technologies existent pour réaliser cette mesure. La première est l’utilisation
d’une sangle mesurant les pulsations électriques et la deuxième est l’utilisation d’une
technologie optique. Cette dernière se retrouve dans les montres connectées. De ma-
nière générale, la première technique tend à être plus précise mais une sangle au
niveau du bras peut ajouter du bruit pour la mesure finale à cause des mouvements
du corps. [46] [47]

En termes d’appareils pouvant mesurer la fréquence cardiaque, il y a tout d’abord


les ceintures et les brassards utilisant la première technologie. La ceinture fait le
tour du torse et se place au niveau du coeur alors que le brassard se place au ni-
veau du haut du bras. Ceux-ci sont représentés à la Figure 2.18. Quant aux capteurs
optiques, il y a tout d’abord les montres connectées comme présentées à la section
section 2.8. Il existe aussi des bracelets ayant la même technologie et ils sont très
similaires aux montres. Depuis peu, cette technologie se trouve aussi dans des écou-
teurs intra-auriculaires. Cet endroit est propice à cette mesure car le sang dans les
vaisseaux sanguins est stable et ne bouge pas lorsque la personne réalise des mouve-
ments. Un tel écouteur est présenté à la Figure 2.19.

Figure 2.18 – Ceinture Zephyr utilisée


pendant le projet RMMA. [48] Figure 2.19 – Cardiofréquencemètre
optique dans les écouteurs. [49]

2.10.2 Tension artérielle

La tension artérielle est plus compliquée à mesurer mais est aussi une des mesures
les plus basiques que fait régulièrement le médecin. Celui-ci utilise en général une

Rapport de projet 33 SRMA


Zurbuchen Nicolas 2.10. ETUDE DES BIOSIGNAUX

machine avec un brassard qui se place autour du haut du bras et de l’air est insuflé
dans ce brassard afin de pouvoir mesurer la pression. Ce genre d’appareil n’est pas
fait pour être transporté. Il n’existe actuellement pas de « wearables » permettant de
réaliser cette mesure. Il y a bien la montre connectée Omron HeartGuide présentée
à la sous-section Figure 2.8.1 qui est en cours de développement mais sa fiabilité de
mesure doit encore être prouvée. [50]

Figure 2.20 – Tensiomètre portable et sans fil Qardioarm. [51] [52]

L’appareil qui est actuellement le plus portable est le tensiomètre Qardioarm (Fi-
gure 2.20). Il est compacte, léger et discret et se connecte de manière sans fil à un
smartphone qui est par ailleurs requis pour son utilisation. Il est compatible avec
HealthKit développé par Apple. Une application mobile recense toutes les mesures
que ce soit pour la pression sanguine ou pour la fréquence cardiaque.

2.10.3 Saturation en oxygène

Un oxymètre permet de mesurer la saturation en oxgène du sang (SpO2), cela si-


gnifie qu’il mesure le pourcentage d’hémoglobine oxygénér par rapport au nombre
total d’hémoglobine dans le sang. Son fonctionnement est le suivant : une source de
lumière émet une onde lumineuse qui traverse des vaisseaux sanguins et qui est en-
suite absorbée par un récepteur. La variation de la lumière reçue permet alors de
déterminer la saturation.

Certains smartphones tels que le Samsung Galaxy S7 intègre un tel capteur à l’arrière
de son boîtier. Il existe encore peu de « wearables » pouvant effectuer cette mesure
mais la montre connectée Fitbit Ionic est une des premières montres connectées à
le faire (voir la section Figure 2.8.1). La plupart des oxymètres ressemblent à une
pincette qu’il faut mettre un moment au bout du doigt et ils sont reliés à un écran
affichant les valeurs qu’ils mesurent. Cependant, il existe dorénavant des pincettes

Rapport de projet 34 SRMA


Zurbuchen Nicolas 2.10. ETUDE DES BIOSIGNAUX

intégrant directement un écran pouvant se connecter de manière sans fil à un smart-


phone comme montré à la Figure 2.21. [53] [54] [55]

Réaliser cette mesure requiert finalement que l’appareil puisse émettre et absorber
un flux lumineux. C’est pourquoi de plus en plus de « wearables » comme des écou-
teurs (Figure 2.22), des bracelets ou encore des brassards peuvent dorénavant effec-
tuer cette mesure.

Figure 2.21 – Oxymètre pincette se


connectant à un smartphone. [56] Figure 2.22 – Oxymètre intégré à des
écouteurs intra-auriculaires. [57]

2.10.4 Glycémie

Le diabète est une maladie qui touche beaucoup de monde et qui nécessite pour
les personnes atteintes de continuellement mesurer leur taux de glycémie dans le
sang. Suivant ce taux, la personne doit prendre un produit en fonction de son type de
diabète. Jusqu’à récemment et cela continue, la mesure de ce taux se fait en se piquant
le doigt avec une aiguille afin de pouvoir récupérer une goutte de sang. Cette action
doit se faire plusieurs fois par jour. Cela est très contraignant pour les personnes
atteintes.

Beaucoup de recherches sont effectuées par rapport à cette pathologie afin de déve-
lopper des nouveaux moyens de mesure. Cela représente un grand challenge car l’ob-
jectif est que la mesure puisse se faire de manière non-intrusive, c’est-à-dire qu’elle
soit réalisée sans percer la peau. La liste suivante présente les différentes technolo-
gies qui existent ou qui sont en cours de développement :
— Une montre connectée du nom de K’Watch Glucose est en cours de développe-
ment et comme son nom l’indique, elle permet de mesurer le taux de glycémie.
Elle le fait grâce à un capteur contenant des micro-aiguilles qui, au contact de
la peau, peut prendre la mesure de la glycémie de façon indolore. [58]
— Un tatouage avec une encre spéciale a été mis au point par l’université de Har-
vard. Il permet d’indiquer le taux de glycémie en changeant de couleur. Son bon

Rapport de projet 35 SRMA


Zurbuchen Nicolas 2.10. ETUDE DES BIOSIGNAUX

fonctionnement a été prouvé mais il est pour l’instant encore en développement


afin d’améliorer certains aspects. [59]
— Un projet de recherche a été mené par Novartis et Google afin de développer
des lentilles de contact intelligentes permettant la mesure du taux de glycémie
grâce aux larmes. Cependant, il semblerait que les larmes ne soit pas assez
fiables et le projet est en baisse d’avancée. [60]

Figure 2.23 – Tatouage indiquant avec des couleurs le taux de glycémie. [61]

2.10.5 Température

Une dernière mesure qui est régulièrement effectuée est la prise de la température
corporelle. Celle-ci peut s’avérer utile dans certains cas mais n’est pas toujours fiable
en particulier chez les personnes âgées. Cette mesure se fait en règle générale avec
un thermomètre qui se place sous le bras au niveau de l’aisselle. D’autres réalisent
cette mesure en les plaçant proche de l’oreille.

Figure 2.24 – T-shirt Zephyr compor-


tant un module de mesure. [63]
Figure 2.25 – Bracelet Helo LX. [64]

Rapport de projet 36 SRMA


Zurbuchen Nicolas 2.11. SYNTHÈSE

Au niveau des « wearables », il en existent différents permettant de réaliser cette


mesure. Un premier sous forme de T-shirt et développé par la marque Zephyr, a la
capacité de prendre la température mais aussi d’autres signaux physiologiques tels
que la pression sanguine et la fréquence cardiaque. Un deuxième du nom de Helo LX
se présente sous une forme de bracelet comportant les mêmes capteurs que le T-shirt.
Il est développé par l’entreprise « World International ». [62]

2.10.6 Chutes

Concernant la détection de chutes, il a été demandé, toujours à ce même ami en


étude de médecine, s’il existe une corrélation entre ces données physiologiques et un
mouvement brusque comme par exemple lorsqu’une personne tombe. Cette question
était un peu trop précise et technique et il n’as pas su répondre excepté que lors d’une
chute la tension et la fréquence cardiaque ont tendance à augmenter dû au fait de la
montée d’adrénaline.

En effectuant quelques recherches, il a été remarqué qu’extrêmement peu de produits


commercialisés permettent une détection de chutes de manière autonome. La plupart
intègre un gros bouton que le porteur peut presser pour lancer une alerte. Beaucoup
de recherches sont effectuées sur ce sujet car c’est une des causes de décès les plus
grandes parmi les personnes âgées.

Le Travail de Master qui découlera de ce projet a justement comme un de ces objectifs


de réaliser un travail de recherche à ce sujet. C’est pourquoi l’étude de ce sujet dans
ce rapport n’est pas plus approfondie.

2.11 Synthèse

Ce chapitre a permis d’étudier différents aspects concernant le monde des montres


intelligentes que ce soit au niveau des systèmes d’exploitation ou des montes connec-
tées. Leurs différences a pu être mis en avant. De plus, l’étude des biosignaux a per-
mis de se rendre compte des différents appareils existant à ce jour pour effecuter des
mesures physiologiques. Aussi l’analyse du système existant (SEMA-HMMA-RMMA)
a permis de définir les fonctionnalités à concevoir pour l’application SRMA.

Rapport de projet 37 SRMA


3. Conception

Ce chapitre explique de manière concrète comment concevoir l’application. Il débute


par les aspects graphiques de l’application puis enchaîne sur la gestion des préfé-
rences avant de terminer par les capteurs de la montre.

3.1 Interface graphique

L’interface graphique est la première partie de l’application à concevoir. Cette section


a justement pour but d’expliquer comment celle-ci va être réalisée.

3.1.1 Maquette

Des maquettes ont été réalisées afin d’avoir une idée de ce que l’application finale
aura comme visuel. Comme elle a le même objectif que le projet RMMA, celle-ci aura
une interface similaire mais adaptée pour les montres intelligentes et respectant les
exigences de Material Design. Les maquettes ont été réalisées directement dans An-
droid Studio. Cela permet d’avoir un très bon aperçu du rendu de la maquette même
s’il est parfois nécessaire d’ajouter quelques lignes de code.

Le premier écran qui va s’afficher à l’ouverture de l’application est un écran de dé-


marrage qui est composé du logo et du nom de l’application (Figure 3.1). Il permettra
de vérifier si les identifiants d’un utilisateur sont sauvegardés ou non et de ce fait,
automatiquement le connecter. Dans le cas contraire, c’est l’écran de connexion qui
sera affiché (Figure 3.2) qui lui est composé des classiques champs textes permettant
d’entrer son nom d’utilisateur et son mot de passe. Le bouton de connexion placé en
dessous va démarrer l’authentification avec le serveur du projet SEMS.

La Figure 3.3 présente l’interface permettant d’insérer le mot de passe lors de la


connexion de l’utilisateur. C’est l’interface par défaut et les caractères du mot de

39
Zurbuchen Nicolas 3.1. INTERFACE GRAPHIQUE

Figure 3.1 – Ecran de démarrage. Figure 3.2 – Ecran de connexion.

passe sont cachés. Après que l’utilisateur a cliqué sur le bouton de login, un écran de
chargement s’affiche afin d’informer que quelque chose se passe (Figure 3.4).

Figure 3.3 – Entrée du mot de passe. Figure 3.4 – Chargement après login.

Après s’être connecté, le menu principal s’affiche (Figure 3.5). Ce dernier est com-
posé d’une liste qui permet à l’utilisateur de naviguer au travers de l’application. Un
drawer n’a pas été utilisé car cela nécessite d’effectuer des gestes, ce qui posent des
difficultés aux personnes peu habituées à ce genre de technologie. C’est d’ailleurs
pour cette raison qu’un bouton de retour est à chaque fois présent en bas de liste.
Il permettra de revenir d’un écran mais ce comportement est aussi possible avec un
swipe de gauche à droite. La Figure 3.6 présente aussi sous forme de liste les infor-
mations relatives à l’utilisateur. Sa fonctionnalité est similaire à l’écran d’accueil de
l’application RMMA. Il affiche l’état des capteurs et donc l’état du résident.

La Figure 3.7 présente l’écran de la messagerie. Il affiche une liste de messages pré-
définis qui peuvent être envoyés avec une simple pression sur une des lignes. Cela
fonctionne de la même manière que dans le projet RMMA. Cependant, à la place d’uti-
liser un « toast » comme il serait possible de le faire dans une application pour télé-
phone, un écran de confirmation momentané est disponible pour les montres connec-
tées (Figure 3.8). Il s’affiche en plein écran et permet de donner un retour à l’utilisa-
teur que le message a été envoyé.

Rapport de projet 40 SRMA


Zurbuchen Nicolas 3.1. INTERFACE GRAPHIQUE

Figure 3.5 – Ecran d’accueil. Figure 3.6 – Informations du résident

Figure 3.7 – Ecran de la messagerie Figure 3.8 – Confirmation d’envoi

Les deux dernières maquettes (Figure 3.9 et Figure 3.10) présentent l’écran de ré-
glages qui permet d’activer ou de désactiver des fonctionnalités de l’application. Cela
permet d’économiser la batterie pour des personnes ayant des pathologies moins
graves que d’autres. Cet écran se compose d’une liste contenant des interrupteurs
ainsi qu’un bouton de déconnexion permettant de changer l’utilisateur de la montre.

3.1.2 Thème

Comme l’application a le même objectif que celle du projet RMMA, le but est d’utiliser
le même thème afin que les utilisateurs ne soient pas perdus lorsqu’ils utilisent l’une
ou l’autre. Mais l’objectif est aussi de respecter les contraintes de Material Design
pour Wear OS.

L’application RMMA se compose de 3 couleurs qui sont le blanc pour le fond d’écran,
le bleu comme couleur primaire et du noir/gris pour tout ce qui est du texte. Material
Design pour Wear OS utilise une palette de couleur plus sombre que pour les télé-
phones. Cela permet d’économiser la batterie et est moins intrusif pour l’oeil humain.

Les couleurs de l’application SRMA seront alors les suivantes :

Rapport de projet 41 SRMA


Zurbuchen Nicolas 3.2. ECRAN DE PRÉFÉRENCES

Figure 3.9 – Paramètres (début) Figure 3.10 – Paramètres (fin)

— Du blanc pour tous les textes présents dans l’application.


— Des nuances de bleu pour le fond d’écran et les différents composants de l’in-
terface graphique que ce soit le composant actif ou les autres. La Figure 3.11
présente ces couleurs et provient directement des lignes directrices de Material
Design.

Figure 3.11 – Palette de couleur bleue de Material Design. [65]

3.2 Ecran de préférences

La Figure 3.9 et la Figure 3.10 représentent un écran de paramètres servant à modi-


fier le comportement de l’application. Un tel écran peut s’implémenter de manière ma-
nuelle en utilisant une liste avec plusieurs vues pour les différents réglages. Il existe

Rapport de projet 42 SRMA


Zurbuchen Nicolas 3.2. ECRAN DE PRÉFÉRENCES

cependant une API faisant partie intégrante d’Android et qui permet de réaliser un tel
écran qui va respecter le design utilisé dans d’autres applications (Figure 3.12). Cette
uniformisation fait que l’utilisateur n’est pas perdu entre les différentes applications.
De plus, l’utilisation de cette API automatise la sauvegarde des réglages dans les pré-
férences de l’application. Cette section a pour but de présenter comment fonctionne
cette API.

Figure 3.12 – Exemple d’écran de paramètres normalisé. [66]

Cette API se repose sur l’utilisation de la classe mère « Preference » qui est le com-
posant de base permettant de créer les autres réglages tels que des checkbox ou
des interrupteurs. L’utilisation de cette classe impose l’usage d’activités et de frag-
ments spécifiques car les composants de l’interface graphique ne sont pas dérivés
de la classe mère « View ». Il y a aura pourtant moins de code Java à écrire car les
préférences se définissent en XML.

Chaque préférence de l’écran possède une paire clé-valeur qui est utilisée pour sau-
vegarder son état dans les « SharedPreferences ». Cette valeur est ensuite accessible
dans toute l’application. Cela va permettre de vérifier si certaines fonctionnalités
doivent être activées ou non au moment voulu. Les valeurs sauvegardées peuvent
être des types suivants :
— Boolean (notamment avec des interrupteurs)
— Float
— Int et Long (entiers)

Rapport de projet 43 SRMA


Zurbuchen Nicolas 3.2. ECRAN DE PRÉFÉRENCES

— String et set de String


Cette application va principalement utiliser des interrupteurs dans son écran de ré-
glages dans le but d’activer/désactiver certaines fonctionnalités afin d’économiser la
batterie de l’appareil.

Comme mentionné ci-dessus, les préférences se définissent en utilisant le langage


XML. A la racine doit se trouver un composant du nom de « PreferenceScreen » qui
contiendra tous les réglages. Ces derniers peuvent être des « CheckBoxPreference »,
« SwitchPreference », « EditTtextPreference » et bien d’autres. Un exemple est pré-
senté au Code 3.1. De cette manière il est très facile de définir le type, le nom, la
valeur par défaut, la clé et encore d’autres options de chaque préférence.

<?xml version="1.0" encoding="utf-8"?>


<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:key="pref_sync"
android:title="@string/pref_sync"
android:summary="@string/pref_sync_summ"
android:defaultValue="true" />
<ListPreference
android:dependency="pref_sync"
android:key="pref_syncConnectionType"
android:title="@string/pref_syncConnectionType"
android:dialogTitle="@string/pref_syncConnectionType"
android:entries="@array/pref_syncConnectionTypes_entries"

android:entryValues="@array/pref_syncConnectionTypes_values"

android:defaultValue="@string/pref_syncConnectionTypes_default"
/>
</PreferenceScreen>
Code 3.1 – Exemple de définition d’un écran de préférences.

Cette API peut réaliser des écrans de paramètres très complexes. Il est notamment
possible de créer des intent avec l’activation d’une préférence où il peut exister plu-
sieurs niveaux de réglages (sous-menus). Un guide complet sur le site web de la do-
cumentation d’Android explique toutes les possiblités qu’offre cette API [67]. Dans le
cadre de ce projet, l’exemple ci-dessus présentant les interrupteurs suffira.

Rapport de projet 44 SRMA


Zurbuchen Nicolas 3.3. CAPTEURS DE LA MONTRE

3.3 Capteurs de la montre

Afin de détecter la chute ou de mesurer la fréquence cardiaque de l’utilisateur, il


est nécessaire d’accéder aux capteurs que possède la montre intelligente. Android
intègre un framework facilitant leur accès et la récupération des valeurs qu’ils me-
surent. Il possède les classes principales suivantes :
SensorManager est la plus importante car elle permet de gérer chaque capteur.
Elle est notamment utilisée pour récupérer une instance d’un de ces capteurs et
elle permet d’enregistrer des listeners sur ceux-ci afin d’être notifié lorsqu’une
nouvelle valeur est disponible. Un instance de cette classe est automatiquement
créée et peut être récupérée dans toute l’application grâce au contexte.
Sensor est la représentation d’un capteur de l’appareil. Elle va être instanciée
en utilisant le manager et il sera possible d’accéder à différentes informations
relatives au capteur. L’instance est surtout utilisée pour enregistrer un listener
sur ce capteur.
SensorEvent contient les données lorsqu’une nouvelle valeur est disponible pour
un des capteurs. C’est pourquoi son nom contient le terme « event », chaque
nouvelle valeur est un évènement. Il contient aussi l’information sur l’origine
des valeurs ainsi que leur précision.
SensorEventListener n’est pas une classe mais une interface qui permet à une
classe qui l’implémente de réagir lorsque des nouvelles valeurs sont disponibles
sur un capteur. Elle possède deux méthodes : la première est appelée lorsque
des nouvelles valeurs sont prêtes et la deuxième est appelée lorsque la précision
du capteur change.
Toutes ces classes seront utilisées comme expliqué dans le cadre de ce projet. La
classe « Sensor » permettra de représenter le cardiofréquencemètre, l’accéléromètre
et le gyroscope. Les deux derniers serviront pour la détection de chute. [68]

Tous les appareils ne possèdent pas l’ensemble des capteurs supportés par Android.
C’est pourquoi, afin d’avoir une application robuste, il est nécessaire de vérifier lors
de la récupération de l’instance du capteur que ce dernier ne soit pas vide. Dans ce
cas, il faut désactiver la fonctionnalité utilisant ce capteur. Il est aussi possible au
niveau du manifest d’indiquer quels sont les capteurs utilisés et s’ils sont requis ou
non. De cette manière lors du téléchargement de l’application depuis le Play Store,
un message informera l’utilisateur de ce que l’application utilise. Et en cas de cap-
teur requis manquant, l’application ne pourra pas être téléchargée. Cela ajoute une
sécurité.

De plus, l’accès à certains capteurs nécessite l’accord explicite de l’utilisateur. Cela


est le cas pour accéder au cardiofréquencemètre. Il faut donc prévoir dans l’applica-
tion qu’il faut à un moment ou à un autre afficher une boîte de dialogue demandant à

Rapport de projet 45 SRMA


Zurbuchen Nicolas 3.4. DIAGRAMME DE CLASSE

l’utilisateur l’accès à ce capteur. Cela est le cas lorsque l’application veut accéder à
des données qui font partie de l’intimité de l’utilisateur (par exemple les contacts).

3.4 Diagramme de classe

Le diagramme de classe se trouve en annexe à la fin du rapport en raison de sa


grande taille. Les classes présentes sont uniquement celles qui ont été ajoutées pour
ce projet, c’est-à-dire que le diagramme de classe réalisé dans le cadre du projet
RMMA n’a pas été intégré. Seules les classes du projet RMMA utilisées par des classes
de ce projet y ont été intégrées.

3.5 Synthèse

Ce chapitre a permis de préciser le fonctionnement de l’application ainsi que son


interface. De plus, avec les quelques recherches effectuées, il sera possible d’implé-
menter les fonctionnalités en utilisant des API et frameworks adaptés.

Rapport de projet 46 SRMA


4. Implémentation

Avec le travail effectué lors de la conception, les maquettes et la façon de réaliser la


logique ont été pensées. Il est dès lors possible de coder le système. Ce chapitre a
justement pour but de présenter les parties de code intéressantes et ses subtilités.

4.1 Notifications

Depuis l’API 26 d’Android (Android Oreo), l’implémentation des notifications a été mo-
difiée et il est desormais nécessaire d’utiliser des canaux. Les comportements visuels
et audios des notifications ne sont plus assignés à chacune d’elle mais à un canal au-
quel chaque notification doit être assigné. Cela permet à l’utilisateur de choisir quel
canal de notification peut être intrusif ou non. [69]

Le but de cette section est de présenter le code nécessaire à la création d’une notifi-
cation dès l’API 26. Le code qui a été réalisé a été en très grande partie inspirée d’un
exemple de code réalisé par Google pour afficher des notifications sur Wear OS. Le
lien du projet exemple sur GitHub se trouve à la référence [70].

4.1.1 Canal de notification

Le Code 4.1 présente avec une méthode dédiée, comment il faut faire pour créer un
canal de notification. Cela se fait avec un objet de la classe « NotificationChannel »
auquel il faut donner un nom, un identifiant et un niveau de priorité. Il est ensuite pos-
sible de lui attribuer d’autres paramètres comme une description, s’il doit faire vibrer
l’appareil ou encore le contenu qu’il affiche lorsque l’appareil est vérouillé. Une fois
configuré, il est nécessaire de créer le canal grâce à l’objet « NotificationManager ».
La méthode retourne l’identifiant du canal qu’il sera obligatoire d’utiliser lors de la
création d’une notification.

47
Zurbuchen Nicolas 4.1. NOTIFICATIONS

// Create the channel for the notification, only required for


Android O or above
private static String createNotificationChannel(Context context,
NotificationData nData) {
// NotificationChannels are required for Notifications on O
(API 26) and above.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

// The id of the channel.


String channelId = nData.getChannel().getId();

// The user-visible name of the channel.


CharSequence channelName = nData.getChannel().getName();
// The user-visible description of the channel.
String channelDescription =
nData.getChannel().getDescription();
int channelImportance =
nData.getChannel().getImportance();
boolean channelEnableVibrate =
nData.getChannel().isEnableVibrate();
int channelLockscreenVisibility =
nData.getChannel().getLockscreenVisibility();

// Initializes NotificationChannel.
@SuppressLint("WrongConstant") NotificationChannel
notificationChannel =
new NotificationChannel(channelId, channelName,
channelImportance);
notificationChannel.setDescription(channelDescription);

notificationChannel.enableVibration(channelEnableVibrate);

notificationChannel.setLockscreenVisibility(channelLockscreenVisibility);

// Adds NotificationChannel to system. Attempting to


create an existing notification channel with its original
values performs no operation, so it’s safe to perform the
below sequence.
NotificationManager notificationManager =
(NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);

Rapport de projet 48 SRMA


Zurbuchen Nicolas 4.1. NOTIFICATIONS

notificationManager.createNotificationChannel(notificationChannel);

return channelId;
} else {
// Returns null for pre-O (26) devices.
return null;
}
}
Code 4.1 – Méthode permettant de créer un canal de notification

4.1.2 Création de notifications

Dès que le canal est créé, il est possible de créer les notifications avec l’aide de l’objet
« NotificationCompat.Builder ». Il est par exemple possible de lui attribuer un titre, un
contenu, une icône ou encore une couleur (très important dans Wear OS 2.0). Il peut
aussi prendre en paramètre un style de notification suivant le contenu que l’applica-
tion veut afficher (style message, beaucoup de texte). Une notification peut avoir des
actions intégrées et cela se fait avec l’objet « NotificationCompat.Action »qui dans ce
cas est créé au préalable. Celui-ci contient une icône, un titre et un Intent permettant
de lancer une quelconque action dans l’application. Pour terminer, la notification est
envoyée en utilisant la méthode « notifiy() ». Cela n’a pas changé depuis les anciennes
versions. Le Code 4.2 est l’implémentation concrète de l’explication de ce même pa-
ragraphe.

// Build the notification with all the necessary data dans the
action then send it for display
public static void createWearNotifications(Context context,
NotificationData nData, List<NotificationCompat.Action>
actions) {

// Create/Retrieve Notification Channel for O and beyond


devices (26+).
String notificationChannelId =
createNotificationChannel(context, nData);

// Notification Channel Id is ignored for Android pre O (26).


NotificationCompat.Builder notificationCompatBuilder =
new NotificationCompat.Builder(context,
notificationChannelId);

Rapport de projet 49 SRMA


Zurbuchen Nicolas 4.2. LISTE AVEC DIFFÉRENTES VUES

notificationCompatBuilder
.setContentTitle(nData.getTitle())
.setContentText(nData.getContent())
.setSmallIcon(nData.getIcon())
.setDefaults(NotificationCompat.DEFAULT_ALL)
.setColor(ContextCompat.getColor(context, R.color.accent))
.setCategory(Notification.CATEGORY_REMINDER)
.setPriority(nData.getChannel().getImportance())
.setVisibility(nData.getChannel().getLockscreenVisibility());

// Add actions to the notification


for (NotificationCompat.Action action : actions) {
notificationCompatBuilder.addAction(action);
}

// Build the notification and send it


Notification notification =
notificationCompatBuilder.build();

NotificationManagerCompat.from(context).notify(nData.getNotificationID(),
notification);
}
Code 4.2 – Méthode permettant de créer et d’envoyer la notification

4.2 Liste avec différentes vues

Il est devenu très commun que les applications affichent des listes avec des cellules
différentes et il en est de même dans le cadre de ce projet. Cependant, cela peut être
compliqué de gérer proprement ce genre de cas. C’est pourquoi, il est intéressant
de mettre en avant une bonne façon de procéder. Cette partie de code a aussi été
inspirée par un projet exemple de Google sur leur GitHub [71].

L’idée est comme toujours de créer une classe qui étend « RecyclerView.Adapter » et
d’y implémenter les méthodes requises (« onCreateViewHolder() », « onBindViewHol-
der() » et « getItemCount() »). Il est dès lors nécessaire d’avoir un moyen pour associer
le type de vue de la cellule aux données. Cela se fait grâce à la méthode « getItem-
ViewType() » qui retourne une nombre entier correspondant à une vue. Cette valeur
est d’ailleurs transmise dans la méthode « onCreateViewHolder » justement dans le

Rapport de projet 50 SRMA


Zurbuchen Nicolas 4.2. LISTE AVEC DIFFÉRENTES VUES

but de créer le bon ViewHolder. Il est nécessair d’implémenter une sous classe de
ViewHolder par vue différente de celulle.

Pour que ce soit simple à réaliser, il est alors intéressant que le modèle contenant les
données soit bien organisé. C’est pourquoi une classe spécifique à été implémentée
et elle contient les données à afficher ainsi qu’un numéro correspondant au type de
vue à créer. De cette façon, il suffit d’avoir une unique liste contenant des objets de
cette classe afin de réunir toutes les informations nécessaires (longueur, type de vue,
données).

Le Code 4.3 présente l’implémentation de l’adaptateur personnalisé pour les listes


qui a pu être généralisé pour être utilisé par tous les écrans de l’application.

//
public class MainRecyclerViewAdapter extends
RecyclerView.Adapter<RecyclerView.ViewHolder> {

// Used to inflate the layout for each item


private final LayoutInflater mInflater;
// Used to access the application resources
private Context mContext;
//Contains the data to display and the layout information
private List<ListItem> mItems;
// Used to call the activity linked when an item is clicked
private ListItemListener mListener;

// Recovers the list of items to display. Each item contains


the data to display and information about the layout to
inflate. Also gets a listener to call back the activity when
an item is clicked.
public MainRecyclerViewAdapter(Context context,
List<ListItem> items, ListItemListener listener) {
[...]
}

// Inflates the right layout according to the type of the


item.
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup
parent, int viewType) {
switch (viewType) {
case AppUtils.TITLE:

Rapport de projet 51 SRMA


Zurbuchen Nicolas 4.2. LISTE AVEC DIFFÉRENTES VUES

return new
VHTitle(mInflater.inflate(R.layout.title_layout, parent,
false));
case AppUtils.IMAGE_TEXT_DOUBLE:
return new
VHImageTextDouble(mInflater.inflate(R.layout.image_text_double_layout,
parent, false));
default:
return new
VHImageText(mInflater.inflate(R.layout.image_text_layout,
parent, false));
}
}

// Binds the data to the views and set the interaction


events on an item clicked.
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder,
@SuppressLint("RecyclerView") final int position) {
switch (mItems.get(position).getViewType()) {
case AppUtils.TITLE:
((VHTitle) holder).bind(mItems.get(position));
break;
case AppUtils.IMAGE_TEXT_DOUBLE:
((VHImageTextDouble)
holder).bind(mItems.get(position), mContext);
break;
default:
((VHImageText)
holder).bind(mItems.get(position), mContext);
((VHImageText)
holder).itemView.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View view) {
mListener.onClick(mItems.get(position));
}
});
}
}

Rapport de projet 52 SRMA


Zurbuchen Nicolas 4.2. LISTE AVEC DIFFÉRENTES VUES

// Gets the number of item the list


@Override
public int getItemCount() {
return mItems.size();
}

// Gets the type of view for each item according its position
@Override
public int getItemViewType(int position) {
return mItems.get(position).getViewType();
}

// This interface is used to communicate to the activity


which has declared a listener of this interface when an item
of the list is clicked. The activity has access to everything
and it’s simpler to let the activity handle the actions.
public interface ListItemListener {

// When an item is clicked, send its data to the linked


activity.
void onClick(ListItem item);
}

// Holder for one of the layout for a cell


static class VHTitle extends RecyclerView.ViewHolder {

TextView mTextView; // Title text of the list

// Gets the view component to assign them later.


VHTitle(final View itemView) {
super(itemView);
mTextView = itemView.findViewById(R.id.title_text);
}

//Binds the data from the item to the view components.


void bind(ListItem item) {
mTextView.setText(item.getItemName());
}
}

// Other holder for a different layout for a cell

Rapport de projet 53 SRMA


Zurbuchen Nicolas 4.3. SYNTHÈSE

static class VHImageText extends RecyclerView.ViewHolder {


[...]
}

// Other holder for a different layout for a cell


static class VHImageTextDouble extends
RecyclerView.ViewHolder {
[...]
}
}
Code 4.3 – Recycler View permettant d’afficher différentes vues dans une même liste

4.3 Synthèse

Ce chapitre a présenté quelques parties de code de l’application pouvant être inté-


ressantes. Le code est dans l’ensemble classique, il utilise les différents composants
de base que propose Android. L’intégration du code du projet RMMA n’a pas posé de
problème mais il a tout de même fallu réaliser quelques adaptations pour que cela
fonctionne, notamment pour la gestion des notifications. De plus, les concepts de la
programmation Android pour Wear OS sont les mêmes que pour le smartphone. Le
code a été réalisé le plus proprement possible en utilisant la puissance des resources
ce qui permettra dans le futur de facilement ajouter le support d’une langue différente
dans l’application.

Rapport de projet 54 SRMA


5. Tests et validations

Ce chapitre présente tous les tests qui ont été effectués sur les différents composants
de l’application afin de valider cette dernière. Chaque section correspond à un de ces
composants. L’interface graphique ne possède pas de section à elle seule mais elle est
vérifiée tout au long des tests.

5.1 Procédure de test

Pour valider chacun de ces composants, les tests ont été réalisés manuellement. L’ap-
plication étant dans sa globalité peu complexe, ce procédé a pu être appliqué. Une
mise en place de tests automatiques est très puissante et permet de gagner du temps
sur le long terme. Cependant, dans le cadre de ce projet, le temps est relativement
court et c’est pourquoi il était plus simple de procéder de cette façon.

5.2 Authentification

Le premier test effectué est la connexion et la déconnexion d’un utilisateur sur l’ap-
plication. Le Tableau 5.1 liste les actions à réaliser pour valider cette fonctionnalité.
Les identifiants donnés pour cette vérification seront utilisés pour tous les tests de ce
chapitre et ils sont les suivants :
— Nom d’utilisateur : 3
— Mot de passe : 3

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente mais cette dernière ne doit pas être connectée à internet. Le serveur ne doit
pas être allumé.

55
Zurbuchen Nicolas 5.2. AUTHENTIFICATION

Validations

Test Résultat attendu Résultat obtenu


Ouvrir l’application Un écran de démarrage avec les OK
« SRMA » depuis la liste nom et logo de l’application s’af-
des applications. fiche pendant un moment puis
l’écran de connexion s’affiche.
Faire glisser le doigt vers L’écran défile. Tous les com- OK
le haut pour faire défiler posants graphiques présents
l’écran de connexion. doivent être clairement lisibles
et ne pas sortir de l’écran.
Entrer des identifiants faux Un écran de chargement s’af- OK
et cliquer sur le bouton de fiche un moment puis l’écran de
connexion. connexion s’affiche avec un mes-
sage « Serveur non disponible ».
Allumer le serveur pour Un écran de chargement s’af- OK
qu’il soit prêt à recevoir fiche un moment puis l’écran de
des requêtes puis cliquer connexion s’affiche avec un mes-
sur le bouton de connexion. sage « Nom d’utilisateur ou mot
de passe incorrect ».
Entrer les identifiants cor- Un écran de chargement s’af- OK
rects puis cliquer sur le fiche un moment puis le menu
bouton de connexion. principal s’affiche.
Refuser les permissions qui La demande de deux permis- OK
s’affichent après l’authen- sions (capteurs et localisation)
tification (refuser tant que s’affiche.
les tests ne disent pas le
contraire)
Faire glisser le doigt vers L’écran défile. Tous les com- OK
le haut pour faire défiler posants graphiques présents
l’écran du menu principal. doivent être clairement lisibles
et ne pas sortir de l’écran.
Cliquer sur le premier bou- La ligne s’anime et un écran OK
ton « compte » du menu. ayant comme titre « Mila3 Jovo-
vic3 » s’affiche. Chaque ligne est
aussi marquée comme « Désac-
tivé ».

Rapport de projet 56 SRMA


Zurbuchen Nicolas 5.2. AUTHENTIFICATION

Faire glisser le doigt vers L’écran défile. Tous les com- OK


le haut pour faire défiler posants graphiques présents
l’écran de compte. doivent être clairement lisibles
et ne pas sortir de l’écran.
Cliquer sur le dernier bou- La ligne s’anime et l’écran du OK
ton « Retour » de la liste. menu principal s’affiche.
Cliquer sur le dernier bou- La ligne s’anime et l’application OK
ton du menu. se ferme.
Rouvrir l’application Un écran de démarrage suivi OK
« SRMA » depuis la liste d’un écran de chargement s’af-
des applications. fichent avant d’afficher l’écran
du menu principal.
Cliquer sur le troisième Un écran présentant une liste OK
bouton « Paramètres » d’interrupteurs desactivés s’af-
fiche.
Faire glisser le doigt vers L’écran défile. Tous les com- OK
le haut pour faire défiler posants graphiques présents
l’écran du menu principal. doivent être clairement lisibles
et ne pas sortir de l’écran.
Cliquer sur le bouton de dé- L’utilisateur est déconnecté et OK
connexion. l’écran de login s’affiche.
Rouvrir l’application Un écran de démarrage avec les OK
« SRMA » depuis la liste nom et logo de l’application s’af-
des applications. fiche pendant un moment puis
l’écran de connexion s’affiche.

Table 5.1: Validations de l’authentification.

Résultat

La connexion et la déconnexion d’un utilisateur à l’application fonctionnent correcte-


ment. En cas de problème à l’écran de connexion, des retours expliquant le problème
sont affichés et lors de la communication avec le serveur, une barre de progression
est présente. Grâce à cela l’utilisateur n’est jamais perdu. L’application se rappelle
aussi des identifiants afin de connecter automatiquement l’utilisateur.

Rapport de projet 57 SRMA


Zurbuchen Nicolas 5.3. MESSAGERIE

5.3 Messagerie

Ce test permet de vérifier que la messagerie fonctionne. Cela concerne l’envoi de mes-
sages ainsi que la réception de messages au travers des notifications. Le Tableau 5.2
liste les actions à réaliser pour valider cette fonctionnalité.

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente et l’utilisateur doit être connecté avec les identifiants donnés à la section 5.2.
Elle doit afficher le menu principal. Le serveur nécessite d’être allumé et d’être prêt
à recevoir des requêtes.

Validations

Test Résultat attendu Résultat obtenu


Cliquer sur le deuxième La ligne s’anime et l’écran de OK
bouton « Messagerie » du messagerie s’affiche présentant
menu principal. une liste de messages.
Cliquer sur le premier mes- La ligne s’anime et un écran de OK
sage de la liste. confirmation avec une animation
s’affiche pendant un moment. Le
message est envoyé et le serveur
réagit en fonction.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de réglages s’affichent. L’inter-
« Paramètres » de l’écran rupteur des notifications est de-
d’après. sactivé.
Cliquer sur la ligne corres- La ligne s’anime puis l’interrup- OK
pondant à l’activation des teur passe à l’état actif.
notifications.
Attendre jusqu’à ce qu’une Une notification provenant de OK
notification de message SRMA s’affiche dans le centre de
s’affiche. notification de la montre.
Afficher le centre de notifi- Un écran s’affiche avec le mes- OK
cation et cliquer sur la no- sage et une question avec deux
tification de message. actions possibles accessibles
dans le menu drawer.

Rapport de projet 58 SRMA


Zurbuchen Nicolas 5.4. CARDIOFRÉQUENCEMÈTRE

Cliquer sur la réponse Un message de confirmation est OK


« Oui » de l’action princi- envoyé au serveur qui l’affiche
pale. dans ses logs et la notification
disparaît.
Rouvrir l’application L’application s’ouvre et se OK
« SRMA » depuis la liste connecte avant d’afficher
des applications et navi- l’écran de paramètres avec
guer à l’écran de para- l’interrupteur des notifications
mètres. actif.
Cliquer sur la ligne des no- La ligne s’anime et l’interrup- OK
tifications. teur passe à l’état desactivé. Les
messages reçus ne seront plus
affichés.
Balayer deux fois l’écran de L’écran de réglages défile pour OK
gauche à droite. afficher l’écran du menu princi-
pal. Ce dernier en fait de même
pour quitter l’application.

Table 5.2: Validations de la messagerie.

Résultat

La messagerie fonctionne correctement. Les notifications s’affichent correctement


dans le centre de notifications est les actions intégrées réagissent convenablement.
Il n’a pas été possible d’afficher les deux actions sans utiliser un drawer ce qui peut
éventuellement poser des problèmes mais le drawer se manifeste dès que la notifica-
tion est défilée ce qui indique clairement qu’une action supplémentaire est possible.

5.4 Cardiofréquencemètre

Ce test permet de vérifier que la mesure de la fréquence cardiaque fonctionne. Le


Tableau 5.3 liste les actions à réaliser pour valider cette fonctionnalité.

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente et l’utilisateur doit être connecté avec les identifiants donnés à la section 5.2.

Rapport de projet 59 SRMA


Zurbuchen Nicolas 5.4. CARDIOFRÉQUENCEMÈTRE

Elle doit afficher le menu principal. Le serveur nécessite d’être allumé et d’être prêt
à recevoir des requêtes.

Validations

Test Résultat attendu Résultat obtenu


Cliquer sur le premier bou- La ligne s’anime et l’écran de OK
ton « Compte » du menu compte s’affiche avec le cardio-
principal. fréquencemètre marqué en tant
que désactivé.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de réglages s’affichent. L’in-
« Paramètres » de l’écran terrupteur du cardiofréquence-
d’après. mètre est desactivé.
Cliquer sur la ligne corres- La ligne s’anime puis la permis- OK
pondant à l’activation du sion d’accéder aux capteurs est
cardiofréquencemètre. demandée.
Refuser la permission d’ac- L’écran de paramètres s’affiche OK
céder aux capteurs. et l’interrupteur est toujours de-
sactivé.
Cliquer à nouveau sur la L’interrupteur du cardiofréquen- OK
ligne correspondant à l’ac- cemètre est dès lors activé.
tivation du cardiofréquen-
cemètre et accepter la de-
mande.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de compte s’affichent. Sur la
« Compte » du menu princi- ligne du cardiofréquencemètre
pal. s’affiche la fréquence cardiaque
en BPM.
Regarder sous la montre Les LEDs du capteur s’allument OK
pour voir l’état physique du et s’éteignent à intervalle régu-
capteur. lier.
Actualisation de la valeur Lorsque le capteur a ses LEDs OK
mesurée par le cardiofré- allumées, la valeur à l’écran
quencemètre. s’actualise régulièrement et est
fixe lorsqu’elles sont éteintes.

Rapport de projet 60 SRMA


Zurbuchen Nicolas 5.5. SUIVI D’ACTIVITÉ

Envoyer les données de A chaque actualisation de la fré- OK


la fréquence cardiaque au quence cardiaque, celle-ci est
serveur. automatiquement envoyée au
serveur qui l’affiche dans ses
logs.
Cliquer sur le bouton « Re- L’application se ferme, le cardio- OK
tour » puis le bouton « Quit- fréquencemètre doit s’éteindre
ter » du menu principal. à la fin de la période et ne plus
s’allumer.
Rouvrir l’application L’application s’ouvre et se OK
« SRMA » depuis la liste connecte avant d’afficher
des applications et navi- l’écran de compte avec le
guer à l’écran de compte. cardiofréquencemètre actif.
Cliquer sur le bouton « Re- A l’ouverture de l’écran de ré- OK
tour » puis le bouton « Pa- glage, l’interrupteur du cardio-
ramètres ». fréquencemètre doit être actif.
Cliquer sur la ligne du car- La ligne s’anime et l’interrup- OK
diofréquencemètre. teur passe à l’état desactivé. Les
LEDs s’éteignent à la fin de leur
période et ne se rallume plus.
Balayer deux fois l’écran de L’écran de réglages défile pour OK
gauche à droite. afficher l’écran du menu princi-
pal. Ce dernier en fait de même
pour quitter l’application.

Table 5.3: Validations du cardiofréquencemètre.

Résultat

La mesure de la fréquence cardiaque fonctionne correctement. La sauvegarde de


l’état du capteur est bien réalisée lorsque l’application est fermée puis rouverte. La
valeur mesurée est envoyée au serveur. Le cardiofréquencemètre remplace de ma-
nière correcte la ceinture Zephyr utilisée dans le projet RMMA.

5.5 Suivi d’activité

Ce test permet de vérifier que la détection d’activité en utilisant l’API Google « Activity
Recognition » fonctionne. Le Tableau 5.4 liste les actions à réaliser pour valider cette

Rapport de projet 61 SRMA


Zurbuchen Nicolas 5.5. SUIVI D’ACTIVITÉ

fonctionnalité.

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente et l’utilisateur doit être connecté avec les identifiants donnés à la section 5.2.
Elle doit afficher le menu principal. Le serveur nécessite d’être allumé et d’être prêt
à recevoir des requêtes.

Validations

Test Résultat attendu Résultat obtenu


Cliquer sur le premier bou- La ligne s’anime et l’écran de OK
ton « Compte » du menu compte s’affiche avec le suivi
principal. d’activité marqué en tant que
désactivé.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de réglages s’affichent. L’inter-
« Paramètres » de l’écran rupteur du suivi d’activité est
d’après. desactivé.
Cliquer sur la ligne corres- La ligne s’anime puis l’interrup- OK
pondant à l’activation du teur passe à l’état actif.
suivi d’activité.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de compte s’affichent. Sur la
« Compte » du menu princi- ligne du suivi d’activité s’affiche
pal. l’activité courante.
Actualisation de l’activité L’activité courante affichée à OK
détectée. l’écran s’actualise lorsqu’une
nouvelle activité différente est
reconnue.
Envoyer l’activité courant A chaque actualisation de la l’ac- OK
au serveur. tivité, celle-ci est automatique-
ment envoyée au serveur qui
l’affiche dans ses logs.
Rester immobile pendant Un alerte est envoyé au serveur OK
un moment. lorsque l’activité est immobile
pendant 30 secondes.

Rapport de projet 62 SRMA


Zurbuchen Nicolas 5.6. LOCALISATION

Cliquer sur le bouton « Re- L’application se ferme et l’envoi OK


tour » puis le bouton « Quit- de l’activité courante s’arrête.
ter » du menu principal.
Rouvrir l’application L’application s’ouvre et se OK
« SRMA » depuis la liste connecte avant d’afficher
des applications et navi- l’écran de compte avec le
guer à l’écran de compte. suivi d’activité actif.
Cliquer sur le bouton « Re- A l’ouverture de l’écran de ré- OK
tour » puis le bouton « Pa- glage, l’interrupteur du suivi
ramètres ». d’activité doit être actif.
Cliquer sur la ligne du suivi La ligne s’anime et l’interrup- OK
d’activité. teur passe à l’état desactivé.
L’envoi de l’activité s’arrête.
Balayer deux fois l’écran de L’écran de réglages défile pour OK
gauche à droite. afficher l’écran du menu princi-
pal. Ce dernier en fait de même
pour quitter l’application.

Table 5.4: Validations de la détection d’activité.

Résultat

La détection de l’activité fonctionne correctement. Cela prouve aussi le bon fonction-


nement de l’envoi des alertes au serveur. L’activité courante est dans tous les cas
envoyée au serveur. Cette fonctionnalité a été reprise telle quelle depuis le projet
RMMA et n’a pas nécessité d’adaptations particulières.

5.6 Localisation

Ce test permet de vérifier que la localisation en utilisant l’API IndoorAtlas fonctionne.


Le Tableau 5.5 liste les actions à réaliser pour valider cette fonctionnalité.

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente et l’utilisateur doit être connecté avec les identifiants donnés à la section 5.2.
Elle doit afficher le menu principal. Le serveur nécessite d’être allumé et d’être prêt
à recevoir des requêtes.

Rapport de projet 63 SRMA


Zurbuchen Nicolas 5.6. LOCALISATION

Validations

Test Résultat attendu Résultat obtenu


Cliquer sur le premier bou- La ligne s’anime et l’écran de OK
ton « Compte » du menu compte s’affiche avec la localisa-
principal. tion marquée en tant que désac-
tivé.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de réglages s’affichent. L’inter-
« Paramètres » de l’écran rupteur de la localisation est de-
d’après. sactivé.
Cliquer sur la ligne corres- La ligne s’anime puis la permis- OK
pondant à l’activation de la sion d’accéder aux capteurs est
localisation. demandée.
Refuser la permission d’ac- L’écran de paramètres s’affiche OK
céder aux capteurs. et l’interrupteur est toujours de-
sactivé.
Cliquer à nouveau sur la L’interrupteur de la localisation OK
ligne correspondant à l’ac- est dès lors activé.
tivation de la localisation et
accepter la demande.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de compte s’affichent. Sur la
« Compte » du menu princi- ligne de la localisation s’affiche
pal. la position en latitude et longi-
tude.
Actualisation de la valeur La valeur de la position à l’écran OK
mesurée par la localisation. s’actualise régulièrement.
Envoyer les données de la A chaque actualisation de la lo- OK
localisation au serveur. calisation, celle-ci est automati-
quement envoyée au serveur qui
l’affiche dans ses logs.
Cliquer sur le bouton « Re- L’application se ferme et l’envoi OK
tour » puis le bouton « Quit- de la localisation s’arrête.
ter » du menu principal.
Rouvrir l’application L’application s’ouvre et se OK
« SRMA » depuis la liste connecte avant d’afficher
des applications et navi- l’écran de compte avec la
guer à l’écran de compte. localisation active.

Rapport de projet 64 SRMA


Zurbuchen Nicolas 5.7. DÉTECTION DE CHUTE

Cliquer sur le bouton « Re- A l’ouverture de l’écran de ré- OK


tour » puis le bouton « Pa- glages, l’interrupteur de la loca-
ramètres ». lisation doit être actif.
Cliquer sur la ligne de la lo- La ligne s’anime et l’interrup- OK
calisation. teur passe à l’état desactivé.
L’envoi de la localisation s’ar-
rête.
Balayer deux fois l’écran de L’écran de réglages défile pour OK
gauche à droite. afficher l’écran du menu princi-
pal. Ce dernier en fait de même
pour quitter l’application.

Table 5.5: Validations de la localisation.

Résultat

La localisation de l’utilisateur avec la montre fonctionne. Le code a pu être repris tel


quel depuis le projet RMMA et n’a pas dû subir des modifications. Elle est correcte-
ment transmise au serveur qui l’affiche dans ses logs à chaque réception.

5.7 Détection de chute

Ce test permet de vérifier que la mesure de l’accélération et du gyroscope fonctionne


en utilisant les capteurs de la montre. Le Tableau 5.6 liste les actions à réaliser pour
valider cette fonctionnalité.

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente et l’utilisateur doit être connecté avec les identifiants donnés à la section 5.2.
Elle doit afficher le menu principal. Le serveur nécessite d’être allumé et d’être prêt
à recevoir des requêtes.

Validations

Test Résultat attendu Résultat obtenu

Rapport de projet 65 SRMA


Zurbuchen Nicolas 5.7. DÉTECTION DE CHUTE

Cliquer sur le premier bou- La ligne s’anime et l’écran de OK


ton « Compte » du menu compte s’affiche avec la détec-
principal. tion de chute marquée en tant
que désactivé.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de réglages s’affichent. L’inter-
« Paramètres » de l’écran rupteur de la détection de chute
d’après. est desactivé.
Cliquer sur la ligne corres- La ligne s’anime puis l’interrup- OK
pondant à l’activation de la teur passe à l’état actif.
détection de chute.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de compte s’affichent. Sur la
« Compte » du menu princi- ligne de la détection de chute
pal. s’affiche l’état « Activé ».
Cliquer sur le bouton « Re- L’application se ferme et la me- OK
tour » puis le bouton « Quit- sure par l’accéléromètre et par
ter » du menu principal. le gyroscope s’arrête.
Rouvrir l’application L’application s’ouvre et se OK
« SRMA » depuis la liste connecte avant d’afficher
des applications et navi- l’écran de compte avec la
guer à l’écran de compte. détection de chute active.
Cliquer sur le bouton « Re- A l’ouverture de l’écran de ré- OK
tour » puis le bouton « Pa- glage, l’interrupteur de la détec-
ramètres ». tion de chute doit être actif.
Cliquer sur la ligne de la La ligne s’anime et l’interrup- OK
détection de chute. teur passe à l’état desactivé. La
mesure par l’accéléromètre et
par le gyroscope s’arrête.
Balayer deux fois l’écran de L’écran de réglages défile pour OK
gauche à droite. afficher l’écran du menu princi-
pal. Ce dernier en fait de même
pour quitter l’application.

Table 5.6: Validations de la détection de chute.

Résultat

La détection de chute fonctionne correctement. Cependant comme le serveur n’est


pas prévu pour recevoir les trois valeurs de l’accéléromètre et les trois valeurs du

Rapport de projet 66 SRMA


Zurbuchen Nicolas 5.8. RAPPELS DE MÉDICAMENT

gyroscope, ces valeurs ne sont pas enregistrées et sont dans la finalité perdues. Il
est difficile pour l’utilisateur de vérifier que les valeurs s’actualisent mais lors de
l’implémentation de cette fonctionnalité, des logs affichaient toutes les valeurs reçues.

5.8 Rappels de médicament

Ce dernier test permet de vérifier que les rappels de médicaments utilisant les no-
tifications de la montre fonctionnent. Le Tableau 5.7 liste les actions à réaliser pour
valider cette fonctionnalité.

Prérequis

Pour réaliser les tests suivants, l’application doit être installée sur la montre intelli-
gente et l’utilisateur doit être connecté avec les identifiants donnés à la section 5.2.
Elle doit afficher le menu principal. Le serveur nécessite d’être allumé et d’être prêt
à recevoir des requêtes.

Validations

Test Résultat attendu Résultat obtenu


Cliquer sur le premier bou- La ligne s’anime et l’écran de OK
ton « Compte » du menu compte s’affiche avec les rap-
principal. pels de médicament marqué en
tant que désactivé.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de réglages s’affichent. L’inter-
« Paramètres » de l’écran rupteur des rappels de médica-
d’après. ment est desactivé.
Cliquer sur la ligne corres- La ligne s’anime puis l’interrup- OK
pondant à l’activation des teur passe à l’état actif.
rappels de médicament.
Cliquer sur le bouton « Re- Le menu principal puis le menu OK
tour » puis sur le bouton de compte s’affichent. Sur la
« Compte » du menu princi- ligne des rappels de médica-
pal. ment s’affiche l’état « Activé ».
Attendre jusqu’à ce qu’une Une notification provenant de OK
notification de rappel de SRMA s’affiche dans le centre de
médicament s’affiche. notification de la montre.

Rapport de projet 67 SRMA


Zurbuchen Nicolas 5.8. RAPPELS DE MÉDICAMENT

Afficher le centre de notifi- Un écran s’affiche avec le nom OK


cation et cliquer sur la noti- du médicament à prendre et une
fication de rappel de médi- question avec deux actions pos-
cament. sibles accessibles dans le menu
drawer.
Cliquer sur la réponse Un message de confirmation est OK
« Oui » de l’action princi- envoyé au serveur qui l’affiche
pale. dans ses logs et la notification
disparaît.
Rouvrir l’application L’application s’ouvre et se OK
« SRMA » depuis la liste connecte avant d’afficher
des applications et navi- l’écran de compte avec les
guer à l’écran de compte. rappels de médicament actifs.
Cliquer sur le bouton « Re- A l’ouverture de l’écran de ré- OK
tour » puis le bouton « Pa- glages, l’interrupteur des rap-
ramètres ». pels de médicament doit être ac-
tif.
Cliquer sur la ligne des rap- La ligne s’anime et l’interrup- OK
pels de médicament. teur passe à l’état desactivé.
Tous les rappels sont annulés.
Balayer deux fois l’écran de L’écran de réglages défile pour OK
gauche à droite. afficher l’écran du menu princi-
pal. Ce dernier en fait de même
pour quitter l’application.

Table 5.7: Validations des rappels de médicament.

Résultat

Les rappels de médicaments fonctionnent correctement. Les notifications s’affichent


correctement dans le centre de notifications est les actions intégrées réagissent conve-
nablement. Il n’a pas été possible d’afficher les deux actions sans utiliser un drawer
ce qui peut éventuellement poser des problèmes mais le drawer se manifeste dès que
la notification est défilée ce qui indique clairement qu’une action supplémentaire est
possible.

Rapport de projet 68 SRMA


Zurbuchen Nicolas 5.9. SYNTHÈSE

5.9 Synthèse

Ce chapitre a permis de prouver que les fonctionnalités de l’application fonctionnent


correctement en décrivant une marche à suivre précise ce qui permet à quiconque
de pouvoir reproduire les tests. Les résultats sont que toutes les fonctionnalités de
l’application fonctionnent correctement. Il est dès lors possible de passer au dernier
chapitre qui sert de conclusion à ce document.

Rapport de projet 69 SRMA


6. Conclusion

Ce dernier chapitre clôt ce rapport du projet « SRMA ». Il traite en premier lieu si les
objectifs ont bien été atteints puis enchaîne avec les améliorations possibles ainsi que
les perspectives. Une synthèse personnelle est également présente.

6.1 Objectifs atteints

De manière générale, l’application est fonctionnelle mais peut être améliorée et com-
plétée avec d’autres fonctionnalités. Concernant les objectifs principaux, ils ont tous
été remplis à l’exception de l’état de l’art sur les applications et projets similaires à
ce projet. Cela vient du manque de temps à disposition à cause de la surcharge de
travail lors de ce semestre. La cahier des charges à même été réduit en cours de
développement mais cela n’a pas suffit.

Dans l’état actuel, l’application peut déjà être testée et utilisée par des personnes
âgées car elle fonctionne correctement. Il s’agirait dès lors d’observer comment ces
personnes réussisent à l’utiliser.

6.2 Points d’améliorations

L’application a été développée pour qu’elle puisse fonctionner de manière entière-


ment autonome. Elle communique uniquement avec le serveur et requiert pour cela
d’être connectée à internet. Il serait intéressant que l’application puisse se connec-
ter à l’application RMMA du smpartphone appairé afin d’y transmettre les données.
L’idéal serait qu’elle passe par l’application RMMA lorsque le smartphone est à portée
en bluetooth et sinon qu’elle accède à internet d’elle-même.

Il serait aussi intéressant de vérifier l’aspect de sécurité mis de côté dans le cadre de
ce projet. Surtout que le système se compose d’un serveur accessible à distance et
possédant des données sur les utilisateurs.

71
Zurbuchen Nicolas 6.3. PERSPECTIVES

6.3 Perspectives

Cette application possède des perspectives qu’il serait intéressant d’implémenter


dans le futur. Une partie a déjà été mentionnée à la section précédente mais d’autres
sont aussi envisageables et sont listées ci-dessous :
— Ajout d’une base de données locale pour enregistrer les données lorsque la
connexion à internet n’est pas dispnible,
— Ajout du support d’autres capteurs physiologiques pour les montres ayant plus
de capteurs,
— Ajout de la connexion et communication avec l’application RMMA du smart-
phone appairé,

6.4 Synthèse personnelle

J’ai eu du plaisir à développer cette application pour montre connectée dans le cadre
du projet d’approfondissement. Il a été très intéressant de pouvoir observer les dif-
férences qu’il y a entre le développement d’applications mobiles pour téléphones ou
pour montres. Il m’a permis d’en apprendre beaucoup sur les différents systèmes
d’exploitation et montres qui existent.

Je suis tout de même un peu déçu d’avoir eu un semestre beaucoup trop chargé en
projets qui a fait que je n’ai pas pu approfondir certains points dans ce projet. Mais
comme je continue ce projet pour mon Travail de Master, j’aurais le temps à ce mo-
ment de m’intéresser à ces quelques points.

6.5 Déclaration d’honneur

Je, soussigné, Nicolas Zurbuchen, déclare sur l’honneur que le travail rendu est le
fruit d’un travail personnel. Je certifie ne pas avoir eu recours au plagiat ou à toutes
autres formes de fraudes. Toutes les sources d’information utilisées et les citations
d’auteur ont été clairement mentionnées.

Rapport de projet 72 SRMA


Bibliographie

[1] OMS | Vieillissement http://www.who.int/topics/ageing/fr/ [Consulté le


1er mars 2018]
[2] Office fédéral de la statistique (2017). La population de la Suisse 2016
disponible à https://www.bfs.admin.ch/bfs/fr/home/statistiques/
population.assetdetail.3902099.html [Consulté le 1er mars 2018]
[3] OMS | Vieillissement
et santé http://www.who.int/mediacentre/
factsheets/fs404/fr/ [Consulté le 1er mars 2018]
[4] William Greppi (2017). Smart Environment Monitor System disponible à
https://multidoc.heia-fr.ch/record/2868/files/Rapport_SEMS.pdf
[Consulté le 3 mars 2018]
[5] Rafic Galli (2017). Health Monitoring Mobile App disponible à https://
multidoc.heia-fr.ch/record/2908/files/rapport.pdf [Consulté le 3
mars 2018]
[6] Aurelien Etienne (2017). Resident Monitoring Mobile App disponible à https:
//multidoc.heia-fr.ch/record/2906/files/rapport_RMMA_v1.0.pdf
[Consulté le 3 mars 2018]
[7] Samsung Gear S3 classic (avant) http://images.samsung.com/is/image/
samsung/ch_fr-gear-s3-classic-sm-r770nzsaaut-000000003-l30-
silver?\protect\T1\textdollarPD_GALLERY_L_JPG\protect\T1\
textdollar [Consulté le 7 mars 2018]
[8] Samsung Gear S3 classic (arrière)
http://images.samsung.com/is/
image/samsung/ch_fr-gear-s3-classic-sm-r770nzsaaut-000000002-
back-silver?\protect\T1\textdollarPD_GALLERY_L_JPG\protect\T1\
textdollar [Consulté le 7 mars 2018]
[9] Samsung Gear S3 review https://www.wareable.com/samsung/samsung-
gear-s3-review [Consulté le 7 mars 2018]
[10] Samsung Gear S3 review | TechRadar https://www.techradar.com/
reviews/wearables/samsung-gear-s3-classic-1327492/review
[Consulté le 7 mars 2018]

73
Zurbuchen Nicolas BIBLIOGRAPHIE

[11] Samsung Gear S3 review : giving a full-on phone-on-a-watch a third


go - CNET https://www.cnet.com/products/samsung-gear-s3/review/
[Consulté le 7 mars 2018]
[12] LG Watch Sport (avant) http://www.lg.com/us/images/smart-watches/
md05800429/gallery/medium06.jpg [Consulté le 7 mars 2018]
[13] LG Watch Sport (arrière) http://www.lg.com/us/images/smart-watches/
md05800429/gallery/medium10.jpg [Consulté le 7 mars 2018]
[14] LG Watch Sport review https://www.wareable.com/android-wear/lg-
watch-sport-review [Consulté le 8 mars 2018]
[15] LG Watch Sport review | TechRadar https://www.techradar.com/reviews/
lg-watch-sport [Consulté le 8 mars 2018]
[16] LG Watch Sport hands-on : Not the superhero watch Android Wear
2.0 needs - CNET https://www.cnet.com/products/lg-watch-sport/
review/ [Consulté le 8 mars 2018]
[17] Huawei Watch 2 (avant) https://static.digitecgalaxus.ch/Files/7/
4/1/6/3/5/0/watch2_general_angles_sports_black01_rightfront.
png?fit=inside%7C1450:992&output-format=progressive-jpeg
[Consulté le 7 mars 2018]
[18] Huawei Watch 2 (arrière) https://static.digitecgalaxus.ch/Files/7/
4/1/6/3/5/1/watch2_general_angles_sports_black01_sideback.png?
fit=inside%7C1459:992&output-format=progressive-jpeg [Consulté le
7 mars 2018]
[19] Huawei Watch 2 review https://www.wareable.com/huawei/huawei-
watch-2-review [Consulté le 8 mars 2018]
[20] HuaweiWatch 2 review | TechRadar https://www.techradar.com/
reviews/huawei-watch-2 [Consulté le 8 mars 2018]
[21] Huawei Watch 2 LTE review : Your Apple Watch 3 alternative - CNET https:
//www.cnet.com/products/huawei-watch-2-lte/review/ [Consulté le 8
mars 2018]
[22] Apple Watch Series 3 (avant) https://store.storeimages.cdn-apple.
com/4662/as-images.apple.com/is/image/AppleInc/aos/published/
images/4/2/42/alu/42-alu-space-sport-gray-gallery1?wid=1000&
hei=1000&fmt=jpeg&qlt=95&op_usm=0.5,0.5&.v=1504817523263
[Consulté le 7 mars 2018]
[23] Apple Watch Series 3 (arrière) https://d3nevzfk7ii3be.cloudfront.net/
igi/RSvZe325jAPFRJwi [Consulté le 7 mars 2018]
[24] Apple Watch Series 3 review https://www.wareable.com/apple/apple-
watch-series-3-review [Consulté le 8 mars 2018]

Rapport de projet 74 SRMA


Zurbuchen Nicolas BIBLIOGRAPHIE

[25] Apple Watch 3 review | TechRadar https://www.techradar.com/reviews/


apple-watch-3-review [Consulté le 8 mars 2018]
[26] Apple Watch Series 3 review : A dash of iPod and a bit of iPhone for your
wrist - CNET https://www.cnet.com/products/apple-watch-series-3/
review/ [Consulté le 8 mars 2018]
[27] Fitbit Ionic (avant) https://assets.academy.com/mgen/37/20033437.
jpg [Consulté le 7 mars 2018]
[28] Fitbit Ionic (arrière) https://assets.academy.com/mgen/52/20033352.
jpg [Consulté le 7 mars 2018]
[29] Fitbit Ionic review https://www.wareable.com/smartwatches/fitbit-
ionic-review [Consulté le 9 mars 2018]
[30] Fitbit Ionic review | TechRadar https://www.techradar.com/reviews/
fitbit-ionic-review [Consulté le 9 mars 2018]
[31] Fitbit Ionic review : The Apple Watch-Pebble hybrid you always wanted - CNET
https://www.cnet.com/products/fitbit-ionic/review/ [Consulté le 9
mars 2018]
[32] Omron’s blood pressure smartwatch will launch later this year https:
//www.wareable.com/smartwatches/omron-heartguide-blood-
pressure-release-date-price-specs-3943 [Consulté le 9 mars 2018]
[33] Omron HeartGuide fitness watch measures your hypertension - Video - CNET
https://www.cnet.com/videos/medical-grade-blood-pressure-in-
a-fitness-watch-omron-heartguide-measures-your-hypertension/
[Consulté le 9 mars 2018]
[34] Omron HeartGuide
https://omronhealthcare.com/wp-content/
uploads/Omron-HeartGuide-1.jpg [Consulté le 7 mars 2018]
[35] The Advantages And Disadvantages Of Smartwatches - Technicles http://
technicles.com/advantages-disadvantages-smartwatches/ [Consulté
le 10 mars 2018]
[36] What are the advantages/disadvantages of smart watches ? - Quora
https://www.quora.com/What-are-the-advantages-disadvantages-
of-smart-watches [Consulté le 10 mars 2018]
[37] FitbitOS https://www.fitbit.com/fitbitos [Consulté le 11 mars 2018]
[38] Why Fitbit Avoided Android Wear and Built Its
https: Own OS
//www.tomsguide.com/us/fitbit-ionic-os-vs-android-wear,news-
25748.html [Consulté le 11 mars 2018]
[39] https://www.fitbit.com/whats-new [Consulté le 6 juin 2018]
[40] Tizen - Wikipedia https://en.wikipedia.org/wiki/Tizen [Consulté le 11
mars 2018]

Rapport de projet 75 SRMA


Zurbuchen Nicolas BIBLIOGRAPHIE

[41] Tizen v Android Wear : Which smartwatch OS is right for you ? https://www.
wareable.com/smartwatches/tizen-os-vs-android-wear [Consulté le 11
mars 2018]
[42] https://www.undernews.fr/wp-content/uploads/2017/04/Tizen-
os-566x287.png [Consulté le 6 juin 2018]
[43] Apple Watch v Android Wear : The battle for smartwatch supremacy
https://www.wareable.com/smartwatches/android-wear-vs-apple-
watch-2015 [Consulté le 12 mars 2018]
[44] https://upload.wikimedia.org/wikipedia/commons/1/18/Apple_
watchOS_wordmark.png [Consulté le 6 juin 2018]
[45] https://storage.googleapis.com/gweb-uniblog-publish-prod/
images/WBG_Lockup_Blog.max-1000x1000.jpg [Consulté le 6 juin 2018]
[46] The Best Heart Rate Monitors of 2018 - Consumer Electronics Reviews, Ratings
& Comparisons http://uk.pcmag.com/consumer-electronics-reviews-
ratings/88267/guide/the-best-heart-rate-monitors-of-2018
[Consulté le 6 juin 2018]
[47] Cardiofréquencemètre - Tous les fabricants de matériel médical - Vidéos http:
//www.medicalexpo.fr/fabricant-medical/cardiofrequencemetre-
646.html [Consulté le 6 juin 2018]
[48] http://img.medicalexpo.fr/images_me/photo-mg/83995-8723717.
jpg [Consulté le 6 juin 2018]
[49] https://ro.harmanaudio.com/on/demandware.static/-/Sites-
masterCatalog_Harman/default/dw433f11ad/UA-Heart-Rate-
Headphones--FrontBack-1606x1606px.png [Consulté le 6 juin 2018]
[50] Top smart blood pressure monitors http://gadgetsandwearables.com/
2018/01/16/leading-smart-blood-pressure-monitors/#QardioArm
[Consulté le 6 juin 2018]
[51] https://static.praxisdienst.com/out/pictures/generated/
product/5/800_800_90/qardioarm_blutdruckmessgeraet_132944_
gruppe_5.jpg [Consulté le 6 juin 2018]
[52] https://cdn.shopify.com/s/files/1/1987/7319/products/QA_
lifestyle_1_grande.jpg?v=1527263287 [Consulté le 6 juin 2018]
[53] Best pulse oximeter : Guide to buying a pulse
http: oximeter
//gadgetsandwearables.com/2018/03/22/best-pulse-oximeter/
[Consulté le 6 juin 2018]
[54] Wearable Devices That Have an Oximeter | Wearables List | Vandrico Inc https:
//vandrico.com/wearables/device-categories/components/oximeter
[Consulté le 6 juin 2018]

Rapport de projet 76 SRMA


Zurbuchen Nicolas BIBLIOGRAPHIE

[55] Withings Pulse - Que veut dire SpO2 ? Quel est le niveau normal de SpO2 ? – No-
kia https://support.health.nokia.com/hc/fr/articles/201494667-
Withings-Pulse-Que-veut-dire-SpO2-Quel-est-le-niveau-normal-
de-SpO2- [Consulté le 6 juin 2018]
[56] http://gadgetsandwearables.com/wp-content/uploads/2016/07/
guide-to-buying-a-pulse-oximeter.png [Consulté le 6 juin 2018]
[57] https://i.pinimg.com/originals/c3/34/a3/c334a3592ff2bd7d00b85e2f54a08fbb.
png [Consulté le 6 juin 2018]
[58] K’Watch Glucose : La montre qui mesure la glycémie - Diabète In-
fos https://diabete-infos.fr/ktrack-glucose-montre-qui-mesure-
la-glycemie/ [Consulté le 6 juin 2018]
[59] Harvard develops blood glucose monitoring tattoo
https://www.
diabetes.co.uk/news/2017/Oct/Harvard-develops-blood-glucose-
monitoring-tattoo-92415627.html [Consulté le 6 juin 2018]
[60] What Happened to the Plans for a Smart Contact Lens for Diabetics ? https://
labiotech.eu/contact-lens-glucose-diabetes/ [Consulté le 6 juin 2018]
[61] https://healthylife.werindia.com/wp-content/uploads/2017/08/
diabetictattoo-healthylife-werindia.jpg [Consulté le 6 juin 2018]
[62] Wearable Devices That Have a Thermometer | Wearables List | Vandrico Inc
https://vandrico.com/wearables/device-categories/components/
thermometer [Consulté le 6 juin 2018]
[63] https://vandrico.com/wearables/sites/default/files/styles/
large/public/zephyr%20shirt.jpg?itok=keFZrQca [Consulté le 6 juin
2018]
[64] https://vandrico.com/wearables/sites/default/files/styles/
large/public/tab_lx_0.png?itok=BfP-Xckq [Consulté le 6 juin 2018]
[65] https://designguidelines.withgoogle.com/wearos/assets/
1cOUnEcpmuCtTX1QqUavEdsgci9Ose9r9/06-blue.png [Consulté le 10
mai 2018]
[66] https://developer.android.com/images/ui/settings/settings.png
[Consulté le 10 mai 2018]
[67] Settings | Android Developers https://developer.android.com/guide/
topics/ui/settings [Consulté le 10 mai 2018]
[68] Sensors Overview | Android Developers https://developer.android.com/
guide/topics/sensors/sensors_overview [Consulté le 10 mai 2018]
[69] Create and Manage Notification Channels
| Android Developers https://
developer.android.com/training/notify-user/channels [Consulté le
11 mai 2018]

Rapport de projet 77 SRMA


Zurbuchen Nicolas BIBLIOGRAPHIE

[70] GitHub - googlesamples/android-WearNotifications https://github.com/


googlesamples/android-WearNotifications [Consulté le 9 mai 2018]
[71] GitHub - googlesamples/android-WearAccessibilityApp https://github.com/
googlesamples/android-WearAccessibilityApp [Consulté le 5 mai 2018]
[72] Android Studio — Wikipédia. https://fr.wikipedia.org/wiki/Android_
Studio [Consulté le 30 janvier 2017]
[73] Android — Wikipédia. https://fr.wikipedia.org/wiki/Android
[Consulté le 30 janvier 2017]
[74] https://scr.sad.supinfo.com/articles/resources/170045/2552/0.
png [Consulté le 30 janvier 2017]
[75] Unified Modeling Language - Wikipedia. https://en.wikipedia.org/wiki/
Unified_Modeling_Language [Consulté le 30 janvier 2017]
[76] Online Diagram Software to draw Flowcharts, UML & more | Creately. https:
//creately.com/ [Consulté le 30 janvier 2017]
[77] http://www.technologybloggers.org/wp-content/uploads/2012/03/
Creately-Logo.png [Consulté le 30 janvier 2017]
[78] Texmaker — Wikipédia. https://fr.wikipedia.org/wiki/Texmaker
[Consulté le 30 janvier 2017]
[79] LaTeX — Wikipédia. https://fr.wikipedia.org/wiki/LaTeX [Consulté le
30 janvier 2017]
[80] https://i.stack.imgur.com/8cOCd.png [Consulté le 30 janvier 2017]
[81] MicrosoftWord — Wikipédia. https://fr.wikipedia.org/wiki/
Microsoft_Word [Consulté le 30 janvier 2017]
[82] What you see is what you get — Wikipédia. https://fr.wikipedia.org/
wiki/What_you_see_is_what_you_get [Consulté le 30 janvier 2017]
[83] https://staticacm.isograd.com/commercial_1/images/FR/astuces/
logo_word.png [Consulté le 30 janvier 2017]
[84] Microsoft Project
— Wikipédia. https://fr.wikipedia.org/wiki/
Microsoft_Project [Consulté le 30 janvier 2017]
[85] Logiciel de gestion de projets — Wikipédia. https://fr.wikipedia.org/
wiki/Logiciel_de_gestion_de_projets [Consulté le 30 janvier 2017]
[86] http://www.apollo-formation.com/wp-content/uploads/Project_
logo_280x280.png [Consulté le 30 janvier 2017]
[87] Microsoft PowerPoint — Wikipédia. https://fr.wikipedia.org/wiki/
Microsoft_PowerPoint [Consulté le 30 janvier 2017]
[88] Logiciel de présentation — Wikipédia. https://fr.wikipedia.org/wiki/
Logiciel_de_présentation [Consulté le 30 janvier 2017]

Rapport de projet 78 SRMA


Zurbuchen Nicolas BIBLIOGRAPHIE

[89] http://www.laptopmag.com/images/wp/purch-api/incontent/2013/
09/how_to_transitions_lead_675403.jpg [Consulté le 30 janvier 2017]

Rapport de projet 79 SRMA


Table des figures

1.1 Architecture comprenant les différents composants du système . . . . . 10

2.1 Evolution de la pyramide des âges en Suisse. [2] . . . . . . . . . . . . . . 14


2.2 Page d’accueil de l’application Web du projet SEMS. . . . . . . . . . . . . 17
2.3 Liste des résidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Profile d’un résident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Accueil de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6 Réglages pour le résident . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 Diagramme de cas d’utilisation de l’application . . . . . . . . . . . . . . . 21
2.8 Samsung Gear S3 Classic [7] [8] . . . . . . . . . . . . . . . . . . . . . . . 22
2.9 LG Watch Sport [12] [13] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.10Huawei Watch 2 [17] [18] . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.11Apple Watch Series 3 [22] [23] . . . . . . . . . . . . . . . . . . . . . . . . 26
2.12Fitbit Ionic [27] [28] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.13Omron HeartGuide [34] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.14Logo du système d’exploitation de l’entreprise Fitbit [39] . . . . . . . . . 30
2.15Logo du système d’exploitation de Samsung. [42] . . . . . . . . . . . . . 31
2.16Logo du système d’exploitation d’Apple. [44] . . . . . . . . . . . . . . . . 31
2.17Logo du système d’exploitation d’Android. [45] . . . . . . . . . . . . . . . 32
2.18Ceinture Zephyr utilisée pendant le projet RMMA. [48] . . . . . . . . . . 33
2.19Cardiofréquencemètre optique dans les écouteurs. [49] . . . . . . . . . . 33
2.20Tensiomètre portable et sans fil Qardioarm. [51] [52] . . . . . . . . . . . 34
2.21Oxymètre pincette se connectant à un smartphone. [56] . . . . . . . . . . 35
2.22Oxymètre intégré à des écouteurs intra-auriculaires. [57] . . . . . . . . . 35
2.23Tatouage indiquant avec des couleurs le taux de glycémie. [61] . . . . . 36
2.24T-shirt Zephyr comportant un module de mesure. [63] . . . . . . . . . . . 36
2.25Bracelet Helo LX. [64] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.1 Ecran de démarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40


3.2 Ecran de connexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3 Entrée du mot de passe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

81
Zurbuchen Nicolas TABLE DES FIGURES

3.4 Chargement après login. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40


3.5 Ecran d’accueil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6 Informations du résident . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.7 Ecran de la messagerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.8 Confirmation d’envoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.9 Paramètres (début) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.10Paramètres (fin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.11Palette de couleur bleue de Material Design. [65] . . . . . . . . . . . . . 42
3.12Exemple d’écran de paramètres normalisé. [66] . . . . . . . . . . . . . . 43

A.1 Logo du programme Android Studio [74] . . . . . . . . . . . . . . . . . . 87


A.2 Logo de la web application Creately [77] . . . . . . . . . . . . . . . . . . . 88
A.3 Logo du langage Latex [80] . . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.4 Logo du programme Microsoft Word [83] . . . . . . . . . . . . . . . . . . 89
A.5 Logo du programme Microsoft Project [86] . . . . . . . . . . . . . . . . . 89
A.6 Logo du programme Microsoft PowerPoint [89] . . . . . . . . . . . . . . . 90

Rapport de projet 82 SRMA


Liste des tableaux

5.1 Validations de l’authentification. . . . . . . . . . . . . . . . . . . . . . . . 57


5.2 Validations de la messagerie. . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3 Validations du cardiofréquencemètre. . . . . . . . . . . . . . . . . . . . . 61
5.4 Validations de la détection d’activité. . . . . . . . . . . . . . . . . . . . . . 63
5.5 Validations de la localisation. . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.6 Validations de la détection de chute. . . . . . . . . . . . . . . . . . . . . . 66
5.7 Validations des rappels de médicament. . . . . . . . . . . . . . . . . . . . 68

83
Annexes

85
A. Logiciels utilisés

Un certain nombre de logiciels sont utilisés tout au long du projet pour créer les
différents types de documents ainsi que pour le développement du code. Les sections
suivantes décrivent chacun de ces logiciels.

A.1 Android Studio

Android Studio est un environnement de développement permettant de développer


des applications pour la plateforme Android. Il est notamment possible de développer
pour des smartphones, des tablettes, des montres, des télévisions et même des voi-
tures. Il est mis à disposition par Google depuis fin 2014 et remplace l’environnement
Eclipse. [72] [73]

Il est l’environnement utilisé pour coder et compiler l’application. De plus, il a permis


de faire les maquettes lors de la conception. La version utilisée est la 3.0.1 (Build
#AI-171.4443003, du 09.11.17)

Figure A.1 – Logo du programme Android Studio [74]

A.2 Creately

Creately est une web application permettant de réaliser des diagrammes de tout type
grâce notamment à l’utilisation du langage UML. Il a la particularité de pouvoir tra-

87
Zurbuchen Nicolas A.3. TEXSTUDIO

vailler en collaboration avec des collègues et de partager les diagrammes. Il a été


utilisé dans le cadre de ce projet pour réaliser les diagrammes de cas d’utilisation et
de classes. [75] [76]

Figure A.2 – Logo de la web application Creately [77]

A.3 TeXstudio

TeXstudio est un logiciel libre utilisé pour la rédaction de documents en utilisant le


langage Latex. C’est un éditeur très complet supportant la coloration syntaxique et la
correction orthographique. De plus il inclut une visionneuse de fichier PDF permettant
de voir en direct les modifications. Ce rapport a été rédigé en utilisant ce programme
et ce langage. [78] [79]

La version utilisé est la 2.12.6 (hg 6632 :7777b2b8a906) utilisant Qt (version 5.9.1)
et compilé avec Qt (version 5.9.1 R).

Figure A.3 – Logo du langage Latex [80]

A.4 Microsoft Word

Microsoft Word fait partie de la suite Microsoft Office et est utilisé pour la rédaction de
documents. Son but s’apparente au but de TeXstudio mais fonctionne avec un autre
concept qui est « what you see is what you get » (WYSIWYG). Autrement dit, c’est
une interface utilisateur permettant de composer visuellement le résultat voulu. Il est
utilisé pour réaliser des documents moins complexes que ce rapport comme le cahier
de charges. [81] [82]

Rapport de projet 88 SRMA


Zurbuchen Nicolas A.5. MICROSOFT PROJECT

La version de Word utilisée est la 1804 (Build 9226.2114) et fait partie de Microsoft
Office 365 ProPlus.

Figure A.4 – Logo du programme Microsoft Word [83]

A.5 Microsoft Project

Microsoft Project fait aussi partie de la suite Microsoft Office et permet de planifier le
déroulement d’un projet. Il s’adresse plutôt aux planificateurs. En plus, il est possible
de gérer les ressources ainsi que le budget. Il est le programme le plus utilisé au
monde dans sa catégorie. [84] [85]

La version de Project utilisée est la 1804 (Build 9226.2114) et il a permis de réaliser


le planning du projet.

Figure A.5 – Logo du programme Microsoft Project [86]

A.6 Microsoft PowerPoint

Microsoft PowerPoint fait partie de la suite Microsoft Office et permet de réaliser des
présentations sous forme de diaporama. Il est possible d’y intégrer du texte mais aussi
des médias ainsi que d’animer l’ensemble des diapositives. [87] [88]

Il est utilisé, comme cité ci-dessus, pour réaliser les présentations liées à ce projet. La
version de PowerPoint utilisée est la 1804 (Build 9226.2114) et fait partie de Microsoft
Office 365 ProPlus.

Rapport de projet 89 SRMA


Zurbuchen Nicolas A.6. MICROSOFT POWERPOINT

Figure A.6 – Logo du programme Microsoft PowerPoint [89]

Rapport de projet 90 SRMA


N° Mode Nom de la tâche Durée Début Fin Mars 2018 Avril 2018 Mai 2018 Juin 2018
Tâche 17 20 23 26 01 04 07 10 13 16 19 22 25 28 31 03 06 09 12 15 18 21 24 27 30 03 06 09 12 15 18 21 24 27 30 02 05
1 Prendre connaissance et comprendre le contexte du 6 jrs Lun 26.02.18 Lun 05.03.18
projet
2 Lecture des anciens rapports de projet (HMMA, 3 jrs Lun 26.02.18 Mer 28.02.18
RMMA et SEMA)
3 Comprendre le fonctionnement global de ces 1 jr Jeu 01.03.18 Jeu 01.03.18
projets
4 Etudier en détail le fonctionnement de 2 jrs Ven 02.03.18 Lun 05.03.18
l’application RMMA
5 Analyser les montres connectées 9 jrs Mar 06.03.18 Ven 16.03.18
6 Analyser les montres existantes sur le marché 3 jrs Mar 06.03.18 Jeu 08.03.18
(caractéristiques et fonctionnement)
7 Mettre en évidence leurs avantages et 1 jr Ven 09.03.18 Ven 09.03.18
inconvénients par rapport aux smartphones
8 Mettre en évidence leurs contraintes et 1 jr Lun 12.03.18 Lun 12.03.18
limitations
9 Comparer les différents OS existants (Android 2 jrs Mar 13.03.18 Mer 14.03.18
Wear, WatchOS, Tizen)
10 Etudier en détail le fonctionnement d’Android 2 jrs Jeu 15.03.18 Ven 16.03.18
Wear
11 Analyser les biosignaux 10 jrs Lun 19.03.18 Lun 09.04.18
12 Lister l’ensemble des biosignaux 1 jr Lun 19.03.18 Lun 19.03.18
13 Réaliser un état de l’art des appareils permettant 3 jrs Mar 20.03.18 Jeu 22.03.18
de mesurer ces signaux
14 Evaluer la faisabilité d’intégration des biosignaux 3 jrs Ven 23.03.18 Mar 27.03.18
aux montres connectées
15 Etudier les possibilités des détections de chutes 3 jrs Mer 28.03.18 Lun 09.04.18
16 Analyser les applications et projets similaires 3 jrs Mar 10.04.18 Jeu 12.04.18
17 Réaliser un état de l’art des applications 2 jrs Mar 10.04.18 Mer 11.04.18
sportives/médicales pour montre connectée
18 Comparer ce projet avec d’autres projets 1 jr Jeu 12.04.18 Jeu 12.04.18
similaires
19 Développer l’application pour Android Wear 28 jrs Ven 13.04.18 Ven 25.05.18
20 Lister et sélectionner les fonctionnalités à 1 jr Ven 13.04.18 Ven 13.04.18
implémenter dans la montre
21 Concevoir une interface adaptée pour de petits 4 jrs Lun 16.04.18 Jeu 19.04.18
écrans
22 Implémenter l’interface pour montre connectée 7 jrs Ven 20.04.18 Lun 30.04.18
23 Adapter la logique métier de l’application RMMA 12 jrs Mar 01.05.18 Ven 18.05.18
pour montre connectée
24 Tester l’application pour montre connectée 4 jrs Mar 22.05.18 Ven 25.05.18
25 Rédaction de la documentation 65 jrs Mar 20.02.18 Ven 01.06.18
26 Rédiger le cahier des charges 3 jrs Mar 20.02.18 Jeu 22.02.18
27 Préparer un planning de projet 1 jr Ven 23.02.18 Ven 23.02.18
28 Rédiger un rapport de projet 61 jrs Lun 26.02.18 Ven 01.06.18

Tâche Récapitulatif du projet Tâche manuelle Début uniquement Échéance


Projet : planning-initial-v1 Fractionnement Tâche inactive Durée uniquement Fin uniquement Avancement
Date : Mar 27.02.18 Jalon Jalon inactif Report récapitulatif manuel Tâches externes Progression manuelle
Récapitulative Récapitulatif inactif Récapitulatif manuel Jalons externes

Page 1
Diagramme de classe

Vous aimerez peut-être aussi