Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Ubix Linux, le datalab de poche

Ubix Linux est une distribution Linux libre et open-source dérivée de Debian.

Le nom « Ubix » est la forme contractée de « Ubics », acronyme issu de l'anglais Universal business intelligence computer system. De fait, le principal objectif d'Ubix Linux est d'offrir une plateforme universelle dédiée à l'informatique décisionnelle et à l'analyse des données.

Il s'agit d'une solution verticale, prête à l'emploi, dédiée à la manipulation des données et à la prise de décision. Allégée par conception, elle n'embarque qu'un jeu limité d'outils spécialisés dans ce domaine. Ceux-ci permettent néanmoins de couvrir tous les besoins dont l'acquisition, la transformation, l'analyse et la présentation des données.

Ubix Linux - Vue d'ensemble

Origines de la distribution

La volonté initiale du concepteur de la distribution était de pouvoir disposer, à tout moment et en toutes circonstances, des outils lui permettant de réaliser des analyses de données et d'en présenter le résultat ad hoc. Ce « couteau suisse » de manipulation des données, devait également lui permettre d'éviter de devoir justifier, rechercher, acquérir et installer l'écosystème logiciel nécessaire chaque fois que ce type de tâches se présentait à lui.

Son cahier des charges stipulait donc une empreinte disque la plus faible possible sans pour autant faire de concessions au niveau des fonctionnalités. La distribution se devait d'être portable et exécutable immédiatement dans des contextes variés, sans nécessité d'investissement, d'installation ou de droits d'accès particulier.

De ce fait, Ubix Linux ne se démarque pas par ses aspects « système », mais plutôt par sa destination et ses cas d'usage.

Au-delà du besoin initial

À l'heure où de nombreux concepts liés à la manipulation des données tels que le « Big Data », la « Data Science » ou le « Machine Learning » font la une de nombreux médias, ceux-ci restent encore des boîtes noires, affaire de spécialistes et d'organisation disposant des moyens de les mettre en application.

Si le grand public en intègre de mieux en mieux les grandes lignes, il ne dispose encore que de peu de recul sur la manière dont ses données peuvent être utilisées, ainsi que la richesse des débouchés associés.

D'un autre côté, de nombreux gisements de données à la portée du plus grand nombre demeurent inexploités, faute de compétences ou de moyens facilement accessibles.

Il se trouve qu'Ubix Linux peut permettre de surmonter cette difficulté, en offrant à tous les moyens de s'approprier (ou se réapproprier) et tirer parti des données disponibles.

Philosophie

Par nécessité, Ubix Linux a été conçue en intégrant uniquement des produits libres et open-source. Bien que cette distribution puisse s'avérer utile à toute personne devant manipuler des données, elle se doit de préserver et défendre une approche pédagogique et universaliste.

Elle a pour ambition de mettre les sciences de données à la portée de tous. La distribution en elle-même n'est qu'un support technique de base devant favoriser l'apprentissage par la pratique. Il est prévu de l'accompagner d'un tutoriels progressifs.

Les outils low-code/no-code intégrés dans la distribution permettent de commencer à manipuler des données sans devoir maîtriser au préalable la programmation. Néanmoins, des outils plus avancés permettent ensuite de s'initier aux principes des algorithmes d'apprentissage automatique.

Synthèse

Ubix Linux s'inscrit dans la philosophie du logiciel libre et plus particulièrement dans celle des projets GNU et Debian.

Elle se destine à :

  • demeurer accessible à tous ;
  • pouvoir s'exécuter sur des configurations matérielles relativement modestes, voire n'être installée que sur un périphérique portable USB ;
  • proposer un outil pédagogique pour appréhender de façon pratique la science des données et l'apprentissage machine ;
  • permettre la découverte, l'expérimentation et l'aguerrissement de tout un chacun aux principaux outils de manipulation des données ;
  • offrir une boîte à outils légère et agile, néanmoins complète et utile pour un public professionnel averti.

Et après…

Nous sommes à l'écoute de toute suggestion. Toutefois, les moyens étant ce qu'ils sont (au fond du garage), la réactivité à les prendre en compte pourra s'avérer inversement proportionnelle.

Nous souhaiterions que cet outil pédagogique puisse bénéficier au plus grand nombre : si vous voulez contribuer à la traduction du contenu du site officiel en espagnol, en portugais ou en allemand, vous êtes les bienvenus.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Sortie de LuneOS « Eiskaffee »

Tentés par un café glacé ? LuneOS « Eiskaffee » vient de sortir !

LuneOS est une distribution GNU/Linux pour téléphones mobiles et tablettes, héritière de feu webOS. Le projet est porté par l’équipe webOS-Ports, dont le but est de faire revivre webOS sur les matériels contemporains.

logo de LuneOS

Sommaire

Voici bien longtemps que l’équipe de webOS-ports n’avait fait de nouvelle version de LuneOS. De nombreux changements de fond, de nouveaux téléphones et tablettes, des difficultés techniques mais aussi une équipe développement modeste expliquent ce rythme un peu lent qui avance selon le temps libre de chacun.

Pendant ce temps, des versions de test de LuneOS ont été régulièrement mises à disposition sur Github, dans le dépôt « luneos-testing ». Cela permet aux personnes intéressées d’essayer LuneOS, tout en gardant à l’esprit que ce ne sont que des versions intermédiaires.

Petits rappels et lexique

Le projet s’appuie sur Yocto, webOS-OSE, Halium et SHR. Il utilise OpenEmbedded comme environnement de compilation. Cette dernière version de LuneOS se base sur la version « Kirkstone » de Yocto. Ces projets ne vous disent rien ? Voici un rapide lexique :

  • OpenEmbedded est un environnement de compilation, qui utilise un ensemble de « recettes » pour décrire les composants à compiler et installer.
  • Yocto est un ensemble de recettes prêtes à l’emploi qu’on peut utiliser pour se construire une distribution Linux personnalisée. Les recettes mises à disposition vont du noyau Linux à Firefox, et forment un ensemble déjà assez complet.
  • SHR est un système d’exploitation GNU/Linux s’appuyant aussi sur Yocto et OpenEmbedded, et orienté téléphones. Il a connu son heure de gloire à l’époque des téléphones Openmoko comme le FreeRunner. Seule une petite partie est maintenant réutilisée pour les besoins de LuneOS.
  • Halium est un ensemble d’utilitaires et d’images Android permettant de faire tourner un Android minimaliste dans un container dédié sur la distribution hôte. Cela permet d’exploiter les pilotes et firmwares disponibles seulement pour Android, tout en gardant le reste de l’OS sur une pile GNU/Linux/systemd/Wayland classique.
  • webOS-OSE est une distribution Linux maintenue par LG, héritière du code de webOS, et dont LuneOS reprend maintenant beaucoup de composants logiciels.

À l’exception des blobs utilisés pour faire tourner les pilotes Android, l’ensemble de la distribution est libre : tout le monde peut, s’il le veut, recompiler sa propre image chez soi.

Fin du forum webOS Nation et autres tracasseries techniques

Le forum « webOS Nation », qui regroupe des discussions autour de webOS au sens large (vieilles versions de webOS, mods, LuneOS…) a connu quelques turbulences ces dernières années. Devant une fermeture imminente du site web, un nouveau site webOS Archive a été mis en place, avec notamment la majorité des archives des forums de webOS Nation. Un nouveau forum a été mis en place, reprenant globalement le style de webOS Nation.

Sans avoir une activité folle, la communauté autour de webOS reste présente, notamment grâce à la présence aujourd’hui de webOS sur les téléviseurs.

Mort du « builder » dédié à LuneOS

Suite à plusieurs avaries, le builder « Jenkins » a dû prendre une retraite bien méritée. Malheureusement cela implique pour l’équipe de webOS-ports de compiler les différentes images de LuneOS chez soi, ce qui n’est pas très pratique (sans être une catastrophe). Sur une machine raisonnablement puissante, la création d’une image de LuneOS depuis zéro demande plusieurs heures, il faut donc parfois s’armer de patience. Heureusement Yocto permet de mutualiser les résultats de compilation pour les architectures semblables, ce qui fait gagner beaucoup de temps.

Les changements majeurs

Depuis la dernière version publique de LuneOS, beaucoup de changements de fond ont eu lieu. On retrouve entre autres:

Passage de Qt 5 à Qt 6

LuneOS utilise maintenant Qt 6.5.2, l’une des dernières disponibles.

Utilisation du compositeur Wayland de webOS OSE

Le compositeur Wayland propre à LuneOS luna-next a été abandonné, au profit du compositeur Wayland de webOS OSE surface-manager. Cependant la partie graphique (codée en QML) a été conservée, et l’expérience utilisateur reste donc très similaire.
Cela permet de se concentrer sur la partie GUI du compositeur, tout en bénéficiant des mises à jour venant de OSE relatives au cœur même du compositeur.

Changement de moteur Chromium

Les apps webOS utilisant intensivement HTML/Javascript/CSS, l’affichage nécessite un moteur web bien à jour et optimisé. Jusqu’à la dernière version, LuneOS utilisait QtWebEngine, fourni par Qt, pour faire tourner les applications.
Cependant webOS-OSE fournit son propre moteur basé sur chromium, indépendant de Qt et optimisé pour une utilisation embarquée. LuneOS a donc également migré vers cette nouvelle infrastructure logicielle, adoptant ce composant WebAppManager.

Migration générale vers les composants de webOS-OSE

Plus généralement, les composants hérités de feu Open WebOS ont été remplacés par leur équivalent dans webOS-OSE, plus récents et encore maintenus par LG. Pour cette version de LuneOS, la version 2.23.0 de webOS-OSE est utilisée comme base.
Cette migration inclut notamment l’utilisation des « Enhanced ACG », un modèle de sécurité plus efficace utilisé pour la communication entre les services de webOS et les apps.

Ces changements, qui pour la plupart ne sont pas visibles à l’utilisation, apportent de multiples bénéfices pour LuneOS :

  • une réutilisation plus large du code de webOS-OSE (maintenu par LG), ce qui implique moins de maintenance côté webOS-ports
  • meilleure stabilité des composants, qui sont utilisés depuis des années dans les téléviseurs et appareils LG
  • la rétro-compatibilité a tout de même pu être assurée pour les vieilles apps webOS, grâce à des modifications mineures dans certains composants
  • plus de facilité pour mettre à jour les composants venant de webOS-OSE

Téléphones et tablettes: vers plus de Linux « mainline »

Dans le domaine des distributions Linux pour téléphones et tablettes, on parle de noyau « mainline » pour désigner l’utilisation directe du code source venant du noyau Linux, par opposition à l’utilisation d’un code source dérivé et proposé par un constructeur. Ce dernier est souvent proposé dans une vieille version, avec une maintenance très limitée dans le temps.

Cependant, utiliser un noyau « mainline » est à double tranchant : d’un côté, on bénéficie des dernières avancées du noyau, et des dernières versions des pilotes libres. Mais de l’autre, cela signifie devoir se passer des pilotes proposés par le constructeur (pour le son, le GPS, le modem…), qui souvent n’ont jamais été proposés à l’inclusion dans le code source principal de Linux.

Au final, dans le cas de LuneOS, trois voies se dessinent lorsqu’il s’agit de faire tourner l’OS sur un téléphone ou une tablette :

  1. Le constructeur remonte ses changements dans le noyau Linux, et s’appuie sur un développement open-source: Pine64 et Purism sont deux exemples récents de cette approche. C’est le cas idéal pour LuneOS, où des pilotes open-source bien intégrés peuvent être utilisées pour faire fonctionner les composants matériels.
  2. Le constructeur ne propose qu’une version Android de ses pilotes et du noyau; ce dernier reste figé dans une même version, relativement récente, avec une maintenance minimale. LuneOS va alors utiliser Halium pour profiter des pilotes faits pour Android, tout en gardant le reste du système sur une pile logicielle « systemd/glibc » classique. Cette situation reste très présente, car l’immense majorité des téléphones et tablettes du marché tournent sur Android.
  3. Le constructeur propose une vieille version du noyau, non maintenue, et dont les limitations deviennent problématiques pour LuneOS. Dans ce cas, LuneOS va tenter d’utiliser un noyau plus récent, mais qui a un support partiel du matériel. Cette stratégie a souvent un résultat très mitigé, avec de gros manques fonctionnels. En gros, c’est la tentative de la dernière chance avant l’abandon du support de ce matériel.

Le matériel Pine64

Une tablette PineTab2 avec LuneOS

Comme évoqué plus haut, Pine64 cultive ses liens avec la communauté open-source, et incite celle-ci à proposer leurs OS sur leur matériel. On retrouve ainsi de nombreux OS comme PostmarketOS, Plasma Mobile ou encore Ubuntu Touch. LuneOS a pris le train en marche très tôt, et peut aujourd’hui s’installer sur le Pinephone, le Pinephone Pro ainsi que sur la tablette PineTab 2.

Pour le Pinephone et le Pinephone Pro, LuneOS nécessite maintenant l’installation préalable de Tow-boot sur le téléphone. Ce dernier est un dérivé de U-Boot, qui vise à standardiser et faciliter le démarrage des OS sur du matériel embarqué.

Comme ce matériel tourne avec une version très récente du noyau Linux, il est possible pour LuneOS de lancer Waydroid; cependant cette fonctionnalité est jeune et nécessite encore beaucoup de travail.

Le matériel Android

LuneOS peut s’installer sur de nombreux autres téléphones (et sur la vénérable tablette HP Touchpad), grâce à l’utilisation de Halium (ici en version 9.0).

Cependant, même s’il n’est pas prévu d’abandonner les téléphones et tablettes Android, les efforts se concentrent de plus en plus sur le matériel pour lequel un noyau « mainline » existe.

Plans pour la prochaine version

Continuer la migration vers l’infrastructure de webOS-OSE

Mettre à jour les composants vers la dernière version de webOS-OSE, et finir la migration:

  • mettre à jour le moteur web vers Chromium 108 (tout juste sorti du four chez LG)
  • re-baser l’infrastructure audio et multimédia de LuneOS sur les composants fournis par webOS-OSE
  • travailler également sur le support des caméras

Continuer le travail sur le matériel supporté

  • Avoir un noyau « mainline » fonctionnel pour Tenderloin, Hammerhead, Mido and Tissot.
  • Fournir une image GSI unique pour les téléphones Android, permettant de faciliter grandement le support d’autres téléphones

Compléter l’espace applicatif

  • Améliorer ou ajouter des apps de base comme Camera, Flashlight, Audio Player ou Video Player, et améliorer les composants QML.
  • Essayer de profiter du travail fait par la communauté sur les TVs LG « homebrew » : webOS Brew

Envie d’essayer ?

Pour le téléchargement et l’installation, c’est par ici. Il existe notamment une image pour émulateur x86-64, utilisable directement dans VirtualBox.

L’équipe webOS-ports est présente sur IRC (Libera:#webos-ports) ou encore Telegram.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌
❌