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
Prochaine révision
Révision précédente
flatpak [Le 07/07/2017, 13:47]
Roschan ancienne révision (Le 16/06/2017, 20:50) le template n'est pas adapté, cesse de dégrader les pages pour que toutes les pages y ressemblent
flatpak [Le 29/06/2025, 19:15] (Version actuelle)
krodelabestiole [Flatpak, un format de paquets universel] reformulation / refactoring
Ligne 1: Ligne 1:
-{{tag>xenial ​application ​format ​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 ​======
-====== ​Le système ​Flatpak ======+
  
-Le logiciel ​**Flatpak** est un utilitaire ​pour le déploiement de logiciels, ​la gestion de paquets ​et la virtualisation ​d'​applications ​sur ordinateurs personnels.+**[[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 isolée : +Le projet est mené par [[wpfr>​Freedesktop.org]] depuis 2014jadis sous le nom de ''​xdg-app''​le but étant ​de faciliter la distribution d'applications directement par leurs développeurs sur toutes les distributions.
-  * le risque pour la stabilité est moindre (les paquets et fichiers ​de configuration existants ne sont pas modifiés) ; +
-  * il n'y a **pas de conflits de dépendances** ; +
-  * le risque pour la sécurité est moindre : les applications utilisant Flatpak doivent demander la permission de l'utilisateur pour accéder au matériel (webcamclefs USB, ...) et aux fichiers ​de l'utilisateur.+
  
-Le projet ​est mené par freedesktop.org depuis 2014jadis sous le nom de xdg-apple but étant ​de faciliter ​la distribution d'​applications ​par des développeurs tiers 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).
  
-Depuis 2017beaucoup d'​applications populaires commencent à être disponibles ​au format ​Flatpak : Blender, ​[[:Skype]], Spotify, LibreOffice, ​[[:Pitivi]], des applications ​KDEetc.+**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 de donner manuellement certaines ​[[#​configuration_et_permissions_des_applications|permissions]] aux applications ​pour autoriser certaines de leurs fonctionnalitésce qui peut induire une complexité supplémentaire (mais qui est aussi gage de sécurité).
  
-Les applications ​Gnome récentes en cours de développement actif sont parfois même disponibles ​presque uniquement sous forme de Flatpak ​C'​est ​par exemple ​le cas d'[[:Eolie]] au moment où j'écris ces lignes.+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 =====
-==== Pré-requis ==== 
-Une version d'​Ubuntu pas trop ancienne (supérieure à 16.04 devrait suffire). 
  
-<note help>​Comme d'​habitude,​ les pré-requis pour installer un paquet sont précisés sur la page d'​installation des paquets. Il faut les répéter ? Oui ? Pourquoi je mets le lien du coup ? Ayez juste une connexion internet et les droits d'​administrateur. Par contre, ce sont uniquement les pré-requis à l'installation,​ donc ça ne mérite pas un paragraphe dédié hein, les templates du wiki c'est mignon mais quand c'est inadapté à l'​article on s'en fout.</​note>​+==== Installation de l'utilitaire Flatpak ====
  
-==== Installation de Flatpak ​====+Pour utiliser ​Flatpak ​il faut [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] ''​[[apt>​flatpak]]''​.
  
-Flatpak devrait être pré-installé,​ mais au cas où il ne le soit pas, [[installez le paquet]] {{apt>​flatpak}}.+==== Intégration aux logithèques ====
  
-==== Installation ​de logiciels ​utilisant ​Flatpak ​=====+  * 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]].
  
-Ensuite, chaque développeur tiers indique les lignes de commande permettant d'​installer son logiciel au format. Quelques exemples dans l'​onglet "​Command line" de la page http://​flatpak.org/​apps.html+==== Ajout du dépôt Flathub ====
  
-<note help>Il n'​est ​pas nécessaire ​de mettre ​''​sudo''​ devant ​les commandes d'​installation ou de désinstallation des flatpaks, puisqu'​un popup apparaîtra pour vous demander votre mot de passe en cas de besoin !</​note>​+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.
  
-Généralement,​ une seule ligne commençant par ''​flatpak install''​ suffit, mais il est possible qu'on vous demande d'​ajouter ​des dépôts flatpak (''​flatpak remote-add une_adresse_url'​')Remarquez que les logiciels flatpak sont gérables depuis ​[[:gnome-software|la logithèque]] (ça dépend de la version de la logithèque) en fonction des dépôts paramétrés.+**[[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 FlatpakOn 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 :
  
-Un flatpak ​peut ensuite être retiré avec la commande ​''​flatpak ​uninstall nom_du_flatpak''​ (utilisez tabulation pour voir les noms des applications installé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). 
 + 
 +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 ===== ===== Utilisation =====
-Les logiciels apparaissent avec les autres, normalement. En ligne de commande, ils se lancent en faisant ''​flatpak run nom_de_l_appli''​. 
  
-<note help>​Faites ​''​man flatpak''​ pour plus d'informations.</​note>​+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.
  
-===== Problèmes ​rencontrés ​=====+<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 ''​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>​ 
 + 
 +<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 ==== 
 + 
 +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>​ 
 + 
 +==== 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 ==== ==== 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/'' ​et il est très 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.+ 
 +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 ==== ==== 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((http://​www.omgubuntu.co.uk/​2017/​05/​flatpak-theme-issue-fix)).+ 
 +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. 
 + 
 +<​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 ===== ===== Voir aussi =====
-  ​* [[wpfr>flatpak]] + 
-  * http://​flatpak.org/​ +  ​* [[wpfr>Flatpak]] 
-  * http://flatpak.org/apps.html +  * [[https://​flatpak.org/​|Site du Projet]] 
-  * [[gnome-software|Logithèque GNOME]]+ 
 +==== 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]], ​...+ 
 +//Contributeurs : [[:utilisateurs:roschan]], ​[[:​utilisateurs:​krodelabestiole]]//​
  • flatpak.1499428046.txt.gz
  • Dernière modification: Le 07/07/2017, 13:47
  • par Roschan