Flatpak
Flatpak (anciennement xdg-app) est un système de virtualisation d’application pour les distributions GNU/Linux de bureau.
Développé par | Alexander Larsson |
---|---|
Première version | [1] |
Dernière version | 1.10.2 ()[2] |
Dépôt | github.com/flatpak/flatpak |
Écrit en | C |
Système d'exploitation | GNU/Linux |
Formats lus | Flatpack Repo (d), Flatpack Reference (d) et Flatpack Reference (with rem) (d) |
Type | Système de virtualisation d’application |
Politique de distribution | Gratuit |
Licence | Licence publique générale limitée GNU version 2.1 ou ultérieure (d) |
Site web | flatpak.org |
Historique
Le système de paquets Flatpak fut développé à l'origine pour faciliter le déploiement sécurisé d'applications sur différentes distributions. Le développeur principal du projet est Alexander Larsson.
Au départ le projet s’appelle xdg-app en référence à freedesktop.org, qui est souvent abrégé « xdg », cette structure ayant hébergé sur ses serveurs le projet xdg-app.
Le , le projet annonce son changement de nom pour « Flatpak » avec l'appui de Red Hat, Endless Computers et Collabora[3]. Lors de cette annonce un certain nombre de projets proposent leur logiciel dans ce format comme LibreOffice, GIMP, InkScape et une large partie des logiciels de l'environnement GNOME.
La version 0.8.0 de Flatpak est la première à bénéficier d'une prise en charge à long terme ; elle a été intégrée dans Debian 9 Stretch et RHEL 7[4].
En , est lancé Flathub un magasin d'applications qui permet de facilement trouver et installer un paquet Flatpak.
Le sort la version 1.0, cette sortie marque le passage en version stable du logiciel[5]. Au même moment les mainteneurs du magasin Flathub retirent la mention Bêta de leur référentiel.
Endless OS 3.2.5 est la première distribution à intégrer Flatpak avec le magasin Flathub configuré par défaut[6], rapidement suivi par Linux Mint 18.3 Cinnamon[7].
Objectifs
L'objectif est de fournir un environnement « bac à sable » (sandbox) sûr, isolé du reste du système, dans lequel les utilisateurs peuvent exécuter des applications non validées par les dépôts de la distribution (des versions de test, par exemple). Les applications utilisent des appels de fonctions spécifiques fournies par Flatpak pour contrôler les périphériques matériels ou accéder aux fichiers de l'utilisateur, et Flatpak demande à l'utilisateur sa permission avant de donner accès.
Le second objectif est de permettre l’installation des paquets Flatpak sur n'importe quelle distribution, les développeurs n'ont plus besoin d'emballer leur application pour chaque distribution GNU/Linux.
Fonctionnement
L'installation des applications Flatpak peut se faire de différentes manières :
- La plus simple en mode graphique en utilisant les logiciels GNOME Logiciels ou KDE Discover qui prennent en charge ce type de fichier.
- Utiliser le magasin d'application Flathub pour télécharger l'application souhaitée.
- En ligne de commande.
- Avec un périphérique amovible ou en LAN quand aucun réseau n'est disponible[8].
Les paquets Flatpak sont des archives .flatpakref
qui peuvent s’exécuter directement sur le système, de façon indépendante de la distribution Linux précise utilisée, sous réserve que le logiciel Flatpak ait été préalablement installé sur cette distribution. Ils peuvent être installés sur l'ensemble du système ou seulement dans l'espace utilisateur ce qui présente l'avantage de ne pas nécessiter de droit administrateur.
Pour permettre au « bac à sable » de fonctionner malgré son isolement du système, il faut donc que les bibliothèques ou dépendances indispensables à un logiciel soient embarquées avec lui au sein de son paquet « Flatpak ». Ce système a pour inconvénient d'embarquer potentiellement plusieurs fois la même bibliothèque (une par paquet Flatpak), et donc de prendre plus de place. Il a par contre pour avantage de ne pas déstabiliser un logiciel Flatpak lors d'une mise à jour de dépendances ou de bibliothèques, puisque cette mise à jour ne le concernera pas. Il est dès lors assez simple de faire cohabiter plusieurs versions d'un même logiciel. Pour pallier le problème de duplication des bibliothèques, Flatpak utilise des runtimes : il s'agit d'un regroupement de bibliothèque partagée entre applications.
À la sortie de la version 1.0 un grand nombre de distributions intègre la prise en charge des paquets Flatpak, comme Fedora, Debian ou encore OpenSUSE[9].
Références
- « https://flatpak.org/about/ » (consulté le )
- « Release 1.10.2 » (consulté le )
- « Flatpak Released », sur flatpak.org (consulté le )
- (en) « Flatpak – a history », sur https://blogs.gnome.org/alexl/, (consulté le )
- (en) « Flatpak 1.0 », sur www.flatpak.org (consulté le )
- (en) « Endless OS became the first major distro to enable @FlatpakApps from Flathub by default in version 3.2.5 », sur https://twitter.com, (consulté le )
- (en) « New features in Linux Mint 18.3 Cinnamon », sur https://www.linuxmint.com, (consulté le )
- (en-US) « Offline software updates in Endless OS » (consulté le )
- (en) « Flatpak—the future of application distribution », sur www.flatpak.org (consulté le )
Annexes
Articles connexes
- freedesktop
- GNOME
- chroot
- AppImage
- Snappy (package manager) (en)
Liens externes
- Site officiel
- (en) The flatpak security model – part 1: The basics, par Alexander Larsson le
- Portail des logiciels libres
- Portail de l’informatique
- Portail GNU/Linux