Flatpak est un système libre et communautaire pour la gestion de paquets, le déploiement de logiciels, et l'isolement d'applications (sandboxing). Il peut être intégré aux logithèques graphiques, ou utilisable en ligne de commande.
Le projet est mené par Freedesktop.org depuis 2014, jadis sous le nom de xdg-app, le but étant de faciliter la distribution d'applications directement par leurs développeurs sur toutes les distributions.
Flatpak permet aujourd'hui aux utilisateurs Linux d'accéder à un immense catalogue d'applications, et d'installer et de faire fonctionner chacune d'entre elles de manière sûre et facilitée :
Inconvénients, en particulier par rapport au format deb :
Depuis 2017, beaucoup d'applications populaires ont été rendues disponibles au format Flatpak : Blender, Skype, Spotify, LibreOffice, Pitivi, certaines applications KDE, beaucoup d'applications GNOME, beaucoup d'applications elementaryOS, etc. On y trouve aussi des applications propriétaires pour Linux, comme Zoom ou Teams.
Flatpak avec Flathub est ainsi devenu le canal privilégié, et parfois exclusif2) de nombreux développeurs et éditeurs, qui peuvent distribuer en un seul paquet leurs logiciels sur toutes les distributions Linux, en ayant la main sur l'environnement et les dépendances.
Pour utiliser Flatpak il faut installer le paquet flatpak.
Les logiciels Flatpak ne viennent pas des dépôts de Canonical (qui développe et favorise snap, et fournit et promeut snapcraft), mais d'autres dépôts communautaires ou privés. Il faut référencer les dépôts qui nous intéressent avant de pouvoir installer quoi que ce soit.
Flathub est le dépôt principal, et de facto standard : il est maintenu par la communauté et fournit l'énorme majorité des applications disponibles en Flatpak. On peut explorer celles-ci en ligne sur le site Internet, mais pour l'intégrer à l'utilitaire Flatpak et lister et gérer ses applications avec un gestionnaire, il faut ajouter la source Flathub avec cette commande :
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Pour installer d'autres dépôts, voir le chapitre Ajouter un autre dépôt Flatpak.
Pour pouvoir gérer les applications Flatpak (autrement que par la ligne de commande), vous pouvez à présent configurer ou installer une logithèque (une application permettant d'installer et gérer les autres applications).
Si besoin vous pouvez mettre à niveau votre version de Flatpak par une plus récente que celle fournie par les dépôts officiels via un PPA.
ppa:flatpak/stable.
Il existe plusieurs logithèques pour gérer les Flatpak. Malheureusement le Centre d'applications (Snap Store) installé par défaut sur Ubuntu (GNOME) n'en fait pas partie.
Pour explorer et gérer les applications Flatpak graphiquement sur Ubuntu on doit donc installer une de ces applications au choix (ou toutes ensemble si le cœur vous en dit !).
Elles gèrent les applications exactement de la même manière que la commande flatpak (toutes les méthodes sont compatibles et interchangeables).
En plus de la gestion des paquets deb / APT, GNOME Logiciels dispose d'une extension pour gérer les logiciels Flatpak.
Pour en profiter il faut simplement installer le paquet gnome-software-plugin-flatpak.
GNOME Logiciels intégrera désormais les programmes disponibles sur les dépôts Flatpak configurés (mais pas le Centre d'applications, développé par Canonical, qui n'implémente pas Flatpak et ne les affichera pas).
Plasma Discover (la logithèque KDE) dispose aussi d'une extension pour gérer les logiciels Flatpak.
Pour en profiter il suffit d'installer le paquet plasma-discover-flatpak-backend.
Warehouse est une logithèque Flatpak proposée elle-même en Flatpak par ses développeurs sur le dépôt Flathub.
Malgré une interface très simple et sobre (qui suit l'ergonomie de GNOME), Warehouse dispose de fonctionnalités impressionnantes :
en plus des traditionnelles recherches, descriptions, installation et désinstallation des applications, il permet de gérer les dépôts (il propose des dépôts populaires), de visualiser toutes les applications installées en Flatpak, ainsi que les données utilisateurs qui y sont associées et l'espace de stockage qu'elles utilisent, ou encore de créer des instantanés (snapshots) de n'importe quel container (bac à sable). Ceci permet de sauvegarder l'état d'une application, quelle qu'elle soit, à un instant donné, et de restaurer cet état à volonté.
Pour installer Warehouse, après avoir installé Flatpak avec le dépôt Flathub, installer le paquet io.github.flattool.Warehouse, soit en ligne de commande :
flatpak install io.github.flattool.Warehouse
Easy Flatpak3) est aussi disponible sur le dépôt Flathub.
Il permet de naviguer dans les applications par catégorie, de visualiser et d'exporter la liste des applications installées, et évidemment de gérer celles-ci. Il propose quelques bundles d'applications pour différentes activités.
On peut donc l'installer après avoir installé Flatpak avec le dépôt Flathub en installant le paquet org.dupot.easyflatpak, soit en ligne de commande :
flatpak install org.dupot.easyflatpak
Bauh est une autre logithèque, qui gère aussi bien Flatpak que snap, deb / APT (le format natif d'Ubuntu), AppImage, des applications web et autres…
Bauh possède sa page de documentation dédiée.
flatpak,
Si Flathub est le dépôt dominant, il existe d'autres dépôts Flatpak, le système ayant été pensé pour être décentralisé. La syntaxe générale de la commande remote-add est :
flatpak remote-add --if-not-exists nom_du_dépôt https://adresse.du.dépôt.flatpakrepo
Le dépôt des applications KDE est ainsi :
flatpak remote-add --if-not-exists kdeapps https://distribute.kde.org/kdeapps.flatpakrepo
Certains distributeurs de logiciels vont proposeront plutôt un fichier .flatpakref qui s'installe ainsi :
flatpak install --from adresse/du/fichier.flatpakref
L'adresse du fichier peut être le chemin du fichier parmi les documents sur votre disque, ou bien une adresse réseau ou Internet (URL).
Cette technique vous proposera, en cours d'installation, d'ajouter les dépôts nécessaires.
De la même manière qu'avec les applications, pour installer une application pour l'utilisateur courant, on ajoute ce dépôt avec l'option --user :
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
On utilise la commande remote-delete :
flatpak remote-delete nom_du_dépôt
par exemple pour Flathub :
flatpak remote-delete flathub
Pour la désinstallation d'une application, voir le chapitre Désinstaller une application sur la page concernant la gestion des applications Flatpak.
Pour supprimer la prise en charge des applications au format flatpak, il suffit de supprimer le paquet flatpak.
Si vous l'aviez ajouté, n'oubliez pas de supprimer le PPA après désinstallation.