+++ to secure your transactions use the Bitcoin Mixer Service +++

 

Aller au contenu

Android

Un article de Wikipédia, l'encyclopédie libre.

Android
Logo

Famille Linux
Langues Japonais, russe, multilingue, anglais, langues chinoises, cantonais, italien, catalan et espagnolVoir et modifier les données sur Wikidata
Type de noyau Monolithique, (noyau Linux modifié)
État du projet En cours
Dépôt android.googlesource.com et android-review.googlesource.com/admin/reposVoir et modifier les données sur Wikidata
Plates-formes Architecture MIPS, architecture ARM et x86Voir et modifier les données sur Wikidata
Entreprise /
Fondateur
Rich Miner (en), Andy Rubin, Google et Open Handset AllianceVoir et modifier les données sur Wikidata
Entreprise /
Développeur
Open Handset Alliance et GoogleVoir et modifier les données sur Wikidata
Licence Licence Apache version 2.0 et licence publique générale GNU version 2Voir et modifier les données sur Wikidata
Écrit en C, C++, Kotlin, format XML, Java et RustVoir et modifier les données sur Wikidata
Première version [1]Voir et modifier les données sur Wikidata
Dernière version stable 14 ()[2]Voir et modifier les données sur Wikidata
Méthode de mise à jour OTA, ZIP flashable, Google Play Store (pour les mises à jour de sécurité sur Android 10)
Gestionnaire de paquets Google Play, F-Droid, Yandex.Store (d), Samsung Galaxy Store, APK et Amazon AppstoreVoir et modifier les données sur Wikidata
Site web www.android.comVoir et modifier les données sur Wikidata

Android (/ˈænˌdɹɔɪd/[3] Écouter, en français : /ɑ̃.dʁɔ.id/) est un système d'exploitation mobile open source fondé sur le noyau Linux et développé par un consortium d'entreprises, le Open Handset Alliance, sponsorisé par Google.

À la suite du rachat par Google en 2005 de la startup du même nom, le système avait d'abord été lancé en juin 2007 pour les smartphones et tablettes tactiles, avant de se diversifier dans les objets connectés, ordinateurs comme les télévisions (Android TV), les voitures (Android Auto), les Chromebook (Chrome OS qui utilise les applications Android) et les smartwatch (Wear OS).

Depuis , Android est le système d'exploitation mobile le plus utilisé dans le monde, devant iOS d’Apple

Caractéristiques[modifier | modifier le code]

Description[modifier | modifier le code]

Dans le Guide du développeur, Android est défini comme étant une pile de logiciels, c'est-à-dire un ensemble de logiciels destinés à fournir une solution clé en main pour les appareils mobiles – smartphones et tablettes tactiles[4],[5],[6]. Cette pile comporte un système d'exploitation (comprenant un noyau Linux), les applications clés telles que le navigateur web, le téléphone et le carnet d'adresses ainsi que des logiciels intermédiaires entre le système d'exploitation et les applications[5]. L'ensemble est organisé en cinq couches distinctes[7] :

Les services offerts par Android facilitent notamment l'exploitation des réseaux de télécommunications GSM, Bluetooth, Wi-Fi et UMTS, la manipulation de médias, notamment de la vidéo H.264, de l'audio MP3 et des images JPEG ainsi que d'autres formats, l'exploitation des senseurs tels que les capteurs de mouvements, la caméra, la boussole et le récepteur GPS, l'utilisation de l'écran tactile, le stockage en base de données, le rendu d'images en 2D ou 3D en utilisant le processeur graphique, l'affichage de page web, l'exécution multitâche des applications et l'envoi de messages SMS[7],[5].

Bien que ne faisant pas partie de la pile de logiciels, l'environnement de développement qui comporte un émulateur de téléphone et un plugin pour Eclipse peut aussi être considéré comme une fonctionnalité d'Android[5]. Et Google Play, une boutique en ligne permettant l'achat et le téléchargement d'applications pour Android, bien qu'il ne soit pas inclus dans les sources d'Android, joue un rôle essentiel pour la popularité de ce système d'exploitation[7].

Le noyau Linux, utilisé pour les fondations d'Android, fournit les services classiques des systèmes d'exploitation : utilisation des périphériques, accès aux réseaux de télécommunication, manipulation de la mémoire et des processus et contrôle d'accès. Il s'agit d'une branche du noyau Linux, modifiée en vue de son utilisation sur des appareils mobiles. Le X Window System, les outils de GNU, ainsi que certains fichiers de configuration qui se trouvent d'ordinaire dans les distributions Linux ne sont pas inclus dans Android. L'équipe de développement d'Android a apporté de nombreuses améliorations au noyau Linux, et la décision a été prise par la communauté de développement de Linux d'incorporer ces améliorations dans le noyau Linux 3.3[8].

Distribution[modifier | modifier le code]

Android est distribué en open source sous licence Apache. La licence autorise les constructeurs qui intègrent Android dans leurs appareils à y apporter des modifications leur permettant de se distinguer de leurs concurrents[7], ce qui a été adopté par la quasi-totalité des fabricants de produits concurrents de l'iPhone[7].

Android est diffusé sous trois formes :

  • modifié par les constructeurs qui le personnalisent au moyen de modifications logicielles apportant notamment des fonctionnalités supplémentaires, mais au détriment du délai d'obtention des nouvelles mises à jour qui est parfois important[9][réf. à confirmer] ;
  • installé sans modification, comme sur les smartphones Android One, qui bénéficient de ce fait rapidement des nouvelles versions du système ou encore sur les smartphones Android Go, qui disposent quant à eux d'une version allégée capable de fonctionner de manière rapide sur du matériel d'entrée de gamme ;
  • développé sous la forme de différentes distributions alternatives, également appelées ROM Custom (ou forks en anglais), tel que Lineage OS ou /e/ (anciennement Eelo) qui en est dérivé.

Android et la plateforme Java[modifier | modifier le code]

Jusqu'à sa version 4.4, Android comporte une machine virtuelle nommée Dalvik, qui permet d'exécuter des programmes prévus pour la plate-forme Java. C'est une machine virtuelle conçue dès le départ pour les appareils mobiles et leurs ressources réduites — peu de puissance de calcul et peu de mémoire[5]. En effet, les appareils mobiles contemporains de 2011 ont la puissance de calcul d'un ordinateur personnel vieux de dix ans[10]. La majorité, voire la totalité des applications sont exécutées par la machine virtuelle Dalvik[10].

Le bytecode de Dalvik est différent de celui de la machine virtuelle Java d’Oracle (JVM) et le processus de construction d'une application est différent : le code source de l'application, en langage Java, est tout d'abord compilé avec un compilateur standard qui produit un bytecode pour JVM (bytecode standard de la plateforme Java) puis ce dernier est traduit en bytecode pour Dalvik par un programme inclus dans Android, du bytecode qui pourra alors être exécuté[5].

L'ensemble de la bibliothèque standard d'Android ressemble à J2SE (Java Standard Edition) de la plateforme Java. La principale différence est que les bibliothèques d'interface graphique AWT et Swing sont remplacées par des bibliothèques d'Android[5].

Le développement d'applications pour Android s'effectue avec un ordinateur personnel sous Mac OS, Windows ou Linux en utilisant le JDK de la plate-forme Java et des outils pour Android. Des outils qui permettent de manipuler le téléphone ou la tablette, de la simuler par une machine virtuelle, de créer des fichiers APK (les fichiers de paquet d'Android), de déboguer les applications et d'y ajouter une signature numérique. Ces outils sont mis à disposition sous la forme d'un plugin pour l'environnement de développement Eclipse[7].

La bibliothèque d'Android permet la création d'interfaces graphiques selon un procédé similaire aux frameworks de quatrième génération que sont XUL, JavaFX ou Silverlight : l'interface graphique peut être construite par déclaration et peut être utilisée avec plusieurs skins — chartes graphiques. La programmation consiste à déclarer la composition de l'interface dans des fichiers XML ; la description peut comporter des ressources (des textes et des pictogrammes). Ces déclarations sont ensuite transformées en objets tels que des fenêtres et des boutons, qui peuvent être manipulés par de la programmation Java[10]. Les écrans ou les fenêtres (activités dans le jargon d'Android), sont remplis de plusieurs vues ; chaque vue étant une pièce d'interface graphique (bouton, liste, case à cocher…). Android 3.0, destiné aux tablettes, introduit la notion de fragments : des panneaux contenant plusieurs éléments visuels. Une tablette ayant — contrairement à un téléphone — généralement suffisamment de place à l'écran pour plusieurs panneaux[10].

Android Runtime (ART)[modifier | modifier le code]

À partir de la version 5.0 (Lollipop) sortie en 2014, l'environnement d'exécution ART (Android RunTime) remplaça la machine virtuelle Dalvik. Cet environnement d'exécution plus performant fut développé par Google pour pallier le potentiel limité de Dalvik, créé en 2007, en même temps que le système.

Avec ART, contrairement à Dalvik, les fichiers de package d'application Android (portant l'extension .apk) ne sont plus lancés directement mais décompressés et lancés avec de nouvelles bibliothèques et API ; les applications prennent ainsi plus de place (+20 %), mais les gains en performance et en autonomie des batteries sont importants (+20 à 30 %).

Identité visuelle[modifier | modifier le code]

[modifier | modifier le code]

Bugdroid, la mascotte représentant le système d'exploitation Android.

Le personnage nommé Bugdroid est le petit robot vert utilisé par Google pour présenter Android. Ce personnage est sous la licence « Creative Commons by (3.0) » et peut donc être utilisé librement[11].

Le site Engadget[12] annonce que Bugdroid, le logo d’Android, serait en fait un personnage d’un jeu des années 1990 sur Atari : Gauntlet: The Third Encounter. Sa créatrice Irina Blok avance cependant une tout autre origine : les pictogrammes simplistes utilisés pour symboliser les hommes et les femmes sur les portes des toilettes[13].

En 2019 Google fait évoluer l'identité visuelle d'Android, et abandonne la numérotation des versions avec des noms de desserts[14] pour plus de clarté et de diversité.

Histoire[modifier | modifier le code]

Genèse[modifier | modifier le code]

Android doit son nom à la startup éponyme spécialisée dans le développement d’applications mobiles rachetée par Google en [15], nom venant lui-même d'« androïde » qui désigne un robot construit à l'image d'un être humain. Le logiciel, qui avait été surnommé gPhone par les rumeurs du marché et qui selon Andy Rubin (un de ses concepteurs) était initialement prévu pour être un système d'exploitation pour appareil photo[16], fut proposé gratuitement et laissé librement modifiable par les fabricants de téléphones mobiles, ce qui facilita son adoption.

Appel à la communauté du logiciel libre[modifier | modifier le code]

Dans le message vidéo de présentation d'Android, Sergey Brin a indiqué que Google comptait sur la communauté des développeurs de logiciels libres et de logiciels à code source ouvert pour créer un système d'exploitation novateur grâce au SDK. Il indiqua aussi qu'une prime globale de 10 millions de dollars[17] serait attribuée aux développeurs des meilleures applications dans le cadre de l’Android Developer Challenge.

Le , Google annonce la liste des cinquante applications retenues dans le cadre de ce concours. Ces 50 applications font pour la plupart appel à des services de géolocalisation et de réseaux sociaux.

Tous les participants se voient alors remettre la somme de 25 000 dollars par projet afin de poursuivre le développement. La deuxième partie du défi est alors lancée dans le but de retenir 20 projets finaux en les finançant à hauteur de 275 000 dollars pour les dix premiers et 100 000 dollars pour les dix autres.

Une vidéo de présentation d'Android[18] fut mise en ligne le , jour de la publication du code source par Google[19] et la liste des applications gagnantes du premier Android Developer Challenge[20] a été publiée par Google.

Les soumissions du deuxième Android Developer Challenge ont pris fin le et les résultats finaux ont été dévoilés en . Depuis, aucune autre édition du Android Developer Challenge n’eut lieu.

Lancement du premier appareil[modifier | modifier le code]

Le gPhone a été lancé en aux États-Unis dans un partenariat de distribution exclusif entre Google et T-Mobile. Il s'agit en réalité du HTC G1/Dream, produit par HTC ; le nom gPhone n'a jamais été utilisé par Google ni par aucun fabricant partenaire. Anticipant les annonces officielles, les marchés financiers se ruèrent massivement sur les actions de Google, les faisant monter jusqu’au pic de 724 dollars le (le vendredi , les actions de Google franchirent les 1 000 dollars).

Les crises de sécurité d'Android[modifier | modifier le code]

Lors de l'été 2015, Google devait faire face à plusieurs problèmes majeurs mettant en danger la sécurité des utilisateurs d'Android.

La première crise concernait la faille Stagefright. Dévoilée par un chercheur en sécurité de Zimperium zLabs, elle peut perturber 95 % des terminaux fonctionnant avec le système d’exploitation de Google par un simple MMS. Le pirate peut ainsi avoir accès à quasiment toutes les données sur le téléphone[21].

En , un logiciel espion chinois fut découvert dans des smartphones Android. Il avait été installé nativement par la société chinoise AdUps sur 700 millions d'appareils Android pour collecter les données de leurs utilisateurs[22].

En , le Google Project Zero, équipe spécialisée dans la recherche de failles de sécurité informatiques de la firme de Mountain View, découvre une grosse faille de sécurité permettant de prendre le contrôle total du smartphone à distance. Cela touche de nombreux smartphones Android, même des mobiles haut de gamme, tels que les deux premières générations des Google Pixel ou les Samsung Galaxy S7, S8 ou S9[réf. souhaitée].

Deux mois plus tard, le , la faille de sécurité Strandhogg a été découverte, permettant aux pirates de vider le compte bancaire de leurs victimes[23]. Cela touche toutes les versions d'Android jusqu'à Android 10. Une seconde version de cette faille a été détectée le , qui améliore ses méthodes d'attaque, tout en étant extrêmement dangereuse. Cette faille ne concerne pas Android 10[24].

Controverse sur la vie privée et respect du RGPD[modifier | modifier le code]

En , la Commission nationale de l'informatique et des libertés (CNIL) en France, condamne Google à une amende de 50 millions d'euros pour défaut d'information des utilisateurs d'Android[25]. Peu après l'entrée en vigueur du règlement général sur la protection des données personnelles (RGPD) en , deux associations None of Your Business et La Quadrature du Net (QDN) avaient déposé plainte auprès de la CNIL. L'enquête conclut que les utilisateurs d'Android ne sont "pas en mesure de comprendre l’ampleur des traitements mis en place par Google. Or, ces traitements sont particulièrement massifs et intrusifs ». C'est l'une des premières décisions d'une instance de régulation européenne à sanctionner l'un des acteurs majeurs du numérique en application des dispositions du RGPD[25]. Google fait appel de cette amende infligée par la CNIL[26], qui est confirmée par le Conseil d’État[27],[28].

En , le chercheur du Trinity College Douglas Leith présente grâce à une technique d'interception les données qui sont envoyées par un téléphone Android aux serveurs de Google Play toutes les 4 à 5 minutes, y compris lorsque le compte n'est pas connecté et que le téléphone est en veille. Il montre que lors du démarrage de l'appareil, 1 Mo de données sont envoyées en 10 minutes, et lorsque l'appareil est en veille, 1 Mo de données sont envoyées en 12 heures. D'autres applications telles que Chrome, Docs, Messages, la barre de recherche et YouTube envoient des données, bien que seule YouTube envoie un identifiant d'appareil unique[29].

En , Douglas Leith montre dans une nouvelle étude quelles données relatives aux communications du téléphone sont transmises aux services Play Services Clearcut et Firebase Analytics de Google. Ces données sont en particulier transmises sans prévenir et sans permettre de désactiver ce transfert, y compris lorsque l'option « Utilisation et diagnostics » est désactivée. Elles permettent de relier expéditeur et destinataire avec, pour les textos, un hachage des messages, et pour l'application Téléphone, l'heure, la durée de l'appel et les numéros de téléphone. Les applications Messages et Téléphone étudiées sont installées par défaut sur tous les appareils Google Pixel et la plupart des téléphones Android, et aucune des deux n'explique quelles données sont collectées, comme Google l'impose aux applications tierces. Les données collectées sont associées à l'identifiant Google Android et permettent donc d'identifier leur propriétaire, le chercheur s'interroge donc sur la conformité au Règlement Général sur la Protection des Données (RGPD)[30].

Versions[modifier | modifier le code]

Les différentes versions d'Android ont des noms de dessert ou plus généralement de sucreries (uniquement en anglais). Depuis la sortie de la toute première version d'Android, les noms de code de chaque versions d'Android suivent une logique alphabétique (de A à Z). Depuis Android 10, il n'y a plus qu'une numérotation de version, étant donné que Google a décidé d'abandonner les noms de desserts à partir de cette version.

Version Dernière révision Nom de code Date de sortie Caractéristiques (uniquement celles à code source ouvert liées à l'AOSP) Version du noyau Linux
1.0 1.0 Apple pie[31] .footer { position: fixed; left: 0; bottom: 0; width: 100%; background-color: white; color: black; text-align: center; }