Qu’est-ce que le « Scoped Storage » d’Android Q ?

 
Afin d’assurer une meilleure protection de vos données, les applications auront désormais un accès limité à vos fichiers sur Android Q. C’est le « Scoped Storage ». Explications.

Aujourd’hui lorsqu’une application Android souhaite écrire des informations sur l’espace de stockage, plusieurs choix s’offrent à elle. Afin d’aiguiller sa décision, la question que tout développeur Android doit se poser concerne la confidentialité des données : cette information est-elle publique (et donc partageable) ou doit-elle au contraire rester confinée à l’application ?

Des données privées

Pour simplifier, chaque application dispose de son propre répertoire dans lequel elle peut y stocker n’importe quel type de donnée de manière privée et sécurisée. Elle est à la seule à pouvoir y accéder, que ce soit en lecture ou en écriture. Pour toutes les opérations sur ce répertoire, aucune permission n’est demandée à l’utilisateur.

Cet endroit est donc l’idéal pour stocker des préférences et autres données utilisateur. Par ailleurs, ce répertoire présente l’avantage que si l’application vient à être est désinstallée, l’ensemble des fichiers seront détruits avec elle.

… des données publiques

D’un autre côté, il existe un vaste dossier public dans lequel vous trouvez vos photos, musiques, téléchargements… C’est également cet espace qui est affiché lorsque vous branchez un téléphone sur un ordinateur. Ce répertoire est donc particulièrement utile pour des informations que les applications sont amenées à se partager (ex : prendre une photo avec une application Caméra et l’utiliser plus tard avec une autre).

Plusieurs restrictions sont à connaître :

  • Il est fortement déconseillé d’y stocker des informations sensibles ou personnelles ;
  • Lors de la désinstallation d’une application, les données sont conservées ;
  • L’accès à cet espace nécessite la validation d’une permission par l’utilisateur pour la lecture et/ou l’écriture.

… et quelques exceptions

Bien que ces deux espaces soient cloisonnés, il existe quelques exceptions :

  • Un fichier stocké sur l’espace personnel peut être partagé dans certaines conditions avec une autre application (ex : prendre une photo avec l’application Caméra et l’envoyer ensuite sur Facebook sans qu’elle apparaisse sur le dossier public)
  • Les applications d’un même développeur peuvent se partager l’accès à leur répertoire personnel

Ce système a dans l’ensemble peu évolué depuis la première version d’Android, grâce à un système de sandboxing (bac à sable) particulièrement efficace.

Il repose toutefois sur la bonne appréciation des développeurs quant à la qualification du type de donnée.

Scoped Storage : l’espace public… bien plus limité

Le recours au gestionnaire de fichiers va se multiplier

Si l’on devait résumer la prochaine version d’Android, la notion de vie privée en serait la définition la plus appropriée. L’accès aux fichiers n’y dérogera pas et se voudra plus strict quant à l’espace de stockage public uniquement. Alors qu’aujourd’hui les applications peuvent librement explorer l’intérieur du dossier, quel qu’en soit le contenu, Android Q n’en autorisera plus qu’une vue limitée.

À noter toutefois que l’accès aux fichiers par l’intermédiaire de votre ordinateur restera inchangé. Scoped Storage est uniquement une restriction mise en place pour les applications.

Le cas des photos, vidéos et musiques

D’une part, il ne sera plus possible d’accéder par chemin direct à un fichier (exemple : /sdcard/Music/SalutCestCool.mp3). D’autre part, seuls les fichiers de type photos, vidéos ou musiques qui ont été enregistrés dans une grosse base de données appelée le MediaStore seront accessibles sans intervention de l’utilisateur.

Jusqu’à présent, les applications pouvaient librement consulter les données EXIF des photos, qui contiennent notamment la géolocalisation du cliché. Sur Android Q, il ne sera possible d’obtenir cette information qu’à partir du moment où l’utilisateur en aura validé la permission.

Les autres fichiers

Pour les autres types de fichiers, comme les téléchargements (ex: /sdcard/Downloads/MonSuperDoc.pdf), les applications devront obligatoirement laisser l’utilisateur choisir l’élément à l’aide du gestionnaire de fichiers d’Android. Elles ne pourront plus comme aujourd’hui le faire automatiquement en arrière-plan. Le recours au gestionnaire de fichiers va donc se multiplier.

Concrètement qu’est-ce que cela veut dire ?

Sur Android Q, les applications auront donc accès moins facilement à l’intégralité de vos fichiers publics. Selon le type, le mécanisme d’ouverture sera différent, mais donnera en contrepartie une plus grande visibilité quant aux données manipulées. En revanche, tout ce système va alourdir la navigation, puisque ce qui était transparent hier va être à la charge de l’utilisateur demain.

Est-ce la fin des gestionnaires de fichiers ?

Avec cette vue limitée sur les fichiers publics, on peut alors se demander si les applications de type gestionnaire de fichiers vont toujours faire sens sur Android Q.

Après avoir observé une levée de boucliers des développeurs, Google a fait le nécessaire pour offrir une alternative et permettre aux applications d’accéder comme aujourd’hui à un répertoire et ses fichiers. Pour cela, il faudra que l’utilisateur autorise l’accès au dit répertoire (bouton « Autoriser l’accès à » sur la capture ci-dessus).

Un passage en douceur

Rassurez-vous, un bing-bang n’aura pas lieu lorsque votre téléphone basculera cet été sur Android Q. En effet, ce nouveau système ne rentrera pas en application dans les cas suivants :

  • Si une application n’utilise pas les API d’Android Q
  • Si une application utilise les API d’Android Q, mais indique être incompatible avec Scoped Storage

Cette solution n’est toutefois que temporaire, car Google a annoncé que dès Android R, tout l’écosystème devra se plier à ce mécanisme.


Envie de rejoindre une communauté de passionnés ? Notre Discord vous accueille, c’est un lieu d’entraide et de passion autour de la tech.

Les derniers articles