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
- PixelOS
- GrapheneOS
- Conclusion, cas d’usages et « threat model » (modèle de menace)
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).
- Possibilité d’utiliser un launcher alternatif : j’ai fini sur Lawnchair après en avoir testé plusieurs
- Possibilité de changer le fond d’écran : Muzei (https://f-droid.org/fr/packages/net.nurik.roman.muzei/) / Walman (https://apt.izzysoft.de/fdroid/index/apk/com.colorata.wallman)
- 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).
- Possibilité d’utiliser un clavier alternatif : Home:FlorisBoard (https://f-droid.org/fr/packages/dev.patrickgold.florisboard/) est pas mal, il inclut une fonction « swipe » mais qui n’est pas aussi précise
Applications et « stores »
- Le « store » par défaut « Apps » contient le minimum vital.
- Pour le compléter, je suis passé par l’application Droid-Ify (https://droidify.eu.org/ ou https://github.com/Droid-ify/client) dans lequel j’ai activé les dépôts F-droid et Home:IzzyOnDroid
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 :
- Nextcloud + DAVx⁵
- https://www.etesync.com/
- https://www.chatons.org/
- NAS Synology + leurs applications (mais uniquement accessibles sur Google Play Store…)
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 :
- Whatsapp (pour les notifications « push » et pour transfèrer l’historique des messages)
- Il semble que des transferts « locaux » soient possibles
- Bose connect (gestion casque bluetooth Bose qui indique l’erreur « Services Google Play manquants »)
- Le casque peut fonctionner en bluetooth sans l’application
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 promeneur . Évalué à 2.
Le problème avec les rom alternatives : les applications de paiements, d'achat de tickets.
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 Elfir3 . Évalué à 2.
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 mahikeulbody . Évalué à 2.
Ç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 nathanaelh . Évalué à 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 Franck Routier (Mastodon) . Évalué à 5.
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 potate . Évalué à 4. Dernière modification le 18 mars 2024 à 13:32.
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" :
Edit, pour référence : https://support.mozilla.org/fr/kb/utilisation-adjust-dans-firefox
[^] # Re: Vie privée et pihole
Posté par guildem . Évalué à 1.
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 romu . Évalué à 1.
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 Franck Routier (Mastodon) . Évalué à 2.
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 romu . Évalué à 1.
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 laudantium . Évalué à 1.
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 Franck Routier (Mastodon) . Évalué à 1.
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 romu . Évalué à 3.
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.
[^] # Re: Vie privée et pihole
Posté par Benoît Sibaud (site web personnel) . Évalué à 7.
DNS est surtout en UDP, mais aussi en TCP si la taille des paquets (réponse notamment) dépasse les 512 octets.
# Clavier libre et complétion
Posté par guildem . Évalué à 4.
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").
[^] # Re: Clavier libre et complétion
Posté par 42nodid . Évalué à 3.
J'utilise OpenBoard depuis F-droid. Je me sers peu de l'auto-complétion, mais l'exemple que tu donnes (Javais -> J'avais) est proposée
[^] # Re: Clavier libre et complétion
Posté par Tifriis . Évalué à 4.
Pour info, openboard n'est plus très maintenu de mémoire. Il y a le projet heliboard qui a repris le code (et peut implémenter le swipe) : https://github.com/Helium314/HeliBoard
[^] # Re: Clavier libre et complétion
Posté par guildem . Évalué à 1.
Merci je vais regarder ce clavier et son fork !
[^] # Re: Clavier libre et complétion
Posté par Goffi (site web personnel, Mastodon) . Évalué à 3.
À noter qu'il est possible de désactiver la permission internet pour tout clavier, ça limite les risques avec les claviers proprios (par contre, il faut éviter d'avoir le GSF dans ce cas, car ça peut sans doute être utilisé pour contourner la permission internet). Il faut en général autoriser internet au premier lancement, et désactiver une fois que ça fonctionne.
[^] # Re: Clavier libre et complétion
Posté par guildem . Évalué à 1.
Merci pour ton message. Je préférerais utiliser un clavier libre dans l'absolu, mais je me rabattrai sur cette solution si je ne trouve pas mieux.
[^] # Re: Clavier libre et complétion
Posté par Xanatos . Évalué à 2.
J'essaie FlorisBoard en ce moment.
Développement actif, certaines fonctionnalités en beta
# Bose
Posté par Psychofox (Mastodon) . Évalué à 3.
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 thms . Évalué à 2.
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 Marc (site web personnel) . Évalué à 2.
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 loremipsum103 . Évalué à 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 ocroquette . Évalué à 2. 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.
[^] # Re: Miracast et Chromecast
Posté par Goffi (site web personnel, Mastodon) . Évalué à 5.
Non : https://github.com/GrapheneOS/os-issue-tracker/issues/2616
ça peut marcher en installant "Google Home", mais je crois que ça a des permissions déraisonnables, donc non recommandé.
Le Pixel 8 peut utiliser un cable USB-C <=> HDMI, mais pas les modèles précédents.
Je ne sais pas si des applications peuvent faire du streaming (VLC peut être ?), mais je doute qu'il y ait la possibilité de faire tout l'écran.
Il y a l'option scrcpy qui peut être utilisée aussi en contournement dans certains cas.
[^] # Re: Miracast et Chromecast
Posté par ocroquette . Évalué à 1.
Merci! C’est bon à savoir que le Pixel 8 permet une solution cablée, pour le prochain renouvellement.
# informations supplémentaires + astuces
Posté par Goffi (site web personnel, Mastodon) . Évalué à 6.
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 Xanatos . Évalué à 2. 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:
Lance 3 dés recule de 4 cases bifurque au milieu.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.