86
Le developpement Mobile sur les montres connectees Les outils de developpement mobile Technologies : Tizen, Android, Android Studio, Eclipse ADT Auteurs : Raksmey Phan Tel. : 04 73 40 76 62 Email : [email protected] Page web : http://limos.raksmey.fr/ LIMOS - UMR CNRS 6158 Université Blaise Pascal Campus des Cézeaux, 63173 Aubière Philippe Lacomme Tel. : 04 73 40 75 85 Email : [email protected] Page web : http://www.isima.fr/~lacomme LIMOS - UMR CNRS 6158 Université Blaise Pascal Campus des Cézeaux, 63173 Aubière Page web du livre : http://www.isima.fr/~lacomme/ObjConnecte/index.php Ce chapitre est un complément au livre "Téléphones et montres connectés Outils de développement" (Editeur : Ellipses)

Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Le de veloppement Mobile sur les montres connecte es

Les outils de de veloppement mobile

Technologies : Tizen, Android, Android Studio, Eclipse ADT

Auteurs :

Raksmey Phan

Tel. : 04 73 40 76 62

Email : [email protected]

Page web : http://limos.raksmey.fr/ LIMOS - UMR CNRS 6158

Université Blaise Pascal

Campus des Cézeaux, 63173 Aubière

Philippe Lacomme

Tel. : 04 73 40 75 85

Email : [email protected]

Page web : http://www.isima.fr/~lacomme LIMOS - UMR CNRS 6158

Université Blaise Pascal

Campus des Cézeaux, 63173 Aubière

Page web du livre : http://www.isima.fr/~lacomme/ObjConnecte/index.php

Ce chapitre est un complément au livre

"Téléphones et montres connectés

Outils de développement"

(Editeur : Ellipses)

Page 2: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

2 Chapitre 6

Copyright (C) 2012 LACOMME PHAN

Permission is granted to copy, distribute and/or modify this document under the terms

of the GNU Free Documentation License, Version 1.3 or any later version published by

the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no

Back-Cover Texts. A copy of the license is available on the following website :

http://www.gnu.org/licenses/fdl.html.

Traduction non officielle :

Permission vous est donnée de copier, distribuer et/ou modifier ce document selon les

termes de la Licence GNU Free Documentation License, version 1.3 ou ultérieure

publiée par la Free Software Foundation ; sans section inaltérable, sans texte de

première page de couverture et sans texte de dernière page de couverture. Une copie de

cette licence en anglais est consultable sur le site suivant :

http://www.gnu.org/licenses/fdl.html.

Une traduction Française non officielle est disponible à l'adresse suivante :

http://www.gnu.org/licenses/fdl-howto-opt.fr.html

Page 3: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 3

CHAPITRE 6

Découverte de la programmation pour téléphones et montres sous

Tizen : Samsung Galaxy Gear 2 Lite et Samsung Gear S

Contenu du chapitre :

Plateforme Outils

Android mobile NetBeans

Samsung Tizen X And. Stud. X

Android Wear Tizen Studio X

Eclipse ADT X

Objectifs du chapitre :

Ce chapitre représente une introduction

aux développements pour les téléphones et

montres Samsung fonctionnant sous Tizen

La difficulté des développements à réaliser

réside dans le fait que deux éléments

doivent être mis en communication : la

montre et le téléphone. Ce chapitre va

permettre :

d'appréhender la configuration des

environnements de développement ;

de comprendre le déploiement des

applications.

Cette difficulté est renforcée par

l'existence concurrente des outils de

développement Samsung et Android.

6.1 Principes de développement sur les montres connectées

Une montre connectée de type Gear 2 Lite est un objet qui se connecte à un téléphone

portable. On obtient finalement un univers composé de trois sortes d'éléments (Figure

6-1) :

des ressources externes disponibles sous la forme de web services (telle que la météo

Page 4: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

4 Chapitre 6

utilisée dans les premiers chapitres de ce livre) ;

un programme Java destiné au téléphone qui gère la communication avec :

o le ou les web services,

o la communication avec la montre via le Bluetooth ;

un programme Tizen destiné à la montre Gear 2 Lite et qui communique avec le

téléphone.

Web Services AffichageRécupération

des données Interface

Internet

Client Java

Client Tizen

AffichageRécupération

des données Interface

bluetooth

AffichageRécupération

des données Interface

Samsung Gear Live

Figure 6-1. Schéma de principe

Ce chapitre concerne la montre connectée Galaxy Gear 2 Lite et la montre Gear S de

Samsung. Avant de commencer, il est important d'apparier la montre avec un des

téléphones qui lui sont compatibles. Dans notre cas, il s'agit d'un téléphone Samsung

Galaxy S4. Lorsque la montre est "démarrée" pour la première fois, la procédure

d'appareillage est lancée automatiquement. Celle-ci est suffisamment simple et

didactique pour n'avoir besoin que de quelques précisions. Rappelons qu'il faut penser à

activer la connexion Bluetooth du téléphone et que, dans le cas où la montre est déjà

appareillée avec un autre téléphone, il est possible de la réinitialiser (donc de relancer

l'appareillage avec un nouveau téléphone) en allant dans ses paramètres.

6.2 Configuration de la Galaxy Gear 2 Lite en mode développeur

Pour que le développement puisse se faire (rappelons que 3 éléments sont à programmer

dans le cas général), il faut configurer la montre en mode "développeur". Il s'agit du

premier point illustré sur la Figure 6-2.

Web Services AffichageRécupération

des données Interface

Internet

Client Java

Client Tizen

AffichageRécupération

des données Interface

bluetooth

AffichageRécupération

des données Interface

Samsung Gear Live

1

Figure 6-2. Premier élément : la configuration de la montre

Page 5: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 5

Après le démarrage de la Galaxy Gear 2 Lite (Figure 6-3), il faut se rendre dans le

menu Paramètres en faisant défiler les différents écrans de la droite vers la gauche

(Figure 6-4).

Figure 6-3. Démarrage de la Gear 2

Figure 6-4. Accès au menu Paramètres

Parvenu dans celui-ci, il faut faire défiler de haut en bas les différents sous-menus à la

recherche du menu Information (Figure 6-5) qu'il faut sélectionner. On accède alors à

un menu qui contient une case à cocher (nommée Débogage) qu'il faut activer (Figure

6-6).

Figure 6-5. Accès au menu Information

Figure 6-6. Activation du débogage

Dans ce menu on trouve A Propos qui contient des informations qui seront

intéressantes par la suite comme, par exemple, le numéro de version ou le numéro de

série (Figure 6-7).

Figure 6-7. Informations liées au périphérique

Page 6: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

6 Chapitre 6

Une fois connectée au PC via un câble USB, la montre doit apparaître automatiquement

dans la liste des périphériques du système (Figure 6-8).

Figure 6-8. Montre Samsung Gear 2 Lite connectée via USB à un PC

Si ce n'est pas le cas, c'est que les drivers ne sont pas installés. Le plus simple consiste

alors à installer Samsung Kies 3 ou une version ultérieure (Figure 6-9) qui est

disponible à l'adresse suivante :

http://www.samsung.com/uk/support/usefulsoftware/KIES/.

Le point précédent vérifié, il faut débrancher la montre du PC.

Figure 6-9. Kies sur le site de Samsung

Page 7: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 7

6.3 La montre Samsung Gear S

6.3.1 Présentation des environnements

La Samsung Gear S est une montre connectée autonome contrairement à la majorité des

montres présentées dans les chapitres de ce livre.

Son aspect extérieur est très soigné car cette montre Samsung correspond au modèle le

plus haut de gamme de la marque. Elle se distingue des autres montres par une forme

ergonomique, qui est censée suivre la forme d'un poignet. (Figure 6-10).

Figure 6-10. Samsung Gear S

Cette montre est compatible

uniquement avec un smartphone

Samsung. Même si elle possède une

carte SIM et qu'elle peut fonctionner

de manière autonome, il faut, pour

activer la montre, posséder l'un des

derniers téléphones Samsung.

L'emplacement pour la carte SIM est

situé sous la montre : il est prévu pour

une carte au format Micro SIM

(Figure 6-11).

La montre est équipée d'un écran tactile de grande taille, très réactif et de qualité

visuelle très supérieure à la moyenne des autres montres.

Figure 6-11. Emplacement de la carte SIM

Page 8: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

8 Chapitre 6

Cette montre est un objet autonome qui comporte un emplacement SIM pour accéder à

Internet sans passer par un téléphone et qui se programme via l'environnement Tizen.

Le développement sur ce type de montre pose peu de problèmes spécifiques, mais de

nouvelles possibilités sont offertes aux programmeurs, puisque la montre possède un

emplacement pour carte SIM et que de nombreuses fonctionnalités sont disponibles

sans la connexion au téléphone.

6.3.2 Configuration de la montre

Après le démarrage de la Galaxy Gear S, il faut se rendre dans le menu Paramètres en

faisant défiler les différents écrans du bas vers le faut (Figure 6-12).

Figure 6-12. Accès au menu Paramètres

Parvenu dans celui-ci, il faut faire défiler de haut en bas les différents sous-menus à la

recherche du menu Information (Figure 6-5) qu'il faut sélectionner. On accède alors à

un nouveau menu qui contient une case à cocher (intitulée Débogage) qu'il faut activer

(Figure 6-6).

Figure 6-13. Accès au menu Information

Figure 6-14. Activation du débogage

Page 9: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 9

Dans ce menu on trouve A Propos qui contient des informations qui seront

intéressantes par la suite comme, par exemple, le numéro de version ou le numéro de

série (Figure 6-7).

Figure 6-15. Contenu du menu A propos

Figure 6-16. Contenu du menu A propos

6.4 Environnement de développement Tizen

Cette partie présente l'installation et la configuration des outils nécessaires pour débuter

le développement avec les deux environnements Samsung : Tizen IDE et Tizen IDE

for Wearable.

6.4.1 Présentation des environnements

Tizen est le nom d'un système d'exploitation destiné à des téléphones portables et Tizen

SDK est un ensemble d'outils de développement créé par Samsung pour réaliser des

développements informatiques sur ces terminaux. Tizen désigne aussi le nom de

l'environnement de développement dédié aux développements d'applications pour les

téléphones portables, les montres, les téléviseurs, et aussi pour l'informatique

embarquée dans les voitures (plus généralement pour les objets connectés (Figure 6-17))

fonctionnant avec un système d'exploitation Tizen. Parmi eux, on peut citer la montre

Samsung Gear 2 Lite.

Il faut aussi noter que Samsung est un fabriquant de terminaux mobiles (des téléphones

par exemple) fonctionnant sous d'autres systèmes que le système Tizen dont il assure la

promotion. En particulier, les téléphones Samsung S4 ou S5 fonctionnent sous Android.

Page 10: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

10 Chapitre 6

Samsung Gear 2

Galaxy S5 Galaxy Note 3

Galaxy S4Samsung Z

Figure 6-17. Écosystème Samsung

6.4.2 Téléchargement des outils de développement pour la Samsung Galaxy Gear 2 Lite

Il faut se procurer l'environnement de développement spécifique à Tizen, disponible à

l'adresse suivante : https://developer.tizen.org/fr/.

Figure 6-18. Environnement Tizen Studio

Page 11: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 11

Sur la page web de Tizen (Figure 6-18), il faut sélectionner deux installateurs et deux

"images" en fonction des caractéristiques de la machine utilisée :

Tizen SDK et SDK Image : pour le développement sur téléphones mobiles ;

Tizen Wearable SDK et SDK Wearable Image : pour le développement sur les

montres.

Sur une machine Windows 64 bits, les quatre fichiers à télécharger sont ceux de la

Figure 6-19.

Figure 6-19. Les fichiers d'installation de Tizen Studio

6.4.3 Installation de Tizen IDE

Il faut démarrer l'installateur de Tizen qui se présente sous la forme d'un exécutable

tizen-sdk-windows64-v2.2.71.exe. Le programme se connecte automatiquement au site

et essaie de télécharger les derniers packages. C'est alors que, dans une grande majorité

de cas, on obtient un message d'erreur lié à des problèmes de disponibilité des serveurs

(Figure 6-20).

Figure 6-20. Erreur d'installation de Tizen Studio

Page 12: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

12 Chapitre 6

Pour remédier à ce type d'incident, il suffit de cliquer sur le bouton Advanced et de

choisir le fichier image téléchargé plus tôt (Figure 6-21) : tizen-sdk-image-2.2.1-

windows64.zip (le nom peut changer en fonction de la version de Tizen téléchargée).

Figure 6-21. Sélection du fichier correspondant au SDK

Il faut ensuite poursuivre l'installation via le bouton Next (Figure 6-22). L'installation

sur d'autres systèmes que Windows nécessite de procéder à une adaptation assez

conséquente de cette présentation comme le montre la Figure 6-23, qui propose une

interface très différente des menus obtenus sous Windows.

Figure 6-22. Installation de Tizen SDK

Page 13: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 13

Figure 6-23. Installation de Tizen SDK sous Linux Ubuntu

Il faut être vigilant au moment de choisir le type d'installation et sélectionner Custom

puis cocher tous les packages (Figure 6-24).

Figure 6-24. Installation complète

Page 14: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

14 Chapitre 6

Figure 6-25. Menu Tizen SDK

Une fois l'installation terminée, un

nouveau menu apparaît dans le menu

Démarrer de Windows (Figure 6-25).

Nommé Tizen SDK, il contient tous les

outils liés à Tizen.

6.4.4 Création d'un émulateur de téléphone sous Tizen

Figure 6-26. Emulator Manager dans Tizen

IDE

Dans l'environnement Tizen IDE, il

faut lancer le programme Emulator

Manager (Figure 6-26). Lors du

premier démarrage, dans l'onglet

tizen2.2, il n'y a aucune VM (Virtual

machine : Émulateur) d'installée

(Figure 6-27). Il faut cliquer sur le

signe "+" de la fenêtre afin de créer un

nouvel émulateur de téléphone.

Figure 6-27. Création d'un émulateur de téléphone sous Tizen

On peut, par

exemple, appeler ce

nouvel émulateur

TelephoneTizen et

garder les autres

paramètres à leur

valeur par défaut

(Figure 6-28).

Page 15: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 15

Figure 6-28. Création d'un émulateur de téléphone sous Tizen

Il suffit ensuite de

cliquer sur le bouton

Confirm pour

obtenir un émulateur.

Pour le démarrer,

cliquer sur le bouton

visualisé

sur la Figure 6-29.

Figure 6-29. Lancement de l'émulateur de téléphone Tizen

Le démarrage dure quelques minutes, le téléphone passe progressivement d'un état "en

cours de démarrage" semblable à la Figure 6-30 à l'état "démarré" de la Figure 6-31.

Une fois démarré, l'utilisateur peut par exemple, parcourir la liste des paramètres

disponibles sur l'émulateur (Figure 6-32).

Page 16: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

16 Chapitre 6

Figure 6-30. Démarrage

du téléphone 1/2

Figure 6-31. Démarrage

du téléphone 2/2

Figure 6-32. Liste des

paramètres

6.4.5 Installation de Tizen IDE for Wearable

Il s'agit de réaliser une opération similaire à celle utilisée pour l'installation de Tizen

IDE. Pour la machine de test utilisée, le fichier à exécuter est le suivant : tizen-

wearable-sdk-2.2.150_windows64.exe. Pour la même raison que précédemment, il est

préférable d'utiliser le fichier image déjà téléchargé (Figure 6-33).

Figure 6-33. Installation de Tizen Wear

Contrairement au cas précédent, il n'y a aucun élément supplémentaire à installer, et on

peut conserver les paramètres d'installation proposés par défaut (Figure 6-34).

Page 17: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 17

Figure 6-34. Éléments à installer

Dans le menu Démarrer de Windows, un deuxième menu apparaît sous le nom Tizen

SDK for Wearable (Figure 6-35).

Figure 6-35. Nouveau menu lié à Tizen Wearable

6.4.6 Création de l'émulateur de la montre Samsung Galaxy Gear 2 Lite

Il faut lancer le programme Emulator Manager et procéder de la même manière que

pour l'émulateur de téléphone sous Tizen en utilisant cette fois l'onglet Tizen Wearable

(Figure 6-36).

Page 18: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

18 Chapitre 6

Figure 6-36. Création d'un nouvel émulateur

Ensuite, on peut appeler ce nouvel émulateur SamsungGear2Lite par exemple et

garder les autres paramètres à leur valeur par défaut (Figure 6-37).

Figure 6-37. Création d'un nouvel émulateur de montre

Il suffit ensuite de cliquer sur le bouton Confirm pour rendre l'émulateur opérationnel.

Lors du démarrage, la montre passe progressivement d'un état "en cours de démarrage"

semblable à la Figure 6-38 à l'état "démarré" de la Figure 6-39. Une fois cette phase

Page 19: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 19

terminée, l'utilisateur peut alors faire défiler le contenu de la fenêtre avec le pointeur de

la souris et parvenir à l'écran qui liste les applications (Figure 6-40).

Figure 6-38. Démarrage

de la montre 1/2

Figure 6-39. Démarrage

de la montre 2/2

Figure 6-40. Après le

démarrage de la montre

6.4.7 Création d'un projet sous Tizen IDE for Wearable (projet destiné à une montre)

Dans le but de tester la configuration de l'environnement de développement, il est créé

ici une application très simple uniquement destinée à la montre Samsung Gear Lite 2.

Le code affecté à la montre ne gère pas les communications avec le smartphone et

comprend uniquement un affichage sous la forme d'un texte : l'indétrônable Hello

World (partie 1de la Figure 6-41).

Web Services AffichageRécupération

des données Interface

Internet

Client Java

Client Tizen

AffichageRécupération

des données Interface

bluetooth

AffichageRécupération

des données Interface

Samsung Gear Live

1

Figure 6-41. Création d'un projet sur la montre

Dans Tizen IDE for Wearable, il s'agit de créer un projet Tizen (Figure 6-42) destiné à

la Samsung Gear 2 Lite en choisissant comme type Tizen Web Project (Figure 6-43).

Figure 6-42. Création d'un nouveau projet dans Tizen IDE for Wearable

Page 20: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

20 Chapitre 6

Figure 6-43. Choix d'un projet pour une Samsung Gear 2 Lite

Ce projet nommé essaimontre utilise le template Wearable Basic application (Figure

6-44).

Figure 6-44. Création d'une application pour une Samsung Gear 2 Lite

Page 21: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 21

Le code généré de manière automatique est du code html avec des appels à des

fonctions javascript. On peut s'en apercevoir en ouvrant le fichier index.html (Figure

6-45).

Figure 6-45. Code généré pour la Samsung Gear 2 Lite

Il est possible de compiler et d'exécuter un code, soit sur un émulateur de Samsung Gear

2 Lite, soit directement sur une vraie montre.

6.4.8 Test d'un premier projet sur un émulateur

On commence par le démarrage du gestionnaire de périphérique et on poursuit par celui

de l'émulateur (Figure 6-46).

Figure 6-46. Démarrage de l'émulateur

Page 22: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

22 Chapitre 6

Figure 6-47. Émulateur démarré

L'émulateur ainsi défini doit apparaître

dans l'onglet Connection Explorer

(Figure 6-47).

Il faut ensuite procéder à la compilation du projet (Figure 6-48) qui une fois lancée

donne le résultat de la Figure 6-49.

Figure 6-48. Compilation

d'un projet

Figure 6-49. Progression de la compilation

La compilation génère un nouveau fichier appelé essaimontre.wgt (Figure 6-50).

Figure 6-50. Fichier généré par la compilation

Pour exécuter le fichier, il faut faire un clic droit sur essaimontre.wgt et choisir Run

AsTizen Wearable Web Application dans le menu contextuel (Figure 6-51).

Page 23: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 23

Figure 6-51. Exécution du projet sur un émulateur

Comme l'émulateur est le seul matériel compatible "connecté" au PC, l'application

s'exécute automatiquement sur ce dernier. On obtient alors le résultat de la Figure 6-52.

Figure 6-52. Résultat d'exécution sur le simulateur

6.4.9 Test d'un premier projet sur une montre Samsung Galaxy Gear 2 Lite

A présent il faut brancher la montre au PC. Normalement, la connexion est déjà

configurée et elle apparaît naturellement sous Windows (Figure 6-53).

Page 24: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

24 Chapitre 6

Figure 6-53. Montre Samsung Gear 2 Lite connectée par USB

La montre doit également apparaître dans l'onglet Connection Explorer de Tizen IDE

for Wearable (Figure 6-54).

Figure 6-54. Le projet avec la compilation

Cette fois, il y a deux matériels sur lesquels on peut déployer le programme :

l'émulateur et la montre. Si l'on veut exécuter l'application sur la montre, il faut penser à

faire un clic-gauche dessus dans Connection Explorer, avant de déployer

essaimonter.wgt. Par exemple sur la Figure 6-55, c'est l'émulateur qui a été sélectionné

et sur la Figure 6-56 c'est la montre, sous la désignation 53ff411b4100ed90 (SM-R381)

qui a été sélectionnée.

Page 25: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 25

Figure 6-55. Connection Explorer :

choix de l'émulateur

Figure 6-56. Connection Explorer :

choix de la montre

Figure 6-57. Résultat d'exécution sur une

montre Gear 2 Lite

L'application exécutée sur la montre

Samsung Galaxy Gear 2 Lite donne le

résultat de la Figure 6-57 et le résultat de

la Figure 6-58 sur une Gear S.

Figure 6-58. Résultat d'exécution sur une

montre Gear S

6.4.10 Conclusion

Cette étape a permis de jeter les bases du développement sur la montre connectée

Samsung Galaxy Gear 2 Lite et sur les téléphones mobiles sous Tizen. Il manque

cependant encore l'installation d'un environnement de développement pour téléphone

Android. Cet environnement sera présenté dans la partie suivante.

6.5 Environnement de développement Eclipse : ADT Bundle

Cette partie présente l'installation et la configuration de ADT Bundle, qui permet le

développement d'une application sur téléphone Android qui communique avec une

montre Samsung sous Tizen.

6.5.1 Présentation de l'environnement

Comme cela a été illustré dans les chapitres précédents, Android Studio est un nouvel

environnement assez facile d'accès pour développer sous Android. Cependant il ne faut

Page 26: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

26 Chapitre 6

pas oublier l'environnement Eclipse qui a déjà fait ses preuves depuis plusieurs années.

De plus, Samsung a mis en place pour ses montres, l'environnement de développement

Tizen IDE for Wearable ainsi qu'une librairie complète (pour Eclipse) pour gérer la

communication avec ses téléphones. Il semble donc naturel de présenter aux lecteurs

l'utilisation de l'IDE Eclipse dans le cadre de la programmation des montres connectées

Samsung.

6.5.2 ADT Bundle : téléchargement et configuration

Il est possible de réaliser des développements Java sur des téléphones Samsung à partir

de l'environnement de développement classique Eclipse ADT. Le meilleur tutorial

actuellement disponible sur le sujet, est celui proposé en vidéo à l'adresse suivante :

https://www.youtube.com/watch?v=XtAf7g0scAs&list=UUkDAwuCKUcY1qn-

hgNv0kLw.

Figure 6-59. Site d'ADT Bundle

La première opération consiste à télécharger et installer ADT Bundle qui comprend une

version d'Eclipse IDE configurée pour ADT (Android Developer Tools) avec les

composants d'Android SDK intégrés. Le fichier zip se trouve sur le site d'Android :

http://developer.android.com/sdk/index.html (Figure 6-59). Pour le test, la machine

utilisée est sous Windows 7, 64 bits. Il faut donc choisir la version d'ADT Bundle

correspondante (Figure 6-60).

Page 27: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 27

Figure 6-60. Téléchargement d'ADT Bundle

Une fois décompressés, il est conseillé de déposer l'intégralité des fichiers dans un

dossier appelé ADT Bundle à la racine du disque dur : C:\ADT Bundle (Figure 6-61).

Figure 6-61. Contenu d'ADT Bundle

Il faut ensuite récupérer les différentes API sur le site de Samsung à l'adresse suivante :

http://developer.samsung.com/home.do. Il existe deux méthodes pour récupérer ces

API : les télécharger directement, ou bien, configurer Eclipse pour qu'il les télécharge.

6.5.3 Méthode 1. téléchargement des API

Le API nécessaires au développement sont regroupées à l'adresse suivante :

http://developer.samsung.com/develop. Elles se trouvent dans la section Download

SDKs et se divisent en 13 catégories (Figure 6-62).

Page 28: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

28 Chapitre 6

Figure 6-62. API Samsung disponibles

Ces librairies peuvent être téléchargées séparément et enregistrées dans un répertoire où

elles apparaissent sous la forme de fichiers zip (Figure 6-63).

Figure 6-63. Les API téléchargées

Pour chaque API téléchargée, on peut dézipper le fichier et obtenir dans celui-ci un

sous-répertoire Libs qui contient les fichiers jar correspondants. Par exemple, pour le

dossier Libs de RemoteSensorSDK on obtient les fichiers de la Figure 6-64.

Figure 6-64. Dossier Libs de RemoteSensorSDK_v1.0.0

6.5.4 Méthode 2 : téléchargement des API par Eclipse

Il faut commencer par démarrer Eclipse ADT : l'exécutable se trouve dans le répertoire

téléchargé plus tôt et copié dans "C:\ADT Bundle" (Figure 6-65).

Page 29: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 29

Figure 6-65. Répertoire Eclipse

Il faut ensuite aller à la page : http://developer.samsung.com/download-center où

figurent deux liens vers le SDK pour Samsung Mobile. Le lien intéressant est celui

entouré sur la Figure 6-66 : faire un clic-gauche dessus et le lien sera automatiquement

copié.

Figure 6-66. API téléchargées

Ensuite dans un

éditeur de texte

(par exemple

Notepad++) copier

ce lien (touches

Ctrl+V). A la date

de la rédaction de

cet ouvrage, le lien

correspond à celui

de la Figure 6-67.

Figure 6-67. Lien vers le dépôt des librairies Samsung pour Eclipse

Page 30: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

30 Chapitre 6

Figure 6-68. Menu d'installation

de nouveaux logiciels

Dans Eclipse, sur le menu principal,

cliquer sur HelpInstall New

Software (Figure 6-68) puis dans la

nouvelle fenêtre qui apparaît, cliquer

sur Add (Figure 6-69), afin d'ajouter

un nouveau dépôt de librairies.

La fenêtre suivante, nommée Add

Repository, permet de donner un nom

au nouveau dépôt et d'entrer son

adresse (Figure 6-70). Ce nouveau

dépôt a été nommé "Samsung" et le

lien du champ "Location:" est celui

récupéré précédemment.

Figure 6-69. Fenêtre Available Software

Page 31: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 31

Figure 6-70. Ajout d'un nouveau Repository

De retour au menu Available Software, un nouveau dépôt est disponible: Samsung

Mobile SDK Manager (Figure 6-71). Il faut le cocher, puis cliquer sur Next.

Figure 6-71. Installation de Samsung Mobile SDK Manager

L'installation débute et il ne reste plus qu'à accepter les différentes licences et à

sélectionner tous les packages proposés en téléchargement. Il est demandé ensuite un

redémarrage d'Eclipse et une dernière confirmation avant l'installation des outils dans

Eclipse (Figure 6-72).

Figure 6-72. Installation de nouveaux éléments

Page 32: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

32 Chapitre 6

6.5.5 Emulateur de matériels Samsung : Remote Test Lab Samsung offre un service en ligne qui permet d'émuler plusieurs de ses appareils,

notamment les téléphones et les montres avec la possibilité d'émuler un couple

téléphone+montre déjà préconfiguré. Pour tester ces émulateurs, il faut se rendre sur le

site de Samsung à l'adresse suivante http://developer.samsung.com/home.do puis

ensuite dans l'onglet DEVICES qui liste les différents appareils de Samsung. Ainsi sur

la Figure 6-73, par exemple, on voit la montre Gear 2, un Galaxy S5 et un Galaxy

Note 3.

Figure 6-73. Site d'émulation des matériels de Samsung

Dans la section Remote Test Lab, on a la liste des matériels qui peuvent être émulés à

partir du site (Figure 6-74).

Figure 6-74. Choix d'un téléphone Android de type S5

Page 33: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 33

A titre d'exemple, on peut choisir de tester un Galaxy S5 lié avec une montre Gear 2,

pendant 2 heures. Cela donne la configuration matérielle suivante (Figure 6-75) :

OS : Android 4.4.2 ;

ID matériel : SM-G900F-KR2 with Gear2 ;

durée : Reserved for 2 hour(s).

Figure 6-75. Choix d'un téléphone S5 et d'une montre Gear 2

Bien choisir une durée est important car pour chaque demande, 15 minutes d'utilisation

coûtent un crédit et l'utilisateur dispose d'un total de 20 crédits par jour. Ceci lui assure

donc 5 heures cumulées de tests, ce qui est bien suffisant dans notre cas. Notons tout de

même que l'utilisation de ce service requiert d'être enregistré auprès de Samsung. Il

suffit pour cela d'avoir une adresse mail valide (Figure 6-76).

Figure 6-76. Identification de l'utilisateur

Une fois identifié, on a la possibilité de télécharger deux programmes (Figure 6-77) :

l'un pour le téléphone (Host) et l'autre pour la montre (Wearable). A noter, sur cette

même figure, le coût en crédits de cette manipulation.

Page 34: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

34 Chapitre 6

Figure 6-77. Section de téléchargement des deux simulateurs

Les deux fichiers téléchargés sont des fichiers de type JNLP (Figure 6-78) c'est-à-dire

des fichiers liés à la technologie Java Web Start qui permet de déployer facilement des

applications Java sur les navigateurs.

Figure 6-78. Section de téléchargement des deux simulateurs

Le résultat du lancement est donné sur la Figure 6-79 pour le téléphone et sur la Figure

6-80 pour la montre.

Figure 6-79. Simulateur du Samsung

Galaxy S5

Figure 6-80. Simulateur de la montre

Samsung Galaxy Gear 2

Page 35: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 35

Une fois les deux émulateurs lancés, il faut aussi lancer, sur l'émulateur du téléphone, le

Gear Manager qui se trouve dans la liste des applications. L'icône ressemble à la

Figure 6-81.

Figure 6-81. Icône Gear Manager sous Android

Au démarrage, le téléphone doit faire apparaître la montre dans l'état déconnecté sous

une forme identique à celle présentée sur la Figure 6-82. La demande de connexion va

prendre plusieurs secondes sur un PC standard (Figure 6-83).

Figure 6-82. Le téléphone non connecté à

la montre

Figure 6-83. Le téléphone pendant la

connexion

Une fois la connexion établie, le simulateur du téléphone se présente comme celui de la

Figure 6-84.

Page 36: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

36 Chapitre 6

Figure 6-84. Le simulateur du téléphone connecté à la montre

L'utilisateur dispose alors d'un émulateur pour le téléphone et d'un autre pour la montre,

avec l'avantage qu'ils sont appariés.

6.5.6 Conclusion

Jusqu'ici il a été question de l'installation et de la configuration de l'ensemble des outils

nécessaires pour débuter la programmation de montres connectées de Samsung sous

Tizen. Il s'agit maintenant d'utiliser ces outils avec quelques exemples simples de

développement.

6.6 Importation d'un projet classique de Samsung

Dans cette partie, il s'agit d'utiliser un projet réalisé par Samsung afin de tester les

environnements de développement installés.

6.6.1 Projets : Provider et Consumer

On peut utiliser un des exemples disponibles sur la page des développeurs Samsung

(http://developer.samsung.com/samsung-gear). Ici il a été choisi l'exemple Hello

Accessory qui est le premier de la section Samples (Figure 6-85).

Page 37: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 37

Figure 6-85. Les exemples disponibles sur le site de Samsung

Une fois téléchargée et décompressée, on constate que l'archive contient deux sous-

répertoires, le premier contient les fichiers apk et l'autre les codes sources (Figure 6-86).

Figure 6-86. Contenu de l'archive

Les sources se composent de deux parties indépendantes (Figure 6-87) : l'une contient le

code pour le téléphone (dossier HelloAccessoryProvider) et l'autre le code pour la

montre (dossier HelloAccessoryConsumer).

Figure 6-87. Les deux parties du code proposé dans le projet

Page 38: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

38 Chapitre 6

Le code récupéré sur le site de Samsung comprend deux parties (Figure 6-88) : une

destinée à la montre (qui nécessite l'utilisation de Tizen for Wearable) et une autre

destinée au téléphone (qui nécessite l'utilisation d'Eclipse ou d'Android Studio).

Web Services AffichageRécupération

des données Interface

Internet

Client Java Client Tizen

AffichageRécupération

des données Interface

bluetooth

AffichageRécupération

des données Interface

Samsung Gear Live

1

Eclipse ADT

2

Figure 6-88. Création d'un projet

6.6.2 Programmation de la montre : HelloAccessoryConsumer

Cette programmation doit être conduite à partir de l'IDE Tizen IDE for Wearable.

Figure 6-89. Tizen IDE for Wearable :

importer un projet

Une fois démarré, il faut choisir Import

dans le menu File (Figure 6-89) et

sélectionner le type d'application à importer

(Figure 6-90).

Figure 6-90. Projet de type Web

Sur la fenêtre suivante, intitulée Import Widget, il faut cliquer sur le bouton Browse…

afin de sélectionner le projet HelloAccessoryConsumer précédemment téléchargé

(Figure 6-91).

Page 39: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 39

Figure 6-91. Choix du projet HelloAccessoryConsumer

De retour à la fenêtre Import Widget, on peut constater que le projet

HelloAccessoryConsumer est bien répertorié et il ne reste plus alors qu'à valider par le

bouton Finish (Figure 6-92).

Figure 6-92. Valider l'importation du projet HelloAccessoryConsumer

Dans l'IDE, on retrouve le nouveau projet juste en dessous de l'ancien (Figure 6-93).

Page 40: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

40 Chapitre 6

Figure 6-93. Importation du projet HelloAccessoryConsumer

Figure 6-94. Ouverture du fichier

index.html

Une fois le projet ouvert, on peut

sélectionner le fichier index.html (Figure

6-94) et utiliser les icônes du menu

(Figure 6-95) pour basculer dans le mode

de conception.

Figure 6-95. Projets HelloAccessoryConsumer dans Tizen IDE for Wearable

Ensuite il faut compiler le projet en utilisant le menu Project (Figure 6-96).

Figure 6-96. Compilation d'un projet

Page 41: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 41

Figure 6-97. Le projet après compilation

Comme pour le premier projet, le résultat

de la compilation est un fichier appelé

HelloAccessoryConsumer.wgt (Figure

6-97).

6.6.3 Programmation du téléphone : HelloAccessoryProvider

Figure 6-98. Importation d'un projet

Il faut démarrer Eclipse, précédemment

téléchargé et installé. Afin d'importer le

projet, dans le menu File en haut à gauche

de l'IDE, choisir Import (Figure 6-98).

Cela donne accès à un écran qui permet de

choisir le type de projet à importer : ici il

s'agit d'un projet Android qui existe déjà

dans l'espace de travail (Figure 6-99).

Figure 6-99. Importation d'un projet de

type Android mobile

Page 42: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

42 Chapitre 6

Sur la fenêtre suivante, en utilisant le bouton , il faut se déplacer dans

l'arborescence du disque dur et sélectionner le sous-répertoire concerné qui se trouve

dans le répertoire Sources et se nomme HelloAccessoryProvider (Figure 6-100). Il ne

reste plus qu'à valider comme sur la Figure 6-101.

Figure 6-100. Sélection de

HelloAccessoryProvider

Figure 6-101. Importation du projet

HelloAccessoryProvider

Une fois l'importation terminée, on obtient un projet Android presque classique sauf

que, dans le sous-répertoire assets, se trouve déjà le fichier

HelloAccessoryConsumer.wgt qui provient d'une compilation réalisée sous Tizen

(Figure 6-102).

Figure 6-102. Contenu du projet Android

Ce fichier HelloAccessoryConsumer.wgt est fourni par Samsung. En fait c'est le

fichier généré par Tizen IDE for Wearable. Attention à ne pas remplacer ce fichier

pour le moment. Il faut utiliser le clic droit de la souris pour faire une copie (Figure

6-103) de ce fichier sous le nom de HelloAccessoryConsumer_original.wgt (Figure

6-104).

Page 43: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 43

Figure 6-103. Copie de

HelloAccessoryConsumer.wgt

Figure 6-104. Nouveau fichier

HelloAccessoryConsumer_original.wgt

6.6.4 Vérification du téléphone et de la montre

L'application Gear Manager doit être démarrée sur le téléphone (Figure 6-105) et la

connexion téléphone-montre doit être activée. L'écran d'accueil comprend un accès

direct aux applications installées sur la montre via le bouton . Après un clic sur

celui-ci, on obtient une liste qui ressemble à celle de la Figure 6-106.

Figure 6-105. Gear Manager

Figure 6-106. Applications de la montre

Comme pour un projet standard, il faut sélectionner le projet puis dans le menu Project,

cliquer sur Build All (Figure 6-107).

Page 44: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

44 Chapitre 6

Figure 6-107. Génération du projet HelloAccessoryProvider

Pour démarrer le projet ainsi généré, aller dans le menu RunRun AsAndroid

Application (Figure 6-108).

Figure 6-108. Exécution comme une application Android

S'il y a plusieurs matériels sur lesquels il est possible de déployer le téléphone, un

nouvel écran, nommé Android Device Chooser, propose un choix à l'utilisateur. Dans

notre cas, on trouve un émulateur et un téléphone Samsung S4 connecté via USB au PC.

Ce téléphone apparaît dans la liste des périphériques (Figure 6-109).

Figure 6-109. Choix de l'appareil de destination

Page 45: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 45

Figure 6-110. Déploiement réussi

Une fois sélectionné le

téléphone, l'application

destinée à la montre, passe

par le Gear Manager du

téléphone pour se déployer

automatiquement sur la

montre. Ainsi elle apparaît

dans le Gear Manager

(Figure 6-110) du téléphone

et sur la montre.

Sur la montre, on peut maintenant démarrer l'application en cliquant sur l'icône

HelloAccessoryConsumer présente parmi d'autres applications (Figure 6-111).

Figure 6-111. Accès à la liste des applications du téléphone

On obtient alors une interface composée de trois boutons (Figure 6-112) et similaire à ce

qu'on avait dans l'IDE sous Tizen IDE for Wearable (Figure 6-95). Afin de tester

l'application, il suffit de cliquer sur le bouton de gauche : Connect. Une confirmation

est alors demandée (Figure 6-113) et il suffit de cliquer sur OK pour revenir à l'écran

précédent avec le nouveau message : StartConnection().

Page 46: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

46 Chapitre 6

Figure 6-112. Application

HelloAccessoryConsumer

en cours d'exécution

Figure 6-113. Connexion

établie avec le téléphone

Figure 6-114. Application

HelloAccessoryConsumer

après connexion au

téléphone

6.6.5 Exportation du projet HelloAccessoryProvider sous la forme d'un fichier APK

ADT Bundle permet également de générer un fichier APK qui est un installateur des

applications mobiles. Il faut faire un clic droit sur le projet puis dans le menu contextuel

qui apparaît, choisir Export (Figure 6-115).

Figure 6-115. Exportation d'un projet

Dans la fenêtre qui suit, il faut choisir Export Android Application (Figure 6-116).

Page 47: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 47

Figure 6-116. Exportation d'une

application Android

Le fichier apk devant être signé, il faut

disposer d'un jeu de clés. Si ce n'est pas le

cas, il faut le créer en choisissant un

répertoire (ici C:\cleandroidtizen\), un

nom de fichier (ici cle.txt) et un mot de

passe (par exemple objetsconnectes)

comme sur la Figure 6-117.

Figure 6-117. Création des clés de cryptage

L'étape suivante concerne la

saisie des détails du certificat

et en particulier de l'Alias

(Figure 6-118). Encore une

fois, on peut prendre

objetsconnectes comme mot

de passe.

Figure 6-118. Information sur la clé de cryptage

Comme fichier destination, on peut donner le chemin d'accès vers le répertoire du projet

HelloAccessoryProvider (Sources\HelloAccessoryProvider) et choisir un nom de

fichier adéquat (par exemple accessory.apk).

Ces informations sont à saisir dans la fenêtre représentée par la Figure 6-119.

Page 48: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

48 Chapitre 6

Figure 6-119. Fichier de destination de l'APK à générer

Une fois validé, le fichier apparaît au bout de quelques secondes (Figure 6-120).

Figure 6-120. Le répertoire avec le fichier accessory.apk

6.6.6 Désinstallation de l'application HelloAccessoryConsumer précédemment installée

Pour pouvoir tester ultérieurement l'installation avec le fichier apk nouvellement créé, il

faut d'abord désinstaller le programme qui est déjà sur la montre.

Pour cela, il faut se rendre, comme précédemment, dans la liste des applications de

Gear Manager et cliquer sur l'icône en haut de l'écran (Figure 6-121).

Page 49: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 49

On obtient alors dans le menu Désinstaller, la liste des applications qui sont

susceptibles d'être désinstallées. Parmi celles-ci, on trouve HelloAccessoryConsumer

qu'on doit supprimer à l'aide du signe à l'extrémité droite de la ligne (Figure 6-122).

Figure 6-121. Liste des applications

Figure 6-122. Applications effaçables

La procédure de désinstallation va demander une confirmation par l'intermédiaire d'une

popup identique à celle de la Figure 6-123.

Figure 6-123. Confirmation de désinstallation

On constate alors dans Gear Manager et dans la montre que l'application a disparu.

Page 50: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

50 Chapitre 6

6.6.7 Installation sur une montre à partir du fichier APK

En utilisant l'explorateur de fichier de Windows, il faut copier le fichier apk sur un

emplacement du téléphone. Par exemple, on peut le copier dans le répertoire

DCIM/Camera qui est l'emplacement où habituellement les photos sont stockées

(Figure 6-124).

Figure 6-124. Dépôt du fichier apk sur un téléphone Galaxy S4

Il faut ensuite utiliser un explorateur de fichiers sur le téléphone. Il en existe de

nombreux qu'on peut installer sur son téléphone, mais le plus simple consiste à utiliser

l'icône nommé Mes fichiers (Figure 6-125).

Une fois démarré, il faut parcourir l'arborescence des fichiers et se positionner dans le

répertoire DCIM/Camera qui contient le fichier apk précédemment déposé (Figure

6-126).

Page 51: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 51

Figure 6-125. Accès aux fichiers

Figure 6-126. Accès aux fichiers

La sélection du fichier accessory.apk conduit à un menu de confirmation qui renseigne

sur les autorisations que demande l'application : il faut alors choisir Installer (Figure

6-127). On obtient ensuite un message de réussite (Figure 6-128).

Figure 6-127. Procédure d'installation

Figure 6-128. Installation réussie

Page 52: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

52 Chapitre 6

Figure 6-129. Application

HelloAccessoryConsumer

après installation par un fichier apk

On peut se rendre dans le menu

Applications de la Samsung Galaxy Gear

2 Lite, et constater que l'application

apparaît à nouveau (Figure 6-129).

6.6.8 Installation sur un émulateur de téléphone à partir du fichier APK

La création des émulateurs via le site de Samsung a été présentée au début de ce

chapitre. Rappelons simplement qu'il faut se rendre sur la page suivante :

http://developer.samsung.com/home.do. Cette fois, on peut choisir, par exemple, un

téléphone Galaxy S4 accompagné d'une montre Gear 2 (Figure 6-130).

Figure 6-130. Installation d'un simulateur ad hoc via Samsung

Sur la Figure 6-130, il a été choisi un serveur au Royaume

Uni. D'autres emplacements sont possibles (en Corée par

exemple). De nombreux problèmes de connexions sont à

déplorer sur certains serveurs. Les problèmes de disponibilité

semblant se déplacer d'un serveur à l'autre en fonction du

moment de la journée, une solution consiste à tenter le

téléchargement d'une nouvelle machine avec un serveur

attaché à un lieu géographique différent.

Une fois les deux émulateurs en fonctionnement, on peut démarrer Gear Manager sur

le téléphone et vérifier que l'appariement a été réalisé et que les deux matériels sont

connectés. Ensuite, il faut accéder à la liste des applications installées sur la montre

(Figure 6-131).

Page 53: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 53

Figure 6-131. Émulateurs téléphone Galaxy S4 et montre Samsung Gear 2

Il faut faire un clic droit en haut du téléphone (sur le logo Samsung par exemple) et

choisir dans le menu contextuel Application Manager.

Figure 6-132. Installation de accessory.apk sur des émulateurs

de téléphone et montre Samsung

Page 54: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

54 Chapitre 6

Ceci fait apparaître le menu dans lequel, il faut choisir New et aller sélectionner le

fichier apk correspondant c'est-à-dire accessory.apk (Figure 6-132). Il faut ensuite

terminer en utilisant le bouton Installer.

Figure 6-133. Projets HelloAccessory sur les

émulateurs

Une fois l'installation

terminée, on peut constater

que l'application apparaît dans

le Gear Manager et qu'elle

apparaît aussi sur l'émulateur

de la montre de manière

identique à ce qu'on aurait eu

sur une vraie montre.

On peut ensuite, comme sur une vraie montre, démarrer l'application (Figure 6-134).

Figure 6-134. Démarrage de l'application

Page 55: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 55

6.6.9 Conclusion

Le test de ce projet réalisé par Samsung permet de vérifier la bonne configuration des

installations. L'exemple proposé dans la section suivante est une opportunité pour

aborder une procédure spécifique à Samsung, à savoir la demande de certificat de

développeur.

6.7 Certificat de développeur : une porte ouverte vers le monde Samsung

Dans cette partie, le lecteur est amené à apporter une petite modification au programme

précédent fourni par Samsung. Il s'agit de réaliser une demande de certificat de

développeur. Cette procédure, propre à Samsung est une étape indispensable pour

ajouter des fonctionnalités avancées aux applications.

6.7.1 Nécessité d'un certificat

Comme cela été montré dans la section précédente, le déploiement et la signature d'un

nouveau fichier apk ne pose pas de problème particulier que ce soit sur une vraie montre

Galaxy Gear 2 Lite ou sur l'émulateur de Samsung. Après la relance de Tizen IDE for

Wearable et à partir du projet HelloAccessoryConsumer précédent, on peut ajouter

dans le fichier index.html la phrase suivante "Ceci est une démonstration" dans le

fichier, comme sur la Figure 6-135.

Figure 6-135. Modification de l'application Tizen

Recompiler ensuite le projet avec le menu Build All (Figure 6-136).

Page 56: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

56 Chapitre 6

Figure 6-136. Recompilation du projet

Par un retour dans le projet HelloAccessoryProvider dans Eclipse, puis dans le dossier

assets, il faut supprimer l'ancien fichier HelloAccessoryConsumer.wgt par un clic

droit (Figure 6-137).

Figure 6-137. Suppression de l'ancien fichier HelloAccessoryConsumer.wgt

A présent il ne reste plus qu'à copier le fichier HelloAccessoryConsumer.wgt

nouvellement généré dans Tizen IDE for Wearable vers le dossier assets d'Eclipse. Pour

cela un glisser-déposer à la souris, à travers les deux environnements, suffit.

Page 57: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 57

Figure 6-138. Copie du nouveau fichier HelloAccessoryConsumer.wgt vers le projet

HelloAccessoryProvider ouvert dans Eclipse

Au moment de conclure l'opération, il faut

sélectionner Copy files afin de créer une copie du

fichier dans le projet HelloAccessoryProvider

(Figure 6-139).

Figure 6-139. Validation de la copie du fichier

HelloAccessoryConsumer.wgt

Le projet sous Eclipse peut ensuite être compilé puis

exécuté sur un téléphone : dans notre cas c'est un

Samsung Galaxy S4 (Figure 6-140). Mais avant, il

faut s'assurer, à travers Gear Manager d'avoir

désinstallé l'ancienne version sur la montre.

On peut constater que le déploiement ne fonctionne

pas.

Figure 6-140. Echec de

l'installation

Le lecteur peut aussi essayer de déployer directement sur la montre le projet

HelloAccessoryConsumer modifié, à partir de Tizen IDE for Wearable. Ce sera aussi

un échec avec le message d'erreur de la Figure 6-141. En fait, pour ses montres,

Samsung a mis en place différents niveaux de sécurité.

Page 58: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

58 Chapitre 6

Figure 6-141. Échec de l'installation

Le projet HelloAccessory, côté téléphone et côté montre, nécessite une communication

entre les deux matériels : ce qui requiert une autorisation supplémentaire par rapport au

premier projet sur la montre, présenté au début de ce chapitre. Dans l'objectif de faciliter

les futurs travaux sur la montre, la partie ci-dessous décrit la procédure à suivre pour

obtenir un certificat. Ce dernier permet de signer les applications, les autorisant ainsi à

être testées sur les différents matériels et à être proposées dans le Samsung Galaxy

Apps Sellers Office. Le certificat ainsi obtenu est lié au PC à partir duquel est faite la

demande.

Attention, la procédure de demande de certificat est relativement longue, mais

heureusement qu'il suffit de la faire une seule fois ! Elle est résumée par le schéma de la

Figure 6-142.

Figure 6-142. Schéma de la procédure d'obtention

de certificat auprès de Samsung

Page 59: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 59

6.7.2 Génération d'une demande de certificat

Dans un premier temps il faut générer la demande de certificat à partir de Tizen IDE

for Wearable. C'est le premier point du schéma de la Figure 6-142.

Il est ensuite nécessaire de connaitre le Device Unique IDentifier (DUID) de la montre

Gear 2 Lite sur laquelle l'application sera testée. Pour cela, dans l'onglet Connection

Explorer, il faut faire un clic droit sur la montre et choisir Properties (Figure 6-143).

Figure 6-143. Accès aux propriétés de la montre Gear 2

A la fenêtre suivante (Figure 6-144), on constate que la montre utilisée lors de l'écriture

de ce livre a pour DUID : K██████████████████.

Figure 6-144. Accès au DUID de la montre Gear 2

Page 60: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

60 Chapitre 6

A présent, il s'agit de générer la demande de certificat. Il faut utiliser l'icône dans la

(barre des icônes de l'IDE) pour obtenir la fenêtre Generate Certificate Request

(Figure 6-145). Il faut remplir tous les champs. Comme mot de passe du Private Key

Password, on peut par exemple choisir livregear. Avec l'aide du bouton Add, ajouter le

DUID précédent.

Figure 6-145. Création du certificat

Il faut ensuite utiliser le bouton OK et valider la demande. Cela entraine la génération

d'un fichier xml dans le sous-répertoire de Tizen. Ceci est résumé sur la fenêtre qui

apparaît à l'écran une fois la génération terminée (Figure 6-146).

Figure 6-146. Génération de la clé

Le fichier se trouve enregistré dans le répertoire d'installation du sdk, ce qui sur la

machine de test utilisée donne le chemin suivant : C:\tizen-wearable-sdk-

data\keystore et le dossier C:\tizen-wearable-sdk-data est normalement invisible sous

Windows. Ainsi le nouveau fichier nommé certificate-request.xml peut être retrouvé

dans le répertoire \keystore (Figure 6-147).

Page 61: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 61

Figure 6-147. Contenu du répertoire keystore

Le contenu du fichier correspond aux informations utilisées pour générer le certificat

comme on peut le constater en éditant le fichier (Figure 6-148).

Figure 6-148. Contenu du fichier

Page 62: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

62 Chapitre 6

6.7.3 Récupération d'un logiciel de cryptage PGP et création d'un trousseau de clés

Dans un second temps il s'agit de récupérer un logiciel de cryptage qui utilise la

méthode de chiffrement asymétrique. Ce sont les points 2 et 3 du schéma de la Figure

6-149.

Développeur Internet

Serveur de clés publiques

PGP

Samsung Developer

Center

1. Création d’une demande de certificat

2. Installation de PGP

4. Récupération de la clé publique de Samsung

3. Génération du trousseau de clésdu développeur

5. Cryptage du courrier à envoyer avec la clé de Samsung

8. Décryptage du certificat reçu avec la clé privée du développeur

6. Envoi du courrier

7. Réception du courrier avec le certificat

Figure 6-149. Schéma de la procédure d'obtention de certificat auprès de Samsung :

étapes 2 et 3

Cette méthode repose sur l'utilisation d'une clé publique et d'une clé privée par

requérant. La clé publique peut être diffusée aux autres entités alors que la clé privée est

personnelle. Le principe du cryptage est simple : seule la clé publique permet de

déchiffrer un contenu crypté par la clé privée et seule la clé privée peut déchiffrer un

contenu crypté par la clé publique. Par exemple, un expéditeur (entité 1) peut utiliser la

clé publique de son destinataire (entité 2) pour encoder le message qu'il lui envoie.

Ainsi seul le destinataire (entité 2), (qui possède sa clé privée) peut décoder le message.

Réciproquement, l'expéditeur peut utiliser sa propre clé privée pour coder son message,

alors seuls les destinataires qui possèdent sa clé publique peuvent décrypter le message.

Figure 6-150. Site web de GPG

Page 63: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 63

Un des logiciels préconisés par Samsung est GPG (GnuPG : GNU Privacy Guard).

C'est la version sous licence "libre" (GNU free software) du célèbre programme de

cryptage PGP (Pretty Good Privacy). GPG peut être récupéré sur son site officiel :

http://www.gpg4win.org (Figure 6-150).

A la date où ce livre est écrit, la version disponible est la version 2.2.1 (Figure 6-151).

Figure 6-151. Téléchargement du GPG

Au moment de l'installation, il faut penser à installer le composant GPA en cochant la

case correspondante (Figure 6-152).

Figure 6-152. Installation de GPG

Figure 6-153. Démarrage de GPG

Une fois installé, il faut exécuter le fichier nommé GPA du menu Démarrer (Figure

6-153).

Dans le menu Clefs, on trouve le sous menu Nouvelle clef qui va permettre la

génération d'un nouveau trousseau "clé publique / clé privée" (Figure 6-154). Afin de

Page 64: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

64 Chapitre 6

créer une paire de clés valables, différentes informations sont demandées. Il est

conseillé au lecteur d'apporter le plus grand soin dans le renseignement de ces champs.

Figure 6-154. Création d'une nouvelle clé

Il faut saisir son nom (ici Lacomme) sur la première fenêtre qui apparaît. La deuxième

étape consiste à fournir une adresse email, ici [email protected], l'adresse d'un des

auteurs de ce livre.

Il faut ensuite saisir un mot de passe (Figure 6-155), par exemple livregear. Dans le

contexte de ce livre, il est inutile de faire une sauvegarde des clés.

Figure 6-155. Saisie d'un mot de passe

Une fois générée, la clé apparaît dans le trousseau de clés, sur l'écran principal (Figure

6-156). Il faut noter que la définition d'une clé comprend plusieurs éléments :

Le nom du propriétaire (ici [email protected])

L'ID de la clé (ici 8491D3C6)

Une empreinte avec éventuellement une date d'expiration.

Page 65: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 65

Figure 6-156. Liste des clés

6.7.4 Récupération de la clé publique de Samsung

Il s'agit maintenant de récupérer la clé publique de Samsung. C'est le point 4 du schéma

de la Figure 6-157.

Figure 6-157. Schéma de la procédure d'obtention de certificat auprès de Samsung :

étape 4

Samsung met à disposition sa clé publique sur différents serveurs :

http://keyserver.pgp.com ;

http://pgp.mit/edu ;

htpp://pgp.uni-mainz.de.

Page 66: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

66 Chapitre 6

De manière tout à fait arbitraire, il a été choisi ici http://keyserver.pgp.com (Figure

6-158).

Figure 6-158. Recherche de la clé

La recherche des clés se

réalise avec l'adresse mail

[email protected],

puisque c'est l'adresse à

laquelle il faut envoyer la

demande de certificat :

certificate-request.xml.

Un résultat similaire, et tout

aussi juste, aurait été obtenu

en utilisant l'ID de la clé qui

est ici : 4D8CE45C (Figure

6-159).

Figure 6-159. Recherche avec l'ID de la clé

En utilisant le bouton , on peut télécharger le fichier correspondant. Il faut ensuite

revenir à GPG et choisir Importer des clefs dans le menu Clefs (Figure 6-160). Cela

permet de chercher la clé publique de Samsung qui vient d'être téléchargée et de

l'importer sur GPG. La clé apparaît dans le trousseau des clés (Figure 6-161).

Figure 6-160. Importation de la clé

Figure 6-161. Liste des clés après

importation

Page 67: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 67

6.7.5 Cryptage de la demande de certificat et de la clé publique

Il s'agit de crypter la demande de certificat (certificate-request.xml) et la clé publique

précédemment créée (clé publique utilisateur) avec la clé publique de Samsung.

Samsung sera alors le seul à être capable de décrypter le fichier reçu : il utilisera pour

cela sa clé privée. C'est le point 5 du schéma de la Figure 6-162.

Figure 6-162. Schéma de la procédure d'obtention de certificat

auprès de Samsung : étape 5

Pratiquement il faut se rendre dans le menu Fenêtres de GPG, puis choisir

Gestionnaire de fichiers (Figure 6-163).

Figure 6-163. Accès au gestionnaire de fichiers

Grâce au bouton Ouvrir de la fenêtre suivante, il est possible d'aller chercher la

demande de certificat : certificate-request.xml (Figure 6-164).

Page 68: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

68 Chapitre 6

Figure 6-164. Sélection de la demande de certificat

Ensuite il faut choisir le fichier à crypter (certificate-request.xml), puis cliquer sur le

bouton Chiffrer et choisir la clé publique de Samsung (Figure 6-165).

Figure 6-165. Sélection de la clé publique de Samsung

Une fenêtre de confirmation apparaît qui rappelle que le chiffrement sera réalisé avec la

clé publique de Samsung et que de ce fait, seul ce dernier sera capable de déchiffrer le

fichier créé.

Page 69: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 69

Figure 6-166. Validation du chiffrement par la clé publique de Samsung

Après un clic sur le bouton , un nouveau fichier est créé. Il a le même nom que

le fichier d'origine avec l'extension .gpg en plus (Figure 6-167).

Figure 6-167. Nouveau fichier de demande de certificat crypté

Il s'agit à présent de crypter la clé publique. Rappelons que cette clé publique fait partie

du trousseau des deux clés précédemment générées avec le logiciel GPG.

La clé publique permet à n'importe quelle autre personne de crypter ses données pour

qu'ensuite seul l'utilisateur propriétaire de la clé publique puisse les déchiffrer.

Les manipulations sont presque les mêmes. La seule différence réside dans le nom du

fichier qui contient la clé publique. Ainsi sur la Figure 6-168, la clé publique a été

cryptée avec la clé publique de Samsung.

Page 70: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

70 Chapitre 6

Figure 6-168. Nouveau fichier de clé publique crypté

6.7.6 Envoi d'email de demande de certificat à Samsung

Il faut à présent envoyer un mail qui contient les deux fichiers cryptés : la demande de

certificat (certificate-request.xml.gpg) et la clé publique (dans le contexte de ce livre

secret-key-A91BAD42.asc.gpg). C'est l'étape 6 dans le schéma de la procédure

d'obtention de certificat auprès de Samsung (Figure 6-169).

Figure 6-169. Schéma de la procédure d'obtention de certificat auprès de Samsung :

étape 6

Il suffit d'envoyer un mail à [email protected] avec les deux fichiers en pièces

jointes. Le lecteur peut, par exemple, utiliser Gmail comme sur la Figure 6-170. Lors de

notre demande, notre courrier ne contenait aucun message, seulement les deux fichiers

joints. Cependant, rien n'empêche le lecteur d'écrire un mot pour la personne qui traitera

le courrier car, suite à nos tests, il semblerait que les demandes sont traitées par des

employés de Samsung, et non de manière automatisée.

Page 71: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 71

Figure 6-170. Courrier de demande de certificat auprès de Samsung

Sur le site de Samsung à destination des développeurs

(http://developer.samsung.com/samsung-gear#), la vidéo

intitulée Generating Certification, précise qu'il faut en plus

crypter le mail envoyé à [email protected]. Bien que

dans notre cas cela n'a pas été utile et que, dans la procédure

normale de demande de certification rédigée sur le site cela ne

soit pas mentionné, nous ajoutons dans la suite de ce chapitre,

la démarche à suivre pour crypter un mail avec le logiciel de

messagerie Thunderbird basé sur PGP.

6.7.7 Récupération de la réponse et déchiffrement

Ce sont les étapes 7 et 8 du schéma de la Figure 6-171, où il s'agit de récupérer et de

déchiffrer le certificat.

Figure 6-171. Schéma de la procédure d'obtention de certificat auprès de Samsung :

étapes 7 et 8

La procédure chez Samsung est relativement rapide. Une fois que la demande de

certificat est envoyée, il leur faut, au plus, 48 heures pour répondre (Figure 6-172). La

Page 72: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

72 Chapitre 6

réponse est un fichier avec l'extension gpg : certificate-registration.xml.gpg. Il suffit

alors de le décrypter avec la clé privée enregistrée dans le logiciel PGP.

Figure 6-172. Réponse de Samsung : certificate-registration.xml.gpg

Pour cela, la manipulation est semblable à celle de l'étape du cryptage. Une fois arrivé à

la fenêtre de Gestionnaire de fichiers, il faut ouvrir le fichier réceptionné (certificate-

registration.xml.gpg) et cliquer sur l'icône Déchiffrer (Figure 6-173). De là, il faut

entrer le mot de passe de la clé privée. Il s'agit de livregear si le lecteur a conservé le

mot de passe conseillé dans ce chapitre.

Figure 6-173. Déchiffrage du fichier certificate-registration.xml.gpg

Lorsque le déchiffrement a été réalisé, un nouveau fichier apparaît dans le Gestionnaire

de fichiers : certificate-registration.xml (Figure 6-174). C'est le certificat (tant

espéré…).

Page 73: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 73

Figure 6-174. Génération du certificat : certificate-registration.xml

6.7.8 Utilisation du certificat

A présent, il ne reste plus qu'à utiliser le certificat dans Tizen IDE for Wearable. Après

un retour sur le projet HelloAccessoryConsumer et une fois le projet sélectionné, il

faut cliquer sur le bouton Register Certificat afin d'importer le nouveau certificat

(Figure 6-175).

Figure 6-175. Importation d'un nouveau certificat

Dans la fenêtre qui apparaît (Figure 6-176), il faut aller chercher le fichier avec le

bouton Browse. Dans notre exemple, le certificat se trouve dans le répertoire :

C:\Users\raksmey\Desktop\. Il faut aussi donner le mot de passe du certificat : encore

une fois c'est livregear, si le lecteur a suivi le choix par défaut proposé dans ce chapitre.

Le message de la Figure 6-177 apparaît pour informer que le certificat a été

correctement appliqué.

Page 74: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

74 Chapitre 6

Figure 6-176. Choix du certificat

Figure 6-177. Application du certificat

6.7.9 Test du projet

Figure 6-178. Connexion de la

montre sous Tizen IDE

Après avoir vérifié que la montre est connectée

et qu'elle est reconnue dans Tizen IDE for

Wearable comme c'est le cas sur la Figure

6-178, on peut alors déployer le projet sur la

montre. Le résultat est celui donné à la Figure

6-179. Remarquons le texte "Ceci est une

démonstration" qui a été ajouté dans le projet.

Page 75: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 75

Figure 6-179. Test sur la Galaxy Gear 2 Lite

6.7.10 Conclusion

Comme on peut le constater la procédure est relativement complexe mais elle est

indispensable pour réaliser des programmes évolués. Il est possible d'opter pour des

solutions plus intégrées et donc plus faciles à mettre en œuvre en utilisant un logiciel de

messagerie offrant ce type d'extension. Le lecteur peut consulter le complément à ce

chapitre 6 à l'adresse suivante :

http://www.isima.fr/~lacomme/ObjConnecte/chapitre_6_web.pdf

6.8 Conception d'une application Tizen

Il est possible de créer, assez facilement, une application native Tizen. Avant cela

précisons que le contenu de cette section vient en grande partie du tutorial (hélas en

Anglais) disponible à l'adresse suivante :

http://css.dzone.com/articles/native-app-development-tizen.

Le programme réalisé dans cette partie a été développé sous l'environnement Tizen IDE

et il est destiné à un téléphone Tizen. Pour des raisons évidentes de simplicité, le

programme se compose d'une seule couche d'affichage (Figure 6-180).

Page 76: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

76 Chapitre 6

Web Services AffichageRécupération

des données Interface

Internet

AffichageRécupération

des données Interface

bluetooth

AffichageRécupération

des données Interface

Samsung Gear Live

Client Tizen

Figure 6-180. Le client destiné à un téléphone Tizen

6.8.1 Création du projet

Après le démarrage de Tizen IDE, il faut créer un nouveau projet de type Tizen Native

Project dans la section Tizen (Figure 6-181).

Figure 6-181. Création d'une application native

Après avoir choisi Form-based ApplicationWith SceneManager, on peut nommer

le programme premierprogramme par exemple (Figure 6-182). Après sa création, le

projet apparaît dans la section Project.

Figure 6-182. Création d'une Form-based Application

Page 77: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 77

6.8.2 Première compilation

Il faut utiliser le menu Build All dans l'onglet Project (Figure 6-183). A la première

tentative, la compilation ne pourra pas aboutir faute d'une signature valide.

Figure 6-183. Démarrage de la compilation

L'absence de certificat conduit à un message d'erreur identique à celui de la Figure

6-184.

Figure 6-184. Erreur sur absence de signature

Le plus simple dans ce cas, consiste à cliquer sur le lien bleu de la fenêtre

(Préférence>Security Profiles) qui va automatiquement donner l'accès au sous-menu

correspondant (Figure 6-185).

Page 78: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

78 Chapitre 6

Figure 6-185. Menu de définition des signatures

Il faut commencer par créer un nouveau profil à partir du bouton Add et choisir ensuite

un nom, ici philippe (le prénom d'un des auteurs du livre) (Figure 6-186).

Figure 6-186. Création du profil

Une fois le profil créé, il faut générer le certificat avec le bouton Generate et donner les

informations nécessaires pour la création (Figure 6-187).

Page 79: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 79

Figure 6-187. Données de création du certificat

Une fois le certificat créé, on peut compiler en refaisant un Build All et on obtient le

résultat de la Figure 6-188.

Figure 6-188. Compilation réussie

Une fois le projet compilé, il faut le sélectionner et l'exécuter avec le bouton Run

(entouré sur la Figure 6-189).

Page 80: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

80 Chapitre 6

Figure 6-189. Exécution de premierprogramme

L'exécution de l'application donne un programme simple, qui dessine un bouton et

affiche Hello Tizen ! (Figure 6-190).

Figure 6-190. Exécution sur un émulateur de téléphone Tizen

6.8.3 Composition du projet

Le projet se compose de deux parties distinctes : l'une contient les codes sources

(section src) et l'autre les fichiers de configuration ainsi que les fichiers xml décrivant

l'interface.

Page 81: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 81

Figure 6-191. Projet créé : accès

au GUI

Dans le dossier resscreen-size-normal, il faut

choisir IDL_FORM.xml pour lancer le GUI

(Graphical User Interface) (Figure 6-191).

Le GUI démarre mais l'application Tizen IDE

continue toutefois à fonctionner. On peut passer

facilement de l'un à l'autre (Figure 6-192).

Figure 6-192. GUI

On peut ensuite réaliser des drag and drop et déposer un élément d'affichage de type

Edit Area au-dessus du bouton (Figure 6-193).

Figure 6-193. Ajout d'un élément dans l'interface

6.8.4 Notion d'événement

On peut ensuite revenir à l'éditeur lui-même, et éditer le fichier

premierprogrammeMainForm.cpp.

Page 82: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

82 Chapitre 6

Le code de ce fichier contient, en particulier, une procédure qui gère les événements de

l'interface.

void premierprogrammeMainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { SceneManager* pSceneManager = SceneManager::GetInstance(); AppAssert(pSceneManager); switch(actionId) { case IDA_BUTTON_OK: AppLog("OK Button is clicked!"); break; default: break; } }

Pour bien appréhender le fonctionnement du code, il suffit d'ajouter un point d'arrêt sur

la ligne qui réalise l'appel à AppLog. Pour cela, faire un clic droit sur l'endroit où le

point d'arrêt doit être placé et, dans le menu contextuel, choisir Toggle Breakpoint

(Figure 6-194). Ensuite cela se matérialise par un point bleu sur la Figure 6-195.

Figure 6-194. Ajout d'un point d'arrêt

Figure 6-195. Point d'arrêt ajouté

On peut lancer l'exécution en mode debug via le bouton dans la barre du haut, ce

qui va entraîner une légère modification de l'environnement de développement qui

bascule en mode "debug".

Le code s'arrête sur la première ligne de code comme le montre la Figure 6-196. Pour

exécuter le code ligne à ligne, il faut alors utiliser la touche F6 du clavier.

Page 83: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 83

Figure 6-196. Début du débogage

Ensuite, on poursuit normalement l'exécution (sans s'arrêter au point d'arrêt) avec la

touche F8. On doit alors obtenir un environnement qui ressemble à la Figure 6-197.

Figure 6-197. Arrêt sur l'événement clic du bouton

Page 84: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

84 Chapitre 6

6.8.5 Gestion d'un événement clic

Afin de montrer l'interaction entre les éléments de l'interface, on va réaliser un affichage

dans la zone du haut à partir du bouton OK. Pour cela il s'agit de modifier la méthode

premierprogrammeMainForm::OnActionPerfomed() qui est contenue dans le

fichier premierprogrammeMainForm.cpp. A cette étape, la méthode ressemble à la

Figure 6-198.

Figure 6-198. Méthode de l'événement clic du bouton OK

Il faut tout d'abord définir deux variables, juste avant le switch. La première contient la

chaîne de caractères à envoyer dans la zone d'affichage et la deuxième permet de

récupérer un pointeur sur l'objet de l'interface. Attention, l'objet est de type EditArea. const String chaine = "demonstration"; Tizen::Ui::Controls::EditArea* pZone = static_cast <EditArea*>( GetControl(IDC_EDITAREA1));

Ensuite, sur l'évènement clic, il ne reste plus qu'à appeler la méthode SetText(). Pour

cela à l'intérieur du switch, dans case IDA_BUTTON_OK, il faut ajouter : pZone->SetText(chaine);

Le code final est le suivant : void premierprogrammeMainForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId) { SceneManager* pSceneManager = SceneManager::GetInstance(); AppAssert(pSceneManager); const String chaine = "demonstration"; Tizen::Ui::Controls::EditArea* pZone = static_cast <EditArea*>( GetControl(IDC_EDITAREA1)); switch(actionId) { case IDA_BUTTON_OK: AppLog("OK Button is clicked!"); pZone->SetText(chaine); break;

Page 85: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

Téléphones et montres connectés 85

default: break; } }

Le résultat d'exécution (en mode normal et non plus en mode debug) est celui de la

Figure 6-199. Pour obtenir le message "demonstration", il suffit de cliquer sur le bouton

OK. Sur certaines machines, il faut, en plus, cliquer sur la zone texte dans laquelle sera

affiché le message.

Figure 6-199. Exemple d'interaction entre les objets

6.9 Conclusion

Ce chapitre est une introduction aux multiples facettes du développement avec

l'environnement Tizen. Cet IDE est maintenu par Samsung afin de programmer sur une

partie de ses appareils dont, notamment, les montres connectées Gear 2 et Gear 2 Lite.

Dans le contexte de la programmation sur montres, le travail de développeur se trouve

Page 86: Le de veloppement Mobile sur les montres connecte eslacomme/ObjConnecte/chapitre... · 2015-01-17 · environnements de développement ; de comprendre le déploiement des applications

86 Chapitre 6

complexifié par l'interaction de deux éléments : montre et téléphone. Chacun des deux

a, bien sûr, des contraintes de développement qui lui sont propres.

6.10 Références

Incontestablement, la chaîne YouTube des développeurs Samsung est une source

d'information de premier plan, hélas en Anglais :

https://www.youtube.com/channel/UCkDAwuCKUcY1qn-hgNv0kLw

Pour compléter ces informations, le lecteur curieux peut acquérir l'un des livres rédigés

par l'équipe des développeurs Samsung [JAY 14].

[JAY 14] HoJun Jaygarl, Cheng Luo, YoonSoo Kim, Eunyoung Choi, Kevin Bradwick ,

et Jon Lansdell. Professional Tizen Application Development. Editions WROX, ASIN:

B00JKGG7UC, avril 2014.