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

Il fournit un environnement isolé du reste du système (sandbox), où l'utilisateur peut faire fonctionner des applications 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 (en contrepartie, ça prend plus de place que les paquets des dépôts) ;
  • 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 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.

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.

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 !

Pré-requis

  • Il faut absolument une version d’Ubuntu supérieure ou égale à 16.04.
  • Les 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

Méthode recommandée (18.04 et plus)

Installez le paquet flatpak depuis les dépôts.

- Le paquet gnome-software-plugin-flatpak (qui n'existe pas pour la version 16.04) permet, optionnellement, de pouvoir gérer les logiciels Flatpak depuis la logithèque GNOME. - Le paquet plasma-discover-flatpak-backend (qui n'existe pas pour la version 16.04) permet, optionnellement, de pouvoir gérer les logiciels Flatpak depuis la logithèque KDE.

Depuis un PPA (pour la version 16.04)

  1. Ajoutez le dépôt PPA ppa:alexlarsson/flatpak1) dans vos sources de logiciels.

Configuration

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.

Voir le tutoriel dédié pour des explications détaillées.

Le principal dépôt de logiciels au format Flatpak est Flathub ; il est explorable en ligne 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 :

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

Votre logithèque intègrera désormais les programmes disponibles sur ce dépôt.

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

Une fois les dépôts configurés, on peut installer les logiciels en provenance de Flathub directement depuis la logithèque.

Ou bien, en ligne de commande :

flatpak install nom_du_depot identifiant.du.logiciel
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.

Avec les versions les plus récentes, l'installation peut se faire avec une commande plus simple

flatpak install nom-du-logiciel

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 :

flatpak install maps

peut avoir le retour interactif suivant (ici hélas en anglais) :

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

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.

Lancement de logiciels

Les logiciels apparaissent avec les autres dans vos menus, normalement.

Vous pouvez aussi les lancer via le terminal avec la commande suivante :

flatpak run identifiant.du.logiciel
Utilisez tabulation pour voir les noms exacts des applications installées

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

Pour mettre à jour manuellement les applications en ligne de commande :

flatpak update

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

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 c'est l'option –unused à coupler avec uninstall

flatpak uninstall --unused

Exemple :

        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.

Fichiers de configuration

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

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

Pour les versions plus récentes, référez-vous au paragraphe dédié du tutoriel d'installation.

Désinstallation

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

Voir aussi