Guide
FSKit : comment les apps ajoutent des systèmes de fichiers à macOS
Pendant des décennies, un nouveau type de disque sur Mac voulait dire du code dans le noyau. FSKit permet à une app ordinaire de s’en charger, et macOS 26 a élargi ce que cette app peut monter.
FSKit est le framework d’Apple pour les systèmes de fichiers créés par des apps. Une app embarque une petite extension, cette extension tourne dans l’espace utilisateur comme n’importe quel autre processus, et macOS monte ce qu’elle fournit comme un volume dans le Finder. Avant FSKit, un système de fichiers tiers voulait dire une extension du noyau, ce qui, sur un Mac avec puce Apple, voulait aussi dire abaisser les réglages de sécurité du Mac depuis la récupération macOS.
FSKit est arrivé avec macOS Sequoia 15.4, en mars 2025, pour les systèmes de fichiers qui résident sur un disque. macOS 26 a ajouté deux nouveaux types de source, un chemin et une URL, si bien qu’un système de fichiers peut désormais venir d’un dossier, d’un serveur ou d’un appareil au bout d’un câble. Pour vous, s’en servir se résume à un seul interrupteur dans Réglages Système : Général > Ouverture et extensions > Extensions du système de fichiers.
Ce que fait un système de fichiers
Chaque volume d’un Mac repose sur un système de fichiers. Quand le Finder affiche un dossier, ou qu’une app ouvre un fichier, macOS demande à ce système de fichiers les noms, les tailles, les dates et les octets, et le système de fichiers répond depuis l’endroit où vivent les données : une partition d’un SSD pour APFS, une carte mémoire pour exFAT, un serveur pour SMB.
Un module FSKit est cette partie qui répond, empaquetée sous forme d’extension d’app à l’intérieur d’une app. La documentation d’Apple l’appelle un FSModule et décrit trois notions : une ressource, d’où viennent les données ; un conteneur, qui transforme une ressource en volumes ; et le volume lui-même, les dossiers et fichiers que vous voyez. FSKit relie le module aux parties de macOS qui gèrent déjà les disques et les montages, dont Disk Arbitration et la commande mount. Pour l’instant, FSKit ne prend en charge que le modèle simple, une ressource qui donne un volume, et Apple note que c’est le schéma que suivent la plupart des systèmes de fichiers du Mac lui-même.
Avant FSKit : les extensions du noyau et macFUSE
Une extension du noyau s’exécute à l’intérieur du noyau, le cœur de macOS, avec un accès complet à la machine. Un bogue dans l’une d’elles peut faire tomber tout le Mac. Apple ne les recommande plus, et sur un Mac avec puce Apple, toute extension du noyau tierce est bloquée par défaut. Pour en autoriser une, il faut éteindre le Mac, démarrer sur la récupération macOS, ouvrir l’Utilitaire Sécurité au démarrage, choisir Sécurité réduite et cocher Autoriser la gestion par les utilisateurs des extensions du noyau provenant de développeurs identifiés, puis approuver l’extension et redémarrer une nouvelle fois.
macFUSE s’est construit autour de cela. C’est une seule extension du noyau qui permet à de nombreux systèmes de fichiers de tourner par-dessus comme des programmes ordinaires, et c’est ainsi que beaucoup de systèmes de fichiers tiers sont arrivés sur le Mac pendant des années. Son extension du noyau reste son option par défaut. Depuis la version 5, macFUSE propose aussi un backend FSKit qui ne demande ni extension du noyau ni passage par la récupération macOS. Sa propre documentation énumère ce que ce backend ne sait pas encore faire, dont les points de montage hors de /Volumes, et précise que ses volumes FSKit sont moins performants que ses volumes noyau.
Apple a fait évoluer ses propres systèmes de fichiers dans le même sens. Avec macOS Sonoma, exFAT et FAT sont sortis du noyau pour devenir des services qui tournent dans l’espace utilisateur.
| Extension du noyau | Module FSKit | |
|---|---|---|
| Où le code s’exécute | Dans le noyau | Dans l’espace utilisateur, comme extension d’app |
| Un bogue peut faire tomber tout le Mac | Oui | Non, mais un module bloqué peut empêcher les montages jusqu’au redémarrage |
| Récupération macOS et Sécurité réduite sur puce Apple | Obligatoires | Inutiles |
| Vendu sur le Mac App Store | Non | Autorisé |
| S’active dans | Sur puce Apple, la récupération macOS, puis Réglages Système, puis un redémarrage | Réglages Système, une fois par compte utilisateur |
| Disponible depuis | Le tout premier Mac OS X | macOS 15.4, avec chemins et URL depuis macOS 26 |
Ce qu’a ajouté macOS 26
Sous macOS 15.4, la ressource que FSKit confiait à un module était une partition de disque, FSBlockDeviceResource. Cela convient à un système de fichiers pour un format de disque, comme ext4 ou NTFS sur un disque USB, et c’était bien sa cible.
macOS 26 a ajouté deux types de ressource. FSPathURLResource représente un chemin sur le Mac, un dossier ou un fichier, et FSKit transmet intacte une URL à portée de sécurité (security-scoped URL) depuis l’app qui demande le montage jusqu’au module. FSGenericURLResource représente n’importe quelle URL. Le module déclare dans son Info.plist les schémas d’URL qu’il comprend, et FSKit lui laisse entièrement le sens de l’URL. Les exemples d’Apple sont un identifiant de matériel et l’adresse réseau d’un système de fichiers distant.
C’est ce second type qui rend un téléphone possible. Le module de SideMount est monté depuis une URL adb:// qui désigne le téléphone, et il joint le téléphone par le câble avec le protocole adb, celui qu’utilisent les outils de développement d’Android. Il n’y a de disque nulle part dans cette chaîne, et c’est pourquoi SideMount demande macOS 26 ou ultérieur.
Activer une extension FSKit
macOS n’exécute pas une extension du système de fichiers tant que vous ne l’avez pas autorisée. Chaque app FSKit vous le demande une fois :
- Ouvrez Réglages Système > Général > Ouverture et extensions.
- Faites défiler jusqu’à Extensions et passez la liste en Par catégorie. La vue Par app n’a pas de ligne Extensions du système de fichiers, et c’est là que la plupart des gens restent bloqués.
- Ouvrez Extensions du système de fichiers et activez l’extension de l’app.
Ce réglage appartient à votre compte utilisateur. Un ingénieur d’Apple a expliqué que FSKit repose sur les extensions d’app et que celles-ci sont propres à chaque utilisateur, donc sur un Mac partagé, chaque compte l’active de son côté. Le même interrupteur le désactive. Le guide de configuration de SideMount montre ces étapes en images.
Ce que cela change à l’usage
Un volume FSKit se comporte comme n’importe quel autre disque. Il apparaît dans le Finder, il a un chemin que le Terminal et les scripts peuvent utiliser, et toutes les apps peuvent y ouvrir, enregistrer et copier des fichiers. C’est la différence avec les apps qui affichent les fichiers dans leur propre fenêtre, comme le font la plupart des apps MTP, et c’est pourquoi un téléphone monté de cette façon fonctionne avec rsync, Photoshop ou VLC. Utiliser un téléphone Android comme disque externe montre ce que cela donne en pratique.
Une habitude compte. Éjectez un volume FSKit normalement, depuis le Finder ou depuis l’app, plutôt que de forcer. Le démon FSKit de macOS, fskitd, peut se bloquer après un démontage forcé, et seul un redémarrage du Mac le débloque alors. FSKit est aussi jeune : certaines choses que sait faire un système de fichiers du noyau ne sont pas encore dans le framework, donc les notes de chaque app méritent un coup d’œil.
Questions
Quelle version de macOS faut-il pour FSKit ?
Le framework existe depuis macOS Sequoia 15.4. Les systèmes de fichiers qui lisent depuis un chemin ou une URL plutôt qu’un disque, comme ceux qui joignent un téléphone ou un serveur, demandent macOS 26, car ces types de ressource sont arrivés avec lui. Chaque app indique son propre minimum.
Pourquoi je ne trouve pas Extensions du système de fichiers dans Réglages Système ?
La liste Extensions, dans Général > Ouverture et extensions, a deux vues. Extensions du système de fichiers n’apparaît que dans la vue Par catégorie : passez-y et la ligne est là.
FSKit, est-ce la même chose que File Provider ?
Non. File Provider est le framework qu’utilisent les apps de stockage dans le cloud pour afficher des fichiers distants dans le Finder et les télécharger au besoin. FSKit monte un vrai volume, avec un chemin que toutes les apps et le Terminal peuvent utiliser.
Est-il sûr d’activer une extension du système de fichiers ?
Une extension FSKit tourne dans l’espace utilisateur, au sein d’une app signée, sans l’accès au noyau qu’a une extension du noyau, et ne demande aucune modification de la sécurité au démarrage du Mac. N’activez que celles des apps en qui vous avez confiance ; le même interrupteur dans Réglages Système désactive chacune d’elles.
Votre téléphone Android, dans le Finder.
Gratuit pendant sept jours, sans carte bancaire. macOS 26 ou ultérieur.