67
N° dordre : 01 / L3 / TCO Année Universitaire : 2011 / 2012 UNIVERSITE DANTANANARIVO ----------------------- ECOLE SUPERIEURE POLYTECHNIQUE ----------------------- DEPARTEMENT TELECOMMUNICATION MEMOIRE DE FIN DETUDES en vue de lobtention du DIPLOME de LICENCE ès SCIENCES TECHNIQUES Spécialité : Télécommunication par : ANDIHARIJAONA Jacques Faniriantsoa MISE EN ŒUVRE DE SERVICE MOBILE PERSONNEL SOUS SYSTEME ANDROID Soutenu le 22 novembre 2013 devant la Commission dExamen composée de : Président : M. ANDRIAMIASY Zidora Examinateurs : M. BOTO ANDRIANANDRASANA Jean Espérant M. RANDRIAMIHAJARISON Mparany Jimmy Mme. RAMAFIARISONA Malalatiana Directeur de mémoire : M. RANDRIARIJAONA Lucien Elino

MISE EN ŒUVRE DE SERVICE MOBILE PERSONNEL SOUS …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

N° d’ordre : 01 / L3 / TCO Année Universitaire : 2011 / 2012

UNIVERSITE D’ANTANANARIVO

----------------------- ECOLE SUPERIEURE POLYTECHNIQUE

-----------------------

DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D’ETUDES

en vue de l’obtention

du DIPLOME de LICENCE ès SCIENCES TECHNIQUES

Spécialité : Télécommunication

par : ANDIHARIJAONA J acques Faniriantsoa

MISE EN ŒUVRE DE SERVICE MOBILE

PERSONNEL SOUS SYSTEME ANDROID

Soutenu le 22 novembre 2013 devant la Commission d’Examen composée de :

Président :

M. ANDRIAMIASY Zidora

Examinateurs :

M. BOTO ANDRIANANDRASANA Jean Espérant

M. RANDRIAMIHAJARISON Mparany Jimmy

Mme. RAMAFIARISONA Malalatiana

Directeur de mémoire :

M. RANDRIARIJAONA Lucien Elino

i

REMERCIEMENTS

Avant tout, je glorifie l’éternel Dieu tout puissant de m’avoir soutenu durant la réalisation de cet

ouvrage.

Ensuite, je tiens aussi à remercier les personnes suivantes sans qui je n’aurai accompli l’étude que

j’ai suivie à l’E. S. P. A., parmi lesquelles :

Monsieur ANDRIANARY Philippe Antoine, Professeur titulaire, Directeur de l’Ecole

Supérieure Polytechnique d’Antananarivo ;

Monsieur RAKOTOMALALA Mamy Alain, Enseignant-Chercheur, Chef de Département

Télécommunication.

Je tiens à témoigner ma reconnaissance et ma gratitude les plus sincères à Monsieur

RANDRIARIJAONA Lucien Elino, Assistant d’Enseignement et de Recherche,

Enseignant-Chercheur à l’ESPA, qui, en tant que Directeur de ce mémoire, s'est toujours

montré à l'écoute et très disponible tout au long de sa réalisation.

Mes vifs remerciements s’adressent aussi à Monsieur ANDRIAMIASY Zidora, Maître de

conférences, qui nous a fait l’honneur de présider le jury de soutenance de ce mémoire,

Tous les membres de jury, également enseignants dans la filière Télécommunication, à savoir :

Monsieur BOTO ANDRIANANDRASANA Jean Espérant, Enseignant-Chercheur à

l’ESPA.

Monsieur RANDRIAMIHAJARISON Mparany Jimmy, Enseignant-Chercheur à l’ESPA.

Madame RAMAFIARISONA Malalatiana, Enseignant-Chercheur à l’ESPA.

Qui ont accepté de sacrifier leur temps pour assister à la présentation de ce mémoire ;

Tous les enseignants et tout le personnel de l’Ecole Supérieure Polytechnique

d’Antananarivo, en particulier ceux du département Télécommunications ;

A toute ma grande famille, mes amis, mes collègues et tous ceux qui de près ou de loin ont

contribué à la réalisation de ce travail ;

Je vous remercie tous et que le ciel vous donne tout le bonheur que vous souhaitiez.

ii

TABLE DES MATIERES

REMERCIEMENTS ...................................................................................................................................... i

TABLE DES MATIERES ............................................................................................................................ ii

NOTATIONS ET ABREVIATIONS ........................................................................................................... v

INTRODUCTION GENERALE .................................................................................................................. 1

CHAPITRE 1 LES RESEAUX SANS FILS ............................................................................................... 2

1.1 Introduction ......................................................................................................................................... 2

1.2 La propagation des ondes radios ....................................................................................................... 2

1.2.1 Les phénomènes à petite échelle .................................................................................................. 3

1.2.2 Les phénomènes à grande échelle ................................................................................................ 3

1.3 Les catégories de réseaux sans fils ..................................................................................................... 4

1.3.1 Le réseau personnel sans fil ......................................................................................................... 5

1.3.2 Le réseau local sans fil ................................................................................................................. 6

1.3.3 Le réseau métropolitain sans fil ................................................................................................... 6

1.3.4 Le réseau régional sans fil ........................................................................................................... 7

1.3.5 Le réseau étendu sans fil .............................................................................................................. 7

1.4 Les services dans les réseaux sans fils ............................................................................................... 8

1.4.1 La téléphonie ................................................................................................................................. 9

1.4.2 Les messageries ............................................................................................................................. 9

1.4.3 Autres services ............................................................................................................................ 10

1.5 Avantages et inconvénients des réseaux sans fils............................................................................ 10

1.5.1 Les avantages du réseau sans fil ................................................................................................ 10

1.5.2 Les inconvénients du réseau sans fil .......................................................................................... 11

1.6 Conclusion ......................................................................................................................................... 11

CHAPITRE 2 LA TECHNOLOGIE BLUETOOTH .............................................................................. 12

2.1 Introduction ....................................................................................................................................... 12

2.2 Cas d’utilisations ............................................................................................................................... 12

2.3 Les types de réseaux .......................................................................................................................... 13

2.3.1 Le pico-réseau ............................................................................................................................. 13

2.3.2 L’inter-réseau ............................................................................................................................. 14

iii

2.4 L’architecture de la technologie ...................................................................................................... 14

2.4.1 Les couches propres à Bluetooth ................................................................................................ 15

2.4.2 Les couches des protocoles adoptés ............................................................................................ 18

2.4.3 Le RFCOMM .............................................................................................................................. 18

2.4.4 Les couches des protocoles spéciaux .......................................................................................... 19

2.5 Gestion des communications ............................................................................................................ 19

2.5.1 Les différents types d’adresses .................................................................................................. 19

2.5.2 Format du paquet Bluetooth ...................................................................................................... 20

2.5.3 Illustration des communications ................................................................................................ 20

2.6 Caractéristiques ................................................................................................................................ 22

2.7 Conclusion ......................................................................................................................................... 22

CHAPITRE 3 LE SYSTEME ANDROID ................................................................................................ 23

3.1 Introduction ....................................................................................................................................... 23

3.2 Les Smartphones ............................................................................................................................... 23

3.3 Les versions d’Android ..................................................................................................................... 24

3.4 Architecture du système Android .................................................................................................... 24

3.5 Les caractéristiques d’Android ........................................................................................................ 26

3.5.1 Le framework .............................................................................................................................. 26

3.5.2 La machine Virtuelle de Dalvik DVM ....................................................................................... 26

3.5.3 Le graphisme ............................................................................................................................... 26

3.5.4 La base de données SQLite ......................................................................................................... 27

3.5.5 La disposition graphique maniable ............................................................................................ 27

3.5.6 Les connectivités ......................................................................................................................... 27

3.5.7 La messagerie .............................................................................................................................. 27

3.5.8 Le navigateur Web ...................................................................................................................... 27

3.5.9 Le multimédia ............................................................................................................................. 27

3.5.10 Les matériels ............................................................................................................................. 27

3.6 Le développement d’application ...................................................................................................... 28

3.6.1 La structure d’une application Android .................................................................................... 28

3.6.2 L’interface de programmation pour les interfaces utilisateurs ................................................. 29

iv

3.6.3 L’interface de programmation pour les graphismes et les animations ..................................... 30

3.6.4 L’interface de programmation pour le stockage de données .................................................... 31

3.6.5 L’interface de programmation pour les connectivités ............................................................... 32

3.6.6 L’interface de programmation pour le multimédia ................................................................... 36

3.6.7 L’interface de programmation pour la localisation et les capteurs .......................................... 37

3.7 Conclusion ......................................................................................................................................... 39

CHAPITRE 4 REALISATION D’UNE APPLICATION DE MESSAGERIE ..................................... 40

4.1 Introduction ....................................................................................................................................... 40

4.2 Le module d’extension ADT d’eclipse ............................................................................................. 40

4.3 Fonctionnement de l’ADT ................................................................................................................ 41

4.3.1 L’installation du module : .......................................................................................................... 41

4.3.2 L’espace de travail ...................................................................................................................... 41

4.4 Description de l’application de messagerie somesoBT .................................................................. 43

4.4.1 A propos de somesoBT ................................................................................................................ 43

4.4.2 Le fonctionnement de l’application ........................................................................................... 44

4.5 L’application réalisée ........................................................................................................................ 46

4.5.1 Présentation et illustration ......................................................................................................... 46

4.5.2 Contraintes pendant la réalisation ............................................................................................. 48

4.6 Conclusion ......................................................................................................................................... 48

CONCLUSION GENERALE .................................................................................................................... 49

ANNEXE 1 LE LANGAGE JAVA ............................................................................................................ 50

ANNEXE 2 EXTRAITS CODE SOURCE ................................................................................................ 51

BIBLIOGRAPHIE ...................................................................................................................................... 56

FICHE DE RENSEIGNEMENTS ............................................................................................................. 57

RESUME ...................................................................................................................................................... 58

ABSTRACT ................................................................................................................................................. 58

v

NOTATIONS ET ABREVIATIONS

Abréviations

AAC Advanced Audio Coding

ACL Asynchronous Conection-Less

ADT Android Developer tools

AGC Automatic Gain Controller

AM_ADDR Active Member Address

AMR Adaptive Multi Rate

AP Access Point

API Application Programming Interface

APK Android Packages

AR_ADDR Access Request Adress

BD_ADDR Bluetooth Device Address

CDMA Code Division Multiple Access

CD-ROM Compact Disc Read Only Memory

CTP Cordless Telephony Profile

DUNP Dial Up Networking Profile

Notations

B Champ magnétique

C célérité

D Distance en mètre

E Champ électrique

F Fréquence

P Perte de parcours en décibel

T Période

vi

DVB-H Digital Video Broadcasting

EDGE Enhanced Data GSM Environment

ETSI European Telecommunications Standard Institute

EVDO 1x Evolution-Data Optimized

FHSS Frequency Hopping Spread Spectrum

GAP Generic Access Profile

GFSK Gaussian Frequency Shift Keying

GIF Graphics Interchange Format

GOEP Generic Exchange Object Profile

GPRS General Packet Radio Service

GPS Global Positionning System

GSM Global System for Mobile communications

H. 264 MPEG-4 Advanced Video Coding

HomeRF Home Radio Frequency

HSDPA High Speed Downlink Packet Access

HSPA High Speed Packet Access

HSUPA High Speed Uplink Packet Access

HTML HyperText Markup Language

IDE Integrated Development Environnement

IEEE Institute of Electrical and Electronic Engineer

iOS Apple Operating System

IPC Inter-Process Communication

IrDA InfraRed Device Association

ISDB-T Integrated Services Digital Broadcasting - Terrestrial

ISM Industrie, Science et Médical

vii

JDK Java Development Kit

JPEG Joint Photographic Experts Group

L2CAP Logical Link Control & Adaptation Protocol

LAP LAN Access Profile

LMDS Local Multipoint Distribution Service

LTE Long Term Evolution

MAC Medium Access Control

MMDS Multichannel Multipoint Distribution Service

MMS Multimedia Message Service

MP3 MPEG-1/2 Audio Layer 3

MPEG-4 Moving Picture Experts Group 4

NFC Near Field Communication

OHA Open Handset Alliance

OpenGL ES Open Graphic Library for Embedded System

OS Operating System

P2P Peer to peer

PC Personal Computer

PDA Personal Digital Assistant

PM_ADDR Parked Member Address

PNG Portable Network Graphics

PPP Point to point protocol

PSK Phase Shift Keying

QoS Quality of Service

RF Radio Frequency

RFCOMM Radio Frequency Communication

viii

SCO Synchronous Connection-Oriented

SD Secure Digital

SDK Software Development Kit

SIP Session Initiation Protocol

SMS Short Message Service

SPP Serial Port Profile

SUN Stanford University Network

TCS-BIN Telephony Control protocol Specification BINary

TDD Time Division Duplexing

T-DMB Terrestrial Digital Multimedia Broadcasting

TIC Technologies de l’information et de la communication

UMTS Universal Mobile Telecommunications Systems

USB Universal Serial Bus

UWB Ultra Wide Band

VGA Video Graphics Array

VoIP Voice over Internet Protocol

WECA Wireless Ethernet Compatibility Alliance

WiMAX Worldwide Interoperability for Microwave Access

WLAN Wireless Local Area Network

WMAN Wireless Metropolitan Area Network

WPAN Wireless Personnal Area Network

WWAN Wireless Wide Area Network

XML eXtensible Markup Language

XMPP eXtensible Managing and Presence Protocol

1

INTRODUCTION GENERALE

Les progrès technologiques récents innovent la majorité des pays et affectent le mode de vie de

chaque individu.

Cet avancé concerne tant le monde de l’informatique que celui des télécommunications, tant les

matériels que les supports de transmission. Les moyens d’accès ont évolué, avec de nouveaux

réseaux tels que les réseaux sans fils GPRS, EDGE, UMTS, LTE, Wifi etc. Ces réseaux offrent des

services de plus en plus sophistiqués et performants.

L’apparition d’une grande variété de nouveaux moyens a permis aux utilisateurs d’accéder et

d’utiliser l’information qui les intéresse en tout lieu couvert par le réseau et à tout moment. L’accès

au contenu ne s’effectue plus exclusivement de la même façon ni par les mêmes appareils qu’il y a

quelques années. De nouveaux appareils, fruits d’une véritable révolution technologique, sont

apparu et sont connu de tous sous les noms : téléphones cellulaires, assistants numériques

personnels, Smartphones, etc.

L’Open Handset Alliance ou OHA, qui est un consortium de plusieurs entreprises à vocation

interdépendant, a pour but de développer des normes ouvertes pour les appareils électroniques

mobiles. Le système d’exploitation nommé Android, qui est un produit de ce consortium intéresse

de plus en plus différents catégories de personnes depuis de simple utilisateurs à de géants

d’entreprises. L’ouverture de ce système d’exploitation crée de nouveaux horizons pour les

opérateurs de téléphonie mobiles, les commerçants, les fabricants d’appareils et voire même les

éditeurs de logiciel.

Une des raisons du choix de ce mémoire est de dresser un panorama des possibilités que le système

Android offre au domaine de la télécommunication sans fils.

Ainsi, ce mémoire intitulé : « Mise en œuvre de service mobile personnel sous le système Android»

portera sur quatre chapitres dont le premier présente le panorama des réseaux sans fils. Le second

chapitre traite de la technologie sans fils Bluetooth. Le troisième sera consacré à la présentation du

système Android et le quatrième décrit la réalisation d’une application de messagerie sur la

plateforme Android.

2

CHAPITRE 1

LES RESEAUX SANS FILS

1.1 Introduction

Un réseau sans fil est, comme son nom l'indique, un réseau dans lequel au moins deux terminaux

peuvent communiquer sans liaison filaire. Grâce aux réseaux sans fil, un utilisateur a la possibilité

de rester connecté tout en se déplaçant dans un périmètre géographique plus ou moins étendu, c'est

la raison pour laquelle on entend parfois parler de mobilité. Les réseaux sans fil sont basés sur une

liaison utilisant des ondes radioélectriques lieu et place des câbles habituels. Il existe plusieurs

technologies se distinguant d'une part par la fréquence d'émission utilisée ainsi que le débit et la

portée des transmissions. Les réseaux sans fil permettent de relier très facilement des équipements

distants d'une dizaine de mètres à quelques kilomètres. De plus l'installation de tels réseaux ne

demande pas de lourds aménagements des infrastructures existantes comme c'est le cas avec les

réseaux filaires, ce qui a valu un développement rapide de ce type de technologie.

En contrepartie se pose le problème de la réglementation relative aux transmissions radioélectriques.

En effet, les transmissions radioélectriques servent pour un grand nombre d'applications, mais sont

sensibles aux interférences, c'est la raison pour laquelle une réglementation est nécessaire dans

chaque pays afin de définir les plages de fréquence et les puissances auxquelles il est possible

d'émettre pour chaque catégorie d'utilisation. De plus les ondes hertziennes sont difficiles à confiner

dans une surface géographique restreinte, il est donc facile pour un pirate d'écouter le réseau si les

informations circulent en clair. Il est donc nécessaire de mettre en place les dispositions nécessaires

de telle manière à assurer une confidentialité des données circulant sur les réseaux sans fil.

Nous verrons dans ce chapitre les caractéristiques des ondes radios, les catégories de réseaux sans

fils, les services, les avantages et les inconvénients de ce type de réseaux.

1.2 La propagation des ondes radios

La connaissance des propriétés des ondes électromagnétiques facilite la mise en place d’une

architecture réseau sans fil, et notamment de disposer les bornes d’accès de telle façon à obtenir une

portée optimale.

En effet, l’onde électromagnétique est formée par le couplage des deux champs ci-dessous, le champ

électrique (E) et le champ magnétique (B). Grâce au schéma 1.02 nous pouvons nous rendre compte

que la fréquence est définie par la célérité et la longueur d’onde. [1]

3

Figure 1.02 : L’onde électromagnétique

1.2.1 Les phénomènes à petite échelle

Ce sont les phénomènes qui affectent le signal transmis sur un faible intervalle de temps. A petite

échelle, les évènements sont mesurés sur un intervalle de temps suffisamment court. On observe

que les variations de puissance sont causés par la présence d’objet dans l’environnement et qui

engendre plusieurs répliques du signal transmis. Elles peuvent s’additionner de manière constructive

ou destructive au niveau du récepteur, notamment en fonction de leur phase respective. Dans ce cas

on parle d’évanouissement ou fading du signal.

1.2.2 Les phénomènes à grande échelle

Ce sont les phénomènes qui influencent sur la transmission depuis l’émetteur jusqu’au récepteur et

durant l’intégralité de l’émission. En tenant compte de l’intégralité de la transmission, on rencontre

deux phénomènes qui affectent le signal à savoir :

L’atténuation de parcours

On l’appelle aussi Pathloss. Il concerne un affaiblissement du signal causé par une perte de

puissance qui est dû à la propagation en espace libre de l’onde électromagnétique. Cela s’explique

par la dispersion isotrope de l’énergie transmise selon les trois dimensions spatiales. L’atténuation

de parcours augmente avec la fréquence et la distance.

4

Ce pathloss est exprimé par la formule suivante :

𝑝 = 10 log(4𝜋𝑑

𝜆)2 (1.01)

- d = distance parcourue (m)

- λ = Longueur d’onde (m)

La vitesse de propagation d’une onde électromagnétique est en tout point identique à la vitesse de

propagation de la lumière, i.e. 300000 km/s. On peut donc en déduire grâce à l’équation suivante,

la fréquence pour une transmission dans un milieu parfait : le vide.

𝜆 = 𝐶

𝐹 (1.02)

Où :

- F = Fréquence en Hz

- C = Célérité (m/s)

C correspond à la vitesse de propagation de l’onde et est variable selon le type du milieu traversé :

l’air, l’eau, un milieu boisé, etc.

Certains matériaux et milieux laisseront en effet plus facilement passer les ondes que d’autres.

L’effet de masque

L’effet de masquage ou shadowing est le second phénomène qui alterne la propagation et qui est dû

à la présence d’obstacle tel que les bâtiments ou les forêts entre l’émetteur et le récepteur. L’onde

électromagnétique traverse ces obstacles mais subit une atténuation de puissance en fonction de la

nature du milieu traversé.

1.3 Les catégories de réseaux sans fils

Les réseaux sans fils peuvent être classés selon leur portée et selon leur capacité en nombre à

interconnecter les utilisateurs. On distingue : les WPAN, les WLAN, les WRAN, les WMAN et les

WWAN. La figure 1.02 suivante résume illustre ces réseaux sans fil.

5

Figure 1.02 : Les catégories de réseaux

1.3.1 Le réseau personnel sans fil

Le réseau personnel sans fil, noté WPAN pour Wireless Personal Area Network, concerne les

réseaux sans fil d'une faible portée : de l'ordre de quelques dizaines mètres. Ce type de réseau sert

généralement à relier des périphériques ou un assistant personnel à un ordinateur sans liaison filaire

ou bien à permettre une liaison sans fil entre deux machines très peu distantes. Il existe plusieurs

technologies utilisées pour les WPAN :

Bluetooth a été lancé par Ericsson en 1994 et propose un débit théorique de 1 Mbps pour

une portée maximale d'une trentaine de mètres. Bluetooth, connue aussi sous le nom IEEE

802.15.1, possède l'avantage d'être très peu gourmande en énergie, ce qui la rend

particulièrement adaptée à une utilisation au sein de petits périphériques.

HomeRF (Home Radio Frequency) a été lancé en 1998 par le HomeRF Working Group et

propose un débit théorique de 10 Mbps avec une portée d'environ 50 à 100 mètres sans

amplificateur. La norme HomeRF soutenue notamment par Intel, a été abandonnée en

Janvier 2003, notamment car les fondeurs de processeurs misent désormais sur les

technologies Wi-Fi embarquée (via la technologie Centrino, embarquant au sein d'un même

composant un microprocesseur et un adaptateur Wi-Fi).

6

La technologie ZigBee : elle permet d'obtenir des liaisons sans fil à très bas prix et avec une

très faible consommation d'énergie, ce qui la rend particulièrement adaptée pour être

directement intégrée dans de petits appareils électroniques. La technologie ZigBee, opérant

sur la bande de fréquences des 2,4 GHz et sur 16 canaux, permet d'obtenir des débits pouvant

atteindre 250 Kbps avec une portée maximale de 100 mètres environ.

Les liaisons infrarouges permettent de créer des liaisons sans fil de quelques mètres avec des

débits pouvant monter à quelques mégabits par seconde. Cette technologie est largement

utilisée pour la domotique (télécommandes) mais souffre toutefois des perturbations dues

aux interférences lumineuses. L'association IrDA (infrared data association) prenant en

charge de la technologie a été formé en 1995 regroupe plus de 150 membres.

UWB (Ultra Wide Band) 802.15.3a : elle offre une connexion sans fil à très haut débit

atteignant 100 Mbps pour une distance de 15 m et 1,3 Gbps sur une portée de 1m. Elle

occupe une bande de fréquence supérieure à 500 MHz et utilise généralement les bandes de

fréquences de 3,1 à 10,6 GHz.

1.3.2 Le réseau local sans fil

Le réseau local sans fil, noté WLAN pour Wireless Local Area Network, est un réseau permettant

de couvrir l'équivalent d'un réseau local d'entreprise, soit une portée d'environ quelques centaines

de mètres. Il permet de relier entre eux les terminaux présents dans la zone de couverture. Il existe

plusieurs technologies concurrentes mais on cite principalement :

Le Wifi ou Wireless Fidelity soutenu par l'alliance WECA offre des débits allant jusqu'à 54

Mbps sur une distance de plusieurs centaines de mètres.

HiperLAN2 (HIgh Performance Radio LAN 2.0), norme européenne élaborée par l'ETSI.

Ce réseau permet d'obtenir un débit théorique de 54 Mbps sur une zone d'une centaine de

mètres dans la gamme de fréquence comprise entre 5 150 et 5 300 MHz.

1.3.3 Le réseau métropolitain sans fil

Le réseau métropolitain sans fil, WMAN pour Wireless Metropolitan Area Network, est un réseau

utilisé dans les campus ou dans les villes c’est-à-dire dans un rayon de quelques dizaines de

kilomètres. C’est un type de boucle local radio qui permet une liaison sans fil. Il regroupe également

7

les technologies permettant à un particulier ou une entreprise de s’interconnecter via les ondes

radios. Parmi ces technologies, on peut citer :

LMDS (Local Multipoint Distribution Service) : technique d’accès large bande par onde

radio qui utilise les fréquences situés entre 26 GHz et 29 GHz. Il est principalement destiné

à des utilisations de type point à multipoint ou de liaisons point à point sur des distances

pouvant atteindre 8 km.

MMDS (Multichannel Multipoint Distribution Service) : c’est un système de diffusion de la

télévision par un émetteur terrestre qui fonctionne dans la bande de fréquences de 2,5 et 3,5

GHz. Les signaux sont analogiques en modulation de fréquence ou en modulation

d’amplitude.

Wimax (Worldwide Interoperability for Microwave Access) : ce standard utilise une bande

de fréquence de 2 à 11 GHz et permet un débit de 70 Mbps sur un rayon de 50 km maximum.

La norme Wimax mobile devrait permettre des services comme la communication VoIP sur

téléphones portables ou encore l’accès à des services mobiles à haut débit.

1.3.4 Le réseau régional sans fil

Les réseaux régionaux sans fils font l’objet de la norme IEEE 802.22. Ils occupent les fréquences

de la bande réservée à la diffusion de la télévision interactive comprise entre 54 MHz et 862 MHz.

L’originalité de ces réseaux porte sur la capacité de ses équipements à utiliser de façons dynamiques

les bandes de fréquences inoccupées. La vitesse de transmission atteint 18 Mbps sur des canaux de

6 MHz. Cette technologie utilise l’OFDM et assure la qualité de service au niveau de la couche

MAC. La portée peut atteindre une cinquantaine de km et un point d’accès peut interconnecter

30000 utilisateurs.

1.3.5 Le réseau étendu sans fil

Le réseau étendu sans fil ou WWAN pour Wireless Wide Area Network est également connu sous

le nom de réseau cellulaire mobile. Il s'agit des réseaux sans fil les plus répandus puisque tous les

téléphones mobiles sont connectés à un réseau étendu sans fil. Les principales technologies sont les

suivantes :

8

Le GSM ou Global System for Mobile Communication : c’est la première norme de

téléphonie mobile qui soit pleinement numérique, c’est une référence mondiale en matière

de téléphonie mobile. [2]

Le GPRS ou General Packet Radio Service : il s’agit d’une norme de la téléphonie mobile

dérivée du GSM permettant un débit de données plus élevé. On la qualifie souvent de 2,5G

pour indiquer que c’est une technologie à mi-chemin entre le GSM (2me génération) et

l’UMTS (3me génération). La transmission par paquets est la technique utilisée par le GPRS

à la différence du GSM. Cette méthode est plus adaptée à la transmission des données et le

débit théorique maximal est de 170 Kbps.

L’EDGE ou Enhanced Data for GSM Evolution : c’est une norme de téléphonie mobile

considérée comme la pré-3G. Le standard vise à optimiser la partie radio de ses

prédécesseurs en matière de données afin d’augmenter les débits principalement en voie

descendante. [3]

L’UMTS ou Universal Mobile Telecommunication Service : c’est la troisième génération

des systèmes de télécommunication mobiles suite à l’évolution du GSM, du GPRS et de

l’EDGE. Il est destiné à fournir une mobilité globale avec toute une gamme de services

jamais offertes ou sous-exploités par ses prédécesseurs.

Le HSPA ou High Speed Packet Access : ce standard regroupe deux normes à savoir le

HSDPA et le HSUPA. Le HSDPA a un débit plus important en voie descendante allant

jusqu’à 7,2 Mbps tandis que le HSUPA met en phase le débit en voie montante allant jusqu’à

4 Mbps.

Le 4G : c’est la quatrième génération de réseau de téléphonie mobile. L’architecture de cette

nouvelle génération est basée sur le protocole IP. Les communications sont gérées via

l’échange de datagrammes IP quel que soit le type d’information en provenance des mobiles.

1.4 Les services dans les réseaux sans fils

Divers services sont offerts aux utilisateurs de réseaux sans fil. On peut identifier plusieurs

catégories : la téléphonie, la messagerie, les services multimédia, etc. On citera dans la suite

quelques exemples de service utilisé fréquemment par les connectés.

9

1.4.1 La téléphonie

La téléphonie est une forme de télécommunication essentiellement destinée à l’échange

d’information sous forme de parole. On distingue actuellement deux types de téléphonie : la

téléphonie classique et la téléphonie sur IP

La téléphonie classique

C’est le service traditionnel utilisé par la plupart des utilisateurs des réseaux WWAN. Il est basé sur

la transformation du signal acoustique en signal électrique, de la transmission et puis de la

conversion de nouveau en signal acoustique.

La téléphonie sur IP

C’est un service basé sur la technique VoIP ou Voice over Internet Protocol. En effet la téléphonie

sur IP permet de transmettre des communications vocales au travers de réseaux régis par le protocole

IP (Internet Protocol). Ces réseaux peuvent être privés ou publiques. [4]

1.4.2 Les messageries

Le service d’échange de messages courts

Plutôt connu sous le nom de SMS, ce service permet l’échange de messages courts entre une station

mobile et un système sans fil, ou entre un système sans fil et un dispositif externe capable de

transmettre ou de recevoir des messages courts.

Le service d’échange de messages multimédia

Connu sous le nom de MMS ou Multimédia Message Service, ce service est le successeur

multimédia du SMS. Il peut transporter, non seulement du texte mais aussi des images, de la

musique et des vidéos.

Les courriers électroniques

L’accès au service mail ou courrier électronique a été rendu possible à partir d’un terminal sans fil

grâce à la connexion à Internet. Il est désormais possible de consulter ses mails et d’en envoyer

avec l’option de mobilité.

10

Les messageries instantanées

Ce service est souvent utilisé par les personnes connecté à internet. A la différence des mails, la

discussion se fait en temps réel et permet un dialogue interactif. D’autres désignations sont utilisées

comme : le dialogue en ligne, le clavardage ou le chat.

1.4.3 Autres services

La télévision mobile

Ce service permet de regarder la télévision à partir d’un terminal mobile. Les standards exploités

pour la télévision mobile dans le monde sont multiples à savoir : ISDB-T, T-DMB, DVB-H, etc. La

transmission se fait soit par diffusion soit par connexion via un réseau sans fil comme le Wimax.

[10]

La visiophonie

La visiophonie est l’association de la téléphonie et de la télévision. Grâce à ce type de service les

correspondants peuvent se voir pendant leur conversation téléphonique. Il est alors question de

transmission de vidéos en temps réels. Ce type de service nécessite donc une bonne qualité de

transmission.

Le téléchargement

Ce service est très utilisé par les personnes qui ont accès à Internet. Il permet le téléchargement

d’images, de musiques, de vidéos et tout type de fichiers.

1.5 Avantages et inconvénients des réseaux sans fils

1.5.1 Les avantages du réseau sans fil

Coût financier

Le réseau sans fil permet d’éviter l’obligation d’un câblage coûteux qui peut se révéler rapidement

obsolète ou inutile en cas de déménagements de locaux.

11

Facilité et flexibilité

La facilité et la flexibilité des réseaux sans fil sont observées dans le contexte d’un réseau

temporaire, pour des formations, des expositions ou autre chantiers, pour couvrir des zones difficiles

d’accès aux câbles, et relier des locaux distants.

Mobilité

Une situation avec laquelle on profite de la mobilité est pendant une réunion où tous les participants

sont automatiquement interconnectés. On économise ainsi le temps sans avoir à relier chaque

personne avec des fils encombrants.

1.5.2 Les inconvénients du réseau sans fil

Qualité de communication

Ce critère est fonction de l’environnement et des matériels utilisés dans les réseaux. Des

interférences peuvent être générées par ces deux paramètres et ne sont pas généralement maîtrisés.

Sécurité

Les données échangées sont transmises par voie aérienne et couvrent de grandes distances dans le

cadre d’une liaison hertzienne donc il est possible en théorie de récupérer ses données même si

celles-ci sont cryptées et confidentielles.

1.6 Conclusion

Ce chapitre nous a permis de faire le panorama des différentes catégories de systèmes

radioélectriques utilisés dans les réseaux. Ceci nous a permis de classer les réseaux sans fil selon

leur portée et leur utilisation. On a pu voir les caractéristiques des ondes radioélectriques et les

phénomènes qui influencent la transmission de ces ondes. Il est mieux de connaître ces phénomènes

pour bien optimiser la portée des réseaux sans fils. Les réseaux à faible portée sont d’autant plus

utilisés actuellement et nous aborderons dans le chapitre suivant la technologie sans fil Bluetooth.

12

CHAPITRE 2

LA TECHNOLOGIE BLUETOOTH

2.1 Introduction

Bluetooth une technologie de réseau personnel sans fil, c’est-à-dire une technologie de réseaux sans

fil à faible portée. Elle permet de relier plusieurs appareils entre eux sans liaison filaire, en utilisant

les ondes radio comme support de transmission sur la bande de fréquence des 2,4 GHz.

Historiquement, cette technologie est une évolution sans fil de l’USB qui permet de relier plusieurs

périphériques en série. Afin de comprendre Bluetooth, nous allons en premier lieu aborder quelques

généralités, puis nous verrons les différents types de réseaux. Par la suite, on développera

l’architecture de la technologie, la gestion des communications et les caractéristiques. Nous

conclurons enfin sur les limitations de Bluetooth.

2.2 Cas d’utilisations

Bluetooth est aujourd’hui utilisé dans de nombreux secteurs dont quelques exemples sont décrits

dans la suite :

Périphériques informatiques sans fils : il est actuellement possible d’interconnecter les

périphériques d’ordinateur sans la liaison filaire en utilisant la technologie Bluetooth. Les

matériels concernés sont : le clavier, la souris, les imprimantes, les scanners, les haut-

parleurs, etc.

Pont internet : un téléphone cellulaire connecté à un ordinateur via Bluetooth peut être utilisé

comme pont vers Internet.

Automobile : l’application la plus parlante en automobile est le récepteur GPS Bluetooth.

Associé à un Pocket PC et à un logiciel de navigation, cet ensemble permet d’équiper son

véhicule d’un système de guidage GPS.

Domotique : la domotique permet de piloter les équipements d’une maison via un ordinateur.

Il est par exemple possible de gérer le chauffage électrique, le lave-linge, le lave-vaisselle,

l’arrosage automatique, etc. Bluetooth peut ainsi être utilisé dans ce domaine afin de

minimiser le câblage. [5]

13

Figure 2.01 : Utilisation de la technologie

2.3 Les types de réseaux

2.3.1 Le pico-réseau

C’est un réseau qui se crée de manière instantanée et automatique quand plusieurs périphériques

Bluetooth sont dans un même rayon. Un pico-réseau est organisé selon une topologie en étoile : il

y a un maître et plusieurs esclaves.

En effet, un périphérique maître peut administrer jusqu’à 7 esclaves actifs et 255 esclaves en veille.

La communication est directe entre le maître et un esclave, et les esclaves ne peuvent pas

communiquer entre eux. Tous les esclaves du pico-réseau sont synchronisés sur l’horloge du maître

et c’est ce dernier qui gère les sauts de fréquence pour tout le pico-réseau. [5][6][7]

Figure 2.02 : Pico-réseau

14

2.3.2 L’inter-réseau

Les inter-réseaux ou scatternets sont en fait des interconnexions de piconets (Scatter = dispersion).

Ces interconnexions sont possibles car un périphérique esclave peut avoir plusieurs maîtres. En

tenant compte de cette possibilité, les différents piconets peuvent donc être reliés entre eux par

l’intermédiaire d’un esclave. [5][6][7]

Figure 2.03 : L’inter-réseau Bluetooth

2.4 L’architecture de la technologie

La figure 2.04 suivante illustre la pile caractéristique de la technologie Bluetooth. On peut observer,

depuis la partie basse la pile, les couches bas niveau propres à la technologie, la couche de

transmission simple de données, les couches de communication avec la téléphonie, les couches des

protocoles adoptés et les couches des applications de haut niveau.

15

Figure 2.04 : Architecture de la technologie Bluetooth

2.4.1 Les couches propres à Bluetooth

La couche Radio

Cette couche opère dans la bande ISM autour de 2.4 GHz et utilise l’étalement de spectre comme

type de communication. La bande s’étend de 2400 à 2483.5 Mhz dans la majorité des pays pour

optimiser l’étalement de spectre. Cette bande est divisée en canaux de 1 Mhz soit 79 canaux au total.

Pour transmettre des données, la technologie Bluetooth utilise le FHSS (Frequency Hopping Spread

Spectrum). Puisqu’on travaille dans une bande de fréquence libre, d’autres technologies peuvent

causer des interférences, on utilise alors de petits paquets de données et des sauts de fréquence

rapides. En effet, le principe du FHSS est la commutation rapide entre plusieurs canaux de

fréquence, utilisant un ordre pseudo aléatoire connu tant à l'émetteur qu'au récepteur pour la

synchronisation.

L’utilisation de FHSS dans Bluetooth permet :

Une synchronisation parfaite entre l’émetteur et le récepteur car ils sont obligés d’utiliser la

même séquence de sauts pour communiquer.

D’émettre à plusieurs simultanément.

De limiter les interférences.

Le débit nominal de saut est de 1600 sauts par seconde c’est-à-dire 625 µs par slot de

communication. La modulation utilisée est le GFSK acronyme de Gaussian Frequency Shift Keying.

16

La couche bande de base

La couche bande de base contrôle la couche radio. Les sauts de fréquences sont gérés par cette

couche. Cette couche prend en charge aussi de la sécurité dans les mécanismes bas niveau. Tous les

paquets qui circulent dans les réseaux Bluetooth est en provenance de la couche bande de base. La

couche bande de base peut gérer deux types liaisons : le SCO et le ACL

SCO ou Synchronous Connection Oriented : ce type de connexion permet une transmission

bidirectionnelle. Une connexion SCO fonctionne en temps réel, c'est-à-dire qu’il n’y a pas

de retransmission possible. C’est ce type de connexion qui est utilisé pour la transmission

de la voix. Bluetooth utilise dans ce cas des créneaux réservés afin de réduire au maximum

le délai. Il est alors possible d’atteindre un débit de 64Kbps, sachant qu’un maître peut gérer

jusqu’à 3 liens de ce type.

ACL ou Asynchonous Connection Less : C’est ce type de connexion est utilisé pour

l’échange de données. Avec les connexions ACL, il est possible d’effectuer un multicast et

d’obtenir des débits de 723.2 Kbps en sortie et un débit de 57.6 Kbps en entrée.

La couche bande de base fournit aux appareils les fonctionnalités nécessaire pour synchroniser leurs

horloges et établir des connexions. Les procédures de découvertes des adresses des appareils sont

aussi gérées par cette couche.

La couche Link Manager Protocol

Les rôles principaux de la couche LMP (protocole de gestion des liaisons) sont :

Gestion des réseaux

Configuration des liaisons

Sécurité

Le LMP fournit la fonctionnalité d’attacher et de détacher les esclaves, d’intervertir les rôles entre

les esclaves et les maîtres et d’établir les liaisons soit SCO soit ACL. Cette couche gère aussi la

gestion d’énergie surtout lorsque l’appareil n’a aucune donnée à transférer.

La configuration des liaisons inclue le paramétrage, la qualité de service et la gestion de la puissance

d’émission selon les caractéristiques de l’appareil.

17

L’authentification des terminaux dans les liaisons et la gestion des clés de cryptage sont aussi pris

en charge par la couche LMP.

La couche de contrôle des liens logiques et protocoles d’adaptation

C’est la couche avec laquelle la plupart des applications interagissent avant l’intervention d’un

contrôleur d’hôtes. Cette couche définit le multiplexeur de service et de protocole, appelé en anglais

PSM (Protocol and Service Multiplexer), pour chaque type d’utilisation.

Les principales fonctions de cette couche sont :

Multiplexage : ce protocole permet aux diverses applications d’utiliser la liaison entre deux

appareils simultanément.

Segmentation et réassemblage : ce protocole réduit la taille des paquets en provenance de

divers applications selon la taille de paquets supportée par la couche bande de base. Elle

effectue aussi l’opération inverse c’est-à-dire la reconstitution des paquets.

Qualité de service : L2CAP permet aux applications de faire des requêtes de qualité de

service comme la largeur de bande, le temps de latence et la variation des durées de

communication. Il est dans ses rôles de vérifier si les liaisons établies supportent cette

fonctionnalité et de les mettre en œuvre si c’est possible.

La couche de protocole de découverte de service

Le SDP, Service Discovery Protocol, est une base de données disponible dans les périphériques

Bluetooth (pas tous, ceci n’est pas obligatoire) à l’intérieure de laquelle on trouve tous les détails

concernant le périphérique, ses fonctions et comment s’y connecter. Cette base de données contient

une liste de services et à chaque service sont attribuées des informations de configuration et de

connexion. Lorsqu’un périphérique fait une recherche sur le réseau, il peut effectuer une requête

SDP sur les périphériques à découverts pour examiner si ceux-ci sont compatibles avec la fonction

désirée (téléphonie, imprimante, échange de données...). Il est important de noter qu’une découverte

SDP se fait au-dessus d’une connexion L2CAP, via le PSM 1. Cela signifie qu’une connexion

L2CAP supplémentaire est nécessaire pour découvrir les services disponibles. Celle-ci sera suivie

d’une autre connexion L2CAP, cette fois-ci sur le PSM adéquat.

18

2.4.2 Les couches des protocoles adoptés

OBEX

OBEX ou échange d’objet est adopté d'IrDA. C'est un protocole de session qui fournit des moyens

pour le transfert simple et spontané d'objet et de données. Il est indépendant du mécanisme de

transport et de l'interface de programmation d'application de transport (API).

TCP\UDP\IP

Ces protocoles sont définis pour fonctionner dans les unités Bluetooth leur permettant de

communiquer avec d'autres unités reliées, par exemple, à Internet. La configuration du protocole

TCP/IP/PPP est employée pour tous les scénarios d'utilisation de pont d'Internet dans Bluetooth 1.0

et pour OBEX dans les futures versions. La configuration UDP/IP/PPP est disponible en tant que

transport pour WAP.

PPP

PPP dans la technologie Bluetooth, est conçue pour accomplir les connexions point par point. PPP

est un protocole orienté paquet et doit donc employer ses mécanismes de série pour convertir le flux

de données de paquets en flux de données série.

2.4.3 Le RFCOMM

Le service RFCOMM acronyme de Radio Frequency Communication est bien particulier et apparaît

souvent lors du développement de logiciel Bluetooth. Il s’agit en fait simplement d’une émulation

de connexion série RS232. Une fois une connexion RFCOMM ouverte, on dispose de 60 ports séries

au maximum via lesquels on peut directement communiquer comme si les périphériques étaient

câblés à l’aide d’une liaison série. Ce service est donc très utile pour fournir un mode bypass, c’est-

à-dire un mode qui est transparent et qui permet de communiquer comme s’il n’y avait pas de

Bluetooth mais juste un câble (ou plutôt, 60 câbles). Il est important de remarquer que malgré ces

connexions séries, celles-ci ne permettent pas de communiquer en série avec la puce Bluetooth mais

uniquement avec le périphérique distant.

19

2.4.4 Les couches des protocoles spéciaux

Le TCS BIN

TCS BIN ou Telephony Control protocol Specification BINary est un protocole permettant de

communiquer avec des outils de téléphonie, type téléphone portable par exemple, possédant la

technologie Bluetooth. Il permet de transmettre de la voix (via la passerelle Audio) et des données.

Le AT commands

La couche AT-Commands sert à communiquer avec des appareils de type modem, téléphones

mobile acceptant les commandes AT et les FAX (compatibilité avec plusieurs classes). Cette

couche communique avec la couche inférieure (RFCOMM).

2.5 Gestion des communications

2.5.1 Les différents types d’adresses

Les adresses des dispositifs sont classées en 4 parties :

DBA ou DB_ADDR : Bluetooth Adresse Device est une adresse unique pour chaque

équipement Bluetooth. C’est l’équivalent de l’adresse MAC d’une carte réseau. Cette

adresse est écrit en hexadécimal et sa forme est comme suit :

2E : 02 : 1A : 06 : 66 : 12

AMA ou AM_ADDR : Active Member Address est l’adresse d’un esclave dans le piconet.

Elle est codée sur 3 bits dont 000 est réservée pour le broadcast. Il peut avoir 7 esclaves au

maximum dans un piconet.

PMA ou PM_ADDR : Parked Member Address est l’adresse d’un esclave lorsqu’il se trouve

à l’état parqué ou en veille. Elle est codée sur 8 bits, donc il ne peut y avoir que 255 esclaves

parqués au maximum.

ARA ou AR_ADDR : Access Request Adress est l’adresse de demande d’accès utilisé par

les esclaves parqués. Cette adresse n’est pas nécessairement unique.

20

2.5.2 Format du paquet Bluetooth

Le paquet Bluetooth est composé de 3 parties comme l’indique la figure suivante :

Figure 2.05 : Format du paquet Bluetooth

Le code d’accès ou Access Code : chaque paquet débute par un code d’accès composé du

code de canal ou CAC (Chanel Access Code) propre à un piconet, du code de composant ou

DAC (Device Access Code) utilisé pour le paging et du code de recherche ou IAC (Inquiry

Access Code) si le maître recherche d’autres équipements Bluetooth du piconet.

L’entête ou header : ce champ contient dans l’ordre l’adresse de l’esclave (codée sur 3 bits,

soit 7 au maximum) qui échange des données, le type de paquet et des bits de contrôle

(erreurs, buffer de réception …)

Les données binaires ou payload : la taille de cette partie est variable en fonction du nombre

de time slots.

2.5.3 Illustration des communications

Bluetooth peut utiliser des paquets de données courts (1 time slot, 240 bits au maximum), moyens

(3 time slot, 1480 bits au maximum) ou longs (5 time slot, 2745 bits au maximum) [4] [6]

Figure 2.06 : Illustration des communications

21

Communication à slot simple

Le canal de communication est divisé en time slots numérotés d’une durée de 625μs chacun. Le

TDD (Time Division Duplex) est utilisé pendant la transmission, c’est à dire que les unités

maîtresses et esclave transmettent alternativement. En réalité, une unité maîtresse transmet dans les

slots pairs et les unités esclaves dans les slots impairs.

Figure 2.07 : Communication single-slot

Communication à slots multiples

Lorsqu’un paquet a une taille de 1 slot on parle de transmission/réception simple slot, et lorsqu’un

paquet possède une taille supérieure à 1 time slot (3 ou 5 slots), on parle de slot multiple. Le saut de

fréquence appliqué au paquet est celui du premier slot de ce paquet.

Figure 2.08 : Communication à slot multiple

22

2.6 Caractéristiques

- Fréquence d’émission : 2.4 GHz à 2.4835 GHz

- Largeur du canal d’émission : 83,5 MHz

- Type de modulation : GFSK (Gaussian Frequency Shift Keying), PSK 4, PSK 8 (Phase Shift

Keying)

- Puissance d’émission : 1 mW à 100 mW

- Portée : dizaine de mètre

- Technique émission/réception : TDD (Time Division Duplexing)

- Débit théorique: 723 Kbps

- Nombre de canaux : 79

- Largeur des canaux radios : 1 MHz

2.7 Conclusion

Ce chapitre a été consacré à la technologie Bluetooth qui est souvent comparé au wifi et à d’autres

technologies du même type. Grâce à son faible coût, sa faible consommation, sa taille réduite, sa

disponibilité internationale, sa bonne résistance aux interférences, elle convient bien aux

applications qu’on lui a confiées. Cette technologie à usage personnel opère dans le transfert de

données, l’accès à un réseau de données, la téléphonie, etc. Elle permet l’émission point à point

mais permet aussi l’émission point à multipoint. Cependant Bluetooth a des limites et les principaux

reproches sont les problèmes de compatibilité entre les produits de différents constructeurs, le débit

faible et le nombre de périphériques en réseau limité. Même si cette technologie ne fonctionne pas

en haut débit, les appareils électroniques récents intègre ce type de connectivité. Le chapitre suivant

sera consacré à la nouvelle technologie Android.

23

CHAPITRE 3

LE SYSTEME ANDROID

3.1 Introduction

Aujourd’hui, la convergence des technologies a transformé ce qui était autrefois un simple téléphone

portable en un véritable ordinateur de poche. Ce que dans nos poches nous appelons un Smartphone

ou « ordiphone » mérite bien son nom. Tout d’abord, pour son usage traditionnel, que ce soit pour

jouer, consulter ses mails ou encore surfer sur le web. Il est présent physiquement avec nous toute

la journée, il suit nos discussions, nos habitudes… Du point de vue conception aussi, puis qu’ils

mettent maintenant à profit des processeurs qui sont présent jusque dans les netbooks. Ils disposent

même d’un véritable système d’exploitation en lieu et place du firmware, derrière lequel se cache

souvent Linux. C’est dans cet univers là qu’est sorti en 2008 Android, un système d’exploitation

libre basé sur Linux, pour équiper nos Smartphones. Son code source ouvert et la disponibilité de

téléphones librement utilisables lui ont valu un succès rapide parmi les développeurs.

Développé par Google puis l’Open Handset Alliance, Android est un système d’exploitation pour

les appareils mobiles.Sa naissance a fait des vagues dans le monde des dispositifs sans fils comme

les PDA, les smartphones, les téléviseurs et les tablettes. Ce chapitre est dédié au système

d’exploitation pour mobile appelé Android.

3.2 Les Smartphones

Le smartphone est un téléphone mobile intelligent qui intègre les fonctions d’assistant personnel et

multimédia. L’utilisateur n’est plus limité aux envois de sms et aux appels mais peut accéder à

d’autres services. Ces services s’ouvrent dans l’échange d’e-mails, la gestion d’agenda, les

messageries instantanées, la prise de photo, les vidéos, la musique, l’accès à Internet, le GPS, etc.

Actuellement, il existe plusieurs systèmes d’exploitation qui intègrent les smartphones à savoir :

Symbian, BlackBerry, iOS, Windows Mobile, MeeGo, Bada, WebOS et Android. Ces Systèmes

d’exploitation pour mobile sont concurrents et d’autres systèmes basés sur linux comme Android

en font partie à savoir : LiMo et OpenMoko. [16]

Pour voir comment ces téléphones intelligents innovent le marché, voici un tableau qui illustre les

ventes de ces produits depuis 2009 à 2011 tirés de wikipédia :

24

2011 2010 2009

Système

d’exploitation

Unité Part du

marché

Unité Part du

marché

Unité Part du

marché

Symbian 27 598 500 27,4 % 25 386 800 41,2 % 20 880 800 51,0 %

iOS 16 883 200 16,8 % 8 743 000 14,2 % 5 325 000 13,0 %

Android 36 267 800 36,0 % 10 606 100 17,2 % 755 900 1,8 %

Tableau 3.01: Les parts de marché des Smartphones

Le tableau 3.01 précédent nous montre que le système Android a pris une grande partie du marché

depuis l’année 2011.

3.3 Les versions d’Android

Depuis la sortie de sa première version en septembre 2008, c’est-à-dire la version 1.0, Android a

connu plusieurs mises à jour. Ces mises à jour servent généralement à supprimer les bugs et à

ajouter de nouvelles fonctionnalités. La sortie des différentes versions a suivi les étapes suivantes :

[9]

Version Date de sortie Nom

1.5 30 avril 2009 Cupcake

1.6 15 septembre 2009 Donut

2.0 et 2.1 26 Octobre 2009 Éclair

2.2 20 mai 2010 Froyo

2.3 Décembre 2010 Gingerbread

3.0 Février 2011 Honeycomb

4.0 Octobre 2011 Ice Scream Sandwich

4.2 et 4.3 27 juillet 2013 Jellybean

4.4 31 Octobre 2013 KitKat

Tableau 3.02: Les versions d’Android

3.4 Architecture du système Android

Le système d’exploitation Android est constitué de différentes couches. Pour comprendre comment

ce système est-il constitué, on se focalisera sur les différentes entités présentées à la figure 3.03 ci-

après : [10] [11]

25

Figure 3.01 : Architecture du système Android

Android est subdivisé en cinq sections incluses dans quatre couches principales :

Le noyau linux (Linux Kernel) : c’est le noyau avec lequel Android a été conçu. Cette couche

contient les pilotes de périphériques bas niveau pour les composants matériels d’un

dispositif Android. On peut citer comme pilotes : le pilote d’affichage, le pilote de camera,

le pilote Wifi, le pilote de clavier, le pilote de gestion d’énergie, le pilote audio, le pilote de

mémoire flash et le pilote IPC

Les bibliothèques (Libraries) : cette section contient tout le code qui fournit les principales

fonctionnalités d’Android. Par exemple, la bibliothèque SQLite fournit un support de base

de données qu’une application peut utiliser pour stocker ses données.

L’environnement d’exécution (Android Runtime) : sur la même couche que les

bibliothèques, l’environnement d’exécution fournit plusieurs bibliothèques permettant aux

développeurs d’écrire des applications Android avec le langage de programmation Java.

26

C’est cette section qui prend en charge la machine virtuelle Dalvik permettant aux

différentes applications de s’exécuter avec sa propre instance DVM et son propre processus.

Le framework d’application (Application Framework) : cette section expose les différentes

capacités du système au développeur d’application.

La couche application : c’est la couche supérieure ou sont vue les différentes applications

natives du système (comme le navigateur web, l’agenda, le programme permettant

d’envoyer des SMS, le répertoire, etc.), et aussi les applications téléchargées ultérieurement.

Les applications qui sont développées par des particuliers sont localisées sur cette couche.

3.5 Les caractéristiques d’Android

Android fournit un certain nombre de fonctionnalités pour la satisfaction des utilisateurs et pour

aider les développeurs d’application.

Parmi ces fonctionnalités : [12] [13] [14]

3.5.1 Le framework

Il est employé pour écrire des applications Android. A la différence d’autres environnements

mobiles embarqués, les applications Android sont toutes égales. Les applications qui viennent avec

le téléphone n’ont aucune structure différente de ceux que n’importe quel autre développeur écrit.

Le cadre est supporté par de nombreux bibliothèques à code source libre tels que openssl, SQLite

and libc. Il est aussi supporté par les bibliothèques d’Android. Du point de vue sécurité, le cadre

est basé sur les permissions des systèmes de fichiers d’Unix qui autorise les applications à ne

s’exécuter qu’avec les droits attribués pendant l’installation.

3.5.2 La machine Virtuelle de Dalvik DVM

C’est une machine virtuelle de base avec une mémoire extrêmement petite. Elle a été conçue

spécialement pour les systèmes embarqués Android et à travailler dans des situations à faible

consommation. La DVM exécute des codes avec l’extension .dex (Dalvik executable) qui est

l’équivalent des codes en .class de la machine virtuelle Java classique.

3.5.3 Le graphisme

Grâce à des bibliothèques graphiques 2D et 3D basés sur OpenGL ES 1.0, il est possible qu’avec

Android on puisse avoir de jolies applications comme Google Earth et des jeux spectaculaires

comme Second Life.

27

3.5.4 La base de données SQLite

C’est une base de données relationnelle extrêmement petite, de l’ordre de 500 ko, qui est intégré

dans les systèmes Android. Sa simplicité la rend plus facile d’usage pour les plateformes comme

Android.

3.5.5 La disposition graphique maniable

La plateforme peut s’adapter avec toutes les dimensions d’écran, le VGA, les bibliothèques

graphiques cités précédemment et les dispositions d’affichage des Smartphones traditionnels. Un

moteur graphique 2D est aussi inclus. L’accès au sous-système et aux couches composites 2D ou

3D est géré par une bibliothèque spécifique.

3.5.6 Les connectivités

Le système Android supporte une grande variété de technologie incluant le GSM, le GPRS, l’EDGE

le CDMA, l’UMTS, l’HSDPA, l’HSUPA, l’EVDO, le LTE, le Bluetooth et le Wifi.

3.5.7 La messagerie

Les différentes formes de messagerie disponibles pour le système sont le SMS, le MMS et le XMPP.

3.5.8 Le navigateur Web

Le navigateur web disponible dans les systèmes Android est basé sur le WebKit. Il inclut

LibWebCore qui est un moderne moteur de navigation web moyennant du navigateur Android et

des vues web embarquées.

3.5.9 Le multimédia

Le système peut supporter des fichiers multimédias images, audio, vidéos de différents formats

comme MPEG-4, H.264, MP3, AAC, AMR, JPEG, PNG, GIF.

3.5.10 Les matériels

Il est possible avec Android d’utiliser la caméra, l’écran tactile, le GPS, l’accéléromètre,

l’accélérateur graphique 3D. Divers capteurs sont présents sur certaines versions d’Android comme

le gyroscope, le capteur de gravité et le baromètre. D’autres versions prennent en charge le système

NFC (Near Field Communication).

28

3.6 Le développement d’application

Le framework Android permet de créer des applications extrêmement riches et innovatrices en

utilisant différents éléments. En effet, le langage le plus utilisé pour programmer des applications

Android est le Java. Il existe d’autres langages qui permettent de le faire comme le C ou le C++ en

utilisation le kit natif de développement NDK (Native Development Kit). Pour mieux voir les

possibilités qu’offre Android, on présentera dans cette partie la structure d’une application Android

et les différentes interfaces de programmation du langage Java mis à disposition d’un éditeur de

logiciel.

3.6.1 La structure d’une application Android

Le développeur est libre dans la programmation des comportements de son application. Il peut

ouvrir la fenêtre principale de son programme, les boîtes de dialogue comme il le souhaite. De son

point de vue, il tire parti des fonctionnalités du système d’exploitation mais ne s’occupe pas des

autres programmes susceptibles de s’exécuter en mêmes temps que son programme. Les composants

de base structurant une application Android sont : les activités, les fournisseurs de contenus, les

intentions et les services. [13] [15]

Les activités

La brique de base de l’interface utilisateur s’appelle activité. Elle peut être considérer comme

l’équivalent Android de la fenêtre ou la boîte de dialogue d’une application Java classique. Bien que

des activités puissent ne pas avoir d’interface utilisateur, un code invisible sera délivré le plus

souvent sous la forme de fournisseurs de contenus ou de services.

Les fournisseurs de contenus

Les fournisseurs de contenus offrent un niveau d’abstraction pour toutes les données stockées sur

les terminales et accessibles aux différentes applications. Le modèle de développement Android

encourage la mise à disposition de ses données propres aux autres programmes. Construire un

fournisseur de contenus permet d’obtenir ce résultat tout en gardant un contrôle total sur la façon

dont on accédera aux données.

29

Les intentions

Les intentions sont des messages système. Elles sont émises par le terminal pour prévenir les

applications de la survenue de différents évènements, que ce soit une modification matérielle ou

l’arrivée de données, en passant par les évènements des applications elles-mêmes. Il est possible

non seulement de répondre aux intentions, mais également d’en créer afin de lancer d’autres

activités pour prévenir qu’une situation a lieu.

Les services

Les activités, les fournisseurs de contenus et les récepteurs d’intentions ont une durée de vie limitée

et peuvent être éteints à tout moment. Les services sont en revanche conçus pour durer et, si

nécessaire, indépendamment de toute activité.

3.6.2 L’interface de programmation pour les interfaces utilisateurs

L’interface utilisateur est quelque chose que l’utilisateur voit et avec lequel il interagit. Android

fournit une variété d’éléments d’interface préconstruits comme des éléments de disposition

structuré et des éléments qui permettent de les contrôler. Android fournit aussi des modules

d’interface spéciale comme les boîtes de dialogue, les gadgets, les notifications et les menus. Les

éléments de toutes les interfaces utilisateurs des applications Android sont construits à partir des

objets suivants :

View : view est objet qui affiche quelque chose à l’écran.

ViewGroup : c’est un objet qui maintient d’autres objets view pour constituer un fichier de

positionnement.

Figure 3.02 : Structure de base des interfaces utilisateurs

30

Un moyen plus facile et effectif pour définir un fichier de positionnement des éléments d’interface

est l’utilisation d’un fichier XML. Android a su profiter de la puissance du langage XML qui est

un langage interprété et facilement compréhensible par l’homme comme le langage HTML.

Les fichiers de positionnement sont définis par : [14]

LinearLayout : c’est un élément de type ViewGroup qui aligne ses vues filles dans une seule

direction soit horizontalement soit verticalement.

RelativeLayout : c’est un élément de type ViewGroup qui aligne ses vues filles les uns par

rapport aux autres.

ListView : c’est un élément de type ViewGroup qui affiche son contenu en liste déroulante.

GridView : c’est élément de type ViewGroup qui affiche son contenu en grille à deux

dimensions.

Les widgets de base de l’interface utilisateur sont cités dans le tableau : les boutons, les cases à

cocher, les boutons radio, les messages surgissant.

Classes Descriptions

Button Représente un bouton

CheckBox Représente les cases à cocher

DatePicker Représente un sélecteur de date

EditText Représente un champ de texte

ImageView Permet d’afficher une image

Toast Permet d’afficher des messages surgissant

TimePicker Représente un sélecteur de temps

Tableau 3.03: Les widgets de base

3.6.3 L’interface de programmation pour les graphismes et les animations

Android fournit une variété d’interfaces de programmation puissantes pour animer les éléments

d’interface utilisateur, de faire des dessins 2D personnalisés et même faire du 3D.

Cette interface permet d’exploiter les fonctionnalités graphiques et animation du système. Parmi ces

fonctionnalités sont la possibilité de faire des applications avec OpenGL, les accélérateurs et les

animations.

Les animations

Le système Android fournit deux animations : animation de propriété et animation de vue.

L’animation de propriété est la plus utilisée, elle est flexible et offre plus de fonctionnalités. Un

31

autre type d’animation est l’animation des ressource dessins (drawable) qui permet de charger des

ressources photos dans le projet et de les afficher l’un après l’autre.

L’animation de propriété

Cette animation permet d’animer des objets de tous types incluant ceux qui ne sont pas

directement affichés à l’écran. Le système est extensible et permet d’animer des objets de types

personnalisés. Elle peut paramétrer le temps de l’animation et le comportement des objets.

L’animation de vue :

L’animation de vue est le view est vieux système et ne permet d’animer que des vues (view).

Cette animation est facile à mettre en œuvre et offre assez de possibilités pour toutes applications

comme la rotation et l’agrandissement.

L’animation de dessin :

Cette animation concerne l’affichage d’images l’un après l’autre pour créer des animations

comme avec la pellicule des anciens films.

Les graphismes 2D et 3D

L’utilisation des graphismes dépend du besoin de l’application. Le graphisme des applications

interactifs n’est pas le même que le graphisme des applications statiques. Android met en œuvre ses

moyens par :

La toile et les images :

Le système Android fournit la fonctionnalité de porter des images personnalisés sur une toile ou

de modifier des vues pour personnaliser leurs apparences et comportement.

OpenGL :

Le système Android supporte les graphismes 2D et 3D haute performance avec l’utilisation de

l’Open Graphics Library et spécialement la version pour les systèmes embarqués. Cette version

pour système embarquée est nommée OpenGL ES (OpenGL for Embedded System).

3.6.4 L’interface de programmation pour le stockage de données

Le stockage de données se fait de différentes façons selon leurs types. Il est possible de stocker les

données dans les préférences, les bases de données, les serveurs distants, la mémoire interne ou

externe au système.

32

Les préférences :

Les préférences sont des menus pour définir quelques paramètres utilisateurs. Elles sont gérées par

la classe de base SharedPreferences qui permet de sauvegarder et de reprendre des valeurs de types

primitifs (booléen, int, long, string et float).

La mémoire interne

Les applications Android peuvent sauvegarder directement ses données dans la mémoire du

périphérique et lorsque l’application est désinstallée les données sont effacées. Les données qui y

sont stockées ne sont pas accessibles par d’autres applications.

La mémoire externe

Les applications Android peuvent stocker ses données dans une mémoire externe comme les cartes

SD. Les données qui y sont stockées sont accessibles par toutes les applications.

Les bases de données

Android supporte toutes les fonctionnalités de la base de données SQLite. La classe

SQLiteOpenHelper est recommandé pour gérer cette base de données.

Les serveurs distants

L’utilisation des réseaux est possible pour stocker et reprendre les données depuis un serveur

distant. L’exploitation de cette fonctionnalité nécessite l’utilisation des paquets android.net et

java.net.

3.6.5 L’interface de programmation pour les connectivités

Android fournit de riches interfaces de programmation pour permettre aux applications de se

connecter et d’interagir avec d’autres périphériques par le biais des technologies suivantes :

Bluetooth, NFC (Near Field Communication), WiFi (Wireless Fidelity), USB, et SIP, et des réseaux

mobiles standards.

Bluetooth

La plateforme Android inclut le support du réseau Bluetooth qui permet à un appareil d’échanger

des données avec d’autres appareils. Le framework fournit l’accès aux fonctionnalités Bluetooth

33

par l’intermédiaire des interfaces de programmation Bluetooth d’Android.

Avec l’utilisation de cette interface de programmation, les applications peuvent faire les actions

suivantes :

Recherche de périphériques

Etablissement de canaux RFCOMM

Transfert de données

Gérer plusieurs connexions Bluetooth

Tous les éléments concernant le Bluetooth sont inclus dans le paquet android.Bluetooth. Voici un

résumé des classes et des interfaces nécessaires pour gérer une connexion Bluetooth.

BluetoothAdapter : cette classe représente l’adapteur Bluetooth local et est le point d’entrée

pour toutes interactions. Elle est utilisée pour la découverte des périphériques disponibles et

pour lister les périphériques appariés.

BluetoothDevice : cette classe représente un périphérique distant. Elle est utilisée pour

demander une connexion ou des informations sur les appareils.

BluetoothSocket : cette classe représente l’interface pour les sockets Bluetooth. Elle permet

aux applications d’échanger des données.

BluetoothServerSocket : cette classe représente un serveur socket qui écoute les requêtes en

provenance d’autres périphériques.

BluetoothClass : cette classe décrit les caractéristiques générales et les capacités d’un

périphérique Bluetooth.

BluetoothProfile : cette classe représente un profile Bluetooth. Un profil Bluetooth est une

spécification de communication entre les périphériques.

BluetoothHeadset : cette classe fournit le support des casques Bluetooth utilisée pour les

mobiles.

BluetoothA2dp : cette classe définit comment les fichiers audio haute qualité doivent être

partagé d’un périphériques à d’autres.

BluetoothProfile.ServiceListener : cette classe est utilisée pour notifier les profils des clients

lors d’une connexion et d’une déconnexion.

34

NFC

Near Field Communication (NFC) est un ensemble de technologies sans fils à courte portée

nécessitant 4cm ou moins pour initier une communication. NFC permet de partager de petites

charges utiles de données entre un périphérique Android et une étiquette NFC ou entre deux

périphériques Android.

Wifi

La plateforme Android gère deux types de connexion wifi à savoir le wifi classique et le wifi direct.

Le wifi classique fournit les moyens par lesquels les applications peuvent communiquer avec les

piles bas niveau que fournissent le réseau d’accès wifi. Ce premier type de connexion utilise un

point d’accès pour relayer les informations. Le wifi classique est gérer par les classes de bases

suivantes :

WifiManager : c’est la classe de base gérant tous les aspects des connectivités wifi à savoir

la liste des réseaux préconfigurés, la liste des réseaux actifs, le résultat des recherches menant

au choix de connexion et l’état des réseaux.

ScanResult : cette classe prend en charge la description des points d’accès à découvert.

WifiConfiguration : cette classe prend en charge toutes les configurations du réseau comme

la sécurité, le statut, les protocoles autorisées, etc.

Le wifi direct permet aux périphériques Android de se connecter entre eux sans nécessité de point

d’accès particulier par l’intermédiaire de la technologie wifi. Cette technologie permet de découvrir

et de se connecter avec les dispositifs qui la supportent. Elle permet aussi de communiquer avec des

débits rapides et une distance plus longue par rapport au Bluetooth. Wifi direct est utile pour les

applications partagées avec plusieurs utilisateurs comme les jeux multi-joueurs et les applications

de partage de photo. La gestion du wifi direct consiste en trois parties principales :

WifiP2pManager : c’est une classe qui prend en charge la recherche des dispositifs

disponibles, la mise en place de connexion et le dressage de la liste des dispositifs.

Les écouteurs : ce sont des sous-classes de WifiP2pManager. Elles permettent de notifier le

succès ou l’échec de l’établissement d’une connexion.

Les intentions : ce sont des intentions œuvrant dans la notification des évènements

spécifiques détectés comme l’apparition de nouveaux dispositifs ou l’arrêt d’une connexion.

35

USB

Android supporte une variété de périphériques et accessoires USB. La communication se fait en

deux modes : le mode accessoire et le mode hôte. En mode accessoire, le matériel USB externe joue

le rôle de l’hôte en alimentant la communication. En mode hôte, le périphérique Android joue le

rôle de l’hôte et alimente à son tour la communication. Il est important de connaître ces deux modes

de connexion pour les applications de commande de périphériques externes et le contrôle du

périphérique Android.

Figure 3.03 : Les modes de connexions USB

SIP

Android fournit une interface de programmation supportant le protocole d’initiation de session ou

SIP (Session Initiation Protocol). SIP est un protocole standard ouvert de gestion de sessions

souvent utilisé dans les télécommunications multimédia (son, image, etc.). Ceci permet d’ajouter

aux applications la fonction de téléphonie par internet à base de SIP. La plateforme inclut une pile

de protocole SIP complet et des services de gestion d’appel permettant aux applications de gérer

facilement les appels entrants et sortants. Des exemples d’application qui utilisent l’interface de

programmation SIP sont les vidéos conférences et la messagerie instantanée. Les classes de bases

gérant une application SIP sont :

SipManager : cette classe a pour tâche d’initier une connexion SIP et de contrôler l’accès au

service SIP.

SipAudioCall : c’est une classe qui prend en charge un appel vocal par-dessus le protocole

SIP

36

SipProfile : cette classe définit un profile SIP incluant le compte, le domaine et les

informations sur le serveur puisqu’on travaille sur Internet.

Les réseaux standard de téléphonie mobile

Une interface de programmation pour la gestion des services de téléphonie a été mise en place pour

faciliter l’intégration de ces services dans les applications. Elle prend en charge les appels et l’envoi

de SMS. Les classes de bases pour la téléphonie sont empaquetées dans android.telephony :

TelephonyManager : cette classe fournit l’accès aux informations concernant les services

sur le dispositif. Avec cette classe, il est possible d’accéder aux différentes informations sur

l’abonné.

SmsManager : cette classe prend en charge l’envoi de données, de textes et des pdu SMS.

Les services de rapport d’état d’envoi sont aussi traités par cette classe.

3.6.6 L’interface de programmation pour le multimédia

Le système multimédia d’Android supporte une variété de fichiers multimédias et les applications

peuvent facilement les contenir. Les applications peuvent jouer et enregistrer de l’audio et de la

vidéo, d’afficher et de prendre des photos. Le tableau 3.03 résume les types de fichiers multimédias

supportés par Android

Types Format

Audio AAC, MP3, MIDI, Vorbis, PCM/WAVE, FLAC

Image JPEG, GIF, PNG, BMP, WEBP

Video H.263, H264 AVC, MPEG-4, VP8

Tableau 3.04: Les types de fichiers multimédias supportés par Android

L’enregistrement vocal

Le système Android permet d’enregistrer et de coder une variété de formats audio qui peut être

facilement intégré dans les applications. La classe de base qui gère l’enregistrement audio est la

classe MediaRecorder.

La caméra

Android permet de capturer des images et des vidéos via l’interface de programmation pour la

caméra. Les classes de base qui gèrent ces captures sont :

37

Camera : cette classe est fondamentale pour contrôler la caméra. Elle est utilisée pour lancer

une prise de photo et un enregistrement de vidéo.

SurfaceView : cette classe est utilisée pour présenter une caméra active à l’utilisateur

MediaRecorder : cette classe est utilisée pour enregistrer une vidéo à partir de la caméra

Intent : c’est une intention permettant de capturer des images ou des vidéos sans utiliser

directement l’objet caméra.

3.6.7 L’interface de programmation pour la localisation et les capteurs

L’utilisation des divers capteurs rend les applications Android plus riches dans la localisation et

dans les capacités mouvantes. La localisation se fait par GPS ou par les réseaux radio-mobiles. Les

capteurs qu’on peut trouver dans les dispositifs Android sont : l’accéléromètre, le gyroscope, le

détecteur de température, baromètre, etc.

Les cartes et localisations

Les applications de cartographie et de localisation offrent une nouvelle expérience pour les

dispositifs mobiles. Les classes œuvrant dans la mise en œuvre des services de localisation sont

présentes dans l’empaquetage android.location à savoir la plus importante LocationManager.

Particulièrement Google fournit une interface de programmation pour la cartographie qui est

identifié par le nom Google Maps Android API. La classe de base pour l’affichage d’une carte est

la classe MapView.

Les capteurs

La plupart des dispositifs Android sont dotés de capteurs pour détecter les mouvements,

l’orientation et les conditions environnementales. Ces capteurs sont capables de générer des

données avec précision et exactitude.

Les capteurs ayant été installés dans les périphériques Android sont classée en trois catégories :

Les capteurs de mouvements : ces capteurs mesurent les forces d’accélération et les forces

de rotation dans trois axes. Cette catégorie inclut l’accéléromètre, le capteur de gravité, le

gyroscope et les capteurs de rotation vectoriels.

Les capteurs de conditions environnementales : ces capteurs mesurent la variation des

paramètres environnementaux comme la température ambiante, la pression atmosphérique,

38

l’intensité lumineuse et l’humidité. Cette catégorie inclut le baromètre, le photomètre et le

thermomètre.

Les capteurs de position : ces capteurs mesurent les positions physiques du dispositif. Cette

catégorie inclut les détecteurs d’orientation et le magnétomètre.

Les classes de base pour la gestion des divers capteurs sont incluses dans l’empaquetage

android.hardware et sont :

SensorManager : cette classe fournit les méthodes pour écouter et accéder aux capteurs,

enregistrer et supprimer les évènements en provenance des écouteurs et de se procurer les

informations d’orientation.

Sensor : cette classe permet de déterminer les capacités d’un capteur.

SensorEvent : cette classe est utilisée pour déterminer les informations sur un évènement à

savoir les données renvoyées, le type de capteur qui a générer l’évènement, la précision des

données et le temps de déroulement de l’évènement.

SensorEventListener : cette classe joue un rôle dans la notification des changements de

valeur des capteurs et des changements de précision dans la mesure.

La plupart des capteurs comme l’accéléromètre, le gyroscope, le magnétomètre et le capteur de

gravité utilise un repère de coordination à trois axes pour exprimer les données captées. La figure

3.04 nous montre ce repère.

Figure 3.04 : Repère de coordination des capteurs

39

3.7 Conclusion

Il semble clair que les systèmes mobiles tels qu'Android seront déployés de façon importante dans

les années à venir, que ce soit sur les téléphones mobiles ou sur d'autres plateformes. Les

fonctionnalités exploitables sont très nombreuses et permettent de développer des applications

n’ayant jamais été vues sur les anciens téléphones cellulaires. L’ouverture et la simplicité d’usage

du système engendrent ainsi l’accroissement des développeurs et des utilisateurs. Dans ce chapitre

ont été présenté l’historique et les fonctionnalités du système d’exploitation Android. On peut

conclure que tout le monde peut prendre sa part d’un terminal Android, que ce soit des étudiants, de

simple utilisateurs ou des professionnels. Le dernier chapitre sera consacré à la description de la

réalisation d’une application de messageries sous la plateforme Android.

40

CHAPITRE 4

REALISATION D’UNE APPLICATION DE MESSAGERIE

4.1 Introduction

Le chapitre précédant a fourni plusieurs informations sur la plateforme Android. Cette nouvelle

technologie est aujourd’hui un véritable phénomène de société et le secteur est en pleine expansion.

Ce nouveau support multimédia permet d’allier tous les avantages d’un téléphone portable avec

pleins de fonctionnalités issues des ordinateurs. Une conséquence est l’apparition de petites

applications très pratiques. Ces applications sont destinées à faciliter la vie quotidienne de

l’utilisateur en lui procurant un service sur son appareil.

C’est dans cette optique que nous avons décidé de créer une application SomesoBT pour Android.

Il est très courant que les gens s’échangent des messages courts dans un périmètre assez limité usant

des réseaux d’opérateurs de télécommunications, consommant ainsi du crédit de communication.

L’objectif est de réaliser une application de messagerie sans utiliser les réseaux d’opérateurs.

Nous verrons dans ce chapitre les outils qui ont été utilisé pour la réalisation de l’application puis

nous effectueront la présentation de l’application.

4.2 Le module d’extension ADT d’eclipse

ADT (Android Developer Tools) est une extension de l’environnement de développement intégré

Eclipse. Elle supporte la création et le débogage des applications Android. Le module est disponible

pour différents systèmes d’exploitation à savoir Windows OS, Linux OS et Mac OS. L’utilisation

de ce module permet de faire les actions suivantes : [13] [15]

Créer de nouveau projet Android

Accéder aux outils nécessaires au développement d’application tels que : les émulateurs, les

appareils externes de débogage, le gestionnaire de kit de développement.

Compiler et déboguer les applications Android

Exporter les applications en Android Packages (.apk)

Créer des certificats numériques pour les applications

41

Figure 4.01 : Démarrage d’ADT

4.3 Fonctionnement de l’ADT

L’installation du module est facile et fournit beaucoup d’outils pour le développement d’application.

4.3.1 L’installation du module :

Actuellement, Google fournit un paquet ADT qu’il met à jour régulièrement incluant les éléments

suivants :

Eclipse avec le module d’extension ADT

L’outil de développement de logiciel pour Android (Android SDK)

Les dernières plateformes Android

L’image du système Android pour les émulateurs

Avec ce paquet, il suffit de décompresser le fichier compressé au nom d’adt-bundle-XXX-XXX

disponible sur le site http://developper.android.com sans oublier d’installer la JDK. [9][14][15]

4.3.2 L’espace de travail

C’est dans cette espace qu’on passe beaucoup de temps, car elle permet de créer les nouveaux

projets, d’écrire les codes et mêmes créer l’interface graphique.

42

Figure 4.02 : Espace de travail

Un des outils mise à disposition des développeurs est l’outil de création d’interface graphique qui

utilise le langage XML. Il se présente comme à la figure 4.03

Figure 4.03 : Espace de travail pour l’interface graphique

43

On peut aussi accéder aux émulateurs à partir de l’espace de travail avec l’icône et ils se

présentent comme à la figure 4.04 :

Figure 4.04 : Capture d’écran de l’émulateur Android

4.4 Description de l’application de messagerie somesoBT

4.4.1 A propos de somesoBT

Le nom de notre application vient de la combinaison de deux mots qui sont : someso pour sms et

BT pour Bluetooth pour donner le nom « somesoBT ». « someso » est un terme de l’argot malgache

utilisé pour désigner les messages courts échangés entre les appareils téléphoniques mobiles. Il a

été directement tiré du sigle sms de Short Message Service. Une image identifiant l’application est

présentée ci-dessous.

Figure 4.05 : Logo de l’application somesoBT

44

L’objectif de somesoBT

L’application somesoBT consiste en l’échange de messages courts entre des périphériques Android

sans utiliser les réseaux des opérateurs de télécommunications mais seulement la technologie

Bluetooth.

Figure 4.06 : Objectif de somesoBT

Utilisation de la technologie Bluetooth

La norme Bluetooth est une technologie des télécommunications qui offre diverses possibilités. Le

choix de l’utilisation de cette technologie pourrait se justifier par le vœu de vouloir exploiter ses

capacités et d’en faire l’étude. Par exemple, on sait qu’avec Bluetooth, il est possible d’émettre à

plusieurs appareils simultanément. Cette fonction sera utilisée par les services offerts par

l’application SomesoBT.

4.4.2 Le fonctionnement de l’application

Fonctionnalités de base :

Les fonctionnalités de base décrivent les caractéristiques principales de l’application et sont

indispensables au bon fonctionnement de celle-ci.

45

L’application développée pour les Smartphones, fonctionnant sous Android, est facile et rapide

d’utilisation. L’installation devra se faire sans difficulté.

Cette application intègrera deux types de fonction :

La fonction d’échange de messages point à point (someso P2P)

La fonction d’échange de messages point à multipoint (someso Multicast)

La première fonction se fait entre deux périphériques et les échanges se fait en half-duplex. La

seconde fonction se fait entre le maître et ses esclaves, l’échange se fait en un seul sens. Les

communications dans les deux cas décrits précédemment sont illustrées dans la figure suivante.

Figure 4.07 : Illustration des échanges

Fonctionnalité avancée

Cette partie expose la fonctionnalité de mémorisation des messages échangés entre les équipements

communicants. Le but principal de cette fonction est que, si plus tard l’utilisateur veut consulter ses

anciennes conversations, ce sera dans ses possibilités. L’utilisateur pourra donc consulter les

messages, de les sauvegarder ou de les supprimer.

46

4.5 L’application réalisée

4.5.1 Présentation et illustration

Pour faciliter l’interaction entre l’utilisateur et le Smartphone, somesoBT offre une interface simple

et facile d’usage. L’écran d’accueil de l’application se présente comme suit :

Figure 4.08 : Ecran d’accueil

L’appui sur le bouton « Lancer » amène l’utilisateur à une seconde activité. Cette activité permet de

choisir entre les deux les fonctions de l’application et propose deux boutons.

Figure 4.09 : Choix de mode d’utilisation

47

L’appui sur l’un des deux boutons amène l’utilisateur à l’activité qui gère les connexions et les

échanges des messages. Dans le premier cas où l’utilisateur choisit la communication entre deux,

aucun autre périphérique ne peut être lié au réseau sauf un maître et un esclave. Dans le second cas

plusieurs périphériques peuvent être connectés au maître et permettre ainsi de faire des broadcast.

Ci-après est illustrée cette activité :

Figure 4.10 : Activité de gestions des messages

Pour connecter les appareils, il faut aller dans le menu et appuyer sur le bouton « se connecter » et

choisir les périphériques après. Une boîte dialogue permet de faire cette action.

Figure 4.11 : Initiation des connexions

48

Une fois passé cette étape, les échanges peuvent commencer. Les anciens messages qui ont été

échangés peuvent être consultés grâce à la fonctionnalité de stockage SQLite de la plateforme

Android.

Figure 4.12 : Anciens messages

4.5.2 Contraintes pendant la réalisation

L’application a été développée à l’aide du SDK Android sous l’IDE Eclipse et s’est appuyée sur les

technologies XML et Java. La première contrainte pendant le développement a été la nécessité de

connaître et de maîtriser ces deux langages. La seconde contrainte est que les émulateurs de la SDK

Android ne supportent pas l’émulation de la technologie Bluetooth. Nous avons dû faire le débogage

et les tests sur un téléphone physique.

4.6 Conclusion

Dans ce chapitre, on a décrit une application d’envoie et de réception de messages courts qui utilise

la technologie Bluetooth. L’application porte le nom de « somesoBT » et présente deux fonctions :

celle de la liaison en pair à pair et celle de la liaison pour le broadcast. Ainsi nous avons vu qu’il est

possible d’effectuer des émissions d’un appareil à un autre ou d’un appareil à plusieurs autres

appareils avec la technologie Bluetooth. L’aide qu’a fourni le site officiel pour l’usage du SDK

fournit a facilité la mise en œuvre de ces fonctions et la mise en place des interf aces graphiques.

49

CONCLUSION GENERALE

Dans le cadre de ce mémoire, nous nous sommes intéressés aux réseaux sans fils et à la plateforme

libre Android. L’objectif est d’exploiter les fonctionnalités de connectivité du système Android et

d’y déployer une application de messagerie sans utiliser les réseaux d’opérateurs de

télécommunications. De ce fait, le premier chapitre a été consacré aux réseaux sans fils proprement

dits, aux différentes catégories et aux phénomènes qui influencent les communications. Ces réseaux

sans fil ne cessent d’évoluer et offrent d’avantage des services à caractères très varier.

Ensuite, nous avons présenté les propriétés de la technologie Bluetooth. C’est cette norme qui a été

choisie pour pallier aux réseaux d’opérateurs. Les recherches ont permis de faire l’étude des

différentes couches modélisant la technologie, les techniques de gestion des communications et ses

caractéristiques. Les réseaux de cette technologie ne couvrent qu’une distance de quelques mètres

et cette limite a restreint la portée de l’application « SomesoBT ».

Le troisième chapitre a introduit le système d’exploitation Android. Grâce à l’ouverture de ce

système, les recherches ont aboutis à une liste d’informations plus ou moins complète sur la

plateforme. Cette technologie s’ouvre à plusieurs types de connectivités et nous donne la possibilité

de personnaliser nos applications grâce à l’accessibilité pour le publique de son kit de

développement. L’accès mobile aux réseaux de télécommunications pourrait s’épanouir facilement

grâce à ce système.

Enfin, le quatrième chapitre nous a offert une approche pratique des éléments évoqués dans les

chapitres précédents. Nous nous sommes focalisés sur le déploiement d’une application de

messagerie qui utilise la technologie sans fils Bluetooth. L’application « SomesoBT » nous donne

la possibilité d’échanger des messages courts dans un rayon d’une dizaine de mètres sans les réseaux

d’opérateurs de télécommunication.

Ainsi, ce mémoire a permis de découvrir le monde des dispositifs sans fil. La plateforme Android

supporte une variété de connectivités et permet de développer des applications diversifiées.

Sûrement plusieurs possibilités s’ouvrent aux divers services mobiles mais nous nous sommes

limités à exploiter la messagerie pour permettre aux utilisateurs d’échanger des messages courts

sans les réseaux d’opérateurs.

50

ANNEXE 1 LE LANGAGE JAVA

A1.1. Présentation du langage Java

JAVA est un langage moderne, orienté objet, développé par la société SUN. L’idée de départ de

java était de développer un langage avec lequel on puisse développer les logiciels pour

l’électronique grand public, tel que décodeur, PDA, CD-ROM, etc. Ses caractéristiques devaient

être la robustesse, la compatibilité, la facilité de programmation et la petite taille du code généré.

[14]

A1.2. Les notions clés de la programmation Java

Comme Java est un langage orienté objet, il possède des notions similaires à celles des autres

langages comme C++, Small talk, etc.

La notion d’objet : en Java tout est objet. Les objets contiennent des comportements ou

méthodes et des attributs ou données.

La notion de classe : une classe permet de définir un type d’objet, éventuellement compliqué,

associant des données et des méthodes qui accèdent à ces données.

La notion d’héritage : l’idée principale consiste à définir une classe à partir d’une autre.

Ainsi est alors définit une classe fille qui hérite des méthodes et des attributs de la classe

mère. La particularité de Java est que la classe fille ne peut hériter que d’une seule classe

mère.

La notion de polymorphisme : le polymorphisme est la qualité de certaines fonctions,

procédures ou classes de pouvoir s’appliquer à des paramètres de types divers dans la mesure

où ces types disposent de certaines opérations dont le profil est fixé et qui sont censées

satisfaire certaines propriétés.

La notion d’encapsulation : l’encapsulation consiste à cacher des données ou des méthodes

à vues d’autres classes.

La notion d’abstraction : le mécanisme des classes abstraites permet de définir des

comportements (méthodes) qui devront être implémentés dans les classes filles

A1.3. Programme de base Java

public class HelloWorld

{

public static void main(String[] args)

{

System.out.println("HelloWorld");

}

}

51

ANNEXE 2 EXTRAITS CODE SOURCE

A.2.1 Interface d’accueil

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:background="@drawable/style" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_alignParentTop="false"

android:layout_centerHorizontal="false"

android:orientation="vertical" >

<ImageView

android:id="@+id/img2"

android:src="@drawable/someso"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_marginTop="25dp"

/>

<ImageView

android:id="@+id/img3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentTop="true"

android:layout_marginTop="10dp"

android:src="@drawable/koko"

android:layout_gravity="center" />

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Lancer"

android:textSize="20sp"

android:textColor="#21aad4"

android:textStyle="bold"

android:id="@+id/lancer"

android:layout_marginTop="20dp"

android:background="@null"/>

<Button

android:id="@+id/apropo"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/lancer"

android:layout_alignTop="@+id/lancer"

android:layout_marginTop="6dp"

android:background="@null"

android:text="A propos"

android:textColor="#21aad4"

android:textSize="20sp"

android:textStyle="bold" />

<Button

android:id="@+id/quitter"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignLeft="@+id/apropo"

android:layout_below="@+id/lancer"

52

android:layout_marginTop="6dp"

android:background="@null"

android:text="Quitter"

android:textColor="#21aad4"

android:textSize="20dip"

android:textStyle="bold"

android:layout_marginBottom="2dp"/>

</LinearLayout>

</RelativeLayout>

A.2.2 Activité principale de l’application

public class MainAct extends Activity {

Button lancer, apropo, quitter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lancer = (Button) findViewById(R.id.lancer);

apropo = (Button) findViewById(R.id.apropo);

quitter = (Button) findViewById(R.id.quitter);

TranslateAnimation anim1 = new TranslateAnimation(320, 0, 0, 0);

anim1.setStartOffset(320);

anim1.setFillAfter(true);

anim1.setDuration(500);

this.findViewById(R.id.lancer).startAnimation(anim1);

anim1 = new TranslateAnimation(-320, 0, 0, 0);

anim1.setStartOffset(-320);

anim1.setDuration(500);

this.findViewById(R.id.apropo).startAnimation(anim1);

anim1 = new TranslateAnimation(0, 0, 160, 0);

anim1.setStartOffset(160);

anim1.setDuration(500);

this.findViewById(R.id.quitter).startAnimation(anim1);

anim1 = new TranslateAnimation(0, 0, -160, 0);

anim1.setStartOffset(-160);

anim1.setDuration(500);

this.findViewById(R.id.img2).startAnimation(anim1);

lancer.setOnClickListener(new View.OnClickListener(){

public void onClick (View v) {

Intent i = new Intent(getBaseContext(), ConfigAct.class);

startActivity(i);

finish();

}

});

apropo.setOnClickListener(new View.OnClickListener(){

public void onClick (View v) {

ApropoDialog();

53

}

});

quitter.setOnClickListener(new View.OnClickListener(){

public void onClick (View v) {

finish();

}

});

}

public void ApropoDialog(){

AlertDialog.Builder ad = new AlertDialog.Builder(this);

ad.setIcon(R.drawable.ic_dialog_info);

ad.setTitle("Informations");

ad.setMessage("Développeur: NTSUANDIH\n" + "Email:

[email protected]");

ad.setNegativeButton("OK", new

android.content.DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

});

ad.show();

}

@Override

public void onBackPressed(){

qtDialog();

}

private void qtDialog() {

AlertDialog.Builder ad = new AlertDialog.Builder(this);

ad.setIcon(R.drawable.alert_dialog_icon);

ad.setTitle("Quitter");

ad.setMessage("Voulez-vous vraiement quitter?");

ad.setNegativeButton("Non", new

android.content.DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

});

ad.setPositiveButton("Oui", new

android.content.DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

finish();

}

});

ad.show();

}

}

54

A.2.3 Méthode de gestion de connexion multiple

public synchronized void connect(BluetoothDevice device) {

if (D) Log.d(TAG, "connecté à: " + device);

// Annulation de threads, tentative de connexion

if (mEtat == ETAT_CONNEXION) {

if (mConnectThread != null) {mConnectThread.cancel();

mConnectThread = null;}

}

// Annulation de threads, connexion en cours

if (mConnectedThread != null) {mConnectedThread.cancel();

mConnectedThread = null;}

// Creation de threads pour chaque Numero unique universel (7 esclave)

for (int i = 0; i < 7; i++) {

try {

mConnectThread = new ConnectThread(device, mUuids.get(i));

mConnectThread.start();

setState(ETAT_CONNEXION);

} catch (Exception e) {

}

}

}

A.2.4 Méthode de gestion d’envoi de message

private void envoyerMessage(String message) {

// si connecté

if (somesoP2pService.getState() != SomesoP2pService.STATE_CONNECTED) {

Toast.makeText(this, R.string.non_connecte,

Toast.LENGTH_SHORT).show();

return;

}

// Si il y a quelques choses à envoyer

if (message.length() > 0) {

// Conversion du message en Bytes

byte[] envoyer = message.getBytes();

somesoP2pService.write(envoyer);

mOutStringBuffer.setLength(0);

mOutEditText.setText(mOutStringBuffer);

}

}

A.2.5 Méthode de gestion de la base de données

public class DBAdapteur {

DatabaseHelperDBHelper;

Contextcontext;

SQLiteDatabasedb;

public DBAdapteur(Context context){

this.context = context;

DBHelper = new DatabaseHelper(context);

}

55

public class DatabaseHelper extends SQLiteOpenHelper{

Context context;

public DatabaseHelper(Context context) {

super(context, "discussion", null, 1);

this.context = context;

}

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL("create table discussion (_id integer primary key autoincrement, "

+ "initiateur text not null, "

+ "message text not null"

+ ");");

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

Toast.makeText(context, "Mise à jour de la Base de données version

"+oldVersion+" vers "+newVersion, Toast.LENGTH_SHORT).show();

db.execSQL("DROP TABLE IF EXISTS discussion");

onCreate(db);

}

}

public DBAdapteur open(){

db = DBHelper.getWritableDatabase();

return this;

}

public void close(){

db.close();

}

public void Truncate(){

db.execSQL("DELETE FROM discussion");

}

public long insererUnMessage(String initiateur, String message){

ContentValues values = new ContentValues();

values.put("initiateur", initiateur);

values.put("message", message);

return db.insert("discussion", null, values);

}

public boolean supprimerMessage(long id){

return db.delete("discussion", "_id="+id, null)>0;

}

public Cursor recupererLaListeDesMessages(){

return db.query("discussion", new String[]{

"_id",

"initiateur",

"message"}, null, null, null, null, null);

}

}

56

BIBLIOGRAPHIE

[1] Ebook, « 802.11 Les réseaux sans fil », http://online.infracom.fr, 29 mars 2003

[2] M.A. Rakotomalala. « Radiocommunication mobile », ESPA Madagascar-dép.

Télécommunications, 2011-2012

[3]

[4]

M. Sauter, « From gsm to lte, an introduction to mobile networks and

broadband », Wiley Edition, 2011

T. Kelly. « VoIP pour les nuls », Edition Limitée Avaya, 2005

[5] B.A. Miller, C. Bisdikian, « Bluetooth Revealed »

[6]

[7]

J.P. Muller, « Bluetooth », Physique appliquée

M. Riku, « Bluetooth Protocol Architecture Version 1.0 », 25 Août 1999

[8]

M. Vongvilay, G. Nguyen Ngoc, G. Wolowiec. « Bluetooth », Exposés NT

Réseaux, 2005

[9] L. Wei-Meng. « Beginning Android Application Development », Edition Wiley

Publishing Inc., 2011

[10] S. Conder, L. Darcey, « Android Wireless Application Development », Second

Edition, 2010

[11]

[12]

[13]

C. Haseman, « Creating Android Applications Develop and Design », 2012

Z. Mednieks, L. Dornin, G.B. Meike, M. Nakamura, « Programming Android »,

First Edition by O’Reilly, 2011

M. Murphy, « L’art du développement Android », Edition Apress, 2009

[14]

[15]

[16]

L.E. Randriarijaona. « Introduction à la programmation Java », ESPA

Madagascar-dép. Télécommunications, 2010-2011

http://developer.android.com

http://www.wikipedia.com

57

FICHE DE RENSEIGNEMENTS

Nom : ANDIHARIJAONA

Prénoms : Jacques Faniriantsoa

Adresse de l’auteur : Lot 2II 387 bis Mahalavolona Andoharanofotsy

Antananarivo 102 – Madagascar

Tel : +261 33 14 187 08

E-mail : [email protected]

Titre du mémoire :

« MISE EN ŒUVRE DE SERVICE MOBILE PERSONNEL SOUS SYSTEME ANDROID »

Nombre de pages : 58

Nombre de tableaux : 4

Nombre de figures : 26

Mots clés :

Android, Sms, Réseaux sans fil, Bluetooth

Directeur de mémoire :

Nom : RANDRIARIJAONA

Prénoms : Lucien Elino

Tel : +261 32 04 747 95

Email : [email protected]

58

RESUME

Nous sommes à l’ère de la numérique et les nouvelles technologies font une croissance extravagante.

La possibilité de communiquer, d’accéder à l’information en tout lieu et à tout moment est un

objectif que le monde des TIC a atteint pour faciliter les échanges. Actuellement, il n’est seulement

plus possible de profiter de ces avantages de mobilités mais aussi de personnaliser les

communications selon le vouloir de chaque individu. A travers ce mémoire, nous avons pu étudier

les réseaux sans fil et le système Android en matière de connectivités. La mise en œuvre d’un service

mobile personnel sous ce nouveau système d’exploitation a permis de montrer qu’il était possible

de pallier aux réseaux d’opérateurs dans une distance de quelques dizaines de mètres avec la

technologie Bluetooth. Il est possible de faire des échanges de messages courts entre deux terminaux

Android via la norme des télécommunications à faible portée qu’est la technologie Bluetooth.

ABSTRACT

We are at the era of numerical and new technologies make an extravagant growth. The possibility

of communicating, to reach information in any place and at any time is an objective that the world

of the TIC reached to facilitate the exchanges. Currently, it is not only possible any more to benefit

from these advantages of mobility but also to personalize the communications according to wanting

of each individual. The apparatuses being used to communicate are more and more sophisticated

and report the personality of its owner. Through this memory, we studied the wireless networks and

the Android system as regards connectivity. The implementation of a personal mobile service under

this new operating system made it possible to show that it was possible to mitigate the networks of

operators in a distance of a few tens of meters with Bluetooth technology. It is possible to make

exchanges of short messages between two Android terminals via the standard of

telecommunications with weak range which is Bluetooth technology.