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.14.0 ()[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].
Disponibilité
Les paquets Flatpak sont disponibles sur toutes les Distributions Linux compatibles avec Windows Subsystem for Linux.
Distributions avec Flatpak pré-installé
Distributions compatible sans Flatpak pré-installé
- AlmaLinux[24]
- Alpine Linux[25]
- Arch Linux[26]
- Ataraxia Linux
- Bodhi Linux[27]
- Chrome OS
- Clear Linux[28]
- Debian[29]
- Deepin[30]
- EndeavourOS[31]
- Gentoo Linux[32]
- KaOS[33]
- KDE neon[34]
- Kubuntu[35]
- Mageia[36]
- Manjaro[37]
- MX Linux[38],[39]
- NixOS[40]
- OpenMandriva Lx[41]
- OpenSUSE[42]
- Pardus[43]
- PCLinuxOS[44]
- Peppermint OS[45]
- Pisi Linux
- Raspberry Pi OS[46]
- Red Hat Enterprise Linux[47]
- Rocky Linux[48]
- Solus[49]
- SparkyLinux[50]
- SulinOS
- Ubuntu[51]
- Void Linux[52]
- Zenwalk[53]
Références
- « https://flatpak.org/about/ » (consulté le )
- Phaedrus Leeds, « https://lists.freedesktop.org/archives/flatpak/2022-August/002269.html »,
- « 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 )
- « CentOS Quick Setup »
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- « elementary OS Now Has Support for Flatpak Apps »,
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- « Linux Mint Throws Its Weight Behind Flatpak »,
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- « What's New with Pop!_OS 20.04 LTS »
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- « PureOS Quick Setup »
- « Zorin OS 15 Enters Beta with Flatpak Support, Based on Ubuntu 18.04.2 LTS »,
- « Flatpak—the future of application distribution », sur flatpak.org (consulté le )
- (en) « Post Installation · MassOS-Linux/MassOS Wiki », sur GitHub (consulté le )
- « How To Install Flatpak on AlmaLinux 8 »
- « Alpine Quick Setup »
- « Arch Quick Setup »
- « Flatpak »
- « Flatpak app on Clear Linux OS using GNOME* Software and the command line »
- « FlatPak - Debian Wiki » [archive du ], sur wiki.debian.org (consulté le )
- « Deepin Quick Setup »
- « Flatpak – Enabling and application management »,
- « Gentoo Quick Setup »
- « Documentation »
- « Guidelines and HOWTOs/Flatpak »
- « Kubuntu Quick Setup »
- « Mageia Quick Setup »
- « Installing Flatpak »
- « Flatpaks »
- « Flatpak applications now available through MX Package Installer »
- « NixOS Quick Setup »
- « Flatpak,snap,appimage »
- « openSUSE Quick Setup »
- « Pardus Quick Setup »
- « Using Flatpak »
- « Peppermint 9 Released. »
- « Raspberry Pi OS Quick Setup »
- « Red Hat Enterprise Linux Quick Setup »
- « Install Flatpak on AlmaLinux or Rocky 8 »,
- « Solus Quick Setup »
- « Flat pack - how to install? »
- « Ubuntu Quick Setup »
- « Void Linux Quick Setup »
- « Flatpak is available on Zenwalk »
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