Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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)
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
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
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
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
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
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
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
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.
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
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
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
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
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).
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).
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).
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).
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
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
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
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
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).
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).
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.
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
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).
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).
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).
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
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
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
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
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.
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
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.
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).
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
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).
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).
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
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
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).
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).
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
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().
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).
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.
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).
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.
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).
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
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).
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
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
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).
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.
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é.
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
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
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).
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
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
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
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.
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.
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
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
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).
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éé.
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.
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.
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
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é…).
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é.
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.
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).
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
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).
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).
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).
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.
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.
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.
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
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;
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
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.