Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
flatpak [Le 29/06/2025, 19:15] krodelabestiole [Flatpak, un format de paquets universel] reformulation / refactoring |
flatpak [Le 11/10/2025, 18:13] (Version actuelle) krodelabestiole [Configuration et permissions des applications] +chapitre flatseal |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>Focal application paquet}} | {{tag>Focal application paquet}} | ||
+ | |||
{{ :icons:flatpak.png?direct&160|icône Flatpak}} | {{ :icons:flatpak.png?direct&160|icône Flatpak}} | ||
Ligne 18: | Ligne 19: | ||
* Le démarrage des applications peut s'avérer un peu plus lent. | * 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'espace de stockage exploité par les applications avec leurs dépendances individuelles est plus important. | ||
- | * L'isolement en bac à sable requiert de donner manuellement certaines [[#configuration_et_permissions_des_applications|permissions]] aux applications pour autoriser certaines de leurs fonctionnalités, ce qui peut induire une complexité supplémentaire (mais qui est aussi gage de sécurité). | + | * 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]]. | 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]]. | ||
Ligne 30: | Ligne 31: | ||
Pour utiliser Flatpak il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>flatpak]]''. | Pour utiliser Flatpak il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>flatpak]]''. | ||
- | ==== Intégration aux logithèques ==== | + | ==== Ajout du dépôt Flathub ==== |
- | * Le paquet ''[[apt>gnome-software-plugin-flatpak]]'' permet de gérer les logiciels Flatpak depuis la [[:gnome-software|logithèque GNOME]]. | + | 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. |
- | * Le paquet ''[[apt>plasma-discover-flatpak-backend]]'' permet de gérer les logiciels Flatpak depuis la [[:plasma-discover|logithèque KDE]]. | + | |
- | ==== Ajout du dépôt Flathub ==== | + | **[[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> | ||
- | Les logiciels Flatpak ne viennent pas des dépôts de [[:Canonical]] (qui soutient plutôt [[:snap]]), mais d'autres dépôts. Il faut référencer les dépôts qui nous intéressent avant de pouvoir installer quoi que ce soit sur Ubuntu. | + | 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. |
- | **[[https://flathub.org/fr|Flathub]]** est le principal dépôt de logiciels au format Flatpak : il est maintenu par des tiers de confiance et fournit l'énorme majorité des applications disponibles en Flatpak. On peut explorer celles-ci en ligne sur [[https://flathub.org/fr|ce site Internet]], mais pour l'intégrer à l'utilitaire Flatpak et lister et gérer ses applications avec la logithèque ou depuis le terminal, il faut ajouter **Flathub** comme source de logiciels avec cette commande : | + | 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). |
- | <code bash>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code> | + | ===== Logithèques ===== |
- | [[:gnome-software|GNOME Logiciels]] intégrera désormais les programmes disponibles sur ce dépôt (mais la logithèque Ubuntu ne les affichera pas). | + | |
+ | 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]]. | ||
+ | |||
+ | {{:captures:warehouse.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, avec la commande ''[[man>flatpak-override|flatpak override]]'', mais le plus accessible est sans aucun doute l'application **Flatseal** : | ||
+ | |||
+ | === Flatseal === | ||
+ | |||
+ | **[[https://flathub.org/apps/com.github.tchx84.Flatseal|Flatseal]]** est lui-même distribué en Flatpak sur [[https://flathub.org/fr/apps/com.github.tchx84.Flatseal|Flathub]], et propose une interface graphique extrêmement pratique et complète pour la gestion de chaque application, de ses permissions et de son "bac à sable".((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]]//)) | ||
+ | |||
+ | Après avoir [[#installation|installé Flatpak]] avec le [[#ajout_du_depot_flathub|dépôt Flathub]], **Flatseal** s'installe via le paquet ''com.github.tchx84.Flatseal'', soit en ligne de commande : | ||
+ | <code>flatpak install com.github.tchx84.Flatseal</code> | ||
+ | |||
+ | {{:captures:flatseal.png?800|Flatseal, réglage des défauts pour toutes les applications}} | ||
- | 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. | + | 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//, 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 ===== | + | ===== Utilisation en ligne de commande ===== |
- | La commande ''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. | + | 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. | <note help>Pensez au [[:man|manuel]] de la commande pour plus d'informations. | ||
Ligne 114: | Ligne 180: | ||
==== Lancement d'application ==== | ==== 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 ''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. | + | 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. |
- | ''flatpak run'' permet aussi d'afficher des informations sur l'exécution de l'application dans le [[:terminal]], utile en cas de problème. | + | ''[[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 : | Cela se fait avec la [[:commande_shell|commande]] suivante : | ||
<code>flatpak run identifiant.du.logiciel</code> | <code>flatpak run identifiant.du.logiciel</code> | ||
- | <note tip>Entrez ''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>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 ''flatpak list'' vous pouvez obtenir la liste des application installées avec leur nom complet (en colonne ''Application ID'')</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> | <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> | ||
Ligne 142: | Ligne 208: | ||
<code>flatpak uninstall --unused</code> | <code>flatpak uninstall --unused</code> | ||
- | ==== Fichiers de configuration ==== | + | ===== Problèmes courants ===== |
- | 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''. | + | ==== Accès aux stockages tiers ==== |
- | ==== Configuration et permissions des applications ==== | + | 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. |
- | 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. | + | 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. |
- | Ceci peut se faire en ligne de commande (généralement avec la commande ''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]]//)) | + | 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//. |
- | ===== Problèmes courants ===== | + | //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 ==== | ==== Lanceurs et icônes ==== | ||
Ligne 158: | Ligne 228: | ||
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/''. | 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 est alors probable que vos thèmes d'icônes et certains utilitaires de paramétrage des menus ne soient pas en mesure de gérer ce fonctionnement. | + | 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 ==== | ==== Thème ==== | ||
Ligne 179: | Ligne 249: | ||
- Sélectionner l'application incriminée. | - Sélectionner l'application incriminée. | ||
- Activer l'option "peut fonctionner en arrière-plan". | - 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 ===== | ===== Désinstallation ===== | ||
Ligne 202: | Ligne 274: | ||
* [[https://flathub.org|Le dépôt majeur où trouver des applications]] | * [[https://flathub.org|Le dépôt majeur où trouver des applications]] | ||
- | |||
- | ==== Logithèques compatibles ==== | ||
- | |||
- | * [[:gnome-software|Logithèque GNOME]] | ||
- | * [[:plasma-discover|Logithèque KDE Plasma]] | ||
- | * [[:Bauh]] | ||
==== Alternatives ==== | ==== Alternatives ==== | ||
Ligne 213: | Ligne 279: | ||
* [[:deb]] | * [[:deb]] | ||
* [[:snap]] | * [[:snap]] | ||
- | * [[:appimage]] | + | * [[:Appimage]] |
- | * [[:docker]] | + | * [[:Docker]], [[docker#installation|Podman]] |
- | * [[https://github.com/89luca89/distrobox|Distrobox]] | + | * [[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]]// | //Contributeurs : [[:utilisateurs:roschan]], [[:utilisateurs:krodelabestiole]]// |