Flatpak exécute les applications dans un bac à sable, un environnement qui limite leur accès au système. Pour ouvrir un fichier, un portail peut transmettre à l’application celui que vous avez choisi ; une autorisation persistante du système de fichiers, elle, donne accès à un chemin tant qu’elle reste active. Les données de l’application et les fichiers d’installation de Flatpak se trouvent aussi dans des emplacements différents.
La portée compte : si l’application a besoin d’un seul fichier, le portail évite de lui accorder d’emblée un accès durable à tout un dossier.
Les permissions Flatpak n’ont pas toutes la même portée
Par défaut, une application Flatpak ne peut accéder sur l’hôte qu’à son environnement d’exécution, à ses propres fichiers, à son dossier de données (~/.var/app/$FLATPAK_ID) et à son propre dossier d’environnement d’exécution. Seuls ces deux derniers emplacements sont accessibles en écriture. L’accès au réseau et aux périphériques est également refusé par défaut ; l’accès aux processus et à D-Bus est limité. La documentation Flatpak sur les permissions décrit ces limites et le rôle des portails.
Un portail intervient lorsqu’une personne choisit une ressource, par exemple un fichier dans une fenêtre de sélection. L’application reçoit alors l’accès à cette ressource choisie. Une autorisation persistante du système de fichiers s’applique plutôt à un chemin défini. Si l’application doit retrouver un dossier sans vous redemander de le sélectionner, accordez l’accès au chemin nécessaire et choisissez le mode lecture seule quand cela suffit. Dans Flatpak, le suffixe :ro indique un accès en lecture seule.
L’autorisation home ne donne pas accès à ~/.var/app, qui contient les données propres aux applications. Le chemin ~/.local/share/flatpak doit, lui, être demandé explicitement. Cela évite de confondre l’accès au dossier personnel avec l’accès à ces répertoires particuliers.
Pour un fichier ponctuel, privilégiez le portail ; pour un accès durable, limitez l’autorisation au chemin nécessaire et à la lecture seule si possible.
Choisir l’interface selon la tâche
Flatseal permet de modifier les dérogations du bac à sable, notamment les autorisations de fichiers. Le guide d’Ouest-France présente Flatpak KCM comme un moyen de gérer les autorisations de portail mémorisées dans KDE Plasma. Ces interfaces répondent à des besoins différents : le portail accorde un accès à une ressource choisie, tandis qu’une dérogation modifie les permissions persistantes de l’application.
| Tâche | Approche | Outil ou interface | Portée concernée |
| Ouvrir un fichier choisi dans une fenêtre de sélection | Accès médié par un portail | Portail de l’application | La ressource sélectionnée |
| Donner un accès durable à un dossier | Dérogation ciblée, en lecture seule si cela suffit | Flatseal | Le chemin autorisé |
| Gérer des autorisations de portail mémorisées dans KDE Plasma | Gérer les autorisations dans les paramètres du bureau | Flatpak KCM | Les accès de portail mémorisés |
| Repérer ou nettoyer les données d’une application désinstallée | Gérer les données propres aux applications | Warehouse | Les données d’application |
Les données d’application ne sont pas l’installation
Le dossier ~/.var/app/$FLATPAK_ID contient les données propres à une application. Les déploiements Flatpak installés pour un utilisateur se trouvent dans $HOME/.local/share/flatpak/ ; l’emplacement par défaut d’une installation pour tout le système est /var/lib/flatpak. La référence des commandes Flatpak distingue ces emplacements. Si vous cherchez les données laissées par une application, c’est le dossier propre à cette application qui est pertinent ; les installations et environnements d’exécution relèvent des deux autres emplacements.
Warehouse sert à gérer les applications et leurs données. Sa fiche Flathub décrit aussi le nettoyage de données inutilisées laissées après la désinstallation et la gestion de snapshots. Elle affiche la version 2.2.0 ainsi que les architectures aarch64 et x86_64. La fiche Warehouse sur Flathub associe ces détails à l’application io.github.flattool.Warehouse.