LineageOS avec MicroG à la place des services Google

LineageOS avec MicroG L’autre jour, j’ai installé sur le smartphone l’application Xda Feed, histoire de recevoir les news à propos des forums XDA, qui fournissent tant d’informations et de ressources à propos d’Android. Sauf qu’en lançant l’application, un message m’avertissait que l’application ne fonctionnerait pas correctement car je ne disposais pas des services Google Play (GPS).

Et en effet, je n’ai pas de compte Google de déclaré sur le smartphone, puisqu’en le faisant, on installe en même temps les fameuses GApps (Google Apps) qui s’installent avec les droits système, et dont le code est privé. À partir de là, vous perdez le contrôle de votre smartphone d’une part (Google a la possibilité de vous identifier et de vous tracer), et d’autre part ces GPS ont un impact sur la consommation de ressources (mémoire, batterie).

Et puis, tant qu’à installer LineageOS, autant en profiter pour se passer de Google et se rapprocher le plus possible d’un idéal où vos données privées le restent, si tant est que cela soit possible avec Android.

Revenons à mon petit problème avec XDA Feed : malgré le message, l’application fonctionnait, mais forcément, il fallait creuser…

J’ai donc posé la question sur le forum XDA, et c’est là que j’ai entendu parler de MicroG… Plusieurs réponses me signifiaient qu’utiliser Android sans les services Google, c’était limiter grandement les possibilités d’Android, et une bonne âme me disait de tester avec microG, une alternative aux fameux GPS.

Alors qu’est-ce que c’est que microG ? Nous allons voir tout ça, comment l’installer sur LineageOS, puisque c’est la ROM que j’utilise (en fait une ROM toute prête existe), et comment le configurer.

MicroG

MicroG est une solution issue du logiciel libre permettant d’accéder aux services Google sans logiciel propriétaire (et dont on ne peut donc pas vérifier ce qu’il fait vraiment) . On peut bien sûr utiliser LineageOS sans les GApps/microG, mais on va devoir se passer de choses comme :

  • géolocation (network localization services), ce qui veut dire que seul votre GPS peut vous localiser.
  • Google Cloud Messaging (GCM), et donc vous ne pouvez recevoir de “push notification” pour les applications utilisant cette fonctionnalité.
  • La Maps API, et donc les applications utilisant Google Maps à travers cette API vont probablement crasher.

Bon, honnêtement, on peut très bien se passer de tout ça, sauf le jour où une application qui nous intéresse vraiment refuse de s’installer ou de fonctionner  car certains services Google lui sont nécessaires. Je me souviens d’une application de footing (je crois que c’était RunKeeper) qui refusait de s’installer sans compte Google… Il peut y en avoir d’autres, et si j’utilise OsmAnd pour mes déplacements, j’en profiterai peut-être pour installer GMaps, qui gère le traffic, ce qui peut se révéler très utile parfois (OsmAnd devrait le proposer un jour, mais cela n’a pas l’air simple).

Mais puisqu’il y a une solution qui permet de pouvoir en bénéficier, sans pour autant mettre en péril nos données privées, le tout avec du logiciel libre (c’est-à-dire dont on peut vérifier le code), pourquoi s’en priver ? Au moins, on sait maintenant qu’une solution existe.

Installation

J’ai donc regardé un peu ce microG, j’ai vu sur le forum XDA un “unofficial installer” avec des avertissements, bref cela n’avait pas l’air d’être une opération très simple ni sans danger… Et puis j’ai fini par tomber sur une page LineageOS for microG, qui propose des ROMs LineageOS avec microG déjà intégré, ce qui rend les choses beaucoup plus faciles (puisque j’utilise déjà LineageOS). Il s’agit ici d’un “fork” non-officiel, car les équipes de LineageOS ne voulaient pas intégrer microG, sans doute pour éviter des ennuis potentiels avec Google…

Ce fork intègre donc microG, ce qui permettra de profiter des services Google sans logiciel privateur, mais pré-installe également F-Droid, le magasin d’application libre. Enfin, des mises à jour de la ROM sont fournies OTA (Other The Air) tous les deux jours (contre toutes les semaines pour LineageOS officiel).

Par chance, mon smartphone était déjà dans la liste des périphériques disponibles. Si ce n’est pas le cas, il suffit d’en faire la demande sur leur forum XDA. Réinstaller toutes mes applications m’embêtait, mais il y a une méthode appelée “dirty installation” qui permet de l’installer sans rien perdre, tous les voyants se mettaient donc au vert, il n’y avait plus qu’à se lancer.

Toutes les instructions sont sur la page de LineageOS for microG, mais en anglais, donc en voilà un résumé :

Il faut d’abord aller sur la page de Download, et récupérer la dernière image pour votre smartphone. Il faut chercher le nom de code (que l’on voit dans les paramètres – À propos du téléphone). Dans mon cas, pour le Motorola 4G LTE, c’était peregrine.

Ensuite, récupérer également le zip de migration sur cette page. Ce zip va simplement aller changer la clef de LineageOS par celle de ce “fork”, ce qui permettra de faire ensuite une simple mise à jour sans rien perdre. Attention, bien vérifier auparavant que votre ROM est plus ancienne que celle que vous voulez installer ! Sinon, attendez pour la prochaine mise à jour.

Après les sauvegardes habituelles en cas de pépin, redémarrer en mode recovery (TWRP 3.x), installer d’abord le zip de migration, puis sans redémarrer installer ensuite la ROM proprement dite. Puis redémarrer (le premier démarrage est assez long, comme d’habitude).

Et voilà pour l’installation, rien de très compliqué, mais il reste des tâches “post-installation” à effectuer.

Post Installation

Ouvrir les paramètres de microG (il y a une deuxième icône “Paramètres” dans votre liste d’applications), puis lancer l’Auto-vérification et vérifier que tout est OK ; il y aura sans doutedes permissions à accorder à microG comme la localisation ou l’accès fichiers. La section UnifiedNlp aura des erreurs, mais à ce stade c’est normal, il faut la configurer.

UnifiedNlp est le fournisseur de localisation réseau (Network Location Provider) de microG, qui forunit les données de localisation sans utiliser le GPS. Alors que le NLP de Google ne peut utiliser que les serveurs de Google, UnifiedNlp obtient la géolocalisation par différents plugins, qui s’interfacent à travers d’autres services.

Il y a par défaut deux plugins d’installés :

  • MozillaNlpBackend, qui utilise le service de localisation de Mozilla (en ligne).
  • NominatimNlpBackend, qui utilise le MapQuest’s Nominatim service (basé sur OpenStreetMap) pour le géocodage (en ligne).

Si vous voulez utiliser ces plugins, aller dans les paramètres microG -> Paramètres UnifiedNlp, puis configurer et valider les deux.

Vous pouvez aussi en utiliser d’autres, comme LocalGsmNlpBackend, qui utilise une base de données hors ligne des antennes GSM pour obtenir la position, ce qui peut être utile pour ne pas consommer de la data sur le réseau), vous pouvez les installer via F-Droid, et les valider de la même manière.

Une fois ceci fait, redémarrer et vérifier que cette fois UnifiedNlp passe le test d’Auto-vérification. Voilà, vous devez maintenant voir vos services Google validés (le dernier, SafetyNet, est à activer si vous le souhaitez).

         

Google Cloud Messaging

Google Could Messaging service est utilisé par de nombreuses applications, un système de Google qui permet d’envoyer des notifications au smartphone. Ce service est implémenté dans microG, mais comme tout le monde ne l’utilise pas, il est dévalidé par défaut. Si vous en avez besoin, activer “Enregistrement du terminal auprès de Google” et “Google Cloud Messaging”.

Comme vous pouvez le voir sur la dernière image ci-dessus, il existe une application qui permet de tester le “Push notification”. XDA Feed l’utilise aussi, et une appli comme “Visit Rennes” aussi…

F-Droid

Comme dit plus haut, F-Droid est déjà installé avec cette ROM LineageOS. On peut ajouter le dépot de microG à F-Droid, pour recevoir facilement les mises à jour. de microG. L’adresse du dépot est : https://microg.org/fdroid/repo. Voir cette page pour plus d’infos.

Ce n’est pas tout : comme F-Droid est pré-installé avec la F-Droid Privileged Extension, on peut aller dans les paramètres de F-Droid et activer la mise à jour automatique des applications !

Plus d’explications

Vous pouvez lire cette page (en anglais), qui explique plutôt bien les choses (même si c’est compliqué).

Et maintenant

Reste à voir maintenant comment la ROM se comporte avec ces nouveaux services d’installés. Je mettrai cet article à jour s’il se passe des choses inattendues, ou si je reviens à une ROM LineageOS classique. Pour l’instant, j’ai pu installer GMaps avec succès, et sans créer un compte Google sur le smartphone.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *