Qu'est-ce que le format de fichier PLIST ?
Les fichiers au format .plist sont des fichiers de paramètres qui stockent des informations de configuration et de propriété pour de nombreux programmes dans l'environnement macOS. Ils sont également appelés fichiers de préférences. Les fichiers .plist servent souvent à stocker les réglages utilisateur et les données d'application, et constituent un élément standard du système Core Foundation d'Apple - utilisé sur macOS, iOS, iPadOS et d'autres plateformes Apple.
Les fichiers .plist peuvent être stockés selon deux méthodes : en texte ou en binaire. La forme texte utilise le XML, ce qui permet de garder le contenu du fichier ordonné et lisible par l'homme. Les fichiers stockés sous forme de texte peuvent être consultés et modifiés à l'aide de n'importe quel éditeur de texte ; cependant, des programmes dédiés tels que l'éditeur de Property List intégré à Xcode facilitent leur modification. La forme binaire (reconnue par les magic bytes bplist00 au début du fichier) est plus compacte et est généralement écrite par le système d'exploitation lui-même.
Les fichiers .plist peuvent être facilement convertis entre les formats texte et binaire à l'aide de la ligne de commande et de la commande plutil. Les commandes de conversion sont :
- du format binaire vers XML :
plutil -convert xml1 file.plist - du format XML vers binaire :
plutil -convert binary1 file.plist
Le nom conventionnel de la liste de propriétés principale d'une application est Info.plist. Tenez toujours compte du fait que les noms de clés dans les fichiers .plist utilisent des majuscules, car ils sont sensibles à la casse lorsqu'ils sont lus par le système. Les formats associés incluent .mobileconfig pour les profils de configuration d'appareils et .strings pour les données de localisation.
Sécurité et sûreté
RISQUE : LOWLes plists sont des données, pas du code exécutable, ils n'exécutent donc rien par eux-mêmes. Le risque réel est une panne, pas un logiciel malveillant : modifier manuellement les préférences d'une application ou un Info.plist avec un type ou une clé erronés peut empêcher l'application de se lancer ou de se comporter correctement. Sauvegardez d'abord le fichier et, sur macOS, préférez la commande « defaults » à l'édition directe des plists de préférences (cfprefsd peut écraser les modifications manuelles). Les plists à l'intérieur des profils de configuration (.mobileconfig) peuvent modifier les paramètres de sécurité de l'appareil, n'installez donc que des profils provenant de sources fiables.
Détails du format
en brefProgrammes qui ouvrent les fichiers PLIST
Détails techniques
spécifications approfondies| Variantes du format | Deux encodages partagent l'extension `.plist` : XML (basé sur le texte) et binaire (`bplist`) |
| Magic bytes binaires | `bplist00` (8 octets, ASCII) à l'offset 0 ; absent dans la variante XML |
| Type MIME | `application/x-plist` |
| Élément racine XML | `<plist version="1.0">` précédé d'une déclaration `<!DOCTYPE plist ...>` |
| Types de données scalaires | `string`, `integer`, `real`, `true`/`false` (booléen), `date` (ISO 8601), `data` (octets bruts) |
| Types de collections | `array` (liste ordonnée) et `dict` (mappage clé-valeur) ; les deux supportent l'imbrication arbitraire |
| Structure du format binaire | Table d'objets + table d'offsets + remorque (trailer) fixe de 32 octets ; la remorque enregistre le nombre d'objets et la position de la table d'offsets |
| Encodage Base64 | Les éléments XML `<data>` encodent les blocs binaires en Base64 ; le format binaire stocke les octets bruts directement |
| Encodage du texte (forme XML) | UTF-8 (par défaut) ou UTF-16 avec BOM ; déclaré dans l'instruction de traitement XML |
| Sensibilité à la casse des clés | Les noms de clés Dict sont sensibles à la casse ; `CFBundleIdentifier` et `cfbundleidentifier` sont traités comme des clés distinctes |
| Emplacements courants (macOS) | Paquets d'applications (`Info.plist`), préférences utilisateur (`~/Library/Preferences/`), démons de lancement et configuration système |
| Outil de conversion | `plutil` (intégré à macOS) ; valide, convertit et modifie les fichiers `.plist` depuis la ligne de commande |
| Format ASCII hérité | Une troisième syntaxe ASCII NeXTSTEP utilisant les délimiteurs `{` / `(` existe ; macOS peut l'analyser mais la produit rarement aujourd'hui |
| Utilisation des Entitlements | La structure `.plist` est réutilisée pour les fichiers `.entitlements` qui déclarent les permissions du bac à sable (sandbox) et des capacités lors de la signature du code |
| Exigence iOS/iPadOS | Chaque paquet d'application iOS et iPadOS nécessite un `Info.plist` déclarant l'ID du bundle, le nom d'affichage, les capacités de l'appareil et les chaînes d'utilisation de la confidentialité |
| Publié | NeXTSTEP (late 1980s); current XML/binary forms with Mac OS X 10.0 (2001) |
| Standard ouvert | Oui · libre de droits |
| Spécification | developer.apple.com |
Conversions PLIST
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PLIST.