Retour d’expérience sur l’utilisation de GrapheneOS (ROM Android libre)

Posté par  . Édité par Ysabeau 🧶 🧦, palm123 et Arkem. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
23
18
mar.
2024
Android

Suite à la dépêche Comparatif : GrapheneOS vs LineageOS, je souhaitais faire part d’un retour d’expérience sur l’utilisation de GrapheneOS sur un téléphone Android Pixel 7a. Ce commentaire est repris ici sous forme de dépêche.

Sommaire

Le point de départ est celui d’un utilisateur sensible aux logiciels libres mais qui utilise un téléphone Android Samsung « comme tout le monde », avec :

  • Utilisation du Google Play Store, avec un compte Google personnel
  • Utilisation d’un compte Google professionnel
  • Utilisation du Samsung store, avec un compte Samsung
  • Utilisation d’une montre connectée Samsung avec appli Samsung health

L’utilisateur a déjà expérimenté par le passé les solutions suivantes :

  • UbuntuOS (abandonné rapidement par manque d’applications)
  • LineageOS, avec Micro-G + « signature spoofing » pour permettre l’installation des applications bancaires

PixelOS

Installation

La mise en œuvre du système « stock » installé sur le smartphone est très facile et simple d’utilisation. Les téléphones Pixel proposent des fonctionnalités « avancées » spécifiques qui sont proposées au démarrage, avec à chaque fois le jeu de « voulez-vous activer cette fonctionnalité ? Si oui, acceptez le contrôle des données suivantes… »
On est dans un environnement full google, donc avec quelques habitudes à changer me concernant venant d’un environnement Samsung (la surcouche de l’OS est différente).

Interface

Launcher Pixel avec une barre de recherche Google qui ne peut pas être enlevée (The search bar cannot be removed from the bottom of the home screen, it's part of the Pixel Launcher https://support.google.com/pixelphone/thread/133065648/is-there-any-way-to-remove-the-google-search-bar-from-the-home-screen?hl=en), sinon tout est fluide / "beau"

Fonctionnalités spécifiques/avancées de PixelOS

  • Déblocage du téléphone par reconnaissance faciale (probablement un cauchemar en termes de privacy, mais je pourrais comprendre pourquoi une personne lambda souhaiterait activer ce service)
  • « Double tap » au dos du téléphone pour lancer une action (dans mon cas : la lampe torche)
    • On peut utiliser Torchie pour une fonctionnalité proche (https://f-droid.org/fr/packages/in.blogspot.anselmbros.torchie/)
    • Les fonctions d’urgence « avancées » fournies par l’application « sécurité personnelle » (https://play.google.com/store/apps/details?id=com.google.android.apps.safetyhub&hl=fr&gl=US)
    • L’application est disponible sur le playstore mais ne fonctionne pas sur GrapheneOS
    • Il existe une fonction d’urgence « de base » dans GrapheneOS (AOSP ?) (appuyer 5x sur power pour lancer un appel d’urgence vers le 112)
    • Dans PixelOS, il y a un conflit de raccourcis entre « appuyer 5x sur power pour lancer un appel d’urgence » et l’option « appuyer 2x pour lancer l’appareil photo » (quand les deux sont activées : l’appareil photo prend le dessus)
  • Paiements NFC (non accessibles sur GrapheneOS)
    • Certaines applications de paiement autres que Google Wallet peuvent fonctionner (par ex. Paylib)
  • Fonctionnalité « bien être numérique », notamment le fait de passer l’écran en noir & blanc à partir d’une certaine heure pour tenter de limiter le temps devant les écrans. L’application existe dans le Play Store (https://play.google.com/store/apps/details?id=com.google.android.apps.wellbeing&hl=fr&gl=US) mais impossible à retrouver depuis le client Play Store sur le téléphone.
    • Il existe probablement des alternatives

GrapheneOS

Installation

Procédure d’installation web très simple et rassurante. C’est la première fois que je me verrai recommander ce type d’install à un utilisateur non technique (alors que la procédure d’install de LineageOS - à l’époque ou j’ai essayé - est complexe et obscure, avec le risque de se planter à plusieurs étapes).

Interface

  • Le bureau par défaut est très minimaliste et pas très accueillant (je sais que cela peut paraître peu important, mais le fond noir + icônes en noir & blanc peut rebuter / n’est pas aussi accueillant que le système de base).
  • Le clavier par défaut m’a dérangé (après des années à utiliser le clavier Gboard), surtout pour l’écriture « swipe » (que je pratique souvent quand j’écris un message à une main).

Applications et « stores »

Pour le Store Google, il est possible d’installer plusieurs « briques » de l’éco-système :

  • Google Services Framework (GSF), dont dépendent :
    • Google Play services + Google Play Store (interdépendants) On peut donc choisir : rien du tout, GSF pour les applis qui en dépendent, ou les trois.

Gestion des autorisations

  • Les possibilités sont très fournies = positif (permet de limiter les accès réseau, les accès stockage)
  • Les possibilités sont très fournies = complexe à gérer : il faut se poser des questions / passer du temps à configurer les choses.
    • Exemple : la synchronisation des contacts Google ne se fait pas sans la permission « Contacts » dans l’appli « Google Services Framework ».

Séparation des usages

Il existe deux approches possibles de séparation des usages :

  • Utilisation d’un « user profile » : il s’agit d’un profil complètement distinct. On peut passer de l’un à l’autre assez facilement. Les deux profils ne peuvent pas se parler, sauf via les notifications croisées (https://www.youtube.com/watch?v=WjrANjvrSzw)
  • Utilisation d’un « work profile » : ici on utilise un seul profil, mais à l’intérieur duquel on vient activer la fonctionnalité « work profile » d’Android pour séparer les usages (via une application tierce telle que Shelter, https://www.youtube.com/watch?v=20C0FD7mGDY pour une explication détaillée)

Détail des approches suivies

1ʳᵉ approche

  • Profil « owner » avec Shelter
    • Profil « Personnel » = pas de services Google
    • Profil « Professionnel » = Services Google avec compte personnel
  • 2ᵉ Profil « Travail » = Services Google avec compte professionnel

Ce qui bloque : je voulais utiliser la fonctionnalité « work profile » d’Android avec Shelter pour isoler mon compte Google personnel. Hors c’est ce compte qui jusqu’ici synchronise les contacts. Les applications par défaut de GrapheneOS ne gèrent pas cette synchro (autrement que via import/export manuel, ou alors je n’ai pas trouvé comment). Si on veut quelque chose qui s’intègre tout seul il faut passer par les applications Google de Téléphone/Contacts/Calendrier. Hors ces applications ne peuvent pas devenir « applications par défaut » (pour remplacer celles existantes de GrapheneOS) dans le « work profile », c’est le profil personnel qui gère cette configuration.

2ᵉ approche (test en cours)

  • Profil « owner » (unique, sans Shelter) = Services Google avec compte personnel
  • 2ᵉ Profil « Travail » (unique, sans Shelter) = Services Google avec compte professionnel

Ce qui bloque : j’utilise le téléphone à la fois pour le pro & perso, sauf que le fait d’avoir deux profils implique de jongler systématiquement entre les deux profils. Trop compliqué au quotidien.

3ᵉ approche (d’ici une semaine)

  • Profil « owner » avec Shelter
    • Profil « standard » = Services Google avec compte personnel
    • Profil « work » = Services Google avec compte personnel

Détails : utilisation sans les services Google

Synchronisation des contacts & agendas

La première problématique c’est la synchro des contacts et des agendas. Pour se passer de Google sur ce point, il faut mettre en place au préalable un service de partage de contact / agenda :

Bref c’est un projet en tant que tel, pas forcément à la portée de tous

Quid des applications non libres hébergées sur le play store

À ce stade, pour accéder à d’éventuelles applications uniquement présentes sur le Play Store, il est possible de :

  • passer par l’application Aurora
  • passer par apkmirror pour les télécharger une à une

Cependant, de nombreuses applications du Play Store requièrent l’installation du Google Services Framework (« GSF ») pour fonctionner.

Me concernant, j’ai la liste suivante d’applications que j’ai pu récupérer par ce biais (et qui fonctionnent sans GSF) :

  • Appli Banque (SG)
  • Paiement NFC via Paylib (pas encore testé « en vrai » mais l’appli s’installe sans broncher)
  • Deezer (musique)
  • Somfy (alarme)
  • NetAtmo (thermostat connecté)
  • Doctolib (Santé)
  • Appli mutuelle (Alan)
  • Freebox connect (utilitaire freebox)
  • Wifiman (utilitaire réseau)

Certaines applications nécessitent le GSF, c’est le cas notamment de :

Détails : Utilisation avec les services Google

Dans un profil séparé

J’ai mis du temps à comprendre / trouver comment activer la fonctionnalité de profils multiples (alors que c’est simple) : Paramètres > Système > Utilisateurs multiples > Autoriser plusieurs utilisateurs (https://www.youtube.com/watch?v=SZ0PKtiXTSs)

Le profil séparé à l’avantage d’être comme un « deuxième téléphone ». C’est aussi un inconvénient pour les personnes qui ne sont pas prêtes à faire cet « effort » (passer de l’un à l’autre), même si les notifications « cross profile » aident sur ce point.
Il faut reproduire sur chacun des profils toutes les « custo » faites (changement de launcher, de clavier, configurations diverses, etc).

Via la fonction « work profile » d’Android

La fonction work profile fournit une séparation moins forte, mais c’est aussi plus « pratique » au quotidien car toutes les applications (et les comptes) sont dans un seul profil. J’ai testé via l’application Shelter.

Avantages :

  • Tout est accessible dans le même profil
  • Dans le tiroir d’application, on retrouve deux « onglets » séparant les applications « perso » et « pro ».

Inconvénients :

  • Comme pour le profil séparé, il y a une « double maintenance »
    • Ex: en cas d’utilisation de deux profils Google Play (profil perso + pro), il faut faire les mises à jour « des deux côtés »
  • Il faut bien choisir dans quel contexte on souhaite installer chaque application
  • Je n’ai pas trouvé comment faire pour 1. Synchroniser mon compte Google perso dans le « work profile » de Shelter et 2. faire remonter ces informations dans les applications « contacts » et « téléphone » par défaut de GrapheneOS. C’est le profil « Personnel » qui va dicter quelles applications par défaut sont utilisées.

Conclusion, cas d’usages et « threat model » (modèle de menace)

J’ai passé beaucoup plus de temps que prévu à comprendre GrapheneOS, tester différentes solutions et configurer les options / trouver des alternatives. Je suis bien conscient que plusieurs « problèmes » remontés pourraient tout simplement être résolus si j’acceptais de faire les choses différemment. Cela me pousse à m’interroger sur le compromis à choisir entre sécurité / respect de la vie privée / facilité d’utilisation ? Cette question dépend bien sur du modèle de menace (« threat model ») de chacun.

Sécurité

GrapheneOS répondrait parfaitement à des contraintes de sécurité « forte » pour des personnes étant journaliste / activiste / lanceur d’alerte / député. Dans ce cas d’usage, le coût de la sécurité est accepté.

Vie privée

GrapheneOS apporte un choix indéniable permettant à chacun de trouver le meilleur usage possible.

Facilité d’utilisation

Dans mon cas d’usage, je trouve que la fonction de profil séparé apporte trop de friction au quotidien, et je suis prêt à tout rassembler au sein du même profil. L’utilisation de deux téléphones différents (un perso / un pro) pourrait être une alternative. De la même manière, je n’ai pas encore passé le pas de me séparer de mon compte Google (pour la synchro des contacts / agendas), donc pour le moment je continue d’utiliser le Play Store. À terme, j’essaierai de ne plus en dépendre.

Note : l’impact du matériel (« hardware ») sur la vie privée

  • Un casque Bluetooth Bose nécessite l’app « Bose Connect » qui dépend de GSF/Play Store
  • Un casque Bluetooth Samsung Buds2 Pro nécessite l’app Samsung qui demande la création d’un compte cloud chez eux
  • L’application Google Wallet me permet de régler mes courses via paiement NFC, mais donne accès par ce biais à un pan entier de données personnelles

À chaque fois la question est : est-ce utile ou pas ? Puis-je facilement m’en passer ?

  • # IDF mobilitées ?

    Posté par  . Évalué à 2 (+2/-0).

    Le problème avec les rom alternatives : les applications de paiements, d'achat de tickets.

    • Apple Pay fonctionne avec un maximum de banques de tous types.
    • Samsung Wallet fonctionne avec peu de banque.
    • G Wallet fonctionne avec très peu de banque, en fait seulement les néo-banques.
    • Paylib fonctionne avec les banques traditionnelles.

    Donc il faut bien choisir sa banque.

    Le problème devient encore plus contraint avec les rom alternatives.

    Si G Wallet fonctionne, ça ne sert pas à grand-chose.

    Je suis content de voir que Paylib s'installe, mais il reste à le tester.

    Il ne faut pas oublier des applications comme "Île-de-France mobilités" qui s'installe mais refuse l'achat des billets, car détectant que le système a été rooté ou que c'est un système autre que la rom originale !

    C'est pourquoi j'ai laissé tomber les rom alternatives.

    Je ne connaissais pas le rom spoofing. Des références ?

    Merci pour les infos.

    • [^] # Re: IDF mobilitées ?

      Posté par  . Évalué à 2 (+1/-1).

      Je ne sais pas pour ces applications, mais en ce qui concerne l'application de ma banque, celle-ci refusait aussi de fonctionner avec un téléphone rooté. Par contre, si on désactivait le root (chose possible sur certaines rom custom), elle fonctionnait.
      Est-ce que quelque chose à changé de ce côté ?

    • [^] # Re: IDF mobilitées ?

      Posté par  . Évalué à 2 (+0/-0).

      G Wallet fonctionne avec très peu de banques, en fait seulement les néo-banques.

      Ça fonctionne aussi avec Boursorama et Fortuneo, qu'on ne classe en général pas dans les neo-banques mais plutôt dans les banques en ligne.

    • [^] # Re: IDF mobilitées ?

      Posté par  . Évalué à 0 (+0/-0).

      Bonjour l'application île de France mobilités fonctionne sur la ROM /e/ aussi appelée MURENA. En l'occurrence j'ai un faire Phone 3 et je l'utilise et ça marche (achat de ticket et validation via NFC)

  • # Vie privée et pihole

    Posté par  (Mastodon) . Évalué à 5 (+4/-0).

    Concernant le respect de la vie privée et le traçage systématique par les GAFAM (entre autres !), j'ai égelement mis en place un filtrage dns via pihole:

    • installation d'un pihole sur un serveur, et activation de listes les plus exhaustives possible

    • dans les paramètres du téléphone : Réseau et internet / DNS privé / Nom d'hôte du fournisseur de DNS privé

    Globalement, cela filtre 18% des requêtes depuis mon téléphone, avec un top des domaines suivants:
    - adjust.com, adjust.net.in, adjust.world, crashlytics.com, sentry.io, telemetry.mozilla.org, gva.et-gv.fr, segment.com

    • [^] # Re: Vie privée et pihole

      Posté par  . Évalué à 4 (+3/-0). Dernière modification le 18 mars 2024 à 13:32.

      telemetry.mozilla.org

      J'imagine que tu utilises Firefox pour Android.

      Je viens d'aller faire un tour dans "Paramètres > Collecte de données", il y a notamment une option désactivable "données marketing" :

      Partage des données d'utilisation de base avec Adjust, notre fournisseur de marketing mobile.

      Edit, pour référence : https://support.mozilla.org/fr/kb/utilisation-adjust-dans-firefox

    • [^] # Re: Vie privée et pihole

      Posté par  . Évalué à 1 (+0/-0).

      Enlever crashlytics et sentry est commun pour protéger des données perso, mais ça peut être utile pour le debug quand on bosse dans la conception d'apps mobiles, faut pas oublier de mettre les smartphones de test sur un autre wifi séparé ou désactiver PiHole dessus.

    • [^] # Re: Vie privée et pihole

      Posté par  . Évalué à 1 (+0/-0).

      Ton expérience m'intéresse, car j'ai aussi un pi-hole à la maison.

      Tu arrives à en faire ton serveur DNS sur réseau cellulaire ou quand tu es connecté sur un LAN qui n'est pas le tien ?

      Perso, je n'y suis jamais arrivé, si toi tu y arrives, je veux bien avoir des infos sur ton setup.

      Merci.

      • [^] # Re: Vie privée et pihole

        Posté par  (Mastodon) . Évalué à 2 (+1/-0).

        Oui, mon dns pihole est toujours utilisé… et ma seule config est d'avoir mis le nom d'hôte de mon pihole dans "Réseau et internet / DNS privé / Nom d'hôte du fournisseur DNS privé".

        A partir de là, toutes mes requêtes DNS passent par mon serveur… Tu as un autre comportement ?

        • [^] # Re: Vie privée et pihole

          Posté par  . Évalué à 1 (+0/-0).

          Je ne suis pas sûr qu’on parle de la même chose.

          J’ai le pi-hole sur mon Lan, la freebox gère la config dns des clients, donc ça marche bien.

          Mais je voudrais pouvoir me servir du pi-hole quand je suis en 4g ou sur un autre lan que le mien.

          De mémoire, j’avais essayé d’ouvrir le port 53 sur ma freebox pour renvoyer le trafic sur le pi-hole. Et je mettais alors l’adresse IP de ma freebox comme serveur DNS, mais j’ai jamais réussi à avoir un truc fonctionnel.

          • [^] # Re: Vie privée et pihole

            Posté par  . Évalué à 1 (+1/-0).

            Peut-être que vous cherchez plutôt ça ?

            https://docs.pi-hole.net/guides/vpn/wireguard/overview/

          • [^] # Re: Vie privée et pihole

            Posté par  (Mastodon) . Évalué à 1 (+0/-0).

            Ah d'accord. Je précise : en effet, mon pihole est sur un serveur chez OVH (un serveur Kimsufi avec un tas de services sous Incus (ex lxd)).

            Et il est accessible en permanence d'où que je sois par une IP publique…

            • [^] # Re: Vie privée et pihole

              Posté par  . Évalué à 3 (+2/-0).

              Bon en fait, j'ai trouvé tout seul la solution à ce souci sur lequel je me casse les dents depuis 2 ans (pas à temps plein heureusement), alors qu'en 2 mns de recherche, j'ai eu la solution, stupido que je suis !!

              DNS est sur UDP, pas TCP. Donc en ouvrant le port UDP/53 et en dirigeant le trafic vers mon pi-hole (chez moi un conteneur Docker hébergé sur mon Synology), ça fonctionne, tout du moins sur un LAN externe au mien.

              Faut que je valide en cellulaire maintenant.

  • # Clavier libre et complétion

    Posté par  . Évalué à 4 (+3/-0).

    Merci pour ce retour d'expérience, et pour le lien vers un clavier que je ne connaissais pas. Malheureusement il ne semble pas proposer de complétion.

    Avez-vous des idées de claviers installés sur Fdroid (de préférence) avec cette option ? Pour le moment j'utilise AnySoftKeyboard, mais la complétion est assez bancale, et surtout ne gère pas certaines choses simples comme l'apostrophe (si on tape "javais", il ne sait pas remplacer, ou même juste proposer "j'avais").

  • # Bose

    Posté par  (Mastodon) . Évalué à 3 (+0/-0).

    L'application Bose connect est totalement facultative pour les appareils Bose.

    Elle ne sert qu'à faire des mises à jours de firmware et des réglages optionnels comme la langue de l'UI, le comportement du bouton de l'assistant vocal (que tu n'utilises de toute façon pas si tu tiens à ta vie privée) et l'equalizer.

  • # Nextcloud

    Posté par  . Évalué à 2 (+2/-0).

    J'utilise grapheneOS au quotidien sur mon pixel5 sans soucis mais ma liste d'applications est très réduite.

    Pour l'aspect cloud, j'ai mis en place un nextcloud via yunohost. Bien sûr il y a un investissement minimum en terme de temps et de connaissance mais ça se fait plutôt facilement.

  • # Obtainium

    Posté par  (site web personnel) . Évalué à 2 (+1/-0).

    Pour installer mes applis, j'utilise Obtainium, qui permet d'aller récup les apk produits et signés par les auteurs originaux.

    • [^] # Re: Obtainium

      Posté par  . Évalué à 0 (+0/-0).

      Bonjour Marc,
      Belle découverte qu'Obtainium.
      Mais comment faites-vous pour des application qui n'ont pas de Github ?
      Vous êtes obligés d'avoir le Google Play en // ?
      D'ailleurs qui fait référence en terme de mise à jour quand ces 2 applications (Obtainium & Google Play) sont installées sur le smartphone.
      J'ai tenté d'installer via Obtainium l'application AnySoftKeyboard mais impossible (version installée via Google Play 1.11.177, version trouvée sur Github 1.11.r1). Message indiqué "Conflict [AnySoftKeyboard]"

  • # Miracast et Chromecast

    Posté par  . Évalué à 2 (+1/-0). Dernière modification le 19 mars 2024 à 20:21.

    Question: est-ce que Miracast et Chromecast marchent sur GrapheneOS? Ce n’est pas le cas sur CalyxOS, et c’est parfois gênant.

  • # informations supplémentaires + astuces

    Posté par  (site web personnel, Mastodon) . Évalué à 6 (+4/-0).

    Je me permets de remettre un lien vers mon commentaire sur le journal précédent, puisqu'il donne des précisions utiles ici, ainsi que des astuces notamment pour faciliter la vie avec 2 profils séparés : https://linuxfr.org/users/stinouff/journaux/retour-d-experience-grapheneos-vs-lineageos#comment-1951793

  • # Shelter & Android Work Profile

    Posté par  . Évalué à 2 (+0/-0). Dernière modification le 26 mars 2024 à 13:16.

    Merci pour ce commentaire dépêchisé avec les commentaires qui s'en suivent c'est riche d’informations.

    J'ai un Samsung sous la main que je maltraite, après avoir passé beaucoup (trop) de temps à lire à droite et à gauche sur l'isolation des applications j'avais complètement omis Shelter.
    Là ou ça me dépasse c'est que ça déploie un profil Professionnel sur Android qui n'est pas disponible de base sur ce modèle (Galaxy S23 Android 14) et très bien intégré.
    Via Knox apparemment, j'ai fait un diff rapide et des packages knox sont installés.
    Je m'aperçois que j'avais le package pourtant:

    com.android.managedprovisioning|14|Work Setup|Configuration du profil professionnel|/system/priv-app/ManagedProvisioning/ManagedProvisioning.apk|
    Work Setup/Work profile setup|
    Manages Android user account profiles.|
    The typical use-case is setting up a corporate profile that is controlled by the employer on an employee's personal device, to keep personal and work data separate.|
    https://support.google.com/work/android/answer/6191949?|
    https://developers.google.com/android/work/requirements/work-profile|
    Needed for sandbox's apps like Shelter/Island.|

    Lance 3 dés recule de 4 cases bifurque au milieu.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.