URL: https://linuxfr.org/news/quelques-nouvelles-de-luneos Title: Quelques nouvelles de LuneOS Authors: Christophe olivierweb, claudex, ZeroHeure, bubarđŸŠ„, RyDroid, palm123 et Davy Defaud Date: 2017ćčŽ09月26æ—„T16:35:40+02:00 License: CC By-SA Tags: webos, halium, openembedded et luneos Score: 67 LuneOS est une distribution GNU/Linux pour _smartphones_ et tablettes, hĂ©ritiĂšre de feu [webOS](https://fr.wikipedia.org/wiki/HP_webOS). Une nouvelle version, _Decaf_, [vient tout juste de sortir](https://pivotce.com/2017/10/08/luneos-september-stable-release-decaf/) ![Logo de LuneOS](https://upload.wikimedia.org/wikipedia/en/thumb/3/3d/Luneos-logo-1024.png/240px-Luneos-logo-1024.png) ---- [Lien vers la prĂ©cĂ©dente dĂ©pĂȘche](https://linuxfr.org/news/webos-se-relance-en-luneos) [DĂ©pĂȘche sur le projet Halium](https://linuxfr.org/news/naissance-du-projet-halium) [Annonce de la version Decaf](https://pivotce.com/2017/10/08/luneos-september-stable-release-decaf/) [DĂ©pot GitHub](https://github.com/webos-ports/) [WebOS ports](http://www.webos-ports.org/) ---- Introduction =========== Le projet est portĂ© par l’équipe [webOS-Ports](http://webos-ports.org/wiki/Main_Page), dont le but est de faire revivre webOS sur les matĂ©riels contemporains. MalgrĂ© le peu de couverture mĂ©diatique autour de LuneOS, le projet est toujours bien vivant, avec une (petite) Ă©quipe motivĂ©e. L’ensemble de la distribution est libre (ou presque) et chacun peut, s’il le veut, recompiler sa propre image chez lui. Une exception dans ce beau tableau : les _blobs_ binaires utilisĂ©s pour faire tourner les pilotes Android. Nous y reviendrons plus tard. Avec Ă  peu prĂšs une publication mensuelle, LuneOS a gagnĂ© en maturitĂ© depuis la [derniĂšre dĂ©pĂȘche](https://linuxfr.org/news/webos-se-relance-en-luneos) : tĂ©lĂ©phonie, matĂ©riel pris en charge, infrastructure... Voyons un peu ce que propose LuneOS dans la version toute fraĂźche de ce mois‐ci. ## Quelques captures d’écran (depuis un LG Nexus 5) ### Écran d’accueil avec quelques applications [![Écran d’accueil avec quelques applications](http://pix.toile-libre.org/upload/original/1507464587.png)](http://pix.toile-libre.org/?img=1506608458.png "Écran d’accueil avec quelques applications") ### Lanceur d’applications [![Lanceur d’applications](http://pix.toile-libre.org/upload/original/1507464499.png)](http://pix.toile-libre.org/?img=1506608984.png Lanceur d'applications) ### Application de tĂ©lĂ©phone [![Application de tĂ©lĂ©phone](http://pix.toile-libre.org/upload/original/1507464625.png)](http://pix.toile-libre.org/?img=1507464218.png Application de tĂ©lĂ©phone) ### Recherche globale « Just Type » [![Just Type](http://pix.toile-libre.org/upload/original/1507464744.png)](http://pix.toile-libre.org/?img=1507464758.png Just Type) SystĂšme de compilation ---------------------- LuneOS utilise [OpenEmbedded](https://www.openembedded.org/wiki/Main_Page) pour son systĂšme de compilation et la gĂ©nĂ©ration de la distribution. C’est un cadriciel trĂšs souple, orientĂ© « systĂšmes embarquĂ©s ». Il est possible de cibler diffĂ©rentes architectures et de gĂ©nĂ©rer les paquets logiciels nĂ©cessaires assez facilement. Chaque paquet est dĂ©crit par une « recette » qui indique comment compiler le logiciel, de façon similaire aux [PKGBUILD d’Arch Linux](https://wiki.archlinux.org/index.php/PKGBUILD). Il faut Ă©galement citer le projet [Yocto](https://www.yoctoproject.org/), qui maintient une bonne partie des « recettes » utilisĂ©es par LuneOS pour compiler la distribution. Principales caractĂ©ristiques de LuneOS ----------- - ergonomie pensĂ©e pour le tactile ; - beaucoup d’actions se font par balayage du doigt (fermer une application, aller Ă  la liste des applications, retour arriĂšre...) ; - concept de « jeu de cartes » pour dĂ©crire les applications ; - une intĂ©gration forte des Ă©lĂ©ments du systĂšme : champ de recherche central (« _Just Type_ »), fusionnement des conversations pour les diffĂ©rents comptes (« _Synergy_ ») ; - les applications utilisent de prĂ©fĂ©rence HTML 5, JavaScript et CSS. NouveautĂ©s ========== La derniĂšre version de LuneOS repose sur la version _pyro_ de Yocto. Infrastructure -------------- LuneOS utilise Qt 5.9.2 (qui est une version Ă  support Ă©tendu), ainsi que des versions rĂ©centes pour les briques de base : systemd 232, glibc 2.25, PulseAudio 10, Wayland 1.13... Cela permet d’avoir les derniĂšres corrections, mais aussi de profiter de fonctionnalitĂ©s assez rĂ©centes, notamment en ce qui concerne Qt : - avec le dernier QtWayland, l’API a Ă©tĂ© grandement remodelĂ©e et simplifiĂ©e ; - QtQuickControls 2 facilite l’utilisation de QML sur les tĂ©lĂ©phones mobiles et tablettes, et gĂšre mieux les thĂšmes et les hautes densitĂ©s de pixels (HiDPI, Retina...) ; - LuneOS utilise massivement [QtWebEngine](https://wiki.qt.io/QtWebEngine) : les applications Ă©tant Ă©crites en HTML 5, avoir un moteur Web rĂ©cent permet de profiter des derniĂšres optimisations et corrections. QtWebEngine 5.9 utilise le mĂȘme cƓur que Chromium 56, sorti dĂ©but 2017. Halium ------ Avec cette version LuneOS utilise maintenant le projet [Halium](https://halium.org/), dans sa version 5.1, pour faciliter la rĂ©utilisation des pilotes Android sur le matĂ©riel cible. ### Dans la pratique, ça veut dire quoi ? Halium consiste en un ensemble de dĂ©pĂŽts relatifs Ă  Android, lĂ©gĂšrement modifiĂ©s afin de ne compiler que la partie bas niveau : services de base et initialisation des pilotes, principalement. La compilation elle‐mĂȘme est faite par webOS-Ports. Il n’y a finalement qu’un morceau de LuneOS qui n’est pas construit depuis les sources : les _blobs_ propriĂ©taires pour le matĂ©riel. C’est un compromis aujourd’hui nĂ©cessaire pour arriver Ă  utiliser LuneOS sur des matĂ©riels courants et en exploiter tous les pĂ©riphĂ©riques (contrairement Ă  [Replicant](https://linuxfr.org/tags/replicant/public)). La couche Halium est utilisĂ©e de deux façons dans LuneOS : - un sous‐systĂšme Android minimal est lancĂ© dans un conteneur LXC et s’occupe d’initialiser le matĂ©riel et lancer les services de base nĂ©cessaires au fonctionnement des pilotes ; - certaines bibliothĂšques Android sont rĂ©utilisĂ©es directement par les binaires LuneOS : OpenGL ES, audio, capteurs, etc. Tout cela est rendu possible grĂące Ă  _libhybris_, qui fait le lien entre un binaire basĂ© sur la _glibc_ et une bibliothĂšque basĂ©e sur _bionic_. ### Quel atout Ă  utiliser Halium ? Les atouts sont nombreux, et webOS-Ports a participĂ© au projet Halium trĂšs naturellement : - on se soucie moins de la partie Android, qui n’est pas notre centre d’intĂ©rĂȘt principal ; - il est plus facile de faire un nouveau portage, car cela revient surtout Ă  s’assurer que le code Halium pour ce matĂ©riel existe. Ensuite, il y a quelques ajouts Ă  faire cĂŽtĂ© LuneOS, mais assez lĂ©gers normalement ; - passer Ă  une version d’Android plus rĂ©cente est aussi plus simple : il suffit en gros de changer la version de Halium utilisĂ©e ; - bien sĂ»r, et c’est le but principal, utiliser Halium nous apporte un bonne prise en charge matĂ©rielle : capture photo, capteurs d’orientation et GPS, accĂ©lĂ©ration vidĂ©o et audio, etc. CĂŽtĂ© applications ----------------- GrĂące Ă  l’application Preware 2, il est possible d’installer tout un ensemble d’applications additionnelles. Les applications « _legacy_ » doivent normalement marcher sans problĂšme, pour peu que l’on possĂšde le fichier `.ipk` correspondant. LuneOS propose aussi les applications de base : - tĂ©lĂ©phone et historique ; - conversations (centralisĂ©es entre tous les comptes, grĂące Ă  Synergy) ; - appareil photo (encore en cours de dĂ©veloppement) ; - application PDF, basĂ©e sur [_PDF.js_](https://mozilla.github.io/pdf.js/) ; - gestionnaire de fichiers ; - etc. Envie d’essayer ? ================= Les mobiles _Nexus 4_ et _Nexus 5_ sont officiellement pris en charge, ainsi que la tablette HP _Touchpad_. Il est Ă©galement possible de tester LuneOS avec VirtualBox Ă  l’aide des images 32 bits et 64 bits pour l’émulateur. La suite ======== Il y aura toujours des choses Ă  faire sur un projet tel que LuneOS ; pour le moment, voici une partie des idĂ©es pour la suite : - amĂ©liorer encore l’intĂ©gration de Halium ; - passer de Bluez 4 Ă  Bluez 5 pour la gestion du Bluetooth ; - repenser l’application _ParamĂštres_, et probablement la réécrire en QML pour mieux l’intĂ©grer au reste du systĂšme ; - amĂ©liorer l’application _Photos_ ; - proposer un SDK pour les dĂ©veloppeurs souhaitant crĂ©er une application « native » (non HTML 5) ; - passer Ă  un cadriciel plus moderne qu’Enyo pour le dĂ©veloppement des applications HTML : pour le moment, le choix penche vers Polymer/WebComponents, mais ça reste Ă  confirmer par des expĂ©rimentations. LuneOS est un projet vaste, portĂ© actuellement par un groupe assez rĂ©duit de bĂ©nĂ©voles. Sur de nombreux sujets, les contributions sont donc Ă©videmment les bienvenues, notamment au niveau des applications.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /