Les permissions Android M et ce qu'elles signifient pour vous
Android M a introduit au monde les contrôles de permissions au niveau système. Les permissions d'applications granulaires vous permettent de simplement basculer des interrupteurs pour accepter ou révoquer des demandes de permission individuelles. Bien que la fonctionnalité ait toujours été disponible dans Android via des applications tierces, c'est la première fois qu'on peut gérer les permissions via le système Android lui-même. C'est une énorme nouvelle (même si c'est un peu pas sexy), alors voici ce qu'il faut savoir sur les permissions Android M.
Comment fonctionnent les permissions à l'exécution (run-time) ?
Comme vous le savez probablement depuis notre analyse des fonctionnalités d'Android M, la dernière preview développeur permet aux utilisateurs d'accorder des permissions individuelles aux applications au moment où le besoin se présente (run-time), plutôt qu'en lot à l'installation. Cela signifie plus de demande de permissions groupée quand vous téléchargez une application pour la première fois. Les permissions Android M ont aussi été simplifiées en une liste beaucoup plus facile à comprendre et sont accordées une par une au fur et à mesure que le besoin se présente.
Cela signifie que la première fois qu'une application a besoin d'accéder à votre caméra, microphone, liste de contacts ou localisation, vous verrez une popup demandant la permission pour cette action seule. Ainsi, vous connaissez toujours la raison exacte de la permission et pouvez l'accorder ou la refuser comme vous le choisissez. Les permissions classées comme « normales » d'un point de vue sécurité, comme l'accès internet ou l'alarme, seront accordées automatiquement à l'installation.
Les permissions classées par le framework Android comme « dangereuses » — celles incluses dans la liste des permissions granulaires — sont aussi réversibles, ce qui signifie que vous pouvez accorder l'accès quand vous en avez besoin, puis basculer l'interrupteur à nouveau pour protéger votre vie privée. Ce n'était tout simplement pas possible dans les versions antérieures d'Android (bien qu'App Ops ait fait une brève apparition avant d'être retiré), qui avaient plus une approche « prends-le ou laisse-le ».
Révoquer les permissions va-t-il casser les applications ?
En tant qu'utilisateurs, on nous a toujours dit que bloquer les permissions avec des applications tierces causerait des dysfonctionnements, et pourtant Google a maintenant réussi à donner un contrôle complet au niveau système sans que les développeurs n'aient à complètement retravailler leurs applications. Ou du moins, c'est ce qu'ils nous ont dit à la Google I/O 2015 ; mais ce n'est pas entièrement vrai.
Bien sûr, les devs peuvent ne rien faire et leurs applications resteront compatibles avec Android M. Cependant, s'ils n'ont pas configuré leur application pour gérer les permissions granulaires « gracieusement » afin qu'elles fonctionnent avec n'importe quel nombre de permissions individuelles refusées, alors devs et utilisateurs peuvent s'attendre à des étrangetés de leurs applications.
On ne parle pas nécessairement de crashs totaux, mais les utilisateurs pourraient ne pas obtenir de fonctionnalités de base sans permissions spécifiques et les devs devront peut-être intégrer des messages d'avertissement indiquant qu'une application ne peut pas fonctionner du tout sans une permission particulière. Donc si le retravail n'est pas « nécessaire », Google veut évidemment que les applications soient révisées avec la structure de permissions de M en tête.
Et les applications que j'ai déjà ?
Les applications legacy — celles ciblant des versions Android antérieures à Android M — continueront à se comporter comme les applications actuelles : avec une longue liste de demandes de permissions à l'installation qu'il faut accepter pour continuer. Cependant, une fois l'application installée, un utilisateur peut aller dans le gestionnaire de permissions de M et révoquer les permissions comme il le souhaite. La structure de permissions d'Android M est compatible vers l'avant et vers l'arrière.
Les applications ne sont pas entièrement susceptibles de planter simplement si vous refusez certaines permissions. Android passera simplement des données vides à l'application plutôt qu'une exception de sécurité. C'est l'équivalent système Android de fourrer vos vêtements sales sous le lit et de dire à votre mère que vous avez rangé votre chambre ; l'échec de la conformité vous met dans le pétrin mais quelque chose qui a l'air à peu près correct suffit à passer.
De plus, les applications Google — ou celles qui font partie de l'image système — peuvent se voir accorder automatiquement plus de permissions au départ. C'est évidemment Google qui s'accorde à lui-même et aux OEMs une sorte d'accès VIP. Cependant, les utilisateurs peuvent toujours aller plus tard et révoquer certaines permissions, comme avec les applications legacy.
Qu'est-ce que tout cela signifie pour moi ?
En gros, vous avez maintenant un contrôle total sur ce à quoi vos applications ont accès, avec la capacité d'accorder et de révoquer des permissions spécifiques quand vous le choisissez. Si certaines applications dysfonctionneront sans doute, l'onus est mis sur les développeurs pour gérer ces problèmes gracieusement (avec des messages d'avertissement ou similaire) ou simplement mettre à jour leurs applications. C'est un grand jour pour la vie privée et le contrôle utilisateur. La seule chose que vous avez à faire est de vous assurer que vous savez réellement quelles permissions accepter et lesquelles sont déraisonnables.
Que pensez-vous de la façon dont Android M gère les permissions d'applications ? Est-ce une bonne chose ou pas très utile ?
