0% ont trouvé ce document utile (0 vote)
38 vues28 pages

Architecture du Système Android

Cet exposé présente l'architecture du système d'exploitation Android, qui est organisée en couches modulaires, allant du noyau Linux aux applications utilisateur. Il aborde également les spécificités d'Android, telles que son caractère open-source, sa compatibilité avec divers appareils, et les défis de fragmentation qui en découlent. Enfin, une démonstration pratique illustre les concepts clés et l'importance d'Android dans l'écosystème technologique actuel.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues28 pages

Architecture du Système Android

Cet exposé présente l'architecture du système d'exploitation Android, qui est organisée en couches modulaires, allant du noyau Linux aux applications utilisateur. Il aborde également les spécificités d'Android, telles que son caractère open-source, sa compatibilité avec divers appareils, et les défis de fragmentation qui en découlent. Enfin, une démonstration pratique illustre les concepts clés et l'importance d'Android dans l'écosystème technologique actuel.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INSTITUT AFRICAIN D’INFORMATIQUE

Etablissement Inter-Etat d’Enseignement Supérieur


(Gabon) Tél (+241) 07 70 55 00 -07 70 56 00
E-mail : [email protected]
Site Web: www.iaisiege.org
BP : 2263 Libreville

EXPOSÉ

Thème : L’Architecture du Système d’Exploitation


Android

CYCLE : INGENIEUR/ ING3


Groupe n°3

Réalisé par : Supervisé par :


BELINGONE Larry Dr PIERRE MOUKELI
DJEKOURBOUA Janvier
LEMBIOGO Glen
PITIMBAYE Eveline
ZENG KOUEREY Doguy

Année académique 2023-2024

Année académique 2023-2024

Année académique 2023-2024


PROGRAMMATION SYSTEME

Table des matières


Introduction ............................................................................................................................................. 2
I. Architecture générale d’Android........................................................................................................... 4
1. Présentation de l'architecture en couches ...................................................................................... 4
1.1. Noyau Linux : ............................................................................................................................ 4
1.2. Hardware Abstraction Layer (HAL) ........................................................................................... 5
1.3. Bibliothèques natives et Android Runtime (ART) : ................................................................... 5
1.4. Framework d'application : ........................................................................................................ 5
1.5. Applications utilisateur : ........................................................................................................... 5
2. Détail des couches ........................................................................................................................... 5
II. Spécificités d’Android .......................................................................................................................... 8
1. Caractéristiques uniques d'Android ................................................................................................ 8
a. Open Source ................................................................................................................................ 8
b. Compatibilité et fragmentation ................................................................................................... 8
c. Personnalisation........................................................................................................................... 9
2. Sécurité et gestion des permissions ................................................................................................ 9
a. Modèle de sécurité basé sur Linux .............................................................................................. 9
b. Système de permissions granulaire ........................................................................................... 10
III. Noyau Linux dans Android ................................................................................................................ 11
1. Rôle du noyau Linux....................................................................................................................... 11
2. Modifications spécifiques pour Android ....................................................................................... 12
IV - Présentation des différents applications systèmes Android et les Rôles ........................................ 14
1. Applications systèmes essentielles : .............................................................................................. 14
2-FONCTIONS CLES ............................................................................................................................ 16
V. Démonstration pratique d’Android .................................................................................................... 19
1. Navigation dans l'interface Android .............................................................................................. 19
2. Démonstration des permissions d'application .............................................................................. 21
Conclusion partielle ..................................................................................................................... 25
Conclusion ............................................................................................................................................. 26
1. Résumé des points clés.................................................................................................................. 26
2. Importance d'Android dans l'écosystème technologique ............................................................. 26
3. Perspectives d’évolution ................................................................................................................ 27

INSTITUT AFRICAIN D’INFORMATIQUE 1

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

Introduction
Contexte et historique

Android est un système d'exploitation mobile qui a transformé l'industrie de la technologie. Il a


été initialement développé par une petite entreprise appelée Android Inc., fondée en 2003 par
Andy Rubin, Rich Miner, Nick Sears, et Chris White. L'objectif de cette start-up était ambitieux :
créer un système d'exploitation intelligent, flexible et destiné principalement aux appareils
photo numériques. Cependant, face aux besoins du marché, l'équipe a rapidement réorienté le
projet vers les téléphones mobiles.

En 2005, Google a vu le potentiel d'Android et a racheté la société pour environ 50 millions de


dollars, intégrant ainsi l'équipe dans son entreprise. Google avait pour vision de lancer une
plateforme open-source qui pourrait être adoptée par une variété de fabricants, ce qui
permettrait de développer un écosystème riche et diversifié autour de ce système. En 2007,
l'Open Handset Alliance a été fondée, un consortium de grandes entreprises de téléphonie, de
semi-conducteurs et de logiciels, réunies par Google pour promouvoir et adopter Android.

Depuis le lancement de son premier appareil, le HTC Dream, en 2008, Android n’a cessé de
croître. Aujourd’hui, il est le système d'exploitation mobile le plus utilisé dans le monde,
alimentant non seulement des smartphones, mais aussi des tablettes, des montres
connectées, des téléviseurs, des voitures, et même des appareils électroménagers. La
popularité d'Android repose en grande partie sur sa nature open-source, ce qui permet aux
fabricants de le personnaliser selon leurs besoins tout en contribuant à un écosystème riche et
dynamique. Cela fait d’Android une plateforme mobile dominante et accessible, soutenue par
une grande communauté de développeurs et une infrastructure de support robuste.

Objectifs de l’exposé

Cet exposé a pour objectif de démystifier le fonctionnement du système Android en explorant


son architecture complexe et ses caractéristiques distinctives. Plus précisément, nous allons :

1. Comprendre l'architecture d'Android et ses caractéristiques uniques : Android est


construit sur une architecture en couches qui favorise la modularité et la flexibilité.
Chaque couche, du noyau aux applications utilisateur, a un rôle précis qui permet de

INSTITUT AFRICAIN D’INFORMATIQUE 2

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

gérer les fonctions de base du système, les services essentiels et l’expérience


utilisateur.

2. Explorer le rôle du noyau Linux dans Android : Le noyau Linux est un composant
essentiel dans Android, servant de lien entre le matériel et les logiciels. Nous verrons
comment le noyau a été adapté pour les appareils mobiles afin de gérer de façon
optimale la mémoire, la batterie, et d’assurer une sécurité renforcée.

3. Découvrir les principales applications systèmes : Les applications systèmes


d'Android, telles que le téléphone, les messages, et les paramètres, sont des éléments
clés de l'expérience utilisateur. Ces applications permettent d’interagir avec le matériel,
d’accéder aux services réseau, et de gérer les fonctionnalités de base de l'appareil.

4. Réaliser une démonstration pour illustrer les concepts : Pour rendre ces concepts
plus concrets, une démonstration pratique sera présentée. Celle-ci inclura une
exploration de l'interface Android et de ses paramètres, ainsi que la gestion des
permissions et des applications, offrant un aperçu interactif des fonctions
fondamentales du système.

Cet exposé vise à donner une vision complète du système Android, depuis son infrastructure
jusqu'à ses applications, afin de mieux comprendre pourquoi il est devenu un acteur
incontournable dans le domaine des technologies mobiles.

INSTITUT AFRICAIN D’INFORMATIQUE 3

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

I. Architecture générale d’Android


L’architecture d’Android est construite sur une structure modulaire, organisée en couches. Cette
organisation en couches permet une gestion efficace des ressources, une sécurité renforcée, et
une souplesse qui favorise les mises à jour et les adaptations. Android repose ainsi sur cinq
couches principales : le noyau Linux, la couche d’abstraction matérielle (HAL), les bibliothèques
natives et Android Runtime (ART), le framework d’application, et les applications utilisateur.
Chacune de ces couches joue un rôle spécifique dans le fonctionnement du système.

1. Présentation de l'architecture en couches


1.1. Noyau Linux :
La couche la plus basse est le noyau Linux, qui est la fondation d’Android. Android
s’appuie sur ce noyau pour gérer des fonctions fondamentales comme la gestion de la
mémoire, des processus, et de la sécurité. Il comprend également des pilotes matériels

INSTITUT AFRICAIN D’INFORMATIQUE 4

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

spécifiques qui permettent aux applications de dialoguer avec les composants


physiques (caméra, écran, Wi-Fi, Bluetooth, etc.).

1.2. Hardware Abstraction Layer (HAL)


La HAL est une interface entre le matériel et le système Android. Elle fournit un
ensemble de bibliothèques permettant d’accéder aux composants matériels
spécifiques sans avoir besoin de coder directement pour chaque composant. Cela
permet aux fabricants de modifier ou de remplacer le matériel sans changer le reste du
système d’exploitation.

1.3. Bibliothèques natives et Android Runtime (ART) :


Cette couche inclut les bibliothèques natives, qui sont des composants de bas niveau
écrits en C et C++, et le moteur ART. Les bibliothèques natives sont responsables des
fonctionnalités essentielles telles que les graphismes (OpenGL), la gestion de l’audio
(OpenSL ES), et les bases de données (SQLite). Android Runtime (ART), quant à lui,
exécute le code Java des applications et offre des performances et une gestion de la
mémoire optimisées.

1.4. Framework d'application :


Le framework d'application fournit un ensemble d'API que les développeurs peuvent
utiliser pour créer des applications Android. Ces API couvrent un large éventail de
fonctionnalités, comme les services de localisation, la gestion des notifications, les
interfaces utilisateurs, et bien plus. Cette couche est essentielle, car elle simplifie le
développement d'applications en fournissant des composants déjà intégrés et prêts à
l’emploi.

1.5. Applications utilisateur :


La couche la plus haute est celle des applications utilisateur, qui regroupe toutes les
applications visibles par l’utilisateur. Cela inclut les applications systèmes préinstallées,
comme les messages, les contacts, et l'appareil photo, ainsi que les applications
téléchargées par l'utilisateur. Cette couche est l'interface directe avec l'utilisateur final,
lui permettant d'interagir avec le système Android.

2. Détail des couches


Noyau Linux

INSTITUT AFRICAIN D’INFORMATIQUE 5

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

Le noyau Linux est un élément clé de l’architecture Android, assurant la gestion de la sécurité,
des processus, de la mémoire, et des pilotes matériels. En tant qu’interface entre le matériel et
les applications, il assure des fonctions de base essentielles comme :

• La sécurité : Android utilise les permissions Linux pour isoler les processus et protéger
les données des utilisateurs.

• La gestion des processus et de la mémoire : Le noyau organise l’exécution des tâches


en allouant des ressources aux processus et en libérant la mémoire lorsque nécessaire.

• Les pilotes matériels : Grâce aux pilotes, Android peut interagir avec les composants
physiques des appareils, ce qui permet, par exemple, la capture d’images ou l’envoi de
signaux Bluetooth.

Bibliothèques natives et Android Runtime (ART)

Dans cette couche, les bibliothèques natives sont des composants critiques pour les
fonctionnalités de bas niveau d’Android. On y retrouve :

• Graphiques : OpenGL ES permet d’afficher des éléments graphiques en 2D et 3D.

• Audio : OpenSL ES gère le traitement des sons pour des applications comme les
lecteurs audio.

• Bases de données : SQLite fournit un système de gestion de base de données léger pour
le stockage local.

En parallèle, Android Runtime (ART) est l’environnement d’exécution qui gère le code des
applications. ART est une amélioration par rapport à l’ancien moteur Dalvik, car il précompile le
code lors de l’installation, ce qui augmente les performances et réduit la consommation de
mémoire.

Framework d'application

Le framework d'application offre une série d’API que les développeurs utilisent pour créer des
applications. Les API du framework couvrent différents aspects du système, comme :

• Les services de localisation : permettent aux applications d’accéder à la localisation


de l’utilisateur de manière sécurisée.

INSTITUT AFRICAIN D’INFORMATIQUE 6

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

• La gestion des ressources : facilite l’accès aux fichiers multimédias, aux langues, et aux
styles.

• Les composants d'interface utilisateur : proposent des éléments prédéfinis pour les
interfaces, comme les boutons, les notifications et les menus, permettant aux
développeurs de concevoir facilement une interface cohérente et fonctionnelle.

Applications utilisateur

La couche des applications utilisateur représente la partie visible et interactive d’Android. Elle
inclut les applications par défaut, telles que :

• Téléphone : gère les appels téléphoniques et le carnet d'adresses.

• Messages : offre des fonctionnalités de messagerie texte (SMS et MMS).

• Appareil photo : permet la capture d’images et de vidéos.

• Paramètres : permet aux utilisateurs de configurer leur appareil selon leurs préférences
(Wi-Fi, Bluetooth, etc.).

Ces applications fournissent une interface simple et intuitive pour les utilisateurs, leur
permettant de gérer facilement les fonctions de base de leur appareil Android. C’est cette
couche qui rend Android accessible et fonctionnel pour des millions d’utilisateurs chaque jour.

En somme, cette architecture en couches fait la force d’Android. Elle lui permet d’être flexible,
sécurisé, et de répondre aux besoins d’un large éventail de fabricants et de développeurs tout
en assurant une expérience utilisateur optimale.

INSTITUT AFRICAIN D’INFORMATIQUE 7

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

II. Spécificités d’Android


Le succès d’Android repose sur des caractéristiques uniques qui le distinguent des autres
systèmes d’exploitation mobiles. Sa nature open-source, sa flexibilité, et son modèle de
sécurité en font une plateforme attractive tant pour les développeurs que pour les fabricants.
Cependant, ces atouts s'accompagnent également de certains défis, comme la fragmentation.

1. Caractéristiques uniques d'Android


a. Open Source
L'une des spécificités majeures d'Android est son caractère open-source, basé sur le projet
Android Open Source Project (AOSP). Cette particularité a plusieurs implications :

b. Compatibilité et fragmentation
• Liberté pour les fabricants et développeurs :

La nature open-source d'Android permet aux fabricants d’appareils (comme Samsung,


Xiaomi ou Oppo) et aux développeurs tiers d'accéder gratuitement au code source pour
l’adapter à leurs besoins. Cela a donné naissance à une variété de smartphones,
tablettes, téléviseurs et autres appareils connectés fonctionnant sous Android.

• Écosystème diversifié :
Android, en étant open-source, favorise une forte concurrence entre les fabricants, ce
qui a conduit à une baisse des coûts des appareils et à une large accessibilité pour
différents marchés, notamment dans les pays en développement. Cependant, l'open
source signifie aussi que des versions non officielles d'Android circulent, ce qui peut
poser des problèmes de sécurité et de compatibilité.

L'une des forces d'Android est sa compatibilité avec une grande diversité d’appareils.
Cependant, cette diversité crée également le problème de la fragmentation.

• Bénéfices de l’adaptation :
Android peut être adapté à différents appareils, qu'il s'agisse de téléphones
économiques ou de produits haut de gamme. Cela a permis à Android de dominer le
marché mondial des smartphones avec une part de marché dépassant 70 %.

• Défis de la fragmentation :
Chaque fabricant personnalise Android pour son matériel, ce qui entraîne des délais

INSTITUT AFRICAIN D’INFORMATIQUE 8

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

dans les mises à jour du système d'exploitation. Par exemple, une nouvelle version
d'Android publiée par Google n'est souvent disponible que plusieurs mois plus tard
pour les appareils d'autres fabricants, ce qui limite la diffusion des dernières
fonctionnalités et mises à jour de sécurité.

c. Personnalisation
Android est reconnu pour sa grande flexibilité en matière de personnalisation, tant pour les
fabricants que pour les utilisateurs finaux.

• Pour les constructeurs :


Les fabricants peuvent personnaliser l’interface utilisateur (UI) pour se démarquer de
leurs concurrents. Par exemple :

o Samsung One UI : une interface utilisateur conviviale et optimisée pour les


écrans de grande taille.

o Xiaomi MIUI : une interface colorée et riche en fonctionnalités


supplémentaires, comme un gestionnaire de batterie avancé.

• Pour les utilisateurs :


Les utilisateurs peuvent personnaliser leur appareil Android en modifiant les écrans
d'accueil, en téléchargeant des widgets, ou en installant des ROM personnalisées
(comme LineageOS) pour une expérience totalement différente.

2. Sécurité et gestion des permissions


a. Modèle de sécurité basé sur Linux
Android s’appuie sur le noyau Linux, qui offre une base robuste pour la sécurité. Le modèle de
sécurité d'Android repose sur les principes suivants :

• Isolation des applications :


Chaque application fonctionne dans un environnement isolé (sandbox), ce qui
empêche les autres applications d'accéder à ses données sans autorisation explicite.

• Permissions par application :


Android utilise un modèle de permissions pour limiter ce que chaque application peut

INSTITUT AFRICAIN D’INFORMATIQUE 9

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

faire. Par exemple, une application ne peut pas accéder à la caméra, au microphone ou
aux fichiers sans l’autorisation explicite de l'utilisateur. Cela limite les risques liés aux
applications malveillantes.

b. Système de permissions granulaire


Avec les versions récentes d’Android (à partir d’Android 6.0 Marshmallow), le système de
gestion des permissions est devenu plus granulaire et transparent.

• Gestion en temps réel :


Les utilisateurs peuvent désormais accorder ou refuser des permissions spécifiques,
comme l'accès à la localisation ou aux contacts, au moment où l'application en fait la
demande.

• Revue des permissions :


Android permet aux utilisateurs de révoquer ou de modifier les permissions d’une
application après son installation, via les paramètres du téléphone. Cela offre un
meilleur contrôle sur les données personnelles.

• Permissions sensibles :
Certaines permissions (comme l'accès au microphone ou à la caméra) sont
considérées comme sensibles. Android avertit l'utilisateur lorsque ces fonctionnalités
sont utilisées par une application en arrière-plan, renforçant ainsi la transparence.

Conclusion partielle

Les spécificités d’Android, comme son caractère open-source, sa compatibilité étendue, et


ses mécanismes de personnalisation, en font une plateforme mobile puissante et adaptable.
Cependant, les défis de fragmentation et la nécessité d’une sécurité renforcée restent des
aspects sur lesquels Google continue de travailler. Grâce à un système de permissions plus
granulaire et une gestion de la sécurité basée sur Linux, Android s’affirme comme une solution
fiable et accessible pour des millions d’utilisateurs à travers le monde.

INSTITUT AFRICAIN D’INFORMATIQUE 10

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

III. Noyau Linux dans Android


Le noyau Linux est le cœur du système Android. Il agit comme une couche intermédiaire entre
le matériel de l'appareil et le reste du système d'exploitation, offrant des fonctionnalités
essentielles pour la gestion des ressources et garantissant que le matériel fonctionne de
manière optimale. Android a apporté plusieurs modifications spécifiques au noyau Linux pour
répondre aux exigences uniques des appareils mobiles, qui nécessitent une efficacité
énergétique accrue et une gestion optimisée des ressources.

1. Rôle du noyau Linux


Le noyau Linux joue un rôle central en tant qu’interface entre le matériel de l'appareil et les
applications qui fonctionnent sur Android. En tant que composant fondamental de l’architecture
Android, il gère directement plusieurs fonctions essentielles, dont :

• Interface matérielle : Le noyau Linux permet aux applications d'interagir avec le


matériel de l'appareil (comme l'écran, le processeur, la mémoire et les capteurs) via des
pilotes logiciels, sans qu'elles aient à coder directement pour chaque composant
matériel. Les pilotes inclus dans le noyau assurent une communication fluide entre le
matériel et le système d’exploitation.

• Gestion de la mémoire : Pour les appareils mobiles, qui ont souvent des ressources
limitées, la gestion de la mémoire est cruciale. Le noyau alloue et libère de la mémoire
pour les applications et les services en cours d'exécution, en s'assurant que les
processus essentiels restent actifs. Il optimise aussi l'utilisation de la mémoire en tuant
automatiquement les applications inactives lorsque les ressources s’épuisent.

• Réseau : Le noyau gère les connexions réseau, qu'il s'agisse de Wi-Fi, de Bluetooth ou
de données cellulaires. Cela permet aux applications de transmettre des données tout
en maintenant une sécurité et une stabilité de connexion, même lorsque l’appareil est
en veille.

• Système de fichiers : Le noyau Linux prend en charge les systèmes de fichiers (comme
ext4 pour Android), facilitant le stockage, l’accès et la gestion des fichiers. Cette gestion
inclut également la sécurité et les permissions, en veillant à ce que seules certaines
applications et utilisateurs puissent accéder à des fichiers sensibles.

INSTITUT AFRICAIN D’INFORMATIQUE 11

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

2. Modifications spécifiques pour Android


Pour répondre aux besoins uniques des appareils mobiles, Android a apporté plusieurs
adaptations au noyau Linux standard. Les appareils mobiles sont conçus pour une utilisation
intensive en énergie, tout en conservant une faible empreinte de performance. Android a donc
modifié le noyau Linux pour répondre à ces défis spécifiques.

• Adaptations pour les systèmes embarqués : Android fonctionne principalement sur


des appareils embarqués, comme les smartphones et les tablettes, où l’espace,
l’énergie et la puissance de traitement sont limités. Le noyau a donc été optimisé pour
une meilleure gestion des processus en arrière-plan et pour réduire la consommation
d'énergie. Par exemple, il donne la priorité aux applications au premier plan pour
améliorer l'expérience utilisateur.

• Wakelocks : L'une des principales améliorations d'Android au noyau Linux est l’ajout des
wakelocks. Un wakelock est un mécanisme qui empêche le système de passer en
mode veille profonde lorsqu'une application a besoin de rester active, comme lors d’un
téléchargement ou d’une lecture audio en arrière-plan. Grâce aux wakelocks, Android
peut mieux contrôler la consommation d'énergie en permettant aux applications de
libérer la veille profonde lorsque nécessaire, mais en les réactivant dès que possible
pour conserver la batterie.

• Gestion optimisée de la batterie : Android intègre également une gestion de batterie


avancée pour prolonger l’autonomie de l’appareil. En plus des wakelocks, le noyau est
capable de gérer des modes de consommation spécifiques, comme le mode économie
d'énergie, qui limite les processus en arrière-plan et réduit les performances du
processeur pour économiser l’énergie. Android utilise également des technologies
comme le Battery Historian pour analyser l'usage de la batterie et identifier les
applications énergivores.

• Performances en temps réel : Les appareils Android nécessitent des performances


stables et prévisibles, particulièrement pour les applications qui demandent une
exécution en temps réel, comme les jeux et les applications de streaming. Des
optimisations du noyau permettent de garantir que les tâches critiques reçoivent les

INSTITUT AFRICAIN D’INFORMATIQUE 12

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

ressources nécessaires sans retards, en gérant les priorités des processus et en allouant
des ressources en temps réel.

En somme, le noyau Linux dans Android a été profondément adapté pour répondre aux
exigences spécifiques des appareils mobiles. Grâce à des fonctionnalités telles que les
wakelocks, une gestion optimisée de la batterie et des performances adaptées aux contraintes
de temps réel, le noyau assure une interface stable et performante entre le matériel et le logiciel.

INSTITUT AFRICAIN D’INFORMATIQUE 13

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

IV - Présentation des différents applications systèmes Android et les


Rôles
Les applications système d'Android sont essentielles pour le bon fonctionnement des appareils
et offrent des fonctionnalités de base. Voici une présentation de quelques applications système
d'Android :

1. Applications systèmes essentielles :

1. Téléphone
L'application Téléphone permet aux utilisateurs de passer et recevoir des appels vocaux,
gérer les contacts et accéder au journal des appels. Elle comprend souvent des
fonctionnalités comme l'identification de l'appelant, le blocage d'appels indésirables,
et, dans certaines versions, des options pour passer des appels en VoIP.

2. Messages
Cette application gère les SMS (Short Message Service) et MMS (Multimedia Messaging
Service). Elle permet d'envoyer des textes, des images, des vidéos, et d'autres fichiers
multimédias. Depuis les dernières versions, elle peut aussi prendre en charge le RCS
(Rich Communication Services), qui améliore l’expérience de messagerie en incluant
des fonctionnalités comme les discussions de groupe enrichies, les accusés de
réception, et l’envoi de messages via le Wi-Fi.

INSTITUT AFRICAIN D’INFORMATIQUE 14

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

3. Appareil photo
L'application Appareil photo est utilisée pour capturer des photos et des vidéos. Elle
intègre généralement diverses options de prise de vue, comme le mode portrait,
panorama, HDR (High Dynamic Range), et souvent des fonctionnalités de stabilisation
d'image et de reconnaissance faciale. Elle permet aussi de régler des paramètres de
capture tels que l’exposition, le flash, et les filtres, pour ajuster les images directement
depuis l’application.

4. Paramètres
L'application Paramètres est le centre de contrôle du système, permettant aux
utilisateurs de configurer et personnaliser leur appareil. Elle inclut des options pour gérer
les connexions (Wi-Fi, Bluetooth, données mobiles), les paramètres d'affichage, la
sécurité, les comptes utilisateur, les autorisations d'application, et bien plus encore. Elle
permet aussi de gérer la confidentialité, comme le contrôle des autorisations des
applications et les services de localisation.

5. Play Store

INSTITUT AFRICAIN D’INFORMATIQUE 15

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

Google Play Store est la plateforme officielle de téléchargement d'applications pour les
appareils Android. Elle permet aux utilisateurs de rechercher, télécharger et installer des
applications, des jeux, des films, des livres et d'autres contenus numériques. Le Play
Store assure également les mises à jour des applications installées et fournit des
fonctionnalités de sécurité telles que Google Play Protect, qui analyse les applications
pour détecter les menaces potentielles.

Ces applications système offrent une base solide pour l’utilisation quotidienne d’un appareil
Android en fournissant des fonctionnalités de communication, de gestion de contenu, et de
configuration personnalisée.

2-FONCTIONS CLES
Sous Android, plusieurs services et composants sous-jacents permettent aux applications
système et aux applications tierces de fonctionner de manière efficace et fluide. Voici les
principaux :

Services de base du système Android

Activity Manager : Gère le cycle de vie des activités dans les applications et le passage entre
les différentes applications, en allouant efficacement les ressources nécessaires à chaque
application.

Window Manager : Gère les fenêtres de l’interface utilisateur, assurant le rendu des éléments
graphiques de chaque application et le bon affichage des fenêtres.

INSTITUT AFRICAIN D’INFORMATIQUE 16

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

Package Manager : Gère l’installation, la mise à jour et la suppression des applications. Il assure
aussi la gestion des autorisations accordées aux applications.

Framework de téléphonie et de messagerie

Telephony Manager : Permet la gestion des appels téléphoniques, des services de messagerie
et des fonctionnalités de réseau (ex. : données cellulaires, Wi-Fi).

SMS Manager et MMS Manager : Ces gestionnaires permettent l’envoi et la réception de SMS
et de MMS, gérant les communications textuelles et multimédias.

Android Media Framework

Ce framework fournit les services multimédias comme la lecture, l’enregistrement audio/vidéo


et le rendu d’images. Il repose sur des bibliothèques natives (ex. : OpenMAX, MediaCodec) qui
prennent en charge la capture et le traitement des médias.

Location Services (Services de localisation)

Fused Location Provider : Ce service combine les données de plusieurs sources (GPS, Wi-Fi,
Bluetooth et données cellulaires) pour fournir des informations de localisation précises et
économiser de l’énergie.

Geofencing : Permet aux applications de réagir à des événements en fonction de la position


géographique de l'utilisateur, comme l’entrée ou la sortie d’une zone spécifique.

Google Play Services

Google Play Services fournit des fonctionnalités pour les applications Android, telles que
l'authentification avec les services Google, la synchronisation des contacts, l'accès aux
services de localisation et les notifications push.

Il offre également des API pour des fonctionnalités avancées comme Google Maps, Firebase
pour les bases de données en temps réel, et Google Fit pour le suivi de la santé et de l’activité
physique.

Services de stockage et gestion des données

SQLite : Un moteur de base de données embarqué qui permet aux applications de stocker et de
gérer les données localement.

INSTITUT AFRICAIN D’INFORMATIQUE 17

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

SharedPreferences : Permet de stocker des données légères de configuration ou de


préférences utilisateur sous forme de paires clé-valeur.

Content Provider : Facilite le partage de données entre les applications en gérant l’accès
sécurisé aux données stockées (ex. : contacts, images, vidéos).

System Services et Broadcast Receivers

Alarm Manager : Gère les alarmes et les rappels, permettant aux applications de planifier des
tâches pour un moment précis.

Job Scheduler : Permet de planifier des tâches en arrière-plan, en optimisant l'utilisation de la


batterie et la gestion des ressources réseau.

Broadcast Receivers : Ils écoutent les événements du système, comme les changements de
connectivité réseau, le démarrage du système, ou l’arrivée de SMS, et déclenchent des actions
en conséquence.

Gestion de la sécurité et des autorisations

KeyStore : Fournit un espace sécurisé pour le stockage des clés de cryptage et des certificats
utilisés par les applications.

Permission Manager : Gère les autorisations des applications et offre aux utilisateurs un moyen
de contrôler l’accès aux ressources sensibles comme la caméra, le micro, ou les fichiers.

Gestion de la mémoire et du processeur

Dalvik/ART (Android Runtime) : Exécute le code Java compilé des applications en assurant
une gestion efficace de la mémoire et en optimisant les performances.

Garbage Collector : Libère automatiquement la mémoire allouée aux objets non utilisés par les
applications, aidant ainsi à éviter les fuites de mémoire.

Ces composants et services sous-jacents permettent aux applications Android de fonctionner


de manière réactive, sécurisée et efficace, même sur des appareils aux ressources limitées.

INSTITUT AFRICAIN D’INFORMATIQUE 18

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

V. Démonstration pratique d’Android


1. Navigation dans l'interface Android

Objectif : Découvrir les fonctionnalités principales de l’interface Android et ses options de


personnalisation pour améliorer l’expérience utilisateur.

• Exploration des applications principales:


o Écran d'accueil : Il est l'élément central de l'interface utilisateur Android,
regroupant les applications installées. Les icônes peuvent être déplacées et
organisées en dossiers pour un accès rapide.

o Tiroir d'applications : Accessible via un geste ou un bouton, ce menu répertorie


toutes les applications installées. Il est distinct de l'écran d'accueil pour mieux
organiser l’espace.

INSTITUT AFRICAIN D’INFORMATIQUE 19

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

o Centre de notifications : Permet de consulter les notifications récentes, comme


les appels manqués, les messages et autres alertes d’application. Il se déploie
depuis le haut de l'écran.

o Paramètres rapides : Accès direct aux fonctionnalités essentielles comme le


Wi-Fi, Bluetooth, mode avion, et la luminosité de l’écran. Ces paramètres
rapides sont accessibles via le centre de notifications.

• Exploration des paramètres:


o Personnalisation : Android permet une personnalisation avancée, comme
changer le fond d'écran, la disposition des widgets et des icônes, ainsi que les
thèmes et couleurs.

INSTITUT AFRICAIN D’INFORMATIQUE 20

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

o Gestion des paramètres système : Dans les paramètres, il est possible


d’ajuster les réglages pour le Wi-Fi, les données mobiles, les sons, les
notifications, l’affichage, etc. Android permet également de configurer des
fonctionnalités avancées comme les comptes Google, la sauvegarde des
données, et la sécurité.
o Accessibilité : Des options pour l’accessibilité sont intégrées, comme les
paramètres d’assistance visuelle et auditive, facilitant l’usage d’Android pour
tous les utilisateurs.
o Personnalisation de l'interface : Le système Android permet de modifier la
taille des icônes, les polices et même l’agencement des éléments.

2. Démonstration des permissions d'application

Objectif : Illustrer la manière dont Android gère les permissions des applications pour protéger
les données personnelles de l’utilisateur.

• Installation d'une application et gestion des permissions :


o Installation : Lorsqu’une application est téléchargée depuis le Google Play
Store, Android peut demander l’autorisation d’accès à certaines fonctionnalités
(contacts, localisation, etc.).
o Demande de permissions : À la première utilisation, Android affiche une
demande de permission spécifique pour chaque accès requis. L'utilisateur peut
choisir d’accepter ou de refuser selon ses préférences de confidentialité.
o Contrôle des permissions : Les utilisateurs peuvent accéder aux paramètres de
chaque application et modifier les autorisations après installation. Par exemple,
une application photo peut nécessiter l'accès à l'appareil photo mais peut se voir
refuser l’accès à la localisation.

INSTITUT AFRICAIN D’INFORMATIQUE 21

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

• Explication de la gestion des données et des accès :


o Catégories de permissions : Android classe les permissions en catégories
comme la caméra, les contacts, la localisation, et le stockage, permettant une
transparence sur les accès demandés par chaque application.

o Gestion des données sensibles : Certaines permissions, comme la localisation


et les contacts, permettent à l’application d'accéder à des données

INSTITUT AFRICAIN D’INFORMATIQUE 22

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

personnelles. Android impose des alertes claires pour sensibiliser l’utilisateur


aux risques potentiels.

o Politique de confidentialité : Chaque application doit respecter les règles de


confidentialité de Google, garantissant que les développeurs sont responsables
de la sécurité des données qu’ils collectent.
o Permissions par session : Depuis les versions Android récentes, il est possible
d’accorder une permission uniquement pour la session d’utilisation, ce qui réduit
les accès permanents aux données sensibles.

3. Exploration des outils pour développeurs

Objectif : Introduire les outils de développement Android pour la création et le test


d’applications via Android Studio.

• Brève présentation d'Android Studio:


o Présentation d'Android Studio : Android Studio est l’environnement de
développement intégré (IDE) officiel pour Android, soutenu par Google. Il permet
aux développeurs de créer, tester et déployer des applications Android.

INSTITUT AFRICAIN D’INFORMATIQUE 23

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

o Fonctionnalités principales : Android Studio propose un éditeur de code, un


système de gestion des ressources, un émulateur pour tester les applications,
ainsi qu’un ensemble d’outils pour déboguer, optimiser et sécuriser les
applications.

• Démonstration d'une application simple ou de l'émulateur Android :


o Création d'une application simple : Pour illustrer Android Studio, on peut créer
une application basique en utilisant des composants d’interface simples
comme des boutons, des zones de texte, et des images. Cela permet de montrer
les étapes d’un projet Android (création, édition, test).
o Utilisation de l'émulateur Android : L’émulateur d’Android Studio simule
différents appareils Android (téléphones, tablettes) pour tester des
fonctionnalités sans nécessiter de matériel physique. Les développeurs peuvent

INSTITUT AFRICAIN D’INFORMATIQUE 24

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

o Configurer l'émulateur avec différentes versions d’Android, des tailles d’écran et


des configurations de matériel.
o Débogage : Android Studio offre des outils de débogage puissants pour
inspecter le comportement des applications, détecter les erreurs et analyser les
performances.
o Simulations avancées : L’émulateur peut simuler des scénarios comme la
variation de l’état de la batterie, les interruptions réseau, et les permissions pour
voir comment l'application réagit dans des contextes variés.

Conclusion partielle

Cette démonstration pratique met en lumière les fonctionnalités principales d’Android du point
de vue de l’utilisateur et du développeur. D’une part, elle révèle les possibilités de
personnalisation et les outils de protection de la vie privée. D’autre part, elle introduit les outils
indispensables pour les développeurs, comme Android Studio, qui simplifient la création et les
tests d’applications. Grâce à cette base, les utilisateurs peuvent mieux comprendre et utiliser
leur appareil Android, tandis que les développeurs disposent d’une plateforme puissante pour
innover et enrichir l’écosystème Android.

INSTITUT AFRICAIN D’INFORMATIQUE 25

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

Conclusion
Pour conclure, cet exposé a permis de mettre en lumière la structure complexe et l’importance
du système Android, de son architecture modulaire jusqu’à son noyau Linux modifié pour
répondre aux besoins des appareils mobiles. L’architecture d’Android, avec ses couches
interconnectées, assure une gestion efficace des ressources tout en offrant aux utilisateurs une
expérience fluide et intuitive. Les applications systèmes, quant à elles, jouent un rôle essentiel
dans cette expérience, fournissant des fonctionnalités de base indispensables comme la
communication, la navigation, et bien d’autres.

1. Résumé des points clés


• Architecture et spécificités : Nous avons abordé l’architecture d’Android en couches,
soulignant l'importance de chaque niveau, du noyau Linux jusqu'aux applications
utilisateur. Cette structure modulaire assure une efficacité et une souplesse qui
permettent à Android de fonctionner sur une large gamme de dispositifs.

• Le noyau Linux : En tant que base d’Android, le noyau a été adapté aux exigences de
l’environnement mobile, avec des fonctionnalités comme les wakelocks et une gestion
optimisée de la batterie, qui prolongent l’autonomie et améliorent la performance
globale.

• Rôle des applications systèmes : Les applications systèmes intégrées (telles que le
téléphone, les messages, et les contacts) offrent une interface utilisateur conviviale et
jouent un rôle crucial dans l’adoption et l’usage quotidien d'Android.

2. Importance d'Android dans l'écosystème technologique


Android est aujourd'hui un acteur central dans l’écosystème technologique mondial. Pour les
développeurs, Android offre une plateforme ouverte qui favorise la créativité et permet le
développement d’applications variées, adaptées à de nombreux secteurs d’activité. Grâce à son
modèle open-source, Android est également accessible à une large diversité de populations à
travers le monde, offrant aux utilisateurs des appareils puissants et abordables, allant des
smartphones aux tablettes, en passant par les appareils connectés. L'impact d'Android sur la
vie quotidienne est ainsi immense, facilitant la communication, l’accès à l’information, et bien
d’autres fonctionnalités essentielles.

INSTITUT AFRICAIN D’INFORMATIQUE 26

Année académique : 2023-2024 Cycle ingénieur/ING3


PROGRAMMATION SYSTEME

3. Perspectives d’évolution
• Améliorations de la sécurité et de la performance : Android continue d’évoluer avec
des mises à jour régulières axées sur l'amélioration de la sécurité, des performances et
de l’efficacité énergétique, ce qui répond aux préoccupations grandissantes des
utilisateurs concernant la confidentialité des données et la durée de vie des appareils.

• Intégration avec l'Internet des Objets (IoT) : L’avenir d’Android est étroitement lié à
celui des objets connectés. Android est déjà présent dans des appareils comme les
montres connectées, les téléviseurs intelligents et même certains appareils ménagers,
et cette tendance est en pleine expansion. Android pourrait bientôt jouer un rôle clé dans
la gestion d’écosystèmes d'appareils connectés, facilitant des interactions fluides et
synchronisées entre les smartphones et d’autres objets du quotidien.

En conclusion, Android continue de repousser les limites de l'innovation technologique en


restant une plateforme ouverte et adaptable. Ses évolutions futures devraient encore enrichir
l’expérience utilisateur et renforcer sa présence dans l’écosystème des objets connectés,
faisant d’Android une technologie incontournable pour les années à venir.

INSTITUT AFRICAIN D’INFORMATIQUE 27

Année académique : 2023-2024 Cycle ingénieur/ING3

Vous aimerez peut-être aussi