Vous êtes sur la page 1sur 30

2011

Dveloppement Mobile sous


Android 2.2

Encadr par :

- Ramilijaona Andrianaina

- Philippe Lacomme

- Fatnassi Sofiane

Responsable INRA :

- Rajerison Andry

- Sylvie Rousset

Universit Blaise Pascal II - Informatique


13/05/2011

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

TABLE DES MATIERES


Sommaire
REMERCIEMENTS .................................................................................................................................... 4
RESUME ................................................................................................................................................... 5
INTRODUCTION ....................................................................................................................................... 6
PRESENTATION DU PROJET ..................................................................................................................... 7
Contexte .............................................................................................................................................. 7
Interaction client/mdecin .................................................................................................................. 7
Objectif du projet ................................................................................................................................ 7
Contrainte............................................................................................................................................ 8
DEVELOPPEMENT MOBILE ...................................................................................................................... 9
Prsentation (environnement de dveloppement) ............................................................................ 9
Modlisation...................................................................................................................................... 12
Diagramme de cas d'utilisation ..................................................................................................... 12
Diagramme de classe..................................................................................................................... 13
Implmentation ................................................................................................................................. 14
Prsentation de l'application ................................................................................................................ 21
Les problmes rencontrs ................................................................................................................. 23
DEVELOPPEMENT WEB ......................................................................................................................... 24
Prsentation ...................................................................................................................................... 24
Modlisation...................................................................................................................................... 25
Implmentation ................................................................................................................................. 25
Prsentation lINRA ............................................................................................................................ 26
Ce qui reste faire ................................................................................................................................ 27
CONCLUSION ......................................................................................................................................... 28
ANNEXE ................................................................................................................................................. 29
Rfrences et bibliographies ................................................................................................................. 30

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

TABLE DES FIGURES


Figure 1 : Aperu globale du systme .................................................................................................... 7
Figure 2 : Communication mobile - Internet - Serveur Web - Base de donnes .................................... 8
Figure 3 : Cycle de la vie d'une application
(LIBRAIRIE.IMMATERIEL.FR/FR/READ_BOOK/9782815002028/DEVELOPPEZ-POUR-ANDROID_SPLIT_001) .............. 9
Figure 4 : Architecture plateforme Android ( HTTP://FLEXGURUIN.WORDPRESS.COM/CATEGORY/ANDROID) .. 10
Figure 5 : IDE NetBeans ......................................................................................................................... 11
Figure 6 : Android SDK and AVD Manager ............................................................................................ 11
Figure 7 : Diagramme de cas d'utilisation ............................................................................................. 12
Figure 8 : Diagramme de classe ............................................................................................................. 13
Figure 9 : Communication Android/ Serveur Web/ Base de donnes .................................................. 14
Figure 10 : view xml ............................................................................................................................... 15
Figure 11 : Gestion d'vnement click d'un bouton ............................................................................. 15
Figure 12 : Rcupration des valeurs du capteur.................................................................................. 16
Figure 13 : Manipulation service ........................................................................................................... 17
Figure 14 : import package apache http ............................................................................................... 19
Figure 15 : Fonction authentification mthode Get.............................................................................. 19
Figure 16 : Envoie de donne utilisant la classe connexion (methode POST)....................................... 20
Figure 17 : Android Sport prsentation gnrale ............................................................................... 21
Figure 18 : Android Sport Authentification ........................................................................................ 22
Figure 19 : Android Sport Accueil ....................................................................................................... 22
Figure 20 : Android Sport Tracking ..................................................................................................... 22
Figure 21 : Android Sport - Fonction Amie ............................................................................................ 23
Figure 22 : Android Sport Config ........................................................................................................ 23
Figure 23 : Diagramme de classe site web ............................................................................................ 25
Figure 24 : Compilation Android ( http://revistalinux.net/cursos/java-y-android/attachment/androidcompilation) .......................................................................................................................................... 29

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Remerciements

Nous tenons tout d'abord remercier M. Philippe Lacomme, notre tuteur de stage, de
nous avoir propos ce sujet, de nous avoir aid et encadr tout au long du projet.
Nous remercions aussi le directeur technique et tout le personnel de l'INRA ayant
assist la prsentation du projet, de nous avoir encourags pour ce projet
Nous remercions particulirement chaque tudiant du groupe, d'avoir particip et
contribu atteindre notre objectif

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

RESUME
Nous avons effectu notre projet de fin d'tudes de la 3me anne de licence sous
l'encadrement de M. Philippe Lacomme. Ce travail a t ralis en liaison avec Sylvie Rousset
Ingnieur de Recherche INRA.
Le projet a pour but de nous initialiser la plateforme de dveloppement mobile sous
Android et de tirer profit des gadgets que possdent les Smartphones de nos jours. Les principaux
gadgets qui nous seraient utiles pour laborer ce projet sont les capteurs sensoriels et le GPS. Etant
donne l'mergence de technologie mobile, beaucoup d'applications ont t dveloppes dans
divers domaines. Cependant nous avons pens comment utiliser ces gadgets pour aider chaque
individu suivre ses efforts physiques grce son Smartphone.

La premire tape a t l'tude pralable du logiciel, c'est dire dfinir le contexte et le choix
des outils utiliser pour le dveloppement. Etablir les fonctionnalits de base ainsi que les
diagrammes ncessaires la conception du logiciel.
Dans un second temps, nous avons choisi un IDE de dveloppement permettant
d'implmenter le logiciel, sachant que celui-ci s'crit sous le langage JAVA. Entre NetBeans et Eclipse,
nous avons choisi NetBeans pour mieux le maitriser.
Dans la dernire partie, nous avons cr un site web puis nous lavons hberger
temporairement sur le serveur web de l'ISIMA. Compte tenu de la faible capacit de la batterie des
Smartphones fournir l'nergie ncessaire une utilisation intensive des capteurs et du GPS, le site
permettra d'allger et de diminuer la consommation nergtique du tlphone en dlguant tous les
gros calculs sur celui-ci.
Enfin, il faut noter que comme tous les projets, celui-ci est destin voluer au fil du temps.

Mots-cls : Android 2.1, Java, Dpense nergtique, maps

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

INTRODUCTION
Dans le cadre de notre prparation au diplme de Licence L3 parcours Informatique, nous
avons t amens effectuer notre projet sous l'encadrement de M. Philippe Lacomme.
Il s'agissait au cours du projet d'tudier et de dvelopper une application mobile sous
Android. Avec l'avance et l'mergence des technologies mobiles, les dveloppements embarqus
sont de plus en plus demands sur le march. Avoir un Smartphone est devenu incontournable pour
les jeunes de nos jours. D'o nait l'ide de dvelopper une application utile, installer sur les
Smartphones permettant de suivre sa dpense nergtique tout en gardant son tlphone dans sa
poche ou accroch sa ceinture, puis d'tre en contact avec ses ami(es) et savoir o ils se trouvent
grce la Google map intgr au logiciel lui mme.
Mis part le dveloppement proprement dit de l'application, la premire tape consistait
nous familiariser avec l'environnement Android, puis de choisir les outils conviviaux et envisageables
l'aboutissement du projet. Par la suite, nous entamerons la modlisation et le dveloppement de
l'application.
Ensuite, crer un serveur web pour pouvoir stocker les donnes dans une base de donne est
facile d'accs grce un site web que nous avons dvelopp par la suite. Les gros calculs seront
implmenter sur le serveur web afin d'liminer ou de diminuer les contraintes matrielles limitant
notre application sur les Smartphones.
Ce rapport peut ainsi tre subdivis en quatre parties. La premire consistera la
prsentation du projet, des objectifs principaux puis les fonctionnalits de base. La seconde partie
sera consacre au dveloppement proprement dit de l'application. La troisime partie propose une
bauche d'un site web qui servira d'interface entre le serveur web et l'application elle-mme et
implmentant toutes les fonctionnalits ncessaires la communication entre elles. Enfin, la
quatrime et dernire partie sera rserve prsenter l'application avec les fonctionnalits de base
et une notice permettant de comprendre comment utiliser le logiciel.

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

PRESENTATION DU PROJET
Contexte
Les Smartphones de nos jours sont quips de plusieurs capteurs capables de mesurer
l'acclration, l'altitude ou mme de localiser la position du tlphone avec prcision. Ces derniers
peuvent ainsi tre utiliss des fins mdicales.

Interaction client/mdecin

Figure 1 : Aperu globale du systme

Comme on peut le constater dans la figure ci-dessus, linteraction entre lindividu et son mdecin se
rsume en trois tapes :
Pour commencer la personne utilisant le smartphone doit au pralable crer un compte utilisateur
sur le site web, qui permet de classer les individus et les diffrencier.
En second lieu, le client ayant un compte valid par un administrateur pourra se connecter et
disposer des diffrentes fonctionnalits de lapplication Android. Il pourra alors pendant son activit
sportive, transmettre les donnes au sein du systme.
Pour terminer, les donnes transferes par lutilisateur via le telephone Android seront rcupres
par son mdecin personnel qui pourra traiter ces dernires.

Objectif du projet
Le travail qui nous a t demand a t de dvelopper une application mobile sous Android,
permettant de mesurer la dpense nergtique d'une personne grce un Smartphone. La principale
fonctionnalit tant de mesurer la dpense nergtique pendant une marche, une course pied ou
vlo. Au terme de ce projet, l'application devra tre en mesure de deviner automatiquement
l'activit de l'utilisateur.

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Dans le cadre de ce projet, les fonctionnalits principales demandes sont la rcupration


des donnes depuis les capteurs, les coordonnes GPS et l'envoi des donnes acquises sur un serveur
web o ils seront traits plus tard.
Le fonctionnement et la mise en place du serveur sont dcrits par le schma ci-dessous:
Le principe est donc que le Client (ordinateur ou le tlphone mobile), grce son
navigateur, envoie une requte http au serveur Web via Internet. Le serveur traitera son tour la
requte correspondante et renverra la rponse au Client depuis Internet.

Figure 2 : Communication mobile - Internet - Serveur Web - Base de donnes

Contrainte
Nous sommes limits l'autonomie de la batterie et de la taille de la mmoire du tlphone.
Pour pouvoir communiquer avec le serveur web et s'changer des donnes, le tlphone doit tre
connect Internet (abonnement chez un fournisseur).
Par rapport au tlphone, le serveur prsente un grand avantage du point de vue mmoire
qu'autonomie. Pour l'instant, le serveur web est hberg temporairement sur le serveur de l'ISIMA.
La difficult surviendrait lorsque le site web changera de serveur. C'est dire trouver un moyen de
changer automatiquement la nouvelle adresse sur chaque application sans l'intervention de
l'utilisateur et sans recompiler l'application.

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

DEVELOPPEMENT MOBILE
Prsentation (environnement de dveloppement)
Les technologies mobiles prennent de plus en plus de place sur le march. Les Smartphones
sont considrs comme des petits ordinateurs et dots d'un systme d'exploitation s'appuyant sur
un noyau Linux. Cependant, ils diffrent des ordinateurs classiques par le cycle de vie d'une
application. Sous Android, une application est compose d'une ou plusieurs activits. Une activit est
la base d'un composant pour la cration d'interfaces utilisateur. Afin de facilit la cinmatique de
l'application, il est prconis de n'avoir qu'une interface visuelle par activit.

Figure 3 : Cycle de la vie d'une application (LIBRAIRIE.IMMATERIEL.FR/FR/READ_BOOK/9782815002028/DEVELOPPEZ-POURANDROID_SPLIT_001)

- L'activit dmarre : la mthode onCreate est appele.


- Pendant l'utilisation d'une activit, l'utilisateur presse la touche Accueil, ou bien l'application
tlphone, qualifie comme prioritaire et qui interrompt son fonctionnement par un appel
tlphonique entrant. L'activit est arrte (appel de onStop), le dveloppeur dtermine l'impact sur

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

l'interface utilisateur, par exemple la mise en pause d'une animation puisque l'activit n'est plus
visible.
- Une fois l'appel tlphonique termin, le systme rveille l'activit prcdemment mise en pause
(appel de onRestart, onStart).
- L'activit reste trop longtemps en pause, le systme a besoin de mmoire, il dtruit l'activit (appel
de onDestroy).
- onPause et onResume rajoutent un tat l'activit, puisqu'ils interviennent dans le cas d'activits
partiellement visibles, mais qui n'ont pas le focus. La mthode onPause implique galement que la
vie de cette application n'est plus une priorit pour le systme. Donc si celui-ci a besoin de mmoire,
l'Activity peut tre ferme. Ainsi, il est prfrable, lorsque l'on utilise cette mthode, de sauvegarder
l'tat de l'activit dans le cas o l'utilisateur souhaiterait y revenir avec la touche Accueil.
Android se base sur un noyau Linux 2.6. Le SDK Android possde une bibliothque de librairie
de plusieurs classes java de base pour plusieurs types d'application (exemple : OpenGL|ES pour la 3D,
SSL pour les protocoles de scurit, etc.). Une application Android se repose sur un Framework qui
facilite l'utilisation des classes de base et sert d'interface entre les "Librairies" et les applications.

Figure 4 : Architecture plateforme Android ( HTTP://FLEXGURUIN.WORDPRESS.COM/CATEGORY/ANDROID)

Android est un systme d'exploitation pour tlphone portable de nouvelle gnration


dvelopp par Google. Celui-ci met disposition un kit de dveloppement (SDK) bas sur le langage
Java.
Nous avons eu l'occasion d'utiliser deux outils de dveloppement : NetBeans et Eclipse. La
seule diffrence que nous avons constate, se situe au niveau de l'dition de l'interface graphique.
Sous clipse, l'diteur graphique est un diteur wysiwyg (What You See Is What You Get) ce qui n'est
pas le cas pour NetBeans o il faut saisir le code pour gnrer l'interface graphique.

10

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Pour la suite du projet, nous utiliserons NetBeans comme cela a t demand, et pour mieux
comprendre le fonctionnement de l'interface graphique l'aide du code.

Figure 5 : IDE NetBeans

Nous vous invitons consulter l'url "HTTP://KENAI.COM/PROJECTS/NBANDROID/PAGES/INSTALL "


pour voir les tapes d'installation du plugin Android, sur NetBeans IDE.
Le kit de dveloppement Android est tlchargeable gratuitement sur :
"HTTP://DEVELOPER.ANDROID.COM/SDK/INDEX.HTML" ainsi qu'un guide d'installation.
Voici quoi ressemble le SDK Android (SDK Manager) aprs l'installation et lancement :

Figure 6 : Android SDK and AVD Manager

11

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

La figure (6) montre le lancement d'un mulateur Android sur le port : 5554 du localhost,
parmi 4 mulateurs.

Modlisation
Diagramme de cas d'utilisation

Figure 7 : Diagramme de cas d'utilisation

Le diagramme de cas d'utilisation ci-dessus nous montre l'interaction entre l'utilisateur et


l'application. Les fonctionnalits principales sont marche, course et vlo.
L'utilisateur doit s'authentifier sur le serveur web pour pouvoir utiliser l'application. Une fois
connect, il peut configurer les capteurs (activer et dsactiver), le GPS ainsi que les paramtres de
connexion.

12

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Diagramme de classe

Figure 8 : Diagramme de classe

13

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Implmentation

Figure 9 : Communication Android/ Serveur Web/ Base de donnes

Lenvironnement de dveloppement sous Android se fait sous JAVA. Nous avons deux choix
doutils pour le faire : NetBeans et Eclipse. Cependant, sur chacun de ces outils doit tre install le
plugin qui permettra de dvelopper des applications sous Android.
Pour s'excuter sur les appareils mobiles Android, le programme en java doit tre converti.
Dalvik est la machine virtuelle qui gre la plate-forme Java sur les appareils mobiles Android. Elle
permet d'excuter les applications qui ont t converties en un excutable compact Dalvik (.dex), un
format adapt aux systmes limits en termes de mmoire et de vitesse du processeur.
Dans tout le projet, nous utiliserons NetBeans car nous avons constat moins de bug.
Pour mieux structurer la logique application, nous lavons spar en modules. Une premire
classe , qui contient les classes suivantes :
-

La classe connexion , contient les mthodes et les protocoles de connexion au


serveur web
La classe ActionViewBar , contient les paramtres utilisateur (login, position, tat de
connexion) ainsi que la date en temps relle.
La classe HardSensor , contient les mthodes qui permettent de manipuler et
rcuprer les donnes de chaque capteur ainsi que la position partir du GPS.
La classe iService , contient le service et les mthodes qui permettent denvoyer
rgulirement et priodiquement les donnes sur le serveur.

En cas de coupure de la connexion Internet, les donnes sont crites dans un fichier texte. Grce la
classe iService , lapplication enverra les donnes ds que la connexion sera rtablie.
L'interface graphique
Nous vous invitons consulter un document sur la page personnel de M. Philippe Lacomme :
"HTTP://WWW.ISIMA.FR/~LACOMME/DEVPORTABLE/TUTORIAL_ANDROID.PDF".

14

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Android utilise des fichiers ressources xml : "main.xml", pour gnrer une interface graphique (ou
view). Ce fichier est appel par le fichier principal "main.java" grce la commande
"setContentView(R.layout.main)". "R" est un fichier ressource de l'application contenant tous les
identifiants des widgets (rfrences vers les widgets). Il est gnr automatiquement par le SDK.

Figure 10 : view xml

La figure ci-dessus nous montre comment gnrer une interface graphique en xml. Les
composants ou widgets sont dfinis par des balises et les attributs reprsentent les proprits. Pour
placer les widgets, Android dispose deux types de gestionnaire de disposition (ou layout) :
LinearLayout (dispose les widgets horizontalement ou verticalement comme ci-dessus) , TableLayout
(layout en forme de tableau).
"<TextView>" permet de crer un widget "label" . La proprit "android:text" rcupre et
affiche dans le widget, le contenu de la ressource "string" ayant le nom hello rfrenc par
"@string/hello". La proprit "android:id" permet de rajouter automatiquement dans le fichier "R",
l'identifiant du widget.
Gestion d'vnement

Figure 11 : Gestion d'vnement click d'un bouton

Le code de la figure ci-dessus permet d'crire "Hello World" dans la zone de texte "zoneText"
lors d'un clique sur le bouton "bouton". "onCreate" crer le view du fichier "main.xml" prcdent
lors de l'appel. Au bouton est assign un listener (couteur d'vnement clic) grce

15

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

"setOnClickListener". "onClick(View v)" excutera l'instruction du bloc. "v.getId" rcupre


l'identification du ou des widgets cliqus.
Gestion des capteurs

Figure 12 : Rcupration des valeurs du capteur

Le code de la figure 12 nous montre comment rcuprer une instance du capteur de type
"TYPE_ACCELEROMETER" afin de rcuprer les valeurs (x,y,z) correspondant lorsque la mthode
"onSensorChanged" est appele (la valeur des capteurs change). L'vnement "event" contient alors
les valeurs de chaque coordonne sous forme d'un tableau.

16

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Gestion des services

Figure 13 : Manipulation service

Cette figure nous montre comment crer un service. On peut constater que lon utilise la
mthode intent , cette dernire est une description abstraite dune opration effectuer. Elle
permet le dialogue travers le systme partir des canaux qui lui sont ddis.
Par exemple : Quand le mobile reoit un appel, la plateforme lance un intent signalant larriv dun
appel.
Les "Intent" permettent d'envoyer des donnes dans toute l'application puis rcuprer par un
"BroadcastReceiver". Le "Timer "timer" permet de fixer une frquence priodique d'envoyer des
donnes en utilisant la mthode "scheduleAtFixedRate". Le service peut tre dmarrer (startService)
ou arrter (stopService).

17

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Communication Java / PHP


L'un des objectifs principaux de ce projet tant de faire communiquer l'application Android
(Java) avec le serveur web grce au site web (PHP). Pour cela, nous avons deux possibilits : utiliser
directement les sockets ou utiliser des packages de classe manipulant les protocoles Http
implmentant les sockets, dans le code java. Nous avons opt pour l'utilisation des packages Http de
Apache renfermant tous les protocoles et outils pouvant manipuler les flux de donnes sur Internet.

Les packages utiliss sont les suivants avec leurs liens de tlchargement et leurs documentations
respectifs :
apache-mime4j-0.4.jar

commons-io-2.0.1.jar
httpclient-4.0-beta2.jar

httpcore-4.0-beta3.jar

httpmime-4.0-beta1.jar

Fournit un analyseur pour des donnes XML.


Il ne traite que la structure des flux de donnes
XML.
Utilise pour aider dvelopper des
fonctionnalits dE/S.
Permet dutiliser les fonctionnalits du protocole
http cot client, le rle de ce package est de
transmettre et recevoir des messages http.
Son objectif est la mise en uvre des aspects les
plus fondamentaux du protocole http et dviter
un encombrement du fonctionnement des
services cot client et serveur.
Utilis pour typer des documents transfrs par
le protocole http.

- apache-mime4j-0.4.jar :
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.james/apache-mime4j/0.4
- commons-io-2.0.1.jar :
http://grepcode.com/snapshot/repo1.maven.org/maven2/commons-io/commons-io/2.0.1
- httpclient-4.0-beta2.jar :
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.httpcomponents/httpclient/4.
0-beta2
- httpcore-4.0-beta3.jar :
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.httpcomponents/httpcore/4.0
-beta3
- httpmime-4.0-beta1.jar :
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.httpcomponents/httpmime/4
.0-beta1

18

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Figure 14 : import package apache http

Figure 15 : Fonction authentification mthode Get

La figure 15 montre l'utilisation de la mthode HttpGet. La fonction authentification retourne une


chaine de caractre envoye par le serveur qui est dans notre cas :
- "Id_OK" si l'utilisateur est membre actif,
- "Compte non actif." si l'utilisateur n'a pas encore t valid par l'administrateur,
- "Mauvais numeros d'acces" si le code d'accs est erron,
- "Mauvais mot de passe." si le mode de passe est erron,

19

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

- "Identifiant ".$log_iconnect." inconnu !" si l'utilisateur n'est pas membre du site ($log_iconnect :
login de l'utilisateur).
Les chaines de caractres prcdemment cites sont utilises pour tester l'tat des utilisateurs qui se
connecte et utilise l'application. Remarquons que sans authentification, l'utilisateur ne pourra pas
accder l'application (l'application reste sur la page d'authentification).

Figure 16 : Envoie de donne utilisant la classe connexion (methode POST)

La figure 16 montre comment envoyer un fichier sur le serveur. Les paramtres renseigner
de la fonction par ordre sont : le contexte (l'application parent), l'adresse url du site, le login - mot de

20

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

passe - code d'accs de l'utilisateur, l'action ou l'activit de l'utilisateur ("Marche, Course ou Vlo"),
le nom du fichier envoyer (fichier local sur le mobile) et le nom du paramtre $_FILES["..."] de la
page php qui recevra le fichier.

Prsentation de l'application

Figure 17 : Android Sport prsentation gnrale

La figure ci-dessus correspond la vue densemble des diffrents onglets prsent dans notre
programme que nous avons nomm Android Sport.

21

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011


Au premier lancement de l'application, il faut se
connecter sur le site web pour crer un compte et
obtenir un code de connexion sur son e-mail. Aprs la
validation du compte par l'administrateur, l'utilisateur
peut ensuite accder toutes les fonctionnalits de
l'application.

Figure 18 : Android Sport Authentification

Une fois connect, l'utilisateur peut accder chaque fonctionnalit de l'application grce
aux diffrents onglets ci-dessous :

L'onglet "Accueil" affiche un message de


bienvenue et assure que l'utilisateur est bien connect.
Prochainement, sur l'accueil sera affich
l'activit de l'utilisateur et sa dpense nergtique. Ce
qui n'est pas le cas, car le cadre du projet consiste
collecter les donnes puis les envoyer sur le serveur.
Sachant que l'interprtation de ces donnes est hors de
notre comptence. (chantillon des donnes - voir
annexe)
Figure 19 : Android Sport Accueil

Pour le moment, l'onglet "Tracking" permet


l'utilisateur de choisir une activit. Il suffit de cliquer sur
l'un des boutons "Marche", "courir" ou "Vlo" pour
l'activer. L'application va donc collecter les donnes des
capteurs puis l'envoyer au serveur grce ses
paramtres de connexions (login, mot de passe et
code), priodiquement afin de minimiser l'utilisation
simultane des capteurs du rseau WiFi (contrainte
d'autonomie de la batterie).

Figure 20 : Android Sport Tracking

En cas de coupure de connectivit, les donnes


collectes seront sauvegardes sur un fichier en
attendant son rtablissement.

22

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

L'onglet "Carte" permet de localiser et de


marquer la position de ses amis (es) sur la "google map"
de l'application. Dans la version suivante, l'onglet
"Amie" affichera la liste des amis(es) ainsi que quelques
informations comme l'tat de la connexion, le login et
leurs positions respectives.

Figure 21 : Android Sport - Fonction Amie

L'onglet "Config" permet de sauvegarder les


paramtres de connexion, savoir l'adresse du serveur,
le login, le mode passe, le code d'accs. Ainsi,
l'utilisateur n'aura plus saisir les paramtres de
connexion chaque lancement de l'application.
La configuration matrielle permet de choisir les
frquences de collecte et d'envoyer des donnes des
capteurs afin d'conomiser la batterie du tlphone.

Figure 22 : Android Sport Config

Les problmes rencontrs


Ce projet est notre premire exprience en dveloppement mobile. Plusieurs contraintes
nous ont considrablement retards :
- Limitation de la dimension de l'cran : choisir un minimum de composants essentiels
afficher sur l'cran, pas comme celui des ordinateurs.
- Sous Android, il faut grer la reprise de l'tat de l'application aprs une perturbation du
cycle de vie de celui-ci. C'est--dire si au cours de son fonctionnement, nous avons un appel entrant
ou un message, par ordre de priorit, le systme peut arrter l'activit en cours pour librer de la

23

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

mmoire. Par consquent, le programmeur doit donc sauvegarder des paramtres avant la
destruction de l'instance de l'application, pour pouvoir par la suite les recharger. Car c'est une
nouvelle instance de l'application qui sera lance aprs la reprise. Grce aux paramtres
sauvegards, nous avons l'impression que l'application tait juste rduite.
- Au niveau de la compatibilit de certain composant intgrer notre application.

DEVELOPPEMENT WEB
Prsentation
Le serveur Web est l'lment essentiel garantissant le stockage des informations de taille
importante, car le tlphone ne dispose pas assez de mmoire suffisante.
L'objectif du serveur Web dans ce projet est d'hberger une application permettant de
collecter les informations notamment de l'utilisateur et d'en assurer le traitement des donnes.
Lors de la premire utilisation, l'utilisateur doit se connecter sur le site Web afin d'enregistrer
ses informations qui seront stockes dans la base de donnes du serveur Web. Par la suite le login et
le mot de passe de son choix ainsi qu'un code gnr automatiquement lui permettra de se
connecter sur le serveur et utiliser l'application installe sur le tlphone. Une fois connect sur le
site, l'utilisateur pourra donc voir son profil ou le modifier par la suite en cas de besoin.
Une partie rseau sociale donne l'utilisateur de chercher des amis (es), comme sur
Facebook et twitter, et d'envoyer une demande d'amis (es) et de l'ajouter dans ces contacts.
L'utilisateur concern aura le choix d'accepter ou de refuser la demande en question.
Un compte administrateur permet un utilisateur privilgi, d'accepter ou de refuser une ou
plusieurs demandes de cration de compte afin d'assurer facilement la scurit ainsi que la gestion
de capacit.

24

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Modlisation

Figure 23 : Diagramme de classe site web

Implmentation
- styles2.css : code css implmentant le design du site Web
- entete.inc : fichier d'inclusion de l'entte de la page web
- pied_page.inc : fichier d'inclusion du pied de page
- index.php : page d'accueil du site web
- inscript.php : inclus le formulaire d'inscription de la page d'inscription
- valid_inscr.php: script qui vrifie si le champ a bien t rempli si oui, enregistrement des
informations de l'utilisateur dans la base de donnes.

25

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

- login.php : script vrifiant si le login et le mot de passe entr par l'utilisateur sont corrects. S'ils sont
corrects, on accde l'espace membre en appelant le script '' membre.php ''.
- membre.php: script de l'espace membre incluant:
1. Vrification s'il y a une demande d'ami
2. Affichage du profil utilisateur
3. Modification du profil utilisateur
4. Gestion Ami
- ami.php : gre la recherche de personnes membres et possibilit de demande d'ajout la liste
d'ami, inclus aussi l'acceptation ou le refus d'amis.

Prsentation lINRA
Durant notre projet nous avons eu loccasion de prsenter notre travail lors dune runion lINRA
(CHU) en prsence des personnalits suivantes :
J.M.Chardigny : Directeur de Recherche INRA et Directeur de l'Unit de Nutrition Humaine
(UNH).
B.Morio : Directrice de Rechercheur INRA, responsable de l'quipe Contrle de
l'homostasie lipido-nergtique et obsit (CHLEO).
P.Dusch : Vice prsidente de l'Universit Blaise Pascal.
P.Lacomme : Maitre de confrence LIMOS/ISIMA.
M.Duclos : Professeur et chef de service de la Mdecine du Sport et des Explorations
Fonctionnelles au CHU de Clermont.
S.Rousset : Ingnieur de recherche INRA au sein de l'quipe CHLEO, en charge de la
modlisation de la dpense nergtique.
La prsentation de notre travail lors de cette runion faisait partie de notre projet, tenant compte
que ce dernier est en liaison entre lISIMA et lINRA(CHU).

26

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Ce qui reste faire


Pour atteindre l'objectif, il nous faut atteindre et comprendre comment interprter les
donnes collectes partir de chaque capteur.
- deviner automatiquement l'activit actuelle de l'utilisateur (donc l'valuation de la dpense
nergtique)
- affichage de la liste des amis(es)
- modification des donnes paramtres de l'utilisateur (sur le serveur web) depuis le mobile
Plusieurs fonctionnalits peuvent encore tre amliores et rajoutes :
- plateforme "Tchat" pour permettre aux utilisateurs membres (et amis (es)) de s'envoyer des
messages instantanment.
- trac de la trajectoire de l'activit de l'utilisateur.

27

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

CONCLUSION
Au bout de notre cursus en licence informatique, nous avons t chargs de raliser un
projet de fin d'anne. Notre travail s'est bas sur le dveloppement d'un programme sur les
technologies mobiles (Smartphone). Ceci nous a amen dcouvrir une nouvelle plateforme de
dveloppement et enrichir notre savoir et notre exprience.
L'application que nous avons ralis permet d'hors et dj un utilisateur d'enregistrer au
pralable de s'authentifier et ainsi il lui est permis d'accder aux diffrentes fonctionnalits de
l'application. En outre, la sauvegarde de ses paramtres d'accs, le transfert des donnes vers le
serveur lors d'une quelconque activit. Mais encore, l'utilisateur peut connaitre la position GPS de
ses amis pour d'ventuelles activits sportives collectives.

28

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

ANNEXE
Processus de compilation d'un code Android

Figure 24 : Compilation Android ( http://revistalinux.net/cursos/java-y-android/attachment/android-compilation)

29

Dveloppement Mobile - Android 2.2

Anne 2010 - 2011

Rfrences et bibliographies
http://fr.wikipedia.org/wiki/Machine_virtuelle_Dalvik
http://developper.android.com
Android A PROGRAMMERS Guide [Jerome (J.F) DiMarzio] Mc Graw Hill
The Busy Coders Guide to Android Develoment [Mark L.Murphy] COMMONSWARE
Developper avec les API Google Maps Applications web, Iphone/Ipad et Android [Fabien Goblet
_Michel Dirix_Loic Goblet_Jean-Philippe Moreux]

30