Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
flatpak [Le 11/10/2025, 01:50]
krodelabestiole +bauh / liens man / suppr doublon logithèque / +Accès aux stockages tiers
flatpak [Le 11/10/2025, 01:54] (Version actuelle)
krodelabestiole [Accès aux stockages tiers]
Ligne 1: Ligne 1:
 +{{tag>​Focal application paquet}}
  
 +{{ :​icons:​flatpak.png?​direct&​160|icône Flatpak}}
 +====== Flatpak, un format de paquets universel ======
 +
 +**[[wpfr>​Flatpak]]** est un système libre et communautaire pour la [[:​gestionnaire_de_paquets|gestion de paquets]], le déploiement de logiciels, et l'​isolement d'​applications (//​sandboxing//​). Il peut être intégré aux [[:​gestionnaire_de_paquets#​les_gestionnaire_de_paquets_graphiques|logithèques graphiques]],​ ou utilisable en [[:​commande_shell|ligne de commande]].
 +
 +Le projet est mené par [[wpfr>​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 :
 +  * Le risque d'​instabilité est moindre (les applications et leurs bibliothèques étant isolées, leur installation n'a pas d'​effet sur le système).
 +  * Il n'y a **plus de conflit de dépendances**,​ chaque application étant livrée indépendamment avec ses bibliothèques.
 +  * Le risque pour la sécurité et la fuite de données privées est extrêmement réduit : chaque application Flatpak est isolée dans son "bac à sable" et requiert si nécessaire la [[#​configuration_et_permissions_des_applications|permission de l'​utilisateur]] pour accéder au matériel (webcam, clefs USB, ...) et aux fichiers personnels.
 +  * **[[https://​flathub.org/​fr|Flathub]]**,​ le dépôt le plus populaire, propose des milliers d'​applications((plus de [[https://​docs.flathub.org/​blog/​over-one-million-active-users-and-growing|2400 applications]] début 2024)), et leur soumission est soigneusement supervisée afin d'​éviter l'​introduction de logiciel malveillant. Ce dépôt unique permet aussi d'​éviter la multiplication des risques comme c'est le cas avec l'​ajout de [[:​PPA|PPAs]] individuels.
 +  * La distribution d'​applications pour toutes les [[:​distributions]] étant grandement simplifiées pour les développeurs,​ sans avoir recours aux mainteneurs de celles-ci, une bien plus grande quantité d'​applications est disponible, partout, et plus rapidement (dans leurs dernières versions).
 +
 +**Inconvénients**,​ en particulier par rapport au format [[:deb]] :
 +  * Le démarrage des applications peut s'​avérer un peu plus lent.
 +  * L'​espace de stockage exploité par les applications avec leurs dépendances individuelles est plus important.
 +  * L'​isolement en bac à sable requiert parfois de donner manuellement certaines [[#​configuration_et_permissions_des_applications|permissions]] aux applications pour autoriser certaines de leurs fonctions, ce qui peut induire une complexité supplémentaire (mais qui est une fonctionnalité de sécurité).
 +
 +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 [[https://​flathub.org/​fr|Flathub]] est ainsi devenu le canal privilégié,​ et parfois exclusif((C'​est le cas de [[https://​usebottles.com/​|Bottles]] et de nombreuses [[https://​apps.gnome.org/​fr/​|applis pour GNOME]] par exemple.)) de nombreux développeurs et éditeurs, qui peuvent distribuer en un seul paquet leurs logiciels sur toutes les [[:​distributions|distributions Linux]], en ayant la main sur l'​environnement et les dépendances.
 +
 +===== Installation =====
 +
 +==== Installation de l'​utilitaire Flatpak ====
 +
 +Pour utiliser Flatpak il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ''​[[apt>​flatpak]]''​.
 +
 +==== Ajout du dépôt Flathub ====
 +
 +Les logiciels Flatpak ne viennent pas des dépôts de [[:​Canonical]] (qui développe et favorise [[:snap]], et fournit et promeut [[https://​snapcraft.io|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.
 +
 +**[[https://​flathub.org/​fr|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 [[https://​flathub.org/​fr|le site Internet]], mais pour l'​intégrer à l'​utilitaire Flatpak et lister et gérer ses applications avec un [[:​gestionnaire_de_paquets|gestionnaire]],​ il faut ajouter la source **Flathub** avec cette commande :
 +<code bash>​flatpak remote-add --if-not-exists flathub https://​flathub.org/​repo/​flathub.flatpakrepo</​code> ​
 +
 +Pour installer d'​autres dépôts, voir le [[:​tutoriel:​installer_application_flatpak#​ajouter_le_depot_flathub|tutoriel dédié]] à l'​installation des dépôts Flatpak.
 +
 +Pour pouvoir gérer les applications Flatpak (autrement que par la [[#​Installation de logiciels|ligne de commande]]),​ vous pouvez à présent configurer ou installer une logithèque (une application permettant d'​installer et gérer les autres applications).
 +
 +===== Logithèques =====
 +
 +Il existe plusieurs logithèques pour gérer les Flatpak. Malheureusement le [[:snap store|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 ''​[[man>​flatpak]]''​ (toutes les méthodes sont compatibles et interchangeables).
 +
 +==== GNOME Logiciels ====
 +
 +En plus de la gestion des paquets [[:deb]] / [[:APT]], **[[:​gnome-software|GNOME Logiciels]]** dispose d'une extension pour gérer les logiciels Flatpak.\\
 +Pour en profiter il faut simplement [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ''​[[apt>​gnome-software-plugin-flatpak]]''​.
 +
 +[[:​gnome-software|GNOME Logiciels]] intégrera désormais les programmes disponibles sur les dépôts Flatpak configurés (mais pas le [[:snap store|Centre d'​applications]],​ développé par [[:​Canonical]],​ qui n'​implémente pas Flatpak et ne les affichera pas).
 +
 +==== Discover ====
 +
 +**[[:​plasma-discover|Plasma Discover]]** (la logithèque [[:KDE]]) dispose aussi d'une extension pour gérer les logiciels Flatpak.
 +Pour en profiter il suffit d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ​ ''​[[apt>​plasma-discover-flatpak-backend]]''​.
 +
 +==== Warehouse ====
 +
 +**[[https://​github.com/​flattool/​warehouse|Warehouse]]** est une logithèque Flatpak proposée elle-même en [[:​Flatpak]] par ses développeurs sur le dépôt [[https://​flathub.org/​fr/​apps/​io.github.flattool.Warehouse|Flathub]].
 +
 +{{https://​raw.githubusercontent.com/​flattool/​warehouse/​refs/​heads/​main/​app_page_screeshots/​packages_page_wide.png?​800|Warehouse,​ page applications}}
 +
 +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ées (//​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 [[#​installation|installé Flatpak]] avec le [[#​ajout_du_depot_flathub|dépôt Flathub]], installer le paquet ''​io.github.flattool.Warehouse'',​ soit en ligne de commande :
 +<​code>​flatpak install io.github.flattool.Warehouse</​code>​
 +
 +==== Easy Flatpak ====
 +
 +**[[https://​www.dupot.org/​desktop.html|Easy Flatpak]]**(([[https://​github.com/​imikado/​dupotEasyFlatpak|GitHub]])) est aussi disponible sur le dépôt [[https://​flathub.org/​fr/​apps/​org.dupot.easyflatpak|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 [[#​installation|installé Flatpak]] avec le [[#​ajout_du_depot_flathub|dépôt Flathub]] en installant le paquet ''​org.dupot.easyflatpak'',​ soit en ligne de commande :
 +<​code>​flatpak install org.dupot.easyflatpak</​code>​
 +
 +==== Bauh ====
 +
 +**[[:​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 [[:​bauh|page de documentation dédiée]].
 +
 +===== Configuration =====
 +
 +==== Fichiers de configuration ====
 +
 +Les fichiers de configuration des logiciels installés ne sont pas déployés dans les répertoires habituels ''​~/​.config''​ ou ''​~/​.local'',​ mais sont par défaut confinés dans ''​~/​.var''​.
 +
 +==== Configuration et permissions des applications ====
 +
 +Les applications étant isolées (//​sandboxées//​) on peut gérer finement leurs permissions d'​accès à chaque élément du système, ainsi que définir des variables d'​environnement spécifiques pour chacune.
 +
 +Ceci peut se faire en ligne de commande (généralement avec la commande ''​[[man>​flatpak-override|flatpak override]]''​) mais le plus accessible est sans aucun doute l'​application [[https://​flathub.org/​apps/​com.github.tchx84.Flatseal|Flatseal]] qui est elle-même distribuée en Flatpak et propose une interface graphique extrêmement pratique et complète pour la gestion de chaque application :((voir par ex. : //​[[https://​fr.ubunlog.com/​flatseal-gui-autorisations-de-triche-applications-flatpak/​|Flatseal,​ une interface graphique pour modifier les autorisations de l'​application Flatpak]]//​))
 +
 +{{https://​raw.githubusercontent.com/​tchx84/​Flatseal/​refs/​heads/​master/​screenshots/​en/​3.png?​800|Flatseal,​ réglage des défauts pour toutes les applications}}
 +
 +Dans la colonne de gauche sont listées les applications installées. Cliquer sur l'​application concernée pour accéder à ses paramètres et autorisations.\\
 +Le premier élément, nommé //Toutes les applications//​ en français, concerne le réglage des défauts pour toutes les applications. Ces paramètres sont écrasés si un autre est défini spécifiquement pour une application.
 +
 +===== Utilisation en ligne de commande =====
 +
 +La commande ''​[[man>​flatpak]]''​ a de nombreuses utilisations possibles (pour le développement et la construction de paquets, pour la gestion avancée de dépôts et des environnements d'​exécution,​ etc.) mais en tant qu'​utilisateur,​ quelques usages en particulier sont à souligner.
 +
 +<note help>​Pensez au [[:​man|manuel]] de la commande pour plus d'​informations.
 +Attention, ''​man flatpak''​ ne vous donne pas d'​informations directement utiles, mais une liste de sous-pages (flatpak-install,​ flatpak-update,​ flatpak-info,​ etc.) indépendantes.
 +
 +Faites alors (par exemple) :
 +<​code>​man flatpak-run</​code>​
 +pour plus d'​informations sur le lancement des applications.
 +</​note>​
 +
 +==== Installation de logiciels ====
 +
 +**Voir le [[:​tutoriel:​installer_application_flatpak|tutoriel dédié]].**
 +
 +  * Soit directement à partir du site [[https://​flathub.org/​home|Flathub]] (ce site est également un magasin d'​application).
 +  * Soit à partir de Gnome Software (si le plugin logithèque a bien été installé). Les logiciels flatpak y sont mélangés avec les logiciels au format .deb. On peut les reconnaître sur la page du logiciel : la zone **source** indique le dépôt : **dl.flathub.org** pour flathub, par exemple.
 +  * Soit en ligne de commande :<​code>​flatpak install identifiant.du.logiciel</​code>​par exemple :<​code>​flatpak install warpinator</​code>​
 +
 +Le premier logiciel que vous installerez sera peut-être long à installer car le système téléchargera un __environnement d'​exécution__,​ qui pourra être réutilisé par les logiciels en format Flatpak installés par la suite.
 +
 +Si plusieurs dépôts ont été ajoutés au système (ou qu'on y trouve plusieurs versions - beta et stable), les différents choix sont présentés,​ et vous choisissez celui qui vous convient. Par exemple :
 +
 +<​code>​flatpak install maps</​code>​
 +
 +<​code>​Looking for matches…
 +Remotes found with refs similar to ‘maps’:
 +
 +   1) ‘flathub’ (system)
 +   2) ‘flathub-beta’ (user)
 +
 +Which do you want to use (0 to abort)? [0-2]: 1
 +Similar refs found for ‘maps’ in remote ‘flathub’ (system):
 +
 +   1) app/​io.github.rinigus.PureMaps/​x86_64/​stable
 +   2) app/​org.gnome.Maps/​x86_64/​stable
 +
 +Which do you want to use (0 to abort)? [0-2]: 2
 +
 +org.gnome.Maps permissions:​
 +    ipc       ​network ​     fallback-x11 ​     wayland ​     x11      dri      dbus access [1]      system dbus access [2]
 +
 +    [1] org.freedesktop.secrets,​ org.gnome.OnlineAccounts,​ org.gnome.evolution.dataserver.AddressBook10,​ org.gnome.evolution.dataserver.Calendar8,​ org.gnome.evolution.dataserver.Sources5,​
 +        org.gnome.evolution.dataserver.Subprocess.Backend.*
 +    [2] org.freedesktop.GeoClue2,​ org.freedesktop.NetworkManager
 +
 +
 +        ID                             ​Branch ​         Op          Remote ​         Download
 + ​1. ​    ​org.gnome.Maps.Locale ​         stable ​         i           ​flathub ​        < 11,7 MB (partial)
 + ​2. ​    ​org.gnome.Maps ​                ​stable ​         i           ​flathub ​         < 5,7 MB
 +
 +Proceed with these changes to the system installation?​ [Y/n]: y
 +</​code>​
 +
 +Le cas présenté est intentionnellement plus bavard que la moyenne.
 +
 +Avec les versions plus anciennes de Flatpak, l'​installation devait préciser le dépôt du logiciel :
 +<​code>​flatpak install dépôt nom-du-logiciel</​code>​
 +Mais l'​actuelle version de Flatpak se débrouille pour trouver par le seul nom du logiciel, quitte à vous proposer un choix si plusieurs options sont trouvées.
 +
 +==== Connaître les logiciels installés ====
 +
 +Au terminal, entrez :
 +<​code>​flatpak list</​code>​
 +
 +==== Lancement d'​application ====
 +
 +Les applications apparaissent avec les autres [[tutoriel:​comment_lancer_application|dans vos menus, normalement]].\\ Toutefois sur certains [[:​environnements]] autres que [[:GNOME]] la mise à jour de la liste des logiciels peut nécessiter un redémarrage du système. Le lancement via ''​[[man>​flatpak-run|flatpak run]]''​ permet de contourner cette nécessité de redémarrage lors des installations fraîches vous pourrez utiliser votre application sans attendre qu'​elle s'​inscrive dans la liste des applications lancées en mode graphique.
 +
 +''​[[man>​flatpak-run|flatpak run]]''​ permet aussi d'​afficher des informations sur l'​exécution de l'​application dans le [[:​terminal]],​ utile en cas de problème.
 +
 +Cela se fait avec la [[:​commande_shell|commande]] suivante :​
 +<​code>​flatpak run identifiant.du.logiciel</​code>​
 +
 +<note tip>​Entrez ''​[[man>​flatpak-run|flatpak run]]''​ + la première lettre du nom complet du logiciel, et utilisez //​tabulation//​ pour voir les noms exacts des applications installées correspondantes</​note>​
 +<note tip>Avec ''​[[man>​flatpak-list|flatpak list]]''​ vous pouvez obtenir la liste des application installées avec leur nom complet (en colonne ''​Application ID''​)</​note>​
 +<note tip>En faisant suivre ''​flatpak run nom.complet.application &''​ du signe ''&''​ vous pouvez continuer à utiliser le terminal sans interrompre l'​exécution de l'​application qui fonctionnera en arrière-plan tant que le terminal sera ouvert.</​note>​
 +
 +==== Mise à jour des logiciels ====
 +
 +Les logiciels au format Flatpak sont mis à jour de la même manière que les autres par la logithèque (onglet "Mises à jour"​).
 +
 +Pour mettre à jour manuellement les applications en ligne de commande :
 +<​code>​flatpak update</​code>​
 +
 +==== Désinstallation de logiciels =====
 +
 +Les logiciels au format Flatpak peuvent être désinstallés de la même manière que les autres par la logithèque (onglet "​Installées"​).
 +
 +Une application au format Flatpak peut être aussi retirée avec la commande
 +<​code>​flatpak uninstall identifiant.du.logiciel</​code>​
 +
 +Pour supprimer les dépendances obsolètes, lancer la commande ''​uninstall''​ avec l'​option ''​%%--unused%%''​ :
 +<​code>​flatpak uninstall --unused</​code>​
 +
 +===== Problèmes courants =====
 +
 +==== Accès aux stockages tiers ====
 +
 +Si une application ne parvient pas à accéder aux fichiers présents sur un stockage externe, il faut l'y autoriser. Il s'agit d'une politique de sécurité par défaut des applications Flatpak.
 +
 +On peut l'y [[#​configuration_et_permissions_des_applications|autoriser]] soit eu moyen de **[[#​Configuration et permissions des applications|Flatseal]]**,​ soit en ligne de commande.
 +
 +Dans l'​interface de **Flatseal** cliquer dans la colonne de gauche sur l'​icône de l'​application en question, puis à droite faire défiler jusqu'​à //​Filesystem (liste des sous-ensembles du système de fichiers disponible pour l'​application)//,​ et activer l'​interrupteur à droite de //Tous les fichiers du système//.
 +
 +//Ou// en ligne de commande :
 +  flatpak override id.de.l.application --filesystem=host
 +où ''​id.de.l.application''​ est à remplacer par l'​identifiant correct de l'​application.
 +
 +L'​application aura ainsi accès à l'​ensemble des fichiers du système.
 +
 +==== Lanceurs et icônes ====
 +
 +Les icônes et fichiers ''​.desktop''​ des applications Flatpak ne se trouvent pas dans ''/​usr/​share/''​ comme d'​habitude,​ mais dans ''/​var/​lib/​flatpak/​exports/​share/''​.
 +
 +Il pourrait arriver que certains [[:​environnements|environnements de bureau]] et certains utilitaires de paramétrage des menus ne soient pas en mesure de gérer ce fonctionnement.
 +
 +==== Thème ====
 +
 +Les versions de Flatpak antérieures à mi-2017 ne prennent pas en compte le thème de l'​utilisateur,​ et n'​autorisent donc que le thème //Adwaita// (ou //​Adwaita-dark//​).\\
 +La solution à ce problème n'​existe que dans les versions de Flatpak postérieures à mi-2017((**(//​en//​)** [[https://​www.omgubuntu.co.uk/​2017/​05/​flatpak-theme-issue-fix|source]])).
 +
 +Pour les versions plus récentes, référez-vous au [[:​tutoriel:​installer_application_flatpak#​themes|paragraphe dédié du tutoriel d'​installation]].
 +
 +==== Problème lors de l'​enregistrement ou l'​accès à un secret ====
 +
 +Certains Flatpak utilisent le //D-bus// ''​org.freedesktop.secrets''​ pour gérer des mots de passe ou des clés secrètes. Il faut dans ce cas leurs y autoriser l'​accès manuellement. Pour ce faire on peut utiliser **[[#​Configuration et permissions des applications|Flatseal]]**,​ ou en ligne de commande :
 +  sudo flatpak override --talk-name=org.freedesktop.secrets id.de.l.application
 +
 +  * ''​id.de.l.application''​ est à remplacer dans cette commande par l'​identifiant correct de l'​application.
 +
 +==== L'​application se ferme peu après avoir été ouverte ====
 +
 +  - Installer [[https://​flathub.org/​apps/​com.github.tchx84.Flatseal|Flatseal]].
 +  - Sélectionner l'​application incriminée.
 +  - Activer l'​option "peut fonctionner en arrière-plan"​.
 +
 +Si cela ne résout pas le problème, lancez l'​application en ligne de commande avec ''​[[#​lancement_d_application|flatpak run]]'',​ un message d'​erreur devrait s'​afficher. Si celui-ci n'est pas éloquent, n'​hésitez pas à demander de l'aide sur le forum !
 +
 +===== Désinstallation =====
 +
 +Pour supprimer la prise en charge des applications au format flatpak, il suffit de [[:​tutoriel:​comment_supprimer_un_paquet|supprimer le paquet]] ''​flatpak''​.
 +
 +Si vous l'​aviez ajouté (version 16.04 seulement), n'​oubliez pas de [[:​ppa#​suppression_d_un_ppa|retirer le PPA]] après désinstallation.
 +
 +<​note>​
 +Si vous désirez simplement retirer //flathub// mais que vous voulez toujours pouvoir profiter de vos applications installées,​ référez-vous plutôt à la section dédiée du [[:​tutoriel/​installer_application_flatpak|tutoriel détaillé]].
 +</​note>​
 +
 +===== Voir aussi =====
 +
 +  * [[wpfr>​Flatpak]]
 +  * [[https://​flatpak.org/​|Site du Projet]]
 +
 +==== Tutoriels ====
 +
 +  * **[[:​tutoriel/​installer_application_flatpak|Tutoriel détaillé d'​installation d'​applications flatpak]]**
 +
 +==== Dépôts ====
 +
 +  * [[https://​flathub.org|Le dépôt majeur où trouver des applications]]
 +
 +==== Alternatives ====
 +
 +  * [[:deb]]
 +  * [[:snap]]
 +  * [[:​Appimage]]
 +  * [[:​Docker]],​ [[docker#​installation|Podman]]
 +  * [[https://​distrobox.it/​|Distrobox]] ([[https://​github.com/​89luca89/​distrobox|GitHub]])
 +  * [[https://​containertoolbx.org|Toolbx]] ([[https://​github.com/​containers/​toolbox|GitHub]])
 +
 +-----
 +
 +//​Contributeurs : [[:​utilisateurs:​roschan]],​ [[:​utilisateurs:​krodelabestiole]]//​
  • flatpak.txt
  • Dernière modification: Le 11/10/2025, 01:54
  • par krodelabestiole