• Li chevron_right

      Systèmes d’exploitation pour téléphones — partie 3 : Android ROBOT FACEGREEN HEART

      Oliver · pubsub.eckmul.net / linuxfr_news · Wednesday, 6 January, 2021 - 20:24 · 41 minutes

    <div><p>Avec cette dépêche sur les systèmes d’exploitation plus ou moins libres pour téléphones, partons à l’exploration de l’écosystème Android, dont la progression a fasciné les libristes il y a une dizaine d’années, car synonyme de <em>victoire du logiciel libre</em>. Puis, nous nous sommes rendu compte que les téléphones Android ne sont pas si libres que ça et que de grandes organisations l’utilisent pour épier notre vie privée.</p> <p>Qu’est‐ce qui reste de libre ? En quels systèmes Android pouvons-nous avoir confiance ? Faisons le tour des nombreuses initiatives et reprenons le contrôle sur notre téléphone. 📱😍</p> <p>Les dépêches :</p> <ol> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-1-premieres-initiatives">Les premières initiatives</a> ☎😍</li> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-2-la-lignee-maemo">La lignée de Maemo à Nemo</a> 🔒</li> <li>Le Libre sur la planète Android 🤖💚   ← <em>Vous êtes ici</em> </li> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-4-firefox-os">La saga Firefox OS</a> 🦊🚀</li> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-5-ubuntu">Ubuntu sur ordi et téléphone</a> 🖥️📲</li> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-6-Nouveaux-projets">D’autres projets récents</a> 🌍</li> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-7-brevets-logiciels">Le frein des brevets logiciels</a> 🤓</li> <li> <a href="//linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-8-Conclusion">Conclusion</a>, synthèse des commentaires 🤷</li> </ol> <p>Tout est regroupé sur deux dépôts Git : <a href="https://framagit.org/OpenWifiPhone/news/blob/master/systemes_d-exploitation_plus_ou_moins_libres_pour_telephones.md">Framagit</a> et <a href="https://openwifiphone.github.io/news/systemes_d-exploitation_plus_ou_moins_libres_pour_telephones.html">GitHub</a>.</p> <p>Une fois publiée, une dépêche <em>LinuxFr.org</em> est rarement modifiée. Néanmoins, les articles sur les dépôts Git peuvent toujours bénéficier de tes suggestions, même plusieurs années après la publication.</p> </div><ul></ul><div><h2 class="sommaire">Sommaire</h2> <ul class="toc"> <li><a href="#toc-le-libre-sur-la-plan%C3%A8te-android">Le Libre sur la planète Android</a></li> <li> <a href="#toc-android-open-source-project">Android Open Source Project</a><ul> <li><a href="#toc-cloud-google-versus-vie-priv%C3%A9e">Cloud Google versus vie privée</a></li> <li><a href="#toc-open-device-chez-sony">Open Device chez Sony</a></li> </ul> </li> <li><a href="#toc-de-cyanogenmod-%C3%A0-lineageos">De CyanogenMod à LineageOS</a></li> <li><a href="#toc-replicant">Replicant</a></li> <li><a href="#toc-fairphone-open">Fairphone Open</a></li> <li><a href="#toc-e">/e/</a></li> <li><a href="#toc-f-droid">F-Droid</a></li> <li><a href="#toc-microg">MicroG</a></li> <li> <a href="#toc-quelques-applications-android-remarquables">Quelques applications Android remarquables</a><ul> <li><a href="#toc-pr%C3%A9server-sa-vie-priv%C3%A9e">Préserver sa vie privée</a></li> <li><a href="#toc-open-data">Open data</a></li> <li><a href="#toc-cloud">Cloud</a></li> <li><a href="#toc-lire-%C3%A9couter-et-regarder-des-vid%C3%A9os">Lire, écouter et regarder des vidéos</a></li> <li><a href="#toc-plans">Plans</a></li> <li><a href="#toc-r%C3%A9seaux-sociaux">Réseaux sociaux</a></li> </ul> </li> <li><a href="#toc-anbox">Anbox</a></li> <li><a href="#toc-halium">Halium</a></li> <li><a href="#toc-treble-et-gsi">Treble et GSI</a></li> <li><a href="#toc-surcouches-graphiques-et-composants-aosp">Surcouches graphiques et composants AOSP</a></li> <li><a href="#toc-conclusion">Conclusion</a></li> <li><a href="#toc-appel-%C3%A0-participation">Appel à participation</a></li> </ul> <h2 id="toc-le-libre-sur-la-planète-android">Le Libre sur la planète Android</h2> <p>On ne présente plus Android, très présent aujourd’hui sur de nombreux appareils mobiles. Historiquement, il ne s’agissait pas d’un projet libre, mais les sources sont publiées après la sortie de chaque version majeure.</p> <h2 id="toc-android-open-source-project">Android Open Source Project</h2> <p>Fin 2008, Google publie le code source du <a href="http://www.androidpit.fr/qu-est-que-aosp%20%C2%AB%E2%80%AFQue%20veut%20dire%20Android%20Open%20Source%20Project%20?%E2%80%AF%C2%BB">Android Open Source Project</a> (AOSP) avec la sortie du HTC Dream. C’est une distribution Linux sans les habituels logiciels <a href="https://www.gnu.org/gnu/linux-and-gnu.fr.html">GNU</a> qui sont remplacés par des équivalents sous des <a href="https://fr.wikipedia.org/wiki/Licence_de_logiciel_permissive">licences permissives</a>.</p> <p><a href="https://commons.wikimedia.org/wiki/File:HTC_Dream_Orange_FR.jpeg"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f622f62652f4854435f447265616d5f4f72616e67655f46522e6a7065672f38303070782d4854435f447265616d5f4f72616e67655f46522e6a706567/800px-HTC_Dream_Orange_FR.jpeg" alt="Le HTC Dream vendu par Orange" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/HTC_Dream_Orange_FR.jpeg/800px-HTC_Dream_Orange_FR.jpeg"></a></p> <p>Les applications fournies avec AOSP sont simplistes. Google préfère mettre ses efforts sur le développement de ses propres applications (GMail, Maps…) que sur les alternatives libres publiées dans AOSP.</p> <h3 id="toc-cloud-google-versus-vie-privée">Cloud Google versus vie privée</h3> <p>En 2011, warwick s’inquiète <a href="//linuxfr.org/users/warwick/journaux/android-quelles-limitations-logicielles-de-libert%C3%A9-individuelle-et-de-respect-de-la-vie-priv%C3%A9e">des libertés individuelles et de la vie privée sur Android</a>. Et même récemment, un post de ProtonMail nous alerte que Google faisait <a href="https://protonmail.com/blog/search-risk-google/">disparaître dans ses résultats de recherche l’existence des alternatives sécurisées à GMail</a> et qui ne sont pas sur le sol des USA. Il y a des spéculations sur le fait que la NSA pourrait être derrière cette décision.</p> <p>En 2018, <a href="//linuxfr.org/users/partagetonsavoir">voxdemonix</a> nous confirme dans sa dépêche <a href="//linuxfr.org/news/utiliser-son-android-de-facon-plus-securisee">Utiliser son Android de façon plus sécurisée</a> que lors de l’initialisation d’un appareil Android, l’application Facebook, préinstallée par le fabricant, va récupérer la liste de contacts et se l’envoyer sur les serveurs de Facebook, même si l’utilisateur n’a jamais utilisé Facebook de toute sa vie.</p> <h3 id="toc-open-device-chez-sony">Open Device chez Sony</h3> <p>Certains fabricants, plus que d’autres, jouent le jeu du logiciel libre avec Android. Par exemple, Sony publie <a href="https://github.com/sonyxperiadev">sur Github</a> les sources d’une version d’AOSP pour <a href="https://developer.sony.com/develop/open-devices/get-started/supported-devices-and-functionality/">un certain nombre de téléphones de la gamme XPeria</a>. C’est notamment sur cette publication que Jolla s’appuie pour déployer son OS sur le Xperia X F5121 et F5122 et d’autres à venir.</p> <p>Il est assez inhabituel de voir directement sur le site du fabricant <a href="https://developer.sony.com/develop/open-devices/guides/access-uart-ports">un tutoriel pour souder un connecteur UART sur un téléphone</a>, les explications sur la procédure de déverrouillage du <em>bootloader</em>, et tous les outils nécessaires pour installer un nouveau système sur le téléphone.</p> <p>Sony <a href="https://developer.sony.com/develop/open-devices/more-information/hero-open-source-developer-2018">récompense même le meilleur contributeur</a> chaque année en lui offrant un téléphone tout neuf.</p> <p>Cependant, si le système AOSP est publié et installable sur les téléphones de Sony, il comporte toujours de nombreux <a href="https://fr.wikipedia.org/wiki/Binary_large_object"><em>blobs</em> binaires</a> pour faire fonctionner le matériel. Il ne s’agit donc pas d’un téléphone complètement libre.</p> <h2 id="toc-de-cyanogenmod-à-lineageos">De CyanogenMod à LineageOS</h2> <p>En 2009, les premières <a href="https://fr.wikipedia.org/wiki/Liste_de_distributions_alternatives_Android">ROM</a> <em>(micrologiciels)</em> alternatives pour le HTC Dream fleurissent. Parmi celles-ci, <strong>Steve Kondik</strong>, un ingénieur logiciel de chez Samsung ayant comme pseudo <strong>Cyanogen</strong> proposait une ROM compilée à partir du code source AOSP (et les pilotes de HTC au format binaire).</p> <p>Cette nouvelle distribution <a><strong>CyanogenMod</strong></a> (<strong>Mod</strong> pour <a href="https://fr.wikipedia.org/wiki/Tuning_PC"><strong>Mod</strong>ding</a>) bénéficie du travail de nombreux enthousiastes et en quelques mois gère déjà plusieurs téléphones. Au fil des années, cette fourche <em>(fork)</em> de AOSP améliore le contrôle de son ordiphone <em>(smartphone)</em>. CyanogenMod continue de prendre en charge les téléphones considérés comme obsolètes par leur fabricant, au grand bonheur des possesseurs des premiers ordiphones profitant de ROM à jour (et débarrassées des inutiles applications du fabricant/opérateur).</p> <p><a href="https://commons.wikimedia.org/wiki/File:Cynogen_7.2_running_on_Motorola_Flipout.JPG"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f392f39362f43796e6f67656e5f372e325f72756e6e696e675f6f6e5f4d6f746f726f6c615f466c69706f75742e4a5047/Cynogen_7.2_running_on_Motorola_Flipout.JPG" alt="Les premiers logos de CyanogenMod présentaient la mascotte Android sur une planche à roulette au centre d’une flèche circulaire" title="Les premiers logos de CyanogenMod présentaient la mascotte Android sur une planche à roulette au centre d’une flèche circulaire | Source : https://upload.wikimedia.org/wikipedia/commons/9/96/Cynogen_7.2_running_on_Motorola_Flipout.JPG"></a></p> <p><a href="https://commons.wikimedia.org/wiki/File:Logo-cyanogen-new.png"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f352f35612f4c6f676f2d6379616e6f67656e2d6e65772e706e67/Logo-cyanogen-new.png" alt="Les premiers logos de CyanogenMod présentaient la mascotte Android sur une planche à roulette au centre d’une flèche circulaire" title="Source : https://upload.wikimedia.org/wikipedia/commons/5/5a/Logo-cyanogen-new.png"></a></p> <p>En 2013, Steve Kondik est séduit par l’idée de vendre la notoriété du nom Cyanogen à un fonds d’investissement afin de commercialiser des ROM sur mesure à des fabricants d’appareils Android. Sept millions de dollars sont levés et même Microsoft y investit par la suite. Le nouveau fabricant OnePlus achète la ROM pour son premier téléphone, le <a href="https://fr.wikipedia.org/wiki/OnePlus_One">OnePlus One</a>, c’est un grand succès.</p> <p><a href="https://commons.wikimedia.org/wiki/File:Cyanogen_logo_%282015%29.svg"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f652f65392f4379616e6f67656e5f496e632e5f6c6f676f5f253238323031342d323031352532392e737667/Cyanogen_Inc._logo_%282014-2015%29.svg" alt="Premier logo de Cyanogen Inc." title="Premier logo de Cyanogen Inc. | Source : https://upload.wikimedia.org/wikipedia/commons/e/e9/Cyanogen_Inc._logo_%282014-2015%29.svg"></a></p> <p><a href="https://commons.wikimedia.org/wiki/File:Cyanogen_Inc._logo_%282014-2015%29.svg"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f382f38322f4379616e6f67656e5f6c6f676f5f253238323031352532392e737667/Cyanogen_logo_%282015%29.svg" alt="Second logo de Cyanogen Inc." title="Second logo de Cyanogen Inc. | Source : https://upload.wikimedia.org/wikipedia/commons/8/82/Cyanogen_logo_%282015%29.svg"></a></p> <p>En revanche, Cyanogen Inc. peine à convaincre les fabricants à acheter ses ROM (il faut dire que l’entreprise n’a pas choyé son client OnePlus). Côté communauté, de nombreux contributeurs sont déçus, car la licence la plus utilisée est la <a href="https://fr.wikipedia.org/wiki/Licence_Apache">licence Apache</a> qui permet aux clients de Cyanogen Inc. de réutiliser les ressources sans que les utilisateurs finaux puissent obtenir le code source.</p> <p>Finalement, le 23 décembre 2016, Cyanogen Inc. prévient de la <a href="http://web.archive.org/web/20161225145039/https://cyngn.com/blog/cyanogen-services-shutting-down">fermeture imminente des serveurs de construction <em>(build)</em></a> qui sont nécessaires à la communauté pour continuer de coder/tester. La communauté n’a d’autre choix que de créer une bifurcation <em>(fork)</em> qui est <a href="http://web.archive.org/web/20161225144318/https://www.cyanogenmod.org/blog/a-fork-in-the-road">annoncée dès le lendemain</a>.</p> <p><a href="https://fr.wikipedia.org/wiki/LineageOS"><strong>LineageOS</strong></a> est le nouveau nom de cette distribution qui n’a pas pu réutiliser le nom <em>Cyanogen</em> qui reste la propriété de l’entreprise Cyanogen Inc. Le mot anglais <em>lineage</em> signifie <em>lignée</em> en clin d’œil à son ascendance avec CyanogenMod. Soulignons l’importance de la survie de ce projet, car de nombreuses autres distributions dérivaient de <em>CyanogenMod</em> (Replicant, LuneOS, B2G…). Cette fois-ci, la communauté a bien repris les choses en main. :-)</p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f662f66332f4c696e656167654f535f4c6f676f2e7376672f32343070782d4c696e656167654f535f4c6f676f2e7376672e706e67/240px-LineageOS_Logo.svg.png" alt="Logo de LineageOS" title="Logo de LineageOS | Source : https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/LineageOS_Logo.svg/240px-LineageOS_Logo.svg.png"></p> <h2 id="toc-replicant">Replicant</h2> <p><a href="https://www.replicant.us/"><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e7265706c6963616e742e75732f696d616765732f7265706c6963616e742e706e67/replicant.png" alt="Logo de Replicant" title="Source : https://www.replicant.us/images/replicant.png"></a></p> <p><a href="https://fr.wikipedia.org/wiki/Replicant_(syst%C3%A8me_d%27exploitation)">Replicant</a> a comme objectif de réécrire les pilotes et <em>firmwares</em> non-libres de LineageOS (et avant de CyanogenMod) pour proposer une distribution Android 100 % libre. Il y a eu plusieurs versions avec une évolution lente et la prise en charge de peu d’appareils (dont certains composants ne sont pas gérés). <a href="https://www.fsf.org/news/fsf-launches-fundraising-program-for-replicant-the-fully-free-android-based-mobile-os">La FSF (Free Software Foundation) s’occupe de la récupération des dons</a> et <a href="https://www.fsf.org/campaigns/priority-projects/free-phone">l’a mis dans sa liste des projets prioritaires</a>. Sur LinuxFr.org, il a été présenté une première fois par <a href="//linuxfr.org/news/replicant%C2%A0-distribution%C2%A0android-100%C2%A0libre">Nÿco en 2011</a>, puis par <a href="//linuxfr.org/users/rydroid">RyDroid</a> en 2017 pour <a href="//linuxfr.org/news/sortie-de-replicant-6-0">la version 6.0</a> et <a href="//linuxfr.org/users/rydroid/journaux/replicant-6-0-0002-est-sorti-avec-12-appareils-supportes">sa première mise-à-jour mineure</a>.</p> <h2 id="toc-fairphone-open">Fairphone Open</h2> <p><a href="https://fr.wikipedia.org/wiki/Fairphone" title="Définition Wikipédia">Fairphone</a> est une <a href="https://fr.wikipedia.org/wiki/Entrepreneuriat_social#L'entreprise_sociale_%C2%AB_commerciale_%C2%BB">entreprise sociale</a> qui conçoit et commercialise un téléphone écologique et équitable. Fairphone développe deux distributions :</p> <ul> <li> <a href="https://code.fairphone.com/projects/fp-osos/#fairphone-os">Fairphone OS</a> qui inclut les <a href="https://github.com/opengapps/opengapps/wiki/Package-Comparison">Google apps</a> (« Les différents packages Google apps dont les applications ne sont pas libres et transmettent nos données privées aux serveurs de Google : position, contacts, agenda, liste des applications installées… ») dont le <a href="https://fr.wikipedia.org/wiki/Google%20Play" title="Définition Wikipédia">Google Play</a> ;</li> <li> <a href="https://code.fairphone.com/projects/fp-osos/#id2">Fairphone Open</a> est une des rares (la seule ?) distributions fournies par un constructeur à ne pas contenir ni <a href="//linuxfr.org/news/utiliser-son-android-de-facon-plus-securisee#introduction">Facebook</a> (« L’application Facebook, préinstallée sur quasi tous les appareils Android, transmet la liste de contacts aux serveurs Facebook, même sans compte Facebook »), ni les Google apps et avec <a href="https://fr.wikipedia.org/wiki/F-Droid">F-Droid</a> en remplacement du Google Play.</li> </ul> <p>Comme ce matériel est documenté et les pilotes sont open source, de nombreuses autres distributions fonctionnent aussi sur ce téléphone.</p> <p>Sailfish OS (version communautaire) <a href="https://wiki.merproject.org/wiki/Adaptations/libhybris/Install_SailfishOS_for_fp2">peut être installée en lieu et place d’Android</a> sur le Fairphone 2. </p> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7777772e6661697270686f6e652e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031362f31312f4c43415f6665617475726564696d6167652d31363830783536352e6a7067/LCA_featuredimage-1680x565.jpg" alt="Image du fairphone2 ouvert" title="Source : https://www.fairphone.com/wp-content/uploads/2016/11/LCA_featuredimage-1680x565.jpg"></p> <h2 id="toc-e">/e/</h2> <p><img src="//img.linuxfr.org/img/68747470733a2f2f652e666f756e646174696f6e2f77702d636f6e74656e742f75706c6f6164732f323031392f31312f652d6c6f676f2d6e6f69722d30312e706e67/e-logo-noir-01.png" alt="Le logode /e/" title="Source : https://e.foundation/wp-content/uploads/2019/11/e-logo-noir-01.png"></p> <p>En 1998, en testant <em>Red Hat 5.1</em>, <a href="https://fr.wikipedia.org/wiki/Ga%C3%ABl_Duval">Gaël Duval</a> a l’idée de simplifier l'<a href="https://fr.wikipedia.org/wiki/Exp%C3%A9rience_utilisateur">expérience utilisateur</a>. Quelques mois plus tard, alors âgé de 25 ans, Gaël publie la distribution <a href="https://fr.wikipedia.org/wiki/Mandrake_Linux"><em>MandrakeLinux</em></a> (renommée <em>Mandriva Linux</em> en 2003).</p> <p>En 2017, Gaël constate que les GAFAM exploitent les fonctionnalités des smartphones pour absorber nos données personnelles. La seule solution est donc d’utiliser ce que l’on peut maîtriser, donc du logiciel libre, à la fois sur son téléphone et dans les nuages. Mais un autre ingrédient du succès est la simplicité d’utilisation, comme pour <em>MandrakeLinux</em>, il faut de la magie.</p> <p>Gaël Duval a donc lancé <a href="//linuxfr.org/news/campagne-de-financement-d-eelo-pour-un-smartphone-respectueux-de-la-vie-privee">une campagne de cofinancement relayé sur LinuxFr.org</a> pour un système d’exploitation mobile et ses applications dans les nuages. Initialement nommée <strong>eelo</strong> (<a href="https://eelo.io/">eelo.io</a>), le projet devient temporairement <strong>/e/</strong> (<a href="https://e.foundation/">e.fondation</a>) et devrait avoir son nom définitif pour la v1. </p> <p><a href="//linuxfr.org/users/tankey">Trollnad Dump</a> nous annonce, tout juste, la <a href="//linuxfr.org/users/tankey/journaux/premiere-beta-de-e">première bêta de /e/</a> basée sur LineageOS v14, des applications libres et Nextcloud pour la partie libre dans les nuages. L’idée est de réutiliser ce qui fonctionne bien dans l’écosystème du libre, mais de simplifier l’expérience utilisateur afin que l’ensemble de l’écosystème soit cohérent, intuitif et <a href="https://fr.wikipedia.org/wiki/Tol%C3%A9rance_aux_pannes">tolérant aux pannes</a>.</p> <h2 id="toc-f-droid">F-Droid</h2> <p><a href="https://commons.wikimedia.org/wiki/File:F-Droid_Logo_2.svg"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f622f62372f462d44726f69645f4c6f676f5f322e737667/F-Droid_Logo_2.svg" alt="Logo de F-Droid" title="Source : https://upload.wikimedia.org/wikipedia/commons/b/b7/F-Droid_Logo_2.svg"></a></p> <p><a href="https://fr.wikipedia.org/wiki/F-Droid">F-Droid</a> nous simplifie l’installation d’applications libres sur son mobile. En 2014, ariasuni nous annonçait la disponibilité de <a href="//linuxfr.org/news/plus-de-1000-applications-dans-f-droid">1000 apps</a> et <a href="//linuxfr.org/news/f-droid-0-100-pres-de-2000-applications-libres">plus de 2000</a>, 4 ans après (2016). </p> <p>Entre-temps, en 2012, Nÿco nous expliquait comment <a href="//linuxfr.org/news/bricolage-d-un-android-tout-libre">libérer son Android</a> en utilisant F-Droid. On peut très bien avoir un téléphone Android et ne pas partager sa vie privée avec Google. Il est possible d’installer AOSP sans les Google-Apps (les applications non libres de Google). De plus, grâce à F-Droid, on peut utiliser des applications alternatives à celles du Google Play Store.</p> <p>Par contre, la liberté demande des sacrifices. En effet, ces applications, pour la plupart gratuites et sans publicité, n’apportent pas le même confort que les Google Maps, Waze (<a href="https://www.frandroid.com/marques/google/206886_waze-coute-115-milliard-dollars-google-ceo-affiche-ses-regrets">qui appartient aussi à Google</a>) et consort, pour la partie <em>« aide à la navigation avec analyse du trafic en temps-réel »</em>. Pour le reste des logiciels tels que OsmAnd sont disponibles, celui-ci par exemple propose une merveilleuse assistance à la géo-localisation et à la navigation y compris hors-ligne. Peut-être même la meilleure expérience pour les cyclistes. </p> <p>RyDroid nous annonçait les sorties des versions <a href="//linuxfr.org/news/sortie-de-la-version-0-88-de-f-droid">0.88</a> (2015) et <a href="//linuxfr.org/news/f-droid-1-0-est-sorti">1.0</a> (2017). Lors de l’écriture de cette dépêche, F-Droid en est à sa version <a href="https://f-droid.org/en/2018/08/03/twif-15-announcing-f-droid-1-3.html">1.3</a> et comptabilise environ 1600 applications (des nouvelles, mais aussi des applications supprimées).</p> <h2 id="toc-microg">MicroG</h2> <p>Un smartphone basé sur un LineageOS <em>pur</em> ne sera pas équipé du Google Play Store. Il est possible de se contenter d’applications disponibles sur F-Droid comme évoqué plus haut, mais cela peut être très limitant. Une possibilité est d’utiliser un magasin d’applications (comme <a href="https://f-droid.org/en/packages/com.dragons.aurora/">Aurora</a> ou <a href="https://framalibre.org/content/yalp-store">Yalp</a>) capable de se connecter au Play Store avec des identifiants génériques pour avoir accès à l’ensemble du catalogue Google Play, néanmoins de nombreuses applications risquent de ne pas fonctionner faute de présence du Google Play Services (dont l’installation p. ex. via <a href="https://opengapps.org/">OpenGApps</a> implique <a href="https://tuxicoman.jesuislibre.net/2015/05/pourquoi-vous-devriez-desinstaller-google-play-services-de-votre-smartphone.html">de donner un accès root à Google</a> sur votre ordiphone…).</p> <p><a href="https://microg.org/">MicroG</a> vise à combler ce manque et à réimplémenter l’équivalent du Google Play Services de manière libre et non intrusive (plus de détails sur <a href="https://forum.xda-developers.com/android/apps-games/app-microg-gmscore-floss-play-services-t3217616">XDA</a>). Son installation n’est pas toujours simple (<a href="https://github.com/microg/android_packages_apps_GmsCore/wiki/Signature-Spoofing">signature spoofing</a>), mais il existe <a href="https://lineage.microg.org/">une variante de LineageOS préinstallée avec MicroG</a>.</p> <h2 id="toc-quelques-applications-android-remarquables">Quelques applications Android remarquables</h2> <p>Ce chapitre est volontairement synthétique. Dans les commentaires, tu peux indiquer ton souhait d’avoir une dépêche consacrée aux applications.</p> <h3 id="toc-préserver-sa-vie-privée">Préserver sa vie privée</h3> <ul> <li> <a href="https://en.wikipedia.org/wiki/The_Guardian_Project_(software)">The Guardian Project</a> ;</li> <li> <a href="https://f-droid.org/packages/org.mozilla.klar/">Firefox Klar</a> permet de désactiver les pisteurs <em>(trackers)</em>, de ne pas télécharger les polices de caractères et d’effacer toute trace (cookies) après la fermeture de la page web ;</li> <li> <a href="https://f-droid.org/packages/org.blokada.alarm/">Blokada</a> supprime tout plein de trackers et publicités pour l’ensemble du téléphone en simulant un VPN (ne pas oublier de le mettre en route après installation en appuyant sur le symbole ⏻ <em>power</em>).</li> </ul> <h3 id="toc-open-data">Open data</h3> <p>Des applications pour contribuer à des projets libres:</p> <ul> <li> <a href="https://f-droid.org/packages/org.mozilla.mozstumbler/">Mozilla Stumbler</a> pour géolocaliser les antennes relais et les point d’accès Wi-Fi ;</li> <li> <a href="https://f-droid.org/packages/org.openbmap/">RadioBeacon</a> un projet similaire à Mozilla Stumbler ;</li> <li> <a href="https://f-droid.org/en/packages/openfoodfacts.github.scrachx.openfood/">Open Food Facts</a> pour une base de données de tous les emballages d’aliments ;</li> <li> <a href="https://f-droid.org/en/packages/org.openpetfoodfacts.scanner/">Open Pet Food Facts</a>, la même chose pour nos amis les bêtes ;</li> <li> <a href="https://f-droid.org/packages/openfoodfacts.github.scrachx.openbeauty/">Open Beauty Facts</a>, la même chose mais pour les produits au contact de notre corps ;</li> <li> <a href="https://f-droid.org/packages/de.blau.android">Vespucci</a> pour contribuer à OpenStreetMap ;</li> <li> <a href="https://f-droid.org/packages/org.gittner.osmbugs/">OSMBugs</a> pour vérifier/corriger les erreurs sur OpenStreetMap ;</li> <li> <a href="https://f-droid.org/packages/fr.free.nrw.commons/">Commons</a> pour téléverser ses photos sur commons.wikimedia.org et aussi connaître les lieux dont l’article correspondant nécessite une photo <a href="https://commons-app.github.io/">(en)</a> ;</li> <li> <a href="https://f-droid.org/packages/com.commonslab.commonslab/">CommonsLab</a> une autre application concurrente pour téléverser ses médias et prend en charge les photos, vidéos et sons <a href="https://commonslab.github.io/">(en)</a>; </li> <li>…</li> </ul> <h3 id="toc-cloud">Cloud</h3> <ul> <li> <a href="https://f-droid.org/packages/com.zegoggles.smssync/">SMS Backup+</a> pour avoir ses SMS et MMS dans sa boite e-mail (fonctionne avec les serveurs IMAP) ;</li> <li> <a href="https://f-droid.org/packages/com.nextcloud.client">Client Nextcloud</a> pour synchroniser son mobile avec son cloud privé NextCloud.</li> </ul> <h3 id="toc-lire-écouter-et-regarder-des-vidéos">Lire, écouter et regarder des vidéos</h3> <ul> <li> <a href="https://f-droid.org/packages/de.danoeh.antennapod/">AntennaPod</a> pour écouter ses baladodiffusions <em>(podcasts)</em> ;</li> <li> <a href="https://f-droid.org/en/packages/community.peers.internetradio/">InternetRadio</a> pour écouter les radio et autres flux temps-réel ;</li> <li>Flux RSS …</li> <li> <a href="https://f-droid.org/packages/org.schabi.newpipe/">NewPipe</a>, alternative aux applications YouTube qui permet de télécharger vidéo ou audio seulement et aussi d’écouter le flux audio comme un lecteur de musique (avec écran éteint).</li> </ul> <h3 id="toc-plans">Plans</h3> <ul> <li> <a href="https://f-droid.org/packages/net.osmand.plus/">OsmAnd~</a>, alternative à Google Maps. Notamment pour les cartes hors-ligne et le greffon qui ajoute le relief ;</li> <li> <a href="https://f-droid.org/en/packages/org.osmdroid/">Open Map</a>, en quoi il est différent ????</li> </ul> <h3 id="toc-réseaux-sociaux">Réseaux sociaux</h3> <ul> <li>Mastodon</li> <li>Diaspora</li> <li>Facebook en simulant l’accès via le site web pour limiter son espionnage (collecte des appels téléphonique par l’application officielle)</li> </ul> <h2 id="toc-anbox">Anbox</h2> <p><a href="https://commons.wikimedia.org/wiki/File:Anbox_logo.png"><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f312f31642f416e626f785f6c6f676f2e706e67/Anbox_logo.png" alt="logo de Anbox" title="Source : https://upload.wikimedia.org/wikipedia/commons/1/1d/Anbox_logo.png"></a></p> <p>Un système alternatif à Android et iOS pourra difficilement avoir du succès sans applications. Par exemple, on peut vouloir installer l’application de sa banque. Une solution est de pouvoir exécuter les applications Android sur son système alternatif.</p> <p>C’est l’intérêt du projet Anbox <a href="https://en.wikipedia.org/wiki/Anbox">(en)</a> qui exécute des applications Android en convertissant les appels aux couches basses Android vers les appels aux couches basses d’une <a href="https://fr.wikipedia.org/wiki/distribution%20GNU/Linux" title="Définition Wikipédia">distribution GNU/Linux</a>. La documentation <a href="https://docs.anbox.io/architecture/runtime_setup.html">(en)</a> explique que l’affichage est gérée dans un conteneur <a href="https://fr.wikipedia.org/wiki/LXC" title="Définition Wikipédia">LXC</a> et utilise <a href="https://fr.wikipedia.org/wiki/OpenGL%20ES" title="Définition Wikipédia">OpenGL ES</a>.</p> <p>Pour sa <a href="https://support.google.com/chromebook/answer/7021273">compatibilité Android</a>, Chrome OS utilise également un conteneur et se permet davantage d’accélération matérielle en convertissant directement les appels des couches basses Android vers les fonctions internes du noyau Linux et des pilotes matériels sans passer par des intermédiaires comme OpenGL. Par contre, Anbox n’a pas les mêmes contraintes et doit pouvoir facilement être porté sur différentes <a href="https://fr.wikipedia.org/wiki/distributions%20GNU/Linux" title="Définition Wikipédia">distributions GNU/Linux</a>.</p> <p>D’autres projets ont choisi une autre voie, celle de l’émulation du système Android avec son propre noyau Linux. Ce sont les appels aux pilotes matériels qui sont convertis en appels aux couches basses du système. C’est le cas du projet <a href="http://www.shashlik.io/news/">Shashlik</a> et de l’émulateur non-libre <a href="https://www.genymotion.com/desktop/">Genymotion</a> de la startup parisienne <a href="https://fr.wikipedia.org/wiki/Genymobile" title="Définition Wikipédia">Genymobile</a>.</p> <p>Des projets comme UBports et LuneOS souhaitent donc utiliser Anbox. Par contre, Sailfish OS utilise la machine virtuelle non-libre Alien Dalvik Turbo <a href="https://en.wikipedia.org/wiki/Dalvik_Turbo_virtual_machine">(en)</a> de la société franco-suisse Myriad <a href="https://en.wikipedia.org/wiki/Myriad_Group">(en)</a>.</p> <p>Notons que depuis Android 5, la JVM <a href="https://fr.wikipedia.org/wiki/Dalvik" title="Définition Wikipédia">Dalvik</a> a été remplacée par le Android Runtime qui compile le bytecode en code natif et qui semble plus performant…</p> <h2 id="toc-halium">Halium</h2> <p><img src="//img.linuxfr.org/img/68747470733a2f2f7062732e7477696d672e636f6d2f70726f66696c655f62616e6e6572732f3835343431323633303038393439383632352f313439323535333235312f36303078323030/600x200" alt="bannière de Halium" title="Source : https://pbs.twimg.com/profile_banners/854412630089498625/1492553251/600x200"></p> <p>En 2017, Christophe Chapuis nous présente le <a href="//linuxfr.org/news/naissance-du-projet-halium">tout nouveau projet Halium</a> pour fédérer les couches basses des différentes distributions Linux sur appareils Android.</p> <p>Un double objectif :</p> <ul> <li>une couche d’abstraction matérielle suffisante et standardisée pour permettre de réutiliser les pilotes déjà disponibles des appareils Android ;</li> <li>des outils pour pouvoir installer tout type de distribution Linux.</li> </ul> <p>Auparavant, les projets comme Ubuntu Touch, Firefox OS ou Plasma Mobile (réutilisation d’un téléphone Android) devaient interfacer leurs développements avec chaque pilote Android spécifique à un appareil précis.</p> <p>Ce n’est donc pas une nouvelle distribution Linux pour smartphone, mais une mutualisation des efforts de différentes projets et un levier qui permet de démocratiser l’utilisation de Linux sur les appareils Android.</p> <p>Ce dernier inclut cependant des dépendances comme <a href="https://github.com/Halium/docs/issues/3">systemd</a> et pulseaudio (ce qui empêche d’utiliser une autre libc que glibc, telle que musl).</p> <h2 id="toc-treble-et-gsi">Treble et GSI</h2> <p>Malheureusement, contrairement aux plate-formes x86, les plate-formes ARM (valable aussi pour MIPS et RISC-V et tout ce qui est non x86…) n’ont pas la possibilité d’avoir <em>« one kernel to rule them all »</em> car il leur manque la couche d’introspection fournie par l’UEFI/ACPI (même si <a href="https://www.cnx-software.com/2018/08/21/embedded-base-boot-requirements-ebbr-project-booting-embedded-systems/">différentes initiatives</a> cherchent à corriger cette situation malheureuse, à commencer par la généralisation du <a href="https://en.wikipedia.org/wiki/Device_tree"><em>device-tree</em></a>, qui met cependant du temps à être intégré par le BSP des fabricants de puces comme Qualcomm/Mediatek).</p> <p>Chaque SoC (et même chaque carte-mère) a donc son noyau, et chaque fabricant consacre donc des ressources non-négligeables pour effectuer l’intégration entre le BSP fourni par le fabricant de SoC, les différents pilotes nécessaires, ses ajouts propres, etc. Sauf que cela entraine une dépendance envers le fabricant, seul à même d’effectuer des mises-à-jour (et dans notre système économique actuel, le fabricant – surtout lorsqu’il s’agit de produits à faible marge – préfère souvent vendre une nouvelle unité plutôt que consacrer des ressources pour maintenir des appareils déjà vendus). Ceci entraine une <a href="https://developer.android.com/about/dashboards/">fragmentation</a> et évidemment <a href="https://androidvulnerabilities.org/">une quantité incroyable d’appareils vulnérables</a> parmi tous ceux qui sont abandonnés par leur fabricant ! LineageOS peut contribuer à résoudre le souci (notamment pour les téléphones porte-étendards sur lesquels le fabricant est généralement sérieux concernant la publication des sources du noyau), cependant LineageOS doit publier une image par modèle de téléphone !</p> <p>Le <a href="https://www.xda-developers.com/flash-generic-system-image-project-treble-device/">Project Treble</a> vise à mieux isoler les couches basses des couches hautes d’Android (comme cela aurait dû être le cas en théorie avec une vraie HAL), de sorte que les couches hautes puissent évoluer séparément des couches basses (noyau/pilotes fournis par le fabricant et installés sur une partition dédiée). Cela ne résoudra pas tous les problèmes – par exemple en cas de faille de sécurité noyau/pilote – mais permettra de corriger plus aisément des failles sur les couches hautes comme la <a href="https://fr.wikipedia.org/wiki/Stagefright_(vuln%C3%A9rabilit%C3%A9)">faille Stagefright</a>.</p> <p>Une autre conséquence est l’apparition de <em>Generic System Image</em> (GSI) <a href="https://developer.android.com/topic/generic-system-image/">(en)</a> : les distributions alternatives pourront ainsi se focaliser sur les parties haut niveau sans se soucier des détails matériel bas-niveau (dès lors qu’elles se reposent sur le noyau fourni par le fabricant).</p> <h2 id="toc-surcouches-graphiques-et-composants-aosp">Surcouches graphiques et composants AOSP</h2> <ul> <li>CopperheadOS <a href="https://en.wikipedia.org/wiki/CopperheadOS">(en)</a> ajoute des fonctionnalités pour sécuriser et protéger la vie privée par rapport à AOSP dont la partie libre de son code source est sur <a href="https://github.com/CopperheadOS">GitHub</a> ;</li> <li> <a href="https://fr.wikipedia.org/wiki/Meizu" title="Définition Wikipédia">Meizu</a> fournit les composants open source de <a href="https://en.wikipedia.org/wiki/Meizu#Flyme">Flyme OS</a> sur <a href="https://github.com/FlymeOS">GitHub</a> ;</li> <li> <a href="https://fr.wikipedia.org/wiki/OnePlus" title="Définition Wikipédia">OnePlus</a> fournit les composants open source de <a href="https://en.wikipedia.org/wiki/OxygenOS">OxygenOS</a> aussi sur <a href="https://github.com/OnePlusOSS">GitHub</a> ;</li> <li> <a href="https://fr.wikipedia.org/wiki/Xiaomi" title="Définition Wikipédia">Xiaomi</a> fournit les composants open source de <a href="https://fr.wikipedia.org/wiki/MIUI" title="Définition Wikipédia">MIUI</a> également sur <a href="https://github.com/MiCode">GitHub</a> (en 2012, Xiaomi enfreint la licence GPL du noyau Linux, et donc, en 2013, publie son code source, mais en partie, enfin en 2015, la totalité est publiée mais pour seulement quelques appareils).</li> <li> <a href="https://lawnchair.app/">Lawnchair</a> est une interface open-source (disponible sur F-Droid) visuellement semblable à celle des Nexus / Oneplus, qui peut être plus attrayante que le launcher de base fourni par AOSP/LineageOS</li> </ul> <h2 id="toc-conclusion">Conclusion</h2> <p>Ceci n’est pas le chapitre conclusion. 😮</p> <p>Ah, mais elle est où la conclusion ? 🤔</p> <p>Ben… dans les commentaires ! 😜</p> <p>Et oui, chacun à son avis : les échecs, les spéculations, les succès, le positif…</p> <p><a href="https://www.camilleroux.com/2018/06/19/9-bonnes-pratiques-de-bienveillance-et-dinclusion-au-quotidien/" title="Neuf bonnes pratiques de bienveillance et d’inclusion au quotidien de Camille Roux">Restons</a> <a href="//linuxfr.org/users/medspx/liens/gnu-kind-communications-guidelines" title="Recommandations pour des discussions bienveillantes par Richard Stallman">bienveillants</a> dans nos réactions : même si nos arguments sont différents, nous sommes tous globalement d’accord pour avoir davantage de contrôle sur nos téléphones, pas besoin d’utiliser des mots agressifs. 😘 😍</p> <h2 id="toc-appel-à-participation">Appel à participation</h2> <p>Tu as aimé cette épopée entre logiciels libres et téléphones, cette tumultueuse aventure agrémentée de liens vers des articles <em>LinuxFr.org</em>, témoignages à jamais gravés dans le marbre, reflets de nos enthousiasmes, nos déceptions et nos espérances.</p> <p>Pour nous aider à continuer :</p> <ul> <li>indique-nous dans les commentaires tes idées pour aider ces projets, du moins ceux qui te tiennent à ♥ ;</li> <li>si tu souhaites améliorer les articles Wikipédia, sache que cette dépêche a été spécialement publiée sous <a href="https://creativecommons.org/licenses/by-sa/3.0/fr/">licence CC BY-SA <strong>3.0</strong></a> car Wikipédia hésite à <a href="https://meta.wikimedia.org/wiki/Terms_of_use/Creative_Commons_4.0/fr">passer à la <strong>4.0</strong></a> ;</li> <li>d’autres dépêches de cette série d’articles sont peut-être encore en cours de rédaction, tu peux nous rejoindre dans l’espace de <a href="//linuxfr.org/wiki/redaction" title="Lien du wiki interne LinuxFr.org">rédaction</a> ;</li> <li>une autre ambitieuse dépêche se prépare également : <a href="//linuxfr.org/redaction/news/quel-telephone-en-2021"><strong>Quel téléphone mobile en 2021 ?</strong></a> </li> </ul> <p>Note que pour limiter le pourriel <em>(spam)</em>, tu dois te créer un <a href="//linuxfr.org/compte/inscription">compte</a> pour accéder à l’espace de <a href="//linuxfr.org/wiki/redaction" title="Lien du wiki interne LinuxFr.org">rédaction</a>. Tu peux aussi jeter un œil sur comment <a href="//linuxfr.org/wiki/participer-a-linuxfr" title="Lien du wiki interne LinuxFr.org">participer à LinuxFr</a>.</p> <p>Merci à tous les auteurs de la première dépêche qui a été scindée en plusieurs parties : oliver_h, TuxMips, BAud, teoB, quent57, RyDroid, Christophe Chapuis, Adrien Dorsaz, karteum59, pulkomandy, Trollnad Dump, gle, xev, ZeroHeure, Intendant_zonard, Benoît Sibaud, ʭ ☯, j, Maderios, palm123, Thomas Debesse, Brndan, raphj, Franck Routier, be_root, Bruno Michel, Goffi, hitmanu, olibre et guitou. </p> </div><div><a href="https://linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-3-android.epub">Télécharger ce contenu au format EPUB</a></div> <p> <strong>Commentaires :</strong> <a href="//linuxfr.org/nodes/115877/comments.atom">voir le flux Atom</a> <a href="https://linuxfr.org/news/systemes-d-exploitation-pour-telephones-partie-3-android#comments">ouvrir dans le navigateur</a> </p>