You are on page 1of 45

ROYAUME DU MAROC HAUT COMMISSARIAT AU PLAN DIRECTION DE LA STATISTIQUE

Rapport de stage d’application :

ENQUETE DE CONJONCTURE AUPRES DES MENAGES

Réalisé par :

Encadré par :

M.TAAMOUTI Zakaria ccc M

M.TAROUA Azzouz

Année universitaire 2011/2012

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

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.

ENSAO 2011-2012

Page 2

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

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 Appliquées. de l’Ecole Nationale des Sciences

ENSAO 2011-2012

Page 3

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

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.

ENSAO 2011-2012

Page 4

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

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 I1. II12345Présentation du Haut Commissariat au plan .................................................................... 11 Missions du Haut commissariat au Plan ...................................................................... 11 Présentation de la Direction de la Statistique .............................................................. 12 L'historique : ................................................................................................................ 12 Identité de la direction ................................................................................................. 13 L'organigramme :......................................................................................................... 13 Missions de la Direction de la Statistique ................................................................... 14 Missions de la division informatique .......................................................................... 14

Chapitre II : Contexte générale du projet ................................................................................ 16 1. 2. 3. 4. 5. Présentation du sujet .................................................................................................... 17 Système actuel ............................................................................................................. 19 Problématiques ............................................................................................................ 19 Objectifs ...................................................................................................................... 20 Planification du projet ................................................................................................. 20

Chapitre III : Choix technique et Réalisation .......................................................................... 22 Introduction ............................................................................................................................. 23 I. 1. 2. 3. Choix technique ............................................................................................................... 23 Caractéristiques d’Android .......................................................................................... 23 La philosophie et les avantages d'Android .................................................................. 24 Présentation de l’environnement ................................................................................. 25 3.1 Architecture d’un projet Android .............................................................................. 25 II. 1. 2. Réalisation ....................................................................................................................... 32 Version d’Android ....................................................................................................... 32 La configuration du projet ........................................................................................... 32 Page 5

ENSAO 2011-2012

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)
2.1. 2.2. 2.3. 3. III. 1. 2. IV. Installation du SDK ............................................................................................. 32 Installation d’ADT............................................................................................... 33 Création Android Virtual Device (AVD) ............................................................ 34

Architecture de l’application ....................................................................................... 35 Tests............................................................................................................................. 40 Tests unitaires .............................................................................................................. 40 Tests d’intégration ....................................................................................................... 40 Présentation des interfaces .......................................................................................... 41

Conclusion générale ................................................................................................................ 44 Webliographie ......................................................................................................................... 45

ENSAO 2011-2012

Page 6

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

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

ENSAO 2011-2012

Page 7

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

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

ENSAO 2011-2012

Page 8

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

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

ENSAO 2011-2012

Page 9

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

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

ENSAO 2011-2012

Page 10

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) IPré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.

ENSAO 2011-2012

Page 11

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) IIPré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.
ENSAO 2011-2012 Page 12

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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 : Statguichet@statistic.gov.ma 3- L'organigramme :
Directeur de statistique Service de la Coopération et de la Coordination Statistique Directeur adjoint

Les conseillers

Division du Recensement Economique et Enquêtes auprès des Établissements Division des Statistiques Générales Division de la Cartographie et du Système d’Informations Géographiques Division de l’Imprimerie, de la Diffusion et de l’Archivage

Division des indices Statistiques Division Enquêtes auprès des Ménages Division du Recensement de la Population et de l’État Civil Division de l’Informatique

Division de la Gestion des Moyens

ENSAO 2011-2012

Page 13

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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
ENSAO 2011-2012 Page 14

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

Figure 1 : L’organigramme de la division informatique

ENSAO 2011-2012

Page 15

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

Chapitre II : Contexte générale du projet

ENSAO 2011-2012

Page 16

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

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
ENSAO 2011-2012 Page 17

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) - 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é.
ENSAO 2011-2012 Page 18

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)  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
ENSAO 2011-2012 Page 19

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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 cidessus 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.

ENSAO 2011-2012

Page 20

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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.

ENSAO 2011-2012

Page 21

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

Chapitre III : Choix technique et Réalisation

ENSAO 2011-2012

Page 22

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

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.

ENSAO 2011-2012

Page 23

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

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.

ENSAO 2011-2012

Page 24

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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.

ENSAO 2011-2012

Page 25

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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é

ENSAO 2011-2012

Page 26

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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

ENSAO 2011-2012

Page 27

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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.

ENSAO 2011-2012

Page 28

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

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

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 Dessin et image (res/drawable) Description 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. 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). Les fichiers XML pour pouvoir constituer des menus. Données diverses au format brut. Ces données n'ont pas de méthodes spécifiques dans
Page 29

Mise en page (res/layout)

Menu (res/menu) Donnée brute (res/raw)
ENSAO 2011-2012

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) Android pour les traiter. On peut imaginer y mettre de la musique ou des fichiers HTML par exemple. 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.

Donnée (res/values)

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.

ENSAO 2011-2012

Page 30

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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.

ENSAO 2011-2012

Page 31

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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.

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

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.

ENSAO 2011-2012

Page 32

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

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

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 6 : interface pour télécharger ADT ENSAO 2011-2012 Page 33

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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

ENSAO 2011-2012

Page 34

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

Figure 8 : L’architecture globale de notre projet

 /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
ENSAO 2011-2012 Page 35

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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

ENSAO 2011-2012

Page 36

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM)  /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

Figure 10 : les différents Layouts de notre projet

 /values : contient toutes les chaines de caractères, les dimensions et couleurs utilisées dans notre projet.

ENSAO 2011-2012

Page 37

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

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

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

Figure 12 : la syntaxe du fichier strings.xml

ENSAO 2011-2012

Page 38

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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.

Figure 13 : la syntaxe du fichier AndroidManifest.xml

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.
Page 39

ENSAO 2011-2012

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

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.

ENSAO 2011-2012

Page 40

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) 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 :

ENSAO 2011-2012

Page 41

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

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

ENSAO 2011-2012

Page 42

Stage d’application : Enquête de Conjoncture auprès des Ménages (ECM) Le module 2 du ménage sélectionné :

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

ENSAO 2011-2012

Page 43

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

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é.

ENSAO 2011-2012

Page 44

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

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/

ENSAO 2011-2012

Page 45