microG : une alternative open-source à Google Play Services

View Categories

microG : une alternative open-source à Google Play Services

Qu’est-ce que microG ?

microG est une réimplémentation open-source des applications et bibliothèques propriétaires de Google sur Android, en particulier Google Play Services.
Elle permet aux appareils Android — surtout ceux sous ROM personnalisée ou systèmes dégooglisés — d’accéder à certaines APIs et fonctionnalités Google sans dépendre des applications ou services officiels.

Pourquoi utiliser microG ?

Google Play Services est un framework fermé qui fournit des services clés tels que :

  • Notifications push (Firebase Cloud Messaging)
  • Services de localisation
  • Authentification des comptes
  • APIs Google Maps
  • Contrôles SafetyNet / Play Integrity

Mais il présente plusieurs inconvénients :

  • Propriétaire et non open-source
  • Non inclus par défaut sur les ROMs personnalisées (comme LineageOS)
  • Collecte souvent des données utilisateur et communique avec les serveurs Google

microG propose une alternative légère, open-source et respectueuse de la vie privée qui :

  • Réduit la quantité de données envoyées à Google
  • Permet l’usage d’applications dépendantes de Google sur ROM personnalisées
  • Offre plus de contrôle sur les services et le système

Comment fonctionne microG ?

microG imite les fonctionnalités essentielles de Google Play Services et du Google Services Framework (GSF) en :

  • Implémentant des stubs d’API et des couches de compatibilité
  • Fournissant des services substituts (localisation, messagerie…)
  • Falsifiant un environnement « certifié Google » quand nécessaire

Certaines applications nécessitent des ajustements supplémentaires, notamment celles qui vérifient la signature officielle Google ou la certification de l’appareil.

Composants clés de microG

MicroG est essentiellement une réimplémentation modulaire des services propriétaires Google Play. Chaque partie correspond à un rôle spécifique normalement rempli par Google Play Services. Voici un aperçu détaillé :

1. GmsCore (microG Services Core)

Ce que c’est : Le cœur de microG.
Rôle : Remplace le cœur de Google Play Services (com.google.android.gms).
Ce que ça fait :

  • Implémente des API Google Play courantes pour que les applications continuent de fonctionner :
    • Firebase Cloud Messaging (FCM) : notifications push pour Signal, WhatsApp, Telegram, etc.
    • Google Location Services : remplacement du Fused Location Provider, basé sur UnifiedNlp.
    • APIs Maps (basique) : certaines applis utilisant Google Maps peuvent encore afficher des cartes (via Mapbox ou OpenStreetMap, avec des wrappers de compatibilité).
    • APIs d’authentification Google : permet la connexion via un compte Google (si activé).
    • Autres APIs : Checkin, SafetyNet (partiel), Play Games (très limité).
      Pourquoi c’est important : Sans GmsCore, les applis dépendantes de Google Play Services ne démarrent même pas ou plantent.

2. Service Framework Proxy (GSF Proxy)

Ce que c’est : Un pont qui imite des parties de Google Services Framework (GSF).
Rôle : Aide les applis à « croire » qu’elles communiquent avec l’infrastructure Google.
Ce que ça fait :

  • Fournit le check-in de l’appareil (les applis s’enregistrent auprès des serveurs Google pour push, synchronisation, etc.).
  • Gère les identifiants d’enregistrement d’applis, utilisés par beaucoup pour les notifications push.
  • Traite la synchronisation et l’approvisionnement des comptes.
    Pourquoi c’est important : Beaucoup d’applis ne fonctionnent pas si elles ne peuvent pas s’enregistrer auprès de ce qu’elles pensent être « GSF ».

3. FakeStore

Ce que c’est : Une appli factice qui prétend être le Google Play Store.
Rôle : Satisfait les applis qui vérifient la présence du Play Store.
Ce que ça fait :

  • Fournit une réponse factice quand les applis interrogent le paquet com.android.vending.
  • Évite les plantages ou erreurs « Google Play Store introuvable ».
    Ce que ça ne fait pas :
  • Ne fournit pas de téléchargements, mises à jour ou facturation d’applis.
  • Pour installer des applis, il faut un vrai store (Aurora Store, F-Droid, Droid-ify, etc.).

4. DroidGuard Helper (optionnel)

Ce que c’est : Une tentative d’imiter ou de contourner SafetyNet (contrôle d’intégrité et de sécurité des applis Google).
Rôle : Permet aux applis qui imposent SafetyNet (banques, Netflix, Pokémon GO) de fonctionner sans Google Play.
Limitations :

  • SafetyNet est remplacé par l’API Play Integrity, plus difficile à imiter.
  • DroidGuard est en grande partie obsolète et ne fonctionne que pour les applis plus anciennes dépendantes de SafetyNet.
    Pourquoi c’est important : Sans ça, certaines applis peuvent refuser de tourner ou masquer des fonctionnalités.

5. UnifiedNlp

Ce que c’est : Un cadre de services de localisation modulaire.
Rôle : Remplace le fournisseur de localisation réseau de Google.
Ce que ça fait :

  • Utilise les points d’accès Wi-Fi, antennes cellulaires et éventuellement balises Bluetooth pour fournir une localisation approximative rapide.
  • Supporte des backends modulaires (Positon, BeaconDB, etc.).
  • Fonctionne avec le GPS pour offrir une localisation fusionnée.
    Pourquoi c’est important : Beaucoup d’applis dépendent de « Google Location Services ». UnifiedNlp garantit qu’elles reçoivent quand même une position sans appeler Google.

6. Connexion au compte Google

Ce que c’est : Une réimplémentation des APIs d’authentification Google.
Rôle : Permet aux applis de se connecter à un compte Google si absolument nécessaire.
Ce que ça fait :

  • Fournit des jetons OAuth2 pour les applis qui exigent une connexion Google.
  • Synchronise les informations de compte pour des services comme YouTube ou Gmail (si activé).
    Vie privée :
  • Optionnel : il n’est pas obligatoire de se connecter avec un compte Google.
  • Beaucoup d’utilisateurs microG évitent totalement et utilisent des comptes anonymes ou alternatifs.

Signature Spoofing : clé du fonctionnement de microG

Qu’est-ce que la signature spoofing ?

C’est une modification du modèle de sécurité Android qui permet à une application de se faire passer pour une autre app signée différemment, notamment pour usurper la signature des apps système ou Google.

Pourquoi est-ce nécessaire ?

Les applications vérifient la signature numérique des autres apps pour s’assurer qu’elles sont bien officielles (notamment Google Play Services). microG n’est pas signé par Google, donc les apps refuseraient son usage.

Pour contourner cela :

  • Le système autorise microG à falsifier la signature Google
  • Les applications acceptent microG comme si c’était Google Play Services officiel

Sans cette fonction :

  • Les apps détecteraient l’absence ou la non-autorisation de Google Play Services
  • microG ne pourrait pas gérer notifications, authentification, etc.
  • De nombreuses applications Google-dépendantes plantent ou refusent de fonctionner

Fonctionnement technique

Normalement, Android impose un contrôle strict des signatures. Avec spoofing activé, un paquet comme com.google.android.gms peut déclarer une fausse identité signée par Google, que le système accepte.

Sécurité et limites

  • La signature spoofing affaiblit le modèle de confiance basé sur les signatures
  • Seule une app (microG) est autorisée à usurper la signature, avec liste blanche contrôlable par l’utilisateur
  • Inacceptable dans un contexte sécurisé (banque, entreprise), mais nécessaire pour un Android dégooglisé et respectueux de la vie privée

Limites de microG

  • Pas de Google Play Store : alternatives comme Aurora Store, F-Droid, ou installation manuelle d’APK
  • SafetyNet / Play Integrity : prise en charge limitée, certains services (banques, streaming) peuvent ne pas fonctionner
  • Compatibilité non parfaite : certaines apps fortement liées aux services Google peuvent ne pas fonctionner correctement
  • Configuration complexe : nécessite des connaissances techniques et une configuration manuelle plus poussée

Résumé comparatif

FonctionnalitéGoogle Play ServicesmicroG
Open SourceNonOui
Respect vie privéeFaibleÉlevé (contrôle utilisateur)
Notifications PushOui (Firebase)Oui (via FCM, optionnel)
APIs MapsCompletPartiel
Services de localisationGoogle (précis)Décentralisé (UnifiedNlp)
SafetyNet / Play IntegrityCompletLimité / non supporté
Compatibilité appsUniverselleÉlevée, mais pas garantie
Connexion compte GoogleNativeSupportée (optionnelle)
iodé white logo 367x134