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 06/02/2021, 07:49] 78.203.218.4 [Installation de logiciels] |
flatpak [Le 20/05/2025, 03:08] (Version actuelle) krodelabestiole icône pas imgur |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Focal Bionic Xenial application paquet}} | + | {{tag>Focal application paquet}} |
- | ---- | + | {{ :icons:flatpak.png?direct&160|icône Flatpak}} |
- | + | ||
- | {{ http://i.imgur.com/epoTNSU.png?100}} | + | |
====== Flatpak, un format de paquets universel ====== | ====== Flatpak, un format de paquets universel ====== | ||
- | Le logiciel **flatpak** est un utilitaire (intégré aux logithèques graphiques, ou bien utilisable en ligne de commande) pour la gestion de paquets, le déploiement de logiciels, et l'isolement d'applications (//sandboxing//). | + | **[[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]]. |
- | Il fournit un environnement isolé du reste du système (//sandbox//), où l'utilisateur peut faire fonctionner des applications de manière sûre : | + | Il fournit des environnements isolés du reste du système (//sandboxes//), où l'utilisateur peut faire fonctionner chaque application de manière sûre : |
* le risque pour la stabilité est moindre (les paquets existants ne sont pas modifiés par l'installation des applis) ; | * le risque pour la stabilité est moindre (les paquets existants ne sont pas modifiés par l'installation des applis) ; | ||
- | * il n'y a **pas de conflits de dépendances** (en contrepartie, ça prend plus de place que les paquets des dépôts) ; | + | * il n'y a **pas de conflits de dépendances** (mais plus gourmand en espace que le [[:deb]]) ; |
- | * le risque pour la sécurité est moindre : les applications au format Flatpak demandent la permission de l'utilisateur pour accéder au matériel (webcam, clefs USB, ...) et aux fichiers de l'utilisateur. | + | * le risque pour la sécurité est moindre : les applications au format Flatpak demandent la [[#configuration_et_permissions_des_applications|permission de l'utilisateur]] pour accéder au matériel (webcam, clefs USB, ...) et aux fichiers de l'utilisateur ("bac à sable"). |
- | 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 par des développeurs tiers sur toutes les distributions. | + | Inconvénients : le démarrage est un peu plus lent, et la taille sur disque est plus importante. |
- | Depuis 2017, beaucoup d'applications populaires commencent à être disponibles au format Flatpak : [[:Blender]], [[:Skype]], [[:Spotify]], [[:LibreOffice]], [[:Pitivi]], certaines applications [[:KDE]], beaucoup d'applications [[:GNOME]], beaucoup d'applications //elementaryOS//, etc. | + | 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 par des développeurs tiers sur toutes les distributions. |
- | Les applications récentes en cours de développement actif sont parfois même dans un premier temps disponibles presque uniquement sous forme de Flatpak ! | + | 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]]. |
- | ===== Pré-requis ===== | + | On trouve aujourd'hui plusieurs milliers d'applications sur le dépôt le plus populaire : [[https://flathub.org/fr|Flathub]].((plus de [[https://docs.flathub.org/blog/over-one-million-active-users-and-growing|2400 applications]] début 2024)) |
- | * Il faut absolument une version d’Ubuntu **supérieure ou égale à [[:16.04]]**. | + | C'est le canal privilégié de nombreux développeurs, 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, ce qui explique que certaines applications ne soient même disponibles presque que sous forme de Flatpak !((C'est le cas de [[https://usebottles.com/|Bottles]] et de nombreuses [[https://apps.gnome.org/fr/|applis pour GNOME]] par exemple.)) |
- | * Les [[:sudo|droits d’administration]] et une connexion internet sont requis pour l’installation du paquet **flatpak** lui-même. | + | |
- | * Une connexion à internet est aussi nécessaire pour télécharger les logiciels à installer //via// **flatpak**. | + | |
- | ===== Installation de l'utilitaire flatpak===== | + | ===== Installation ===== |
- | ==== Méthode recommandée (18.04 et plus) ==== | + | ==== Installation de l'utilitaire Flatpak ==== |
- | [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>flatpak]]** depuis les dépôts. | + | Pour utiliser Flatpak il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>flatpak]]''. |
- | - Le paquet **[[apt>gnome-software-plugin-flatpak]]** (qui n'existe pas pour la version 16.04) permet, optionnellement, de pouvoir gérer les logiciels Flatpak depuis la [[:gnome-software|logithèque GNOME]]. | + | ==== Intégration aux logithèques ==== |
- | - Le paquet **[[apt>plasma-discover-flatpak-backend]]** (qui n'existe pas pour la version 16.04) permet, optionnellement, de pouvoir gérer les logiciels Flatpak depuis la [[:plasma-discover|logithèque KDE]]. | + | |
- | ==== Depuis un PPA (pour la version 16.04) ==== | + | * Le paquet ''[[apt>gnome-software-plugin-flatpak]]'' permet de gérer les logiciels Flatpak depuis la [[:gnome-software|logithèque GNOME]]. |
+ | * Le paquet ''[[apt>plasma-discover-flatpak-backend]]'' permet de gérer les logiciels Flatpak depuis la [[:plasma-discover|logithèque KDE]]. | ||
- | - [[:PPA|Ajoutez le dépôt PPA]] **ppa:alexlarsson/flatpak**((https://launchpad.net/~alexlarsson/+archive/ubuntu/flatpak)) dans vos sources de logiciels. | + | ==== Ajout du dépôt Flathub ==== |
- | - [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]] | + | |
- | - [[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>flatpak]]**. | + | |
- | ===== Configuration ===== | + | 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. |
- | Les logiciels Flatpak ne viennent pas des dépôts d'Ubuntu, mais de sites souvent alimentés directement par les développeurs. Il faut configurer ces dépôts avant de pouvoir installer quelque chose. | + | **[[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 : |
- | **Voir le [[:tutoriel/installer_application_flatpak#ajouter_le_depot_flathub|tutoriel dédié]] pour des explications détaillées.** | + | <code bash>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code> |
+ | [[: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). | ||
- | Le principal dépôt de logiciels au format Flatpak est **Flathub** ; il est explorable en ligne [[https://flathub.org/apps|ici]] sous forme de site web. Pour l'explorer depuis la logithèque ou depuis le terminal, on peut l'ajouter comme une source de logiciels avec la commande : | + | 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. |
- | + | ||
- | <code bash>flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</code> | + | |
- | + | ||
- | Votre logithèque intègrera désormais les programmes disponibles sur ce dépôt. | + | |
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 66: | Ligne 57: | ||
==== Installation de logiciels ==== | ==== Installation de logiciels ==== | ||
- | **Voir le [[:tutoriel/installer_application_flatpak|tutoriel dédié]].** | + | **Voir le [[:tutoriel:installer_application_flatpak|tutoriel dédié]].** |
- | Une fois les dépôts configurés, on peut installer les logiciels en provenance de **Flathub** directement depuis la logithèque. | + | * 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> | ||
- | Ou bien, en ligne de commande : | + | 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. |
- | <code>flatpak install nom_du_depot identifiant.du.logiciel</code> | + | 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 : |
- | + | ||
- | <note help>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.</note> | + | |
- | + | ||
- | Avec les versions les plus récentes, l'installation peut se faire avec une commande plus simple | + | |
- | <code>flatpak install nom-du-logiciel</code> | + | |
- | La commande d'installation agit alors comme une recherche simplifiée : en fonction des logiciels correspondants dans les dépôts que vous avez configurés, on vous demandera de clarifier quel dépôt utiliser et quel logiciel installer. Par exemple : | + | |
<code>flatpak install maps</code> | <code>flatpak install maps</code> | ||
- | |||
- | peut avoir le retour interactif suivant (ici hélas en anglais) : | ||
<code>Looking for matches… | <code>Looking for matches… | ||
Ligne 113: | Ligne 98: | ||
</code> | </code> | ||
- | Il s'agit d'un exemple pour illustrer qu'avec la syntaxe simplifiée, la commande a toujours besoin de connaître le dépôt et l'identifiant exact du logiciel, mais le cas présenté est intentionnellement plus bavard que la moyenne. | + | Le cas présenté est intentionnellement plus bavard que la moyenne. |
- | ==== Lancement de logiciels ==== | + | 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. | ||
- | Les logiciels apparaissent avec les autres [[tutoriel:comment_lancer_application|dans vos menus, normalement]]. | + | ==== Connaître les logiciels installés ==== |
- | Vous pouvez aussi les lancer via le [[:terminal]] avec la [[:commande_shell|commande]] suivante :\\ | + | 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 ''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. | ||
+ | |||
+ | 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>Utilisez tabulation pour voir les noms exacts des applications installées</note> | + | <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>Avec ''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 ==== | ==== Mise à jour des logiciels ==== | ||
- | Les logiciels en format Flatpak sont mis à jour de la même manière que les autres par la logithèque (onglet "Mises à jour"). | + | 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 : | Pour mettre à jour manuellement les applications en ligne de commande : | ||
Ligne 133: | Ligne 131: | ||
==== Désinstallation de logiciels ===== | ==== Désinstallation de logiciels ===== | ||
- | Les logiciels en format Flatpak peuvent être désinstallés de la même manière que les autres par la logithèque (onglet "Installées"). | + | 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é avec la commande | + | Une application au format Flatpak peut être aussi retirée avec la commande |
<code>flatpak uninstall identifiant.du.logiciel</code> | <code>flatpak uninstall identifiant.du.logiciel</code> | ||
- | Pour supprimer les dépendances obsolètes c'est l'option --unused à coupler avec uninstall | + | |
+ | Pour supprimer les dépendances obsolètes, lancer la commande ''uninstall'' avec l'option ''%%--unused%%'' : | ||
<code>flatpak uninstall --unused</code> | <code>flatpak uninstall --unused</code> | ||
- | Exemple : | ||
- | <code> ID Branch Op | ||
- | 1. [-] org.freedesktop.LinuxAudio.LadspaPlugins.swh 19.08 r | ||
- | 2. [-] org.freedesktop.Platform.GL.default 19.08 r | ||
- | 3. [-] org.freedesktop.Platform.GL.nvidia-440-100 1.4 r | ||
- | 4. [-] org.freedesktop.Platform.GL.nvidia-450-66 1.4 r | ||
- | 5. [-] org.freedesktop.Platform.GL.nvidia-450-80-02 1.4 r | ||
- | 6. [-] org.freedesktop.Platform.GL.nvidia-455-38 1.4 r | ||
- | 7. [-] org.freedesktop.Platform.GL.nvidia-455-45-01 1.4 r | ||
- | 8. [-] org.freedesktop.Platform.VAAPI.Intel 19.08 r | ||
- | 9. [-] org.kde.Platform 5.14 r | ||
- | 10. [-] org.kde.Platform.Locale 5.14 r | ||
- | Uninstall complete.</code> | + | ==== Fichiers de 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''. |
- | Les fichiers de configuration des logiciels installés ne sont pas dans les répertoires "classiques" **~/.config** ou **~/.local**, ils sont dans **~/.var** | + | |
- | ===== Problèmes rencontrés ===== | + | ==== 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 ''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]]//)) | ||
+ | |||
+ | ===== Problèmes courants ===== | ||
==== Lanceurs et icônes ==== | ==== Lanceurs et icônes ==== | ||
Ligne 168: | Ligne 160: | ||
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//).\\ | 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((http://www.omgubuntu.co.uk/2017/05/flatpak-theme-issue-fix|Source)). | + | 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 ==== | ||
- | Pour les versions plus récentes, référez-vous au [[https://doc.ubuntu-fr.org/tutoriel/installer_application_flatpak#themes|paragraphe dédié du tutoriel d'installation]]. | + | - 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". | ||
===== Désinstallation ===== | ===== Désinstallation ===== | ||
Ligne 185: | Ligne 190: | ||
* [[wpfr>Flatpak]] | * [[wpfr>Flatpak]] | ||
- | * [[http://flatpak.org/|Site du Projet]] | + | * [[https://flatpak.org/|Site du Projet]] |
- | Tutoriels : | + | ==== Tutoriels ==== |
* **[[:tutoriel/installer_application_flatpak|Tutoriel détaillé d'installation d'applications flatpak]]** | * **[[:tutoriel/installer_application_flatpak|Tutoriel détaillé d'installation d'applications flatpak]]** | ||
- | Dépôts : | + | ==== Dépôts ==== |
* [[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 : | + | ==== Logithèques compatibles ==== |
* [[:gnome-software|Logithèque GNOME]] | * [[:gnome-software|Logithèque GNOME]] | ||
Ligne 201: | Ligne 206: | ||
* [[:Bauh]] | * [[:Bauh]] | ||
- | Formats alternatifs : | + | ==== Alternatives ==== |
+ | * [[:deb]] | ||
* [[:snap]] | * [[:snap]] | ||
* [[:appimage]] | * [[:appimage]] | ||
+ | * [[:docker]] | ||
+ | * [[https://github.com/89luca89/distrobox|Distrobox]] | ||
----- | ----- | ||
- | //Contributeurs : [[:utilisateurs:roschan]] | + | //Contributeurs : [[:utilisateurs:roschan]], [[:utilisateurs:krodelabestiole]]// |
- | , ...// | + |