45
Rapport de stage d’application : ENQUETE DE CONJONCTURE AUPRES DES MENAGES Réalisé par : Encadré par : Année universitaire 2011/2012 M.TAAMOUTI Zakaria ROYAUME DU MAROC HAUT COMMISSARIAT AU PLAN DIRECTION DE LA STATISTIQUE M.TAROUA Azzouz

Rapport Final

Embed Size (px)

Citation preview

Page 1: Rapport Final

Rapport de stage d’application :

ENQUETE DE CONJONCTURE AUPRES

DES MENAGES

Réalisé par : Encadré par :

Année universitaire 2011/2012

M.TAAMOUTI Zakaria

ccc M

ROYAUME DU MAROC

HAUT COMMISSARIAT AU PLAN

DIRECTION DE LA STATISTIQUE

M.TAROUA Azzouz

Page 2: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 2

Remerciements

Nous tenons à présenter nos reconnaissances et nos

remerciements à notre encadrant Mr. TAROUA Azzouz, pour le temps

consacré à l’encadrement de notre travail. Les discussions que nous

avons partagées ont permis d’orienter notre travail d’une manière

pertinente. Nous le remercions aussi pour sa disponibilité à encadrer ce

travail à travers ses recommandations et ses propositions fructueuses

le long du stage.

Un remerciement particulier au Directeur de la statistique

Monsieur TAAMOUTI Mohammed de m’avoir accueilli au sein de la

Direction de la Statistique.

Enfin nous remercions toutes les personnes qui ont contribué de

près ou de loin à la réalisation de ce travail et dont les noms ne

figurent pas dans ce document.

Page 3: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 3

Dédicace

Nous dédions ce travail à nos parents, amis et

familles, à tous ceux qui nous ont encouragés, soutenus,

ainsi qu’à tous les professeurs du département génie

informatique de l’Ecole Nationale des Sciences

Appliquées.

Page 4: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 4

Résumé

Le présent document est le résultat du travail que nous avons

accompli dans le cadre du stage effectué au sein de la Direction de la

Statistique à Rabat. L’objectif de ce projet est la réalisation d’une

application Android destinée aux tablettes.

Notre mission principale consistait à informatiser une étude

intitulée Enquête de conjoncture auprès des ménages (ECM) qui vise à

collecter, rectifier et enregistrer les différentes données collectées de la

part des directions régionales et qui vont par la suite être exploitées par la

Direction de la Statistique.

L’application ECM est un système de gestion des enquêtes destiné

pour les tablettes sous le système d’exploitation Android. ECM offre la

possibilité à l’enquêteur, d’exécuter les différentes actions : consultation,

ajout, modification, annulation, recherche..., ainsi que la création d’un

fichier qui contient toutes les informations collectées auprès des ménages

pour les transmettre à la Direction de la Statistique.

Le projet présente un intérêt primordial parce qu’il contribue à la

création d’une base de données d’informations nécessaires aux processus

de calculer les moyens nationaux.

La réalisation du projet a mis en jeu la technologie Android comme

plateforme de développement, qui est très utilisée dans le monde du

mobile et qui devient de plus en plus dominant dans le marché mondiale.

Page 5: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 5

Sommaire Remerciements .......................................................................................................................... 2

Dédicace .................................................................................................................................... 3

Résumé ...................................................................................................................................... 4

Liste des figures ......................................................................................................................... 7

Préface ....................................................................................................................................... 8

Chapitre I : Présentation de La Direction de la Statistique ...................................................... 10

I- Présentation du Haut Commissariat au plan .................................................................... 11

1. Missions du Haut commissariat au Plan ...................................................................... 11

II- Présentation de la Direction de la Statistique .............................................................. 12

1- L'historique : ................................................................................................................ 12

2- Identité de la direction ................................................................................................. 13

3- L'organigramme : ......................................................................................................... 13

4- Missions de la Direction de la Statistique ................................................................... 14

5- Missions de la division informatique .......................................................................... 14

Chapitre II : Contexte générale du projet ................................................................................ 16

1. Présentation du sujet .................................................................................................... 17

2. Système actuel ............................................................................................................. 19

3. Problématiques ............................................................................................................ 19

4. Objectifs ...................................................................................................................... 20

5. Planification du projet ................................................................................................. 20

Chapitre III : Choix technique et Réalisation .......................................................................... 22

Introduction ............................................................................................................................. 23

I. Choix technique ............................................................................................................... 23

1. Caractéristiques d’Android .......................................................................................... 23

2. La philosophie et les avantages d'Android .................................................................. 24

3. Présentation de l’environnement ................................................................................. 25

3.1 Architecture d’un projet Android .............................................................................. 25

II. Réalisation ....................................................................................................................... 32

1. Version d’Android ....................................................................................................... 32

2. La configuration du projet ........................................................................................... 32

Page 6: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 6

2.1. Installation du SDK ............................................................................................. 32

2.2. Installation d’ADT ............................................................................................... 33

2.3. Création Android Virtual Device (AVD) ............................................................ 34

3. Architecture de l’application ....................................................................................... 35

III. Tests............................................................................................................................. 40

1. Tests unitaires .............................................................................................................. 40

2. Tests d’intégration ....................................................................................................... 40

IV. Présentation des interfaces .......................................................................................... 41

Conclusion générale ................................................................................................................ 44

Webliographie ......................................................................................................................... 45

Page 7: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 7

Liste des figures

Figure 1 : L’organigramme de la division informatique………14

Figure 2: Cycle de vie d’une activité………………………… 25

Figure 3 : Architecture générale du projet Android………… 28

Figure 4 : Logo officiel de la version 4.1 d’Android………… 31

Figure 5 : L’interface pour télécharger le SDK……………… 32

Figure 6 : interface pour télécharger ADT. …………………. 32

Figure 7 : La configuration de notre AVD……………………. 33

Figure 8 : L’architecture globale de notre projet…………… .. 34

Figure 9 : Les différentes images de notre projet…………… 35

Figure 10 : les différents Layouts de notre projet…………… 36

Figure 11 : Les fichiers contenus dans le dossier /res/values….37

Figure 12 : la syntaxe du fichier strings.xml…………………. 38

Figure 13 : la syntaxe du fichier AndroidManifest.xml

Page 8: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 8

Liste de abréviations

JIT : Just In Time

FAR : formerly Advanced RISC

GNU : GNU's Not UNIX

udev : système pour gérer /udev dans Linux

UP : Unité Primaire

US : Unité Secondaire

AVD : Android Virtual Device

Page 9: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 9

Préface

Les applications mobiles connaissent un succès grandissant, les

utilisateurs des services offerts par ces applications se comptent par des

centaines de millions, reliés de manière directe ou indirecte entre eux en

fonction de centres d'intérêts, de points de vue ou encore des besoins

communs.

Faciliter la vie quotidienne et répondre aux besoins du monde

professionnel est le but principal des applications mobiles, il existe

d’ailleurs différents types dont l’objectif est d’élargir le nombre des

utilisateurs et d’atterrir les différents profils.

C’est dans cette approche où la conception d’application mobile

dédiée spécialement aux besoins de la Direction des Statistiques prend

son intérêt, une application qui facilite une étude faite sur papier, afin de

réduire le temps des opérations effectuées (apurement et redressement) et

d’avoir des résultats plus pertinents et plus signifiants.

Les avantages d’une telle application sont multiples, collecter les

données, les traiter, les enregistrer et les envoyer par la suite à la

Direction de Statistique. Sans oublier l’amélioration de la crédibilité des

moyens nationaux calculés

Page 10: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 10

Chapitre I : Présentation de La

Direction de la Statistique

Page 11: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 11

I- Présentation du Haut Commissariat au plan

1. Missions du Haut commissariat au Plan

Une structure ministérielle érigée en septembre 2003 en une

administration de mission, sous l’autorité d’un haut commissaire au plan

nommé, avec rang de Ministre, par Sa Majesté le Roi.

Institution jouissant d’une indépendance institutionnelle et

intellectuelle dans l’établissement de ses programmes et la conduite de

ses travaux d’enquêtes et d’études.

Principal producteur de l’information statistique économique,

démographique et sociale et chargé de l’établissement des comptes de la

nation.

Elabore des études dans les domaines de la conjoncture, du cadrage

macroéconomique et de la prospective.

Dispose d’un observatoire des conditions de vie des ménages et

d’un centre d’études et de recherches démographiques.

Le HCP se conforme dans ses statistiques et ses études aux normes

internationales et est admis depuis 2005 à la Norme Spéciale de la

Diffusion des Données du FMI.

Le HCP est nommé au Comité Directeur du Partenariat statistique

au service du développement à l’aube du XXIe siècle (PARIS21). De

plus le Maroc est élu, pour la deuxième fois depuis 2000, membre de la

Commission Statistique des Nations Unies et ce, lors de la réunion du

Conseil Economique et Social des Nations Unies tenue le 18 mai 2009 à

New York.

Page 12: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 12

II- Présentation de la Direction de la Statistique

1- L'historique :

Les premières structures statistiques du Royaume du Maroc ont été

mises en place en 1942 à travers un Service Central des Statistiques. Dès

la deuxième moitié des années 50, l’intérêt porté à l’information

statistique a incité les pouvoirs publics à lui accorder plus d’importance.

C’est ainsi qu’en 1959 fut créé un comité de coordination des enquêtes

statistiques et en 1961 une école de formation d’ingénieurs statisticiens,

pour répondre aux besoins du secteur. Les effectifs de l’administration en

charge de la statistique furent renforcés et ses structures développées.

La masse de travaux devenant de plus en plus grande, le besoin de

déconcentrer la production des statistiques sectorielles s’est fait sentir.

Des cellules statistiques furent alors créées dans d’autres administrations

et leur développement encouragé. Un réseau statistique national a été

constitué.

Par la suite, la nécessité de régionaliser la production et la diffusion

de l’information statistique s’est traduite par la création de sept puis seize

délégations régionales de l’administration en charge de la statistique ; une

dans chaque région économique du territoire national.

La Direction de la Statistique qui a pris cette appellation en 1975 se

trouve ainsi au milieu d’un système national d’information statistique

déconcentré et décentralisé, dont elle est chargée d’assurer la cohérence

de fonctionnement.

Elle est dotée pour cela de structures et de moyens importants sans

cesse améliorés pour s’adapter aux besoins nouveaux. Elle emploie

actuellement prés de 900 personnes au niveau central, et dispose de

moyens appropriés de traitement et de diffusion de l’information.

Page 13: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 13

Depuis Mars 1998, la Direction de la Statistique dépend du Ministère de

la Prévision Economique et du Plan. Cependant, cette situation a changé

en Octobre 2003 car la Direction de la Statistique dépend du Haut

Commissariat au Plan.

2- Identité de la direction

La Direction de La statistique est un établissement en activité

depuis 1942 qui se trouve à Rue Bel Hassan El Ouazzani, Haut Agdal

B.P : 178 à Rabat Maroc.

Tél : (+212) 037-77-36-06

Fax : (+212) 037-77-32-17

Site : www.hcp.ma

Email : [email protected]

3- L'organigramme :

Division du Recensement

Economique et Enquêtes

auprès des

Établissements

Directeur

adjoint Division des

indices

Statistiques

Division des

Statistiques Générales

Division Enquêtes

auprès des Ménages

Division de la Cartographie

et du Système

d’Informations

Géographiques

Division du Recensement

de la Population et de

l’État Civil

Division de

l’Informatique

Division de la

Gestion des Moyens

Service de la Coopération

et de la Coordination

Statistique

Les conseillers

Division de l’Imprimerie,

de la Diffusion et de

l’Archivage

Directeur de statistique

Page 14: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 14

4- Missions de la Direction de la Statistique

La direction de la statistique est chargée des taches suivantes :

Réaliser d'enquêtes, de recensements et d'études dans les domaines

démographique, économique et social;

Collecter, centraliser, traiter, analyser et organiser dans des

banques de données des statistiques provenant des différentes

sources et leur diffusion;

Veiller sur le développement et la promotion du système statistique

national;

Veiller sur la normalisation des concepts, l'harmonisation et la

bonne utilisation des méthodologies statistiques dans le système

statistique national et la coordination des travaux statistiques

réalisés par les différentes composantes du système;

Réaliser des travaux et études statistiques, informatiques et

cartographiques au compte des autres.

5- Missions de la division informatique

La division de l’informatique est chargée des taches suivantes :

Développement des applications informatiques pour les besoins des

opérations statistiques;

Administration et gestion des bases de données ;

Centralisation et gestion des fichiers statistiques de base ;

Maintenance du matériel informatique;

Saisie des données concernant les opérations statistiques;

Administration et gestion du réseau informatique;

Gestion de l’Intranet;

Veille sur les technologies nouvelles dans le domaine de

l'informatique

Page 15: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 15

Figure 1 : L’organigramme de la division informatique

Page 16: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 16

Chapitre II : Contexte générale du

projet

Page 17: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 17

1. Présentation du sujet

L’enquête de la conjoncture auprès des ménages est une opération

qui se fait d’une façon trimestrielle au niveau des différentes directions

régionales de la statistique. Chaque Direction Régionale est dotée d’au

maximum de deux enquêteurs chargés de cette enquête. Les enquêteurs

visent un certain nombre de ménage dont chacun fera l’objet d’une

interview pendant trois trimestres successifs.

L’année est composée de trois trimestres. Lors de chaque trimestre

un passage d’enquête doit être effectué pour chaque ménage. Cette

opération commence par un dénombrement des unités secondaires de la

vague entrante, puis un choix des 18 ménages à tirage systématique doit

être fait et par la suite l’enquêteur s’en charge aussi du remplissage des

questionnaires de toutes les vagues.

L’opération du dénombrement des unités secondaires se fera jusqu’à

aujourd’hui sur papier. Ensuite le nombre des ménages recensés au

niveau de chaque unité secondaire doit être importé sur PDA.

Chaque direction régionale reçoit de la part de la direction centrale le

programme de collecte trimestriel composé de toutes les unités qui feront

l’objet de l’enquête, et ce pour toutes les vagues. Ce programme est sous

forme d’un tableau Excel ayant comme variables : l’année, le mois,

milieu, N° de classement de l’UP, N° de l’US, la région, la province, N°

du Dossier Cartographique, N° du sous échantillon.

Un intervalle de temps constant entre le premier et le deuxième ou

troisième passage doit être respecté. Ainsi, par exemple, si une UP est

enquêtée pour la première fois le ième mois du trimestre, elle devra être

contactée de nouveau lors du 2ème

et 3ème

passage pendant le ième mois

des deux trimestres suivants.

Remplissage des questionnaires :

- Lors du premier passage, tous les modules du questionnaire

doivent être remplis pour les 18 ménages sélectionnés

Page 18: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 18

- Lors du 2ème et 3ème passage, on doit remplir les Q5.1, Q7, Q8,

Q9, Q10 du module 1 et le module 4 en entier, les autres

informations seront importées du premier passage dans le fichier de

sortie.

- Si un ménage n’a pas fait l’objet de collecte lors d’un passage

(refus, déménagement..), il sera automatiquement abandonné lors

du passage suivant

- La règle générale consiste à interroger le même répondant durant

les trois passages. Cependant, pour des raisons de disparition ou de

non disponibilité, il ne sera pas toujours possible de rencontrer et

d’interviewer le même répondant. Deux solutions peuvent être

envisagées :

Si lors du premier passage, le répondant était lui-même le chef

de ménage, sa disparition entraîne son remplacement par un

autre membre du ménage (adulte âgé de 15 ans et plus). Il est à

noter qu’un seul remplacement sera permis lors de l’un des

passages suivants.

Si le répondant au cours du premier passage était un membre

autre que le chef de ménage (conjoint, fils ou fille...), le seul

remplacement possible lors des passages suivants ne peut être

fait que par le chef de ménage. Si pour des raisons, le chef de

ménage n’est pas disponible, le ménage sera abandonné

définitivement.

Phase post- enquête :

A la fin des travaux de collecte de chaque UP, les enquêteurs sont

tenus de sauvegarder les données au niveau du responsable

régional de l’opération.

Ce dernier se chargera de rassembler les données collectées pour

un mois donné.

Page 19: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 19

Durant la première semaine du mois qui suit le mois de collecte, les

fichiers de sortie doivent être acheminés via VPN à la DS qui se

chargera de l’exploitation des données et de publication des

résultats.

Après l’exploitation des données trimestrielles (apurement et

redressement), on prévoit la sortie des résultats dans les plus brefs

délais. Et ce par :

le calcul des soldes pour chaque question du module de la

conjoncture (module4) et ce en calculant la différance entre les

réponses positives et celle négatives

le croisement des variables de la conjoncture avec les variables

explicatives suivantes : milieu, sexe, âge, tranche du revenu, niveau

scolaire, type d’activité, taille du ménage.

2. Système actuel

Au sein de la Direction de la Statistique Il n’existe pas un système

de gestion automatisé au sens propre du terme pour l’apurement et le

redressement des données collectées auprès des ménages. Le traitement

et le suivi des enquêtes se font de façon manuelle et sur papier, ce qui ne

garantit pas une certaine fiabilité pour les études effectuées.

3. Problématiques

Après une discussion avec notre encadrant. Il s’est avéré que les

déficits sont dus à un ensemble de problèmes dont nous citons:

Volume important des informations traitées manuellement, ce qui

provoque parfois des erreurs dans la saisie des enquêtes.

Possibilité d'erreur dans le remplissage de différentes informations

de l’enquête.

Le rejet de quelques études dues à l’incohérence entre les différents

champs de l’enquête

Pour cela, la division informatique consciente de l’enjeu et soucieuse

de mettre en place un système d’information, a décidé dans ce cadre de

Page 20: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 20

mettre en place un système de gestion pour informatiser les enquêtes

auprès des ménages, pour disposer d’un outil qui lui permettra de

donner plus de fiabilité aux études.

4. Objectifs

Afin d’améliorer les fonctions et les processus de travail au niveau

des enquêtes effectués auprès des ménages, nous allons concevoir et

réaliser une application mobile sous Android, permettant de répondre

aux besoins perçus par la division informatique.

L’application apportera des solutions pour les problèmes cités ci-

dessus et à toutes les raisons des dysfonctionnements existants.

Les objectifs du système à réaliser sont :

Rapidité dans le saisi des informations ;

La fiabilité des données collectées ;

Stockage des informations sur des supports informatiques ce qui

assurera leur sécurité ;

Automatiser les tâches qui se traitent manuellement ;

Proposer une bonne codification ;

Gain de temps pour l’opération de l’apurement.

5. Planification du projet

La planification du projet est une phase importante avant le

commencement du projet. Elle consiste à prévoir le déroulement du projet

tout au long des phases constituant le cycle de développement.

Page 21: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 21

Trois grandes étapes ont été définies :

Phase Etude et analyse : Spécification et connaissance de

l’environnement du travail. Cette phase a comme objectifs de

bien cerner le sujet et de délimiter le périmètre du projet.

Phase de conception : Cette phase continue le développement

des spécifications et la modélisation.

Phase de développement : codage de l’application et les tests

unitaire.

Page 22: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 22

Chapitre III : Choix technique et

Réalisation

Page 23: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 23

Introduction

Dans cette partie, on présente différents choix techniques effectués

pour la réalisation de notre application. Pour effectuer cette réalisation,

nous utilisons la technologie Android est un système d'exploitation open

source utilisant le noyau Linux, pour smartphones, tablettes

tactiles, PDA et terminaux mobiles conçu par Android,

une startup rachetée par Google, et annoncé officiellement

le 5 novembre 2007. D'autres types d'appareils possédant ce système

d'exploitation existent, par exemple des téléviseurs et des tablettes.

I. Choix technique

1. Caractéristiques d’Android

Android est un système d'exploitation fondé sur un noyau Linux8, il

comporte une interface spécifique, développée en Java, les programmes

sont exécutés via un interpréteur JIT, toutefois il est possible de passer

outre cette interface, en programmant ses applications en C, mais le

travail de portabilité en sera plus important. Si la majorité des

périphériques Android sont basés sur l'architecture ARM, l'hétérogénéité

des versions et des coprocesseurs peut varier grandement d'un

constructeur à l'autre. Pour communiquer avec les périphériques, Android

utilise HAL, considéré comme obsolète depuis 2010 par de nombreuses

distributions GNU/Linux car ses fonctions principales sont à présent

intégrées dans udev.

Disponible via une licence Apache version 2, le système d'exploitation

inclut tous les utilitaires requis par un constructeur ou par un opérateur

pour mettre en œuvre un téléphone portable.

Android a été conçu pour intégrer au mieux des applications existantes

de Google comme le service de courrier Gmail, celui de

cartographie, GoogleMaps, ou encore Google Agenda, Google

Talk, YouTube.

Page 24: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 24

2. La philosophie et les avantages d'Android

Open-source

Le contrat de licence pour Android respecte l’idéologie open source,

c'est-à-dire que vous pouvez à tout moment télécharger les sources et les

modifier selon vos goûts ! Bon je ne vous le recommande vraiment pas

à moins que vous sachiez ce que vous faites. Il est à noter qu'Android

utilise des bibliothèques open sources puissantes comme par exemple

SQLite pour les bases de données et OpenGL pour la gestion d'images

2D et 3D.

Gratuit (ou presque)

Android est gratuit, autant pour développeur, que pour les constructeurs.

Facile à développer

Toutes les API mises à disposition facilitent et accélèrent grandement le

travail. Ces APIs sont très complètes et très faciles d'accès.

Facile à vendre

Le Play Store (anciennement Android Market) est une plateforme

immense et très visitée; c'est donc une mine d'opportunités pour

quiconque possède une idée originale ou utile.

Flexible

Le système est extrêmement portable, il s'adapte à beaucoup de structures

différentes. Les smartphones, les tablettes, la présence ou l'absence de

clavier ou de trackball, différents processeurs ... On trouve même des

micro-ondes qui fonctionnent à l'aide d'Android !

Non seulement c'est une immense chance d'avoir autant d'opportunités,

mais en plus Android est construit de manière à faciliter le

développement et la distribution en fonction des composants en présence

dans le terminal (si l’application nécessite d'utiliser le Bluetooth, seuls

les terminaux équipés de Bluetooth pourront la voir sur le Play Store).

Ingénieux

L'architecture d'Android est inspirée par les applications composites, et

encourage par ailleurs leur développement. Ces applications se trouvent

essentiellement sur internet et leur principe est qu’on peut combiner

plusieurs composants totalement différents pour obtenir un résultat

surpuissant. Par exemple, si on combine l'appareil photo avec le GPS, on

peut poster les coordonnées GPS des photos prises.

Page 25: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 25

3. Présentation de l’environnement Tout au long de ce projet, nous utiliserons les outils suivants :

- Système d’exploitation : Windows (On peut également développer

sous Mac ou Linux).

- Le JDK 7 de java.

- Environnement de développement intégré Eclipse :

Eclipse est un environnement de développement intégré libre,

extensible (IDE), universel et polyvalent, permettant de créer des projets

de développement mettant en œuvre n'importe quel langage de

programmation. Eclipse IDE est principalement écrit en Java. En plus de

Java, il permet également de supporter différents autres langages, comme

Python, C, C++, XML et HTML. Malgré qu'il est plus lent et plus

gourmand en espace mémoire mais il dispose d'une interface graphique

agréable, facile à prendre en main.

3.1 Architecture d’un projet Android

On va tout d'abord aborder la notion des activités et comment les

manipuler. Sachant que la majorité des applications contiendront

plusieurs activités, il est indispensable de maitriser ce concept ! Nous

verrons aussi ce que sont les vues.

3.1.1 Notion de l’activité

L'architecture de la majorité des applications Android est toujours à peu

près similaire. Chaque application est un assemblage de fenêtres entre les

quelles il est possible de naviguer. Ces différentes fenêtres sont appelées

des activités. De plus, une seule activité qui peut être affichée à la fois

dans une application Android.

Une activité contient des informations sur l'état actuel de l'application :

ces informations s’appellent le contexte qui constitue un lien avec le

système Android ainsi que les autres activités de l'application.

Page 26: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 26

3.1.2 Cycle de vie d’une activité

Une activité n'a pas de contrôle direct sur son propre état, il s’agit plutôt

d'un cycle rythmé par les interactions avec le système et d'autres

applications. Voici un schéma qui présente ce que l'on appelle le cycle de

vie d'une activité, c'est-à-dire qu'il indique les étapes que va traverser

notre activité pendant sa vie, de sa naissance à sa mort. Vous verrez que

chaque étape du cycle est représentée par une méthode. Nous verrons

comment utiliser ces méthodes en temps voulu.

Figure 2: Cycle de vie d’une activité

Page 27: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 27

onCreate :

Cette méthode est appelée à la création de l’activité (Activity). Elle sert à

initialiser votre activité ainsi que toutes les données nécessaires à cette

dernière.

Quand la méthode OnCreate est appelée, on lui passe un Bundle en

argument. Ce Bundle contient l’état de sauvegarde enregistré lors de la

dernière exécution de votre activité.

onStart

Cette méthode est pour signifier le début d’exécution de l’activité (début

du passage au premier plan). Si l’activité ne peut pas aller en avant plan

quelque soit la raison, l’activité sera transférée à OnStop.

onResume

Cette méthode est appelée après OnStart (au moment où l’application

repasse en foreground).à la fin de l’appel à la méthode onResume votre

application se trouve au premier plan et reçoit les interactions utilisateurs.

onPause

Si une autre activité passe au premier plan, la méthode onPause est

appelée sur l’activité. Afin qu’on puisse sauvegarder l’état de l’activité et

les différents traitements effectués par l’utilisateur.

A ce stade, l’activité n’a plus accès à l’écran, on doit arrêter de faire toute

action en rapport avec l’interaction utilisateur (désabonner les listeners).

On peut par contre continuer à exécuter des algorithmes nécessaires mais

qui ne consomment pas trop de CPU.

onStop

Appelée quand l’activité n’est plus du tout visible quelque soit la raison.

Dans cette méthode vous devez arrêter tous les traitements et services

exécutés par votre application.

onDestroy

Appelée quand l’application est totalement fermée (Processus terminé).

Toutes les données non sauvegardées sont perdues

Page 28: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 28

3.1.3 Les vues

Les vues (view en anglais), sont ces fameux composants qui

viendront se greffer sur notre échafaudage, ils 'agit de l'unité de base de

l'interface graphique. Leur rôle est de fournir du contenu visuel avec

lequel il est éventuellement possible d'interagir. A l'instar de l'interface

graphique avec Swing, il est possible de mettre en page les vues à l'aide

de conteneurs.

3.1.4 Les ressources

On va maintenant s’intéresser à un autre grand répertoire : res/

dont le projet Android se compose. C'est dans ce répertoire que sont

conservées les ressources de notre application, autrement dit les

éléments qui s'afficheront à l'écran ou qui influenceront ce qui s’affichera

à l'écran.

Android est destiné à être utilisé sur un très grand nombre de supports

différents, et il faut par conséquent s’adapter à ces supports. C’est dans

cette optique qu’il faut toujours mettre à disposition des images de

différentes tailles pour éviter toute déformation de l’application sur un tel

support.

Les différents types de ressources

Les ressources sont des éléments capitaux dans une application

Android. On y trouve par exemple des chaînes de caractères ou des

images. Comme Android est destiné à être utilisé sur une grande variété

de supports, il fallait trouver une solution pour permettre à une

application de s'afficher de la même manière sur les différents écrans, ou

faire en sorte que les textes s'adaptent à la langue de l'utilisateur. C'est

pourquoi les différents éléments qui doivent s’adapter de manière très

précise sont organisés de manière tout aussi précise, de façon à ce

qu'Android sache quels éléments utiliser pour quels types de terminaux.

On découvre les ressources à travers une hiérarchie particulière de

répertoires. Vous pouvez remarquer qu'à la création d'un nouveau projet,

Eclipse crée certains répertoires par défaut.

Page 29: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 29

Voici un tableau qui vous indique les principales ressources que l'on

peut trouver, avec le nom du répertoire associé. Vous remarquerez que

seuls les répertoires les plus courants sont créés par défaut.

Type Description

Dessin et image

(res/drawable)

On y trouve les images

matricielles (les images de type

PNG, JPEG ou encore GIF). On y

trouve aussi des fichiers XML

dont le contenu décrit des formes

ou des dessins.

Mise en page

(res/layout)

Les fichiers XML qui

représentent la disposition que

doivent adopter les vues (on

abordera cet aspect, qui est très

vaste, dans le prochain chapitre).

Menu

(res/menu)

Les fichiers XML pour pouvoir

constituer des menus.

Donnée brute

(res/raw)

Données diverses au format brut.

Ces données n'ont pas de

méthodes spécifiques dans

Figure 3 : Architecture générale du projet Android

Page 30: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 30

Android pour les traiter. On peut

imaginer y mettre de la musique ou

des fichiers HTML

par exemple.

Donnée

(res/values)

Il est plus difficile de cibler les

ressources qui appartiennent à

cette catégorie tant elles sont

nombreuses. On y trouve entre

autre des chaines de caractères,

des dimensions, des couleurs, etc.

3.1.5 Les services d’Android

Un service, à la différence d’une activité, ne possède pas de vue mais

permet l’exécution d’un algorithme sur un temps indéfini. Il ne s’arrêtera

que lorsque la tâche est finie ou que son exécution est arrêtée.

Il peut être lancé à différents moments :

Au démarrage du téléphone.

Au moment d’un événement (arrivée d’un appel, SMS, mail, etc…).

Lancement de votre application.

Action particulière dans votre application.

3.1.6 Broadcast and Intent Receivers

Un Broadcast Receiver comme son nom l’indique permet d’écouter ce

qui se passe sur le système ou sur l’application et déclencher une action

que vous aurez prédéfinie. C’est souvent par ce mécanisme que les

services sont lancés.

3.1.7 Content providers

Les content providers servent à accéder à des données depuis

l’application. On peut accéder :

Aux contacts stockés dans le téléphone.

A l’agenda.

Aux photos.

Ainsi que d’autres données depuis l’application grâce aux content

providers.

Page 31: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 31

3.1.8 Le langage XML

L’adaptation des applications à tous les types de terminaux est

indispensable. Cette adaptation passe par la maîtrise des ressources, des

objets de différentes natures qui seront définis dans le langage de

balisage XML.

Le XML est un langage de balisage un peu comme le HTML. Le principe

d'un langage de programmation (Java, C++, etc.) est d'effectuer des

calculs, puis éventuellement de mettre en forme le résultat de ces calculs

dans une interface graphique. A l'opposé, un langage de balisage comme

XML n'effectue ni calcul, ni affichage, mais se contente de mettre en

forme des informations. Concrètement, un langage de balisage est une

syntaxe à respecter, de façon à ce qu'on sache de manière exacte la

structuration d'un fichier. Et si on connait l'architecture d'un fichier, alors

il est très facile de retrouver l'emplacement des informations contenues

dans ce fichier et de pouvoir les exploiter. Ainsi, il est possible de

développer un programme appelé « interpréteur » qui récupérera les

données d'un fichier (structuré à l'aide d'un langage de balisage) et

effectuera des calculs et des affichages en fonction des informations

fournies.

Page 32: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 32

II. Réalisation

1. Version d’Android

Vu que notre application doit être réalisé en arabe, on s’est ramené à

choisir une version d’Android qui supporte la langue Arabe

(écriture et lecture). Après une recherche, il s’est avéré que

l’utilisation de la dernière version 4.1 est incontournable grâce aux

fonctionnalités offertes et qui répondent à notre besoin.

Cette version a été lancé officiellement en 2O12 par Google sous le

nom « Jelly Bean » et elle contient une multitude d’amélioration et

de nouveautés surtout au niveau des API ajoutées qui vont faciliter

assez de choses sur les développeurs.

2. La configuration du projet

2.1. Installation du SDK

Un SDK est un Kit de Développement contenant un ensemble d'outils

que met à disposition un éditeur afin de permettre de développer des

applications pour un environnement précis. Le SDK Android permet

donc de développer des applications pour Android et uniquement pour

Android.

Dans notre cas on a téléchargé sdk 4.1, le dossier extra et le dossier

Tools.

Figure 4 : Logo officiel de la version 4.1

d’Android

Page 33: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 33

2.2. Installation d’ADT

La deuxième étape consiste à télécharger le plug-in Android Development

Tools (ADT). Cet outil aidera à créer des projets pour Android avec les

fichiers de base, mais aussi à tester, à déboguer et à exporter les projets

en APK pour pouvoir publier les applications par la suite sur internet.

Figure 5 : L’interface pour télécharger le SDK

Figure 6 : interface pour télécharger ADT

Page 34: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 34

2.3. Création Android Virtual Device (AVD)

L'Android Virtual Device, aussi appelé AVD, est un émulateur de

terminal sous Android, c'est-à-dire qu'il en simule le comportement. Il

sert à tester notre application sans avoir besoin d’un périphérique sous

Android pour tester votre application.

Figure 7 : La configuration de notre AVD

Page 35: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 35

3. Architecture de l’application

/src : C’est un dossier contient les différentes classes de notre

projet et on trouve les sous dossiers suivants :

com.taamouti.hcp : contient les classes du projet. Chaque classe

est associée avec un Layout, écrit en xml, qui représente

Figure 8 : L’architecture globale de notre projet

Page 36: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 36

l’interface graphique.

com.taamouti.Menage : contient les classes communicantes avec

la base de données pour récupérer les différents ménages de

l’enquête.

com.taamouti.sqlite : contient les classes de l’authentification.

/gen : contient le fichier R.java qui rassemble les identifiants

de chaque ressource. Grace à cet identifiant on peut accéder à

n’import quelle ressource se trouvant dans le dossier /res

/res : contient l’ensemble des ressources de notre projet

/drawable : dossier contenant les images utilisées

dans le projet

Figure 9 : Les différentes images de notre projet

Page 37: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 37

/layout : contient les différentes interfaces de notre

projet sous forme de fichiers xml. Chaque fichier est

associé avec une classe du dossier /src. On appelle la

classe en utilisant l’instruction suivante :

setContentView(R.layout.accueil) ;//accueil est notre classe

/values : contient toutes les chaines de caractères, les

dimensions et couleurs utilisées dans notre projet.

Figure 10 : les différents Layouts de notre projet

Page 38: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 38

Si on ouvre le fichier strings.xml on trouve la syntaxe suivante :

Figure 11 : Les fichiers contenus dans le dossier /res/values

Figure 12 : la syntaxe du fichier strings.xml

Page 39: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 39

AndroidManifest.xml :

C’est le fichier le plus important dans un projet Android parce que toutes

les classes et les permissions dont notre application possède doivent être

déclarées au niveau de ce fichier sinon elles seront plus reconnues.

La balise « manifest » contient plusieurs arguments, le plus important

est « package », qui donne le nom du package dans lequel se trouve

notre activité principale.

La balise « application » sert à la déclaration de différentes propriétés

de notre application :

o android:icon : L’emplacement où se trouve l’icône de notre

application.

o android:label : Le nom de notre application (il se trouve dans

strings.xml).

o android:theme: Spécifier le thème utilisé par notre

application. Ce thème pointe vers le style AppTheme déclaré

dans le fichier styles.xml

La balise « activity » permet de déclarer une activité, à chaque

nouvelle activité il faut remettre cette balise.

o android:name : le nom de la classe java qui représente

l’activité. Le nom doit commencer par un. et on ne met pas le

.java à la fin.

o android:label : le label de l’activité en question

o intent-filter : c’est pour spécifier une action.

la sous balise action est pour spécifier l’action à

exécuter, dans notre cas c’est MAIN.

Figure 13 : la syntaxe du fichier AndroidManifest.xml

Page 40: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 40

la sous balise category est là pour spécifier la catégorie

de l’action.

III. Tests

Pour garantir la crédibilité de notre application, nous avons

effectué un certain nombre de tests sur deux phases : d’abord des tests de

chaque composant de l’application (tests unitaires), ensuite des tests

d’intégration ont été effectuées pour mesurer l’interopérabilité entre ces

composants.

1. Tests unitaires

Ces tests permettent de vérifier le bon fonctionnement de chacun

des composants de l’application. Ils consistent à suivre l’exécution de

chacune de leurs fonctionnalités et à vérifier que le résultat du test

correspond bien aux spécifications de cahier de charges. Pour notre cas

les tests unitaires des différents composants de l’application ECM nous a

aidés à détecter certaines exceptions par exemple, lors de la récupération

des données à partir des préférences.

2. Tests d’intégration

La phase d’intégration est une étape incontournable. Après la phase

des tests unitaires, les différentes activités réalisées doivent être

cohérentes et liées entre elles afin de garantir un saisi cohérent des

données et une récupération sans erreurs.

Lors de la fusion de différentes activités de l’ECM, certaines

erreurs ont été générées lors des tests d’intégration, et ceci est dû aux

problèmes de la communication entre quelques activités de notre projet.

Mais nous avons pu résoudre ces anomalies et de construire un projet qui

fonctionne correctement.

Page 41: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 41

IV. Présentation des interfaces

Dans cette section nous allons présenter les différentes interfaces

contenues dans notre application :

La page d’authentification :

Le menu principal :

Page 42: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 42

La liste des ménages recherchés :

Les données du ménage sélectionné :

Page 43: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 43

Le module 2 du ménage sélectionné :

Le module 4 du ménage sélectionné :

Page 44: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 44

Conclusion générale

Dans le cadre du stage, nous avons réalisé l’application mobile

ECM sous Android, qui vise à informatiser les opérations trimestrielles

faites par la Direction de la Statistique pour assurer une bonne

organisation et pour aussi offrir une multitude de fonctionnalités. Ces

fonctionnalités seront utilisées par les enquêteurs afin de bien gérer

l’enquête.

La période de réalisation était la phase la plus délicate, nous nous

sommes basés sur la technologie Android, avec ses multitudes

fonctionnalités, en utilisant l’IDE Eclipse.

L’adaptation et la fusion des interfaces graphiques de chaque

activité ont demandé un effort d’avantage, pour assurer l’homogénéité

des pages, et une navigation meilleure.

La phase des tests nous a permis de détecter les différentes

anomalies et de pouvoir les rectifier par la suite afin de réaliser un produit

de qualité.

Certes, il reste encore des modules à développer dans notre projet

dont on espère vivement que les développeurs à venir pourront terminer

de façon à ce qu’ils puissent produire d’autres fonctionnalités comme le

calcul automatique des moyens et la génération des graphes pour l’indice

recherché.

Page 45: Rapport Final

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)

ENSAO 2011-2012 Page 45

Webliographie

Introduction à programmation sous Android : http://www.tutos-android.com/introduction-programmation-android

Android avancé : http://manu.kegtux.org/Java/Tutoriels/Android/androidAvance.html

Forum Android en français :

http://forum.frandroid.com/

Forum pour développeur Android en anglais: http://stackoverflow.com/