
Les flatpak sont, sous Linux, un système de paquets universels. Le but est de faciliter le déploiement sécurisé d'applications sur différentes distributions.
Les applications sont exécutées dans un environnement « bac à sable » (sandbox) pour que ces applications soient isolées du système mais que les documents soient accessibles.
Chaque paquet dispose de permissions particulières, exemple avec Kdenlive :
Code TEXT : permissions: ipc, network, pulseaudio, x11, devices
file access: host, xdg-config/kdeglobals:ro, xdg-run/dconf, ~/.config/dconf:ro
dbus access: com.canonical.AppMenu.Registrar, com.canonical.AppMenu.Registrar.*
Un flatpak nécessitant des dépendances (Exemple : Kdenlive ayant besoin de Qt), flatpak s'occupe de gérer ces dernières lors de l'installation.
Il est possible de gérer ses paquets flatpak avec GNOME Logiciels (Dans Fedora et CentOS par exemple) ou en ligne de commande.
La partie graphique étant très intuitive, cet article se consacre principalement à la gestion en mode texte.
Le logiciel Kdenlive sera utilisé dans cet article car il est simple et est représentatif de la plupart des applications disponibles (Dépend de Qt et KDE, Possède des traductions)
Sur votre distribution, vous devez installer flatpak.
Sur Fedora, CentOS c'est le cas par défaut.
Ensuite, ces paquets sont stockés dans des dépôts. Le plus connu et rempli est
flathub.
Pour ajouter le dépôt "flathub" suivre les instructions sur le site web :
https://flatpak.org/setup/
Pour installer le dépôt en graphique GNOME Logiciels : Télécharger le fichier
https://flathub.org/repo/flathub.flatpakrepo et l'exécuter pour que le dépôt s'installe avec GNOME Logiciels.
En ligne de commande :
Les paquets flatpak portent toutes la même dénomination (l'identifiant ou id) :
com.societe.Application
Exemple : org.kde.kdenlive
Exemple : org.gimp.GIMP
Exemple : com.google.AndroidStudio
Exemple : fr.handbrake.ghb
Les paquets de langue de l'applications sont nommés ainsi :
Code TEXT :com.societe.application.Locale
Exemple : org.kde.kdenlive.Locale
Si on veut trouver une architecture bien précise, on la précise ainsi :
Code TEXT :com.societe.application/arch
Exemple : org.kde.kdenlive/i386
Parfois des logiciels sont fournis en plusieurs versions (Branches) pour les manipuler, on précise la version avec une double barre oblique :
Exemple : org.kde.Platform.Locale//5.12
Les flatpak peuvent s'installer de 2 manières :
system : c'est à dire que les applications sont utilisables par tous les utilisateurs du système. (C'est l'option par défaut)
user : l'application est installée pour l'utilisateur exécutant la commande. L'option --user doit être spécifiée pour installer le flatpak dans ce mode.
Pour gérer les dépôts, 3 sous commandes sont utiles.
Installer un dépôt distant (exemple avec flathub):
Lister les dépôts distants :
Code TEXT :Name Options
flathub system
Si on veut supprimer un dépôt (exemple avec flathub) :
Pour trouver des applications on va utiliser la commande search :
Exemple :
Code TEXT :Application ID Version Branch Remotes Description
org.kde.kdenlive 18.12.1 stable flathub Video Editor
Cette commande liste uniquement les applications. Si on cherche des traductions, la commande search ne les affichera pas.
Pour avoir tout le contenu du dépôt et lister ce qui nous intéresse, on va préférer la commande remote-ls (à coupler avec grep pour filtrer sur le logiciel) :
Exemple pour Kdenlive :
Code TEXT :org.kde.kdenlive
org.kde.kdenlive.Debug
org.kde.kdenlive.Locale
org.kde.kdenlive.Sources
Pour installer un flatpak, on utilise la commande install et on précise le nom du dépôt :
Exemple :
Code TEXT :Required runtime for org.kde.kdenlive/x86_64/stable (runtime/org.kde.Platform/x86_64/5.12) found in remote flathub
Do you want to install it? [y/n]: y
Installing in system:
org.kde.Platform/x86_64/5.12 flathub d3e20330f263
org.kde.KStyle.Adwaita/x86_64/5.12 flathub ff24e32a3ab8
org.kde.Platform.Locale/x86_64/5.12 flathub 0e043b7a8e49
org.kde.kdenlive/x86_64/stable flathub 3e6f5af9d954
permissions: ipc, network, pulseaudio, x11, devices
file access: host, xdg-config/kdeglobals:ro, xdg-run/dconf, ~/.config/dconf:ro
dbus access: com.canonical.AppMenu.Registrar, com.canonical.AppMenu.Registrar.*
org.kde.kdenlive.Locale/x86_64/stable flathub 9ffa8a28cadd
Les dépendances sont gérées puisque ici, Kdenlive a besoin de la plateforme KDE, qui est téléchargée également.
Pour installer les traductions de Kdenlive :
A noter, les versions récentes de flatpak (supérieures à 1.2 )autorisent l'installation de logiciels juste avec le nom (et non plus le paquet tout entier) :
Pour avoir plus d'infos sur les platpak installés (version, architecture, dépôt, Runtime utilisé/version, etc.) c'est la commande info :
Exemple :
Code TEXT :Ref: app/org.kde.kdenlive/x86_64/stable
ID: org.kde.kdenlive
Arch: x86_64
Branch: stable
Origin: flathub
Collection ID: org.flathub.Stable
Date: 2019-01-29 07:57:02 +0000
Subject: update: KDE runtime 5.12 (0c16024d)
Commit: 3e6f5af9d954fba57cf562017e3a26f6181c03a391cd7c4ffa042c9bcb2b43f2
Parent: 44b566eabdfbbf07338e4949bda8135131794cbaa98790051a50dbc6fb4f5461
Location: /var/lib/flatpak/app/org.kde.kdenlive/x86_64/stable/3e6f5af9d954fba57cf562017e3a26f6181c03a391cd7c4ffa042c9bcb2b43f2
Installed size: 402.5 MB
Runtime: org.kde.Platform/x86_64/5.12
Sdk: org.kde.Sdk/x86_64/5.12
Une fois les applications installées,on les lance graphiquement comme une application normale (les icônes et raccourcis sont créés dans le menu d'application.
En ligne de commande, on procédera ainsi :
Exemple :
C'est ainsi qu'on verra aussi les retours dans la console et les différentes erreurs (traduction manquante, crash, etc...)
Pour mettre à jour on utilise la commande update
Exemple :
Code TEXT :Looking for updates...
Installing in system:
org.freedesktop.Platform.Locale/x86_64/18.08 flathub 3756db4fedc7
org.freedesktop.Platform.html5-codecs/x86_64/18.08 flathub 337041240b18
Is this ok [y/n]: y
Pour lister les applications installées sur le système, il s'agit de la commande list.
Exemple :
Si on ne veut lister que les applications installées (pas les traductions, les dépendances) on ajoute --app :
Exemple :
Code TEXT :Ref Options
org.gimp.GIMP/x86_64/stable system,current
org.kde.kdenlive/x86_64/stable system,current
org.libreoffice.LibreOffice/x86_64/stable system,current
Pour supprimer des applications installées sur le système, il s'agit de la commande uninstall
Exemple :
Code TEXT :Uninstalling from system:
org.kde.kdenlive/x86_64/stable
org.kde.kdenlive.Locale/x86_64/stable
Is this ok [y/n]: y
Et pour supprimer les dépendances obsolètes c'est l'option --unused à coupler avec uninstall
Code TEXT :Uninstalling from system:
org.kde.KStyle.Adwaita/x86_64/5.12
org.kde.Platform/x86_64/5.12
org.kde.Platform.Locale/x86_64/5.12
Is this ok [y/n]:
Si une application reste en anglais, la lancer dans la console :
Exemple : flatpak run org.kde.kdenlive
Le message typique est :
Code TEXT :Gtk-WARNING **: 11:41:45.337: Locale not supported by C library.
Using the fallback 'C' locale
Pour les applications GTK, vérifier que :
org.gnome.Platform.Locale soit installé
org.xxx.logiciel.Locale soit aussi installé
Pour les applications Qt, vérifier que :
org.kde.Platform.Locale soit installé (dans la version nécessaire)
org.xxx.logiciel.Locale soit aussi installé
Si tout est installé, vérifier dans les paramètres de l'application s'il n'y a pas la possibilité de changer la langue en Français.
Si malgré tout vous voulez en savoir plus sur les flatpak, les pages de manuel sont garnies d'options :
Ainsi que les pages man de toutes les sous commandes listées dans la page man précédente :