{{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]]. 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) ; * 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 [[#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"). Inconvénients : le démarrage est un peu plus lent, et la taille sur disque est plus importante. 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. 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]]. 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)) 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.)) ===== Installation ===== ==== Installation de l'utilitaire Flatpak ==== Pour utiliser Flatpak il faut [[:tutoriel:comment_installer_un_paquet|installer le paquet]] ''[[apt>flatpak]]''. ==== Intégration aux logithèques ==== * 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]]. ==== Ajout du dépôt Flathub ==== 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. **[[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 : flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo [[: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). 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. ===== Utilisation ===== 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. 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) : man flatpak-run pour plus d'informations sur le lancement des applications. ==== 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 :flatpak install identifiant.du.logicielpar exemple :flatpak install warpinator 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 : flatpak install maps 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 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 : flatpak install dépôt nom-du-logiciel 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 : flatpak list ==== 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 : flatpak run identifiant.du.logiciel 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 Avec ''flatpak list'' vous pouvez obtenir la liste des application installées avec leur nom complet (en colonne ''Application ID'') 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. ==== 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 : flatpak update ==== 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 flatpak uninstall identifiant.du.logiciel Pour supprimer les dépendances obsolètes, lancer la commande ''uninstall'' avec l'option ''%%--unused%%'' : flatpak uninstall --unused ==== 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 ''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 ==== 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. ==== 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". ===== 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. 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é]]. ===== 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]] ==== Logithèques compatibles ==== * [[:gnome-software|Logithèque GNOME]] * [[:plasma-discover|Logithèque KDE Plasma]] * [[:Bauh]] ==== Alternatives ==== * [[:deb]] * [[:snap]] * [[:appimage]] * [[:docker]] * [[https://github.com/89luca89/distrobox|Distrobox]] ----- //Contributeurs : [[:utilisateurs:roschan]], [[:utilisateurs:krodelabestiole]]//