Go to Hackademy website

Linux sur mobile, enfin ?

Eddie Barraco

Posté par Eddie Barraco dans les catégories outils

Cet article est publié sous licence CC BY-NC-SA

En 2017 Purism réussi un financement participatif pour son nouveau produit le Librem 5. L’idée est d’avoir un smartphone centré sur la protection de la vie privée et fonctionnant avec des logiciels open-source et libres. Un environnement ouvert, similaire à ceux sur PC avec Gnu/Linux, mais pour téléphone.

Ce n’est pourtant pas la première fois qu’un tel projet vois le jour. En 2011 déjà, Canonical s’est lancé dans le projet d’adapter sa distribution Ubuntu pour la rendre compatible aux téléphones et tablettes. Ce projet, Ubuntu Touch s’arrête en 2017, abandonné par Canonical à cause du manque d’intérêt commercial de celui-ci. Un coup dur au moral de ceux qui en attendaient beaucoup.

Le Librem 5 tarde encore à montrer le bout de son nez. Ce projet pourrait s’apparenter à ce précédent échec et on peut craindre de ne jamais voir arriver le téléphone de nos rêves. Mais qu’est-ce qui cloche sur ces téléphones ?

Il semble difficile de venir concurrencer les environnements portables existants. Les téléphones Android et iPhone se sont imposés en maitres sur le marché. Et même si certains ont essayé de s’y engager (coucou Windows Phone), aucune alternative n’y a tenu la durée.

Pourtant, aucune de ces alternatives ne m’a jamais comblé, et je ne suis pas le seul. Android a beau tourner sur une base de noyau Linux, son environnement n’a rien à voir avec celui que l’on retrouve sur nos chères distributions Gnu/Linux. Il est bien trop verrouillé et peu permissif. Il est impossible de le bricoler, d’en remplacer des briques. Pour y développer, nous devons aujourd’hui nous restreindre à certains langages spécifiques et travailler sur AndroidStudio. En bref, il est aussi proche de la philosophie Linux que ne l’est son homologue iPhone.

Alors quoi ? On flash nos téléphones et on y met une Arch Linux. Ça peut pas être si compliqué que ça. Si ? Si…

Pour qu’Android fonctionne sur tous les téléphones qui le supporte aujourd’hui, il faut qu’il s’y adapte à chaque fois. Le noyau qui tourne sur un appareil ne fonctionnera pas sur un autre. Je ne parle même pas des différents pilotes et modules du noyau pour faire fonctionner le matériel. En conséquences, nos appareils ne sont plus maintenus après quelques années.

On se préoccupe pourtant rarement de savoir si on peut installer nos distributions sur telle ou telle machine. En général, ça marche. Pourtant avec les smartphones, ça ne marche pas.

Les problématiques smartphones sont en effet bien particulières. Il faut gérer connectique et architecture spécifiques. Embarquer les pilotes réseaux qui sont souvent propriétaires. Avoir une gestion de l’autonomie poussée. Par exemple, être capable de passer en hibernation profonde et être invoqué à la vie avec l’arrivée d’un coup de téléphone. Et il faut aussi flasher le matériel pour modifier son bootload et croiser les doigts. Ces appareils ne sont définitivement pas pensés pour les bricoleurs.

De plus, il est ancré dans le modèle économique des smartphones que celui-ci sera abandonné au bout de quelques années. Le cycle de vie Android est basé sur le forking (ou le copier coller). Le code est dupliqué pour chaque nouveau matériel et maintenu indépendamment. On est bien loin d’un fonctionnement modulable qui permet d’apporter de la compatibilité tout en maintenant l’existant.

Finalement c’est tout cet écosystème débarqué qu’il faut revoir. Les appareils laissent peu de choix vis-à-vis de la couche applicative. Les drivers sont fermés et contraignant. Et même si on règle ces soucis, on installe quoi aujourd’hui sur un téléphone ? Quel gestionnaire de fenêtre sous Gnu/Linux permettrait d’allier ergonomie, performance et économie d’énergie nécessaire ?

Le passé des PC Linux nous offre des environnements graphiques au poil. Ça fonctionne bon Dieu ! Mais pas sur un écran de 7 pouces. Le développement des gestionnaires de fenêtre sous Wayland apporte beaucoup de solutions d’un point de vue de la gestion du HiDPI mais tous les logiciels n’ont pas encore migré. Le tactile quant à lui semble bien en place. Par contre il va falloir des environnements entièrement basés sur son usage.

Et on fait quoi après ? Sortir un concurrent à l’Android de Google ? À l’iPhone d’Apple ? Qu’est-ce que vous espérez nobles geeks ? Pour que le produit fonctionne, il faut qu’il ait une base d’utilisateurs (de clients) suffisante. Tout comme le Fediverse finira par mourir un jour face à Twitter et Facebook, souffrant de sa maigre part d’utilisateurs. N’est-ce pas ? Si Canonical a échoué alors comment de plus petites structures peuvent réussir ? Eh bien justement, elles ne réussiront pas, enfin pas du point de vue capitaliste du terme. Mais ce n’est pas là son objectif.

À partir du moment où le produit n’a pas un but lucratif, il se fiche bien de connaitre son nombre d’utilisateurs. Avec l’open-source c’est encore plus vrai. Dès lors que les utilisateurs hébergent ou maintiennent le produit, il continuera de vivre. Ici je fais mention des couches applicatives. Les constructeurs d’appareils restent majoritairement des entreprises qui se doivent d’être à minima rentables. Les ambitions de plus petites structures étant plus facilement atteignable, le marché de niche des bricoleurs peut suffire à pérenniser ce projets. C’est bien le cas des différents appareils commercialisés par Pine64 qui se couronnent jusqu’ici de succès.

Pine64 est une entreprise qui développe, construit et vends des appareils et composant informatiques depuis 2015. Son marché se porte aujourd’hui majoritairement sur les appareils débarqués comme des laptops, tablettes, micro-ordinateurs, smartwatches et smartphones. Les produits se veulent lowcost et lowtech principalement autour des architectures ARM. En 2019, c’est bien un smartphone sous Linux mainline qui est mis sur les planches. Au moment où j’écris ceci, Pine64 s’apprête à lancer sa deuxième version Community du Pinephone.

Une première version Community est déjà sortie il y a quelques mois et embarquait UBport, une version mobile d’Ubuntu. Eh oui, malgré la fin d’Ubuntu Touch par Canonical, le projet n’est pas mort. Une communauté de passionnés reprend le flambeau et fonde UBport en 2017. La distribution semble avoir de l’avance mais d’autres sont aussi en développement. KDE Plasma a commencé à être adapté pour son usage mobile dès 2015. Et n’oublions pas PureOS qui est la distribution qui sera proposée par défaut sur le Librem 5 de Purism. Mais il y a d’autres combinaisons d’environnements plus dédiés aux power users comme sxmo.

Pour cette deuxième itération c’est postmarketOs qui sera embarqué dans le pinephone. PostmarketOs, ou pmOs pour les intimes, est un projet qui débute en 2017. Son objectif est d’être une distribution Linux mobile pour corriger ce workflow de développement Android qui pousse à l’abandon du matériel. Pousser le cycle de vie des smartphones à 10 ans passe par différents points. Le principal est son workflow de mise à jour. Il faut le simplifier ! Un paquet logiciel distinct par appareil et un seul ! Tout le reste doit être commun. Ce fonctionnement n’est pourtant pas nouveau. C’est bien ainsi que l’on maintient une distribution Linux. Et appliquer cette recette porte ses fruits. Aujourd’hui pmOs peut se vanter de démarrer plus de 200 appareils rendus plus ou moins compatibles. Autre avantage de pmOs, il offre un large choix de gestionnaires de fenêtres et ne limite pas les possibilités. Un installateur interactif permet aujourd’hui d’installer et configurer les appareils compatibles en une seule commande ! On est bien loin des tutoriels obscurs pour flasher son Android.

Les personnes qui ont travaillé pour adapter les distributions, coder les drivers et faire avancer Gnu/Linux sur smartphone ne sont pas toujours les gens qui ont manufacturé les appareils. C’est toute une communauté qui s’éprend du Pinephone et se met au travail. Les reviews de ce téléphone sortent régulièrement et les progrès sont perceptibles à chaque fois. Les drivers sont de plus en plus optimisés, et les interfaces de moins en moins poussives. Les dernières avancées sur le système CRUST, gestion avancée de l’autonomie, pousse celle-ci autour de 14 heures en stand-by sur Ubuntu Touch. Les coups de fils et les textos fonctionnent et les principaux programmes sont compatibles. Les distributions majoritaires apporteront des solutions variées aux contraintes d’ergonomie.

Dès lors que nous disposerons d’un terreau applicatif solide et versatile, d’autres appareils pourront voir le jour et jouir de cet écosystème. Le mobile sous Linux n’en est qu’au balbutiement mais les racines commencent à prendre. Il est bien possible de voir pousser de nombreuses autres branches aux prochains printemps.


L’équipe Synbioz.
Libres d’être ensemble.

Articles connexes

Linux Open : Ou comment automatiser des trucs simples

23/04/2020

Hey Reed ! Je viens de jouer à un super jeu. Tu connais ? https://www.youtube.com/watch?v=fWlHjpKmvh8 Je clique, ça s’ouvre sur mon navigateur web. Mhhh… Pourquoi mon environnement ne l’ouvre-t-il...

Facilitez-vous les tests avec Wiremock !

26/03/2020

Il arrive parfois que les applications que nous développons soient dépendantes d’autres applications ou API.

Les e-mails c'est bien, mangez-en !

13/02/2020

Les mails, c’est compliqué.

Una : pourquoi avoir créé notre propre ERP ?

13/01/2020

Una, qu’est-ce que c’est ? Una — prononcez [‘una] — est un progiciel de gestion intégré (PGI ou en anglais ERP pour « Enterprise Resource Planning ») développé par Synbioz pour ses propres besoins....