Il y a plein de bonnes raisons de vouloir utiliser Android sans les Google Play Services (la partie propriétaire à Google du système d'exploitation Android), principalement pour protéger sa vie privée. Les Google Play Services contiennent des processus qui tournent en permanence en arrière-plan sur les téléphones Android. Ils sont utilisés par Google pour fournir des services supplémentaires (par exemple les notifications push, une géolocalisation précise qui combine le GPS, le Wi-Fi et le GSM, l'installation et la mise à jour d'applications...) mais aussi pour tracer l'utilisation des smartphones (suivre la localisation, applications installées et utilisées, connexion permanente aux serveurs de Google...).

Les roms Android alternatives, telles que LineageOS (le fork communautaire de CyanogenMod) proposent, par défaut, une version sans les Google Play Services, avec, généralement, la possibilité d'installer les Google Play Services. Mon téléphone actuel est un Fairphone2, produit par Fairphone, une entreprise qui produit des téléphones dont le matériel et la fabrication sont aussi équitables que possible. En 2016, Fairphone a décidé de mettre en open source le code Android utilisé par les Fairphones 2: Fairphone Open OS. Celui-ci est proposé en alternative au système d'exploitation préinstallé, pour les personnes concernées par leur vie privée. Comme tous les systèmes d'exploitation open source, basés sur Android, le Fairphone Open Os ne contient pas les Google Play Services.

F-Droid

Un inconvénient majeur des téléphones Android qui n'ont pas les Google Play Services installés est qu'il est impossible de n’utiliser aucune des applications officielles de Google, et, en particulier, l'application Google Play. Ainsi, on ne peut pas télécharger facilement d'application sur son téléphone. Cela empêche de nombreuses personnes de sauter le pas de se passer des Google Play Services. Heureusement, il y a un très bon projet open source F-Droid, qui combine une application Android permettant de télécharger et d'installer/mettre à jour des applications, avec un repository, un catalogue d'applications gratuites et open sources. Cette application permet de trouver et de maintenir à jour des applications presque aussi simplement qu'avec l'application Google Play. Notez d'ailleurs que vous pouvez utiliser F-Droid sur un téléphone Android normal (c'est-à-dire qui a les Google Play Services installés et n'est pas rooté), afin de trouver facilement des applications open source et de qualité. Il faut juste autoriser l'installation d'applications provenant de sources inconnues (attention toutefois, car cela peut induire des problèmes de sécurité, si on installe des applications non sures).

Install applications from unknown sources

Je ne vais pas lister ici toutes les applications du catalogue F-Droid que j'utilise tous les jours, mais en voici quelques-unes qu'on peut trouver :

  • K-9 Mail, un excellent client email, qui supporte plusieurs comptes et protocoles.
  • Silence, une application de SMS et MMS permettant d'échanger aussi des messages chiffrés.
  • Firefox. Ai-je besoin de le présenter ?
  • OsmAnd~, une application de navigation et de lecture de carte qui repose sur les cartes du projet OpenStreetMap.
  • Amaze, un très bon gestionnaire de fichiers pour Android.
  • Nextcloud, l'application officielle permettant de gérer les fichiers stockés sur les serveurs Nextcloud/Owncloud.
  • DAVdroid, afin de synchroniser les calendriers et contacts à l'aide des protocoles CalDAV/CardDAV.
  • TTRSS-Reader, un lecteur RSS pour les serveurs basés sur Tiny-Tiny-rss.
  • Et plein d'autres...

Malheureusement, vous ne pouvez pas trouver sur le catalogue F-Droid toutes les applications que vous voulez. Il n'y a dessus que des applications gratuites et open sources, et la plupart des applications mobiles n'y sont donc pas. Parfois, on peut trouver une alternative open source aux applications propriétaires qu'on a l'habitude d'utiliser (c.f. ci-dessus), mais de nombreux services n'en ont pas (par exemple, les sites de musique en streaming, les banques, les transports publics...). Une solution est alors d'utiliser le site mobile (s'il existe), mais ce n'est pas toujours très pratique ou possible. Il est aussi possible d'utiliser un autre téléphone Android avec l'application Google Play, pour télécharger l'application, puis la partager entre les deux téléphones, soit en Bluetooth, soit en Wi-Fi (eh oui, vous pouvez aussi faire ça grâce avec l'application F-Droid !).

Pendant plusieurs mois, j'ai utilisé ces deux techniques pour utiliser mon téléphone Android, sans Google Play Services. Puis, j'ai découvert un projet open source très intéressant : Gplayweb. Gplayweb permet de télécharger facilement les applications du Google Play, dans une interface web simple. Il repose sur gplaycli, une bibliothèque Python non officielle, qui permet de télécharger des applications depuis le Google Play. Malheureusement, ce projet n'ayant pas été mis à jour depuis longtemps, je n'ai pas réussi à le faire fonctionner facilement, en particulier son intégration avec F-Droid. J'en ai donc fait un fork sur Github, afin de pouvoir l'utiliser avec les dernières versions de gplaycli et fdroidserver. Afin de pouvoir aussi l'installer facilement, j'ai écrit un Dockerfile et publié le conteneur Docker sur leDockerhub.

Gplayweb interface

Cet outil fournit une interface web permettant de télécharger facilement des applications depuis le Google Play. Il s'intègre avec F-Droid, afin de créer un repository personnalisé, permettant d'installer ou mettre à jour les applications téléchargées à l'aide de l'interface Gplayweb, dans l'application F-Droid.

Pour l'installer, en utilisant Docker), lancer en ligne de commande:

docker run --name gplayweb -p 127.0.0.1:8888:8888 -v ~/fdroid/:/data/fdroid fxaguessy/gplayweb

Puis, si vous voulez pouvoir accéder au repository créé avec les applications téléchargées depuis l'application F-Droid sur votre téléphone,

docker run --name fdroid-nginx -p 8080:80 -v ~/fdroid/repo:/usr/share/nginx/html:ro nginx

Vous pourrez alors accéder à gplayweb à l'adresse http://localhost:8888, sur votre ordinateur, et au repository F-Droid à l'adresse http://your.computer.ip.address:8080. Enfin, sur votre téléphone Android, lancer l'application F-Droid, aller dans le menu en haut à droite, "Gestion des dépôts", et ajoutez en un avec l'adresse IP du conteneur fdroid-nginx.

Add F-Droid repository-1 Add F-Droid repository-2

Et voilà ! Vous avez maintenant accès à un outil très simple permettant de télécharger des applications depuis Google Play, sans avoir besoin d'installer les Google Play Services qui posent des problèmes de vie privée. J'utilise ces conteneurs sur mon serveur privé, avec un conteneur docker nginx proxy intégré avec let's encrypt, ce qui me permet d'avoir accès depuis n'importe où à ce repository F-Droid, en HTTPS. Si vous voulez plus de détails sur cette configuration, faites-le-moi savoir en commentaire.

Il faut néanmoins savoir que les Google Play Services définissent des API pouvant être utilisées depuis les applications. De nombreuses applications du Google Play ne fonctionneront donc pas parfaitement sans les Google Play Services. La plupart fonctionneront, mais sans les services fournis par ces API (généralement les services de géolocalisation). Certaines applications, codées avec moins de soin, planteront directement... De toute façon, vous devrez préférer, bien entendu, les applications libres et open sources sur F-Droid, s’il y en a une de disponible.

Edit : J'ai découvert grâce aux commentaires de cet article deux alternatives à gplayweb: Yalp Store, une application Android permettant de télécharger directement les applications du Google Play et Raccoon un logiciel qui permet de télécharger les applications depuis son ordinateur (ce que je trouve beaucoup moins pratique).



Commentaires