Google teste le packaging Flatpak pour Chrome sous Linux et la communauté se réjouit

Google a commencé à tester le packaging Flatpak pour Chrome et Chromium sous Linux. Le code expérimental, intégré cette semaine au référentiel Chromium, permet de générer des versions du navigateur dans ce format de distribution universelle, même si l'entreprise insiste sur le fait qu'il ne s'agit pas encore d'un engagement de support officiel. Le test vise avant tout à évaluer des configurations de sandboxing plus restrictives et à étendre l'utilisation des portails XDG.

Le changement est signé Tom Andersonde l'équipe du navigateur Google, dont le 25 août fusion du support expérimental dans l'arbre Chromium principal. Le message du changement lui-même précise que la priorité est de faciliter les tests internes : vérifier comment le navigateur se comporte dans un environnement aux autorisations réduites et dans quelle mesure il peut profiter des portails XDG.

Quels changements dans le code de build de Chromium

Le nouveau dossier chrome/installer/linux/flatpak/ regroupe les scripts d'empaquetage, les modèles de métadonnées, les informations AppStream et le point d'entrée du lanceur dont tout package Flatpak a besoin pour fonctionner. Pour l'activer, le système de build GN inclut l'argument activate_flatpak, désactivé par défaut, afin que les builds Chrome et Chromium standard ne soient pas affectés pendant que l'expérience est toujours en cours.

Voyons ce que signifie l'activation de cet argument : l'emballage pour Flatpak omet les éléments destinés à s'intégrer au système hôte, tels que les fichiers de bureau au niveau du système, les liens symboliques dans /usr/bin , les métadonnées AppStream, les entrées d'application par défaut de GNOME, les pages de manuel et les profils AppArmor. Le script common/installer.py ajoute également son propre mappage d'identifiant pour chaque variante : org.chromium.Chromium* pour le projet open source et com.google.Chrome* pour le navigateur Google.

De cette façon, nous pouvons utiliser les référentiels officiels du système d'exploitation Linux. Photo : capture Softzone.

Le modèle common/desktop.template a été généralisé pour prendre en charge à la fois les commandes d'exécution dans un conteneur Flatpak et une installation traditionnelle à l'échelle du système, et les versions non officielles désactivent le bac à sable setuid et la compression zlib, deux paramètres qui facilitent les tests dans cet environnement restreint.

Les portails XDG expliquent en partie pourquoi cette voie intéresse Google : ils constituent la couche standard qui permet à une application isolée, comme celles packagées dans Flatpak, d'accéder aux ressources du système (fichiers, caméra, notifications) sans avoir besoin d'autorisations larges, car la plateforme elle-même intermédiaire entre ces requêtes pour le compte de l'utilisateur.

Pourquoi Flatpak est intéressant en dehors de Debian et RPM

Comme le savent bien ceux d’entre vous qui suivent l’écosystème Linux, le format Flatpack Il emballe l'application avec ses dépendances dans un environnement isolé, ce qui facilite son installation sur différentes distributions sans dépendre du fait qu'elles utilisent une base Debian, RPM ou autre. Pour un projet aussi répandu que Chromium, cette voie pourrait ouvrir une alternative aux compilations spécifiques de chaque distribution et aux packages tiers qui comblent aujourd'hui une partie du déficit des distributions minoritaires.

Dans l'écosystème Linux, Flatpak coexiste avec d'autres formats de distribution multiplateforme, comme Snap, propulsé par Canonical. Les deux visent à résoudre le même problème : éviter que chaque distribution doive maintenir son propre package et que le développeur dépende des bibliothèques spécifiques du système hôte.

Le code est déjà fusionné dans le référentiel principal de Chromium, donc si vous décidez de le compiler avec l'argument activate_flatpak activé, vous pourrez voir par vous-même comment le package se comporte à l'intérieur d'un conteneur, y compris son interaction avec les portails XDG.

Pour l'instant, il n'y a pas de date ni de canal public pour tester ces packages : le développement reste uniquement dans le code source de Chromium, accessible à quiconque souhaite le compiler avec cet argument activé.

Si le sandboxing restreint et les portails XDG fonctionnent correctement lors des tests internes, Google pourrait se demander si cette voie expérimentale finit par devenir une solution. alternative d'emballage officielle pour Linux.

FAQ Chrome Flatpak Linux

Google a-t-il confirmé que Chrome arriverait officiellement au format Flatpak ?

Non. Le message de modification lui-même précise qu'il s'agit d'un code expérimental destiné aux tests internes, sans engagement de support officiel.

Quels navigateurs ce test de packaging inclut-il ?

Chromium, le projet open source, et Google Chrome, chacun avec son propre identifiant d'application au sein du système Flatpak.

Comment activer ce packaging expérimental ?

Utilisation de l'argument de build activate_flatpak sur le système GN, qui est désactivé par défaut et n'affecte pas les builds standards.

Quels éléments sont ignorés lors de l'empaquetage de Chrome pour Flatpak ?

Les fichiers du bureau système, les liens symboliques dans /usr/bin, les métadonnées AppStream, les entrées d'application par défaut GNOME, les pages de manuel et les profils AppArmor sont ignorés.