icône Flatpak

Flatpak, un format de paquets universel

Flatpak est un système libre et communautaire pour la gestion de paquets, le déploiement de logiciels, et l'isolement d'applications (sandboxing). Il peut être intégré aux logithèques graphiques, ou utilisable en ligne de commande.

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 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 permission de l'utilisateur pour accéder au matériel (webcam, clefs USB, …) et aux fichiers personnels.
  • Flathub, le dépôt le plus populaire, propose des milliers d'applications1), 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 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 de donner manuellement certaines 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é).

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 Flathub est ainsi devenu le canal privilégié, et parfois exclusif2) de nombreux développeurs et éditeurs, qui peuvent distribuer en un seul paquet leurs logiciels sur toutes les distributions Linux, en ayant la main sur l'environnement et les dépendances.

Installation de l'utilitaire Flatpak

Pour utiliser Flatpak il faut installer le paquet flatpak.

Intégration aux logithèques

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 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.

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 le site Internet, mais pour l'intégrer à l'utilitaire Flatpak et lister et gérer ses applications avec un gestionnaire, il faut ajouter la source Flathub avec cette commande :

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

GNOME Logiciels intégrera désormais les programmes disponibles sur ce dépôt (mais pas le Centre d'applications, développé par Canonical, qui n'implémente pas Flatpak et ne les affichera pas).

Pour installer d'autres dépôts, voir le tutoriel dédié à l'installation des dépôts Flatpak.

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 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 dédié.

  • Soit directement à partir du site 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.logiciel

    par 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 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 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 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.3)

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-20174).

Pour les versions plus récentes, référez-vous au 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 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

  1. Installer Flatseal.
  2. Sélectionner l'application incriminée.
  3. Activer l'option "peut fonctionner en arrière-plan".

Pour supprimer la prise en charge des applications au format flatpak, il suffit de supprimer le paquet flatpak.

Si vous l'aviez ajouté (version 16.04 seulement), n'oubliez pas de 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 détaillé.

Tutoriels

Dépôts

Logithèques compatibles

Alternatives


  • flatpak.txt
  • Dernière modification: Le 05/07/2025, 21:06
  • par krodelabestiole