Paramètres INI (.ini)
Standard StandardWindows Initialization Configuration (INI) est le format de fichier de configuration classique lisible par l'homme popularisé par Microsoft Windows, qui organise les paramètres des applications dans des [sections] nommées contenant des paires clé=valeur.
Convertir INI en JSON
Convertisseur gratuit de INI vers JSON dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspecter et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers INI en inspectant la séquence d'octets binaires de tête :
Signature d'en-tête au niveau des octets (Magic Bytes)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers INI en inspectant la séquence d'octets binaires de tête :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
5B ... 5DREPRÉSENTATION ASCII : [...]
Normalisation : Standard de configuration industriel de fait
Spécifications techniques
| Architecture de conteneur | Fichier de configuration en texte brut structuré en en-têtes [section] contenant des paires clé = valeur et des commentaires (; ou #) |
| Compression | Fichier texte non compressé |
| Boutisme des octets | Flux de texte UTF-8 ou ANSI |
| Espaces colorimétriques | N/A (Fichier de configuration) |
| Canaux et structure | Propriétés de configuration clé-valeur catégorisées par espaces de noms de section |
| Dimensions maximales | Limite historique de 64 Ko dans Windows 16 bits ; illimité dans les implémentations modernes |
| Transparence | Aucune |
| Streaming et progressif | Analyseur séquentiel de flux ligne par ligne |
Matrice de comparaison technique : INI vs Concurrents
| Attribut technique | INI (Actuel) | JSON | YAML | TOML |
|---|---|---|---|---|
| Complexité de la syntaxe | La plus simple possible (section + clé=val) | Crochets et guillemets stricts | Espaces sensibles à l'indentation | Tables typées modernes |
| Prise en charge des commentaires | Native (commentaires ; et #) | Aucun commentaire pris en charge dans la spécification | Native (commentaires #) | Native (commentaires #) |
| Structures imbriquées | Sections à 1 niveau uniquement | Objets/tableaux imbriqués infinis | Arbres imbriqués infinis | Tableaux de tables structurés |
| Typage des données | Chaînes implicites (l'application analyse les types) | Nombres, booléens, tableaux explicites | Types et ancres explicites | Dates, nombres, tableaux explicites |
Modes de corruption courants et guide de récupération hexadécimale
L'application ignore les paramètres ou ne parvient pas à démarrer.
Cause racine: Crochet d'en-tête de section manquant (par exemple '[Settings' au lieu de '[Settings]') ou signe égal non échappé dans la valeur.
Récupération: Validez et corrigez la syntaxe INI à l'aide du formateur de configuration File2File.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
Les analyseurs INI doivent se protéger contre les attaques par injection de section et la pollution de prototype lors de la désérialisation en objets.
Vecteurs d'attaque connus
- Injection INI où l'insertion de saut de ligne dans les saisies utilisateur crée des sections de configuration non autorisées.
- Pollution de prototype dans les analyseurs INI JavaScript s'assignant à '__proto__'.
- Déni de service par expansion récursive profonde des noms de section.
Bonnes pratiques de défense: Nettoyez les entrées utilisateur pour interdire les caractères de saut de ligne et vous protéger contre la pollution de prototype.
Origines historiques et jalons
Principaux avantages
- Syntaxe exceptionnellement propre et intuitive : les utilisateurs non techniques peuvent facilement lire et modifier les paramètres.
- API d'analyse natives dans presque tous les langages de programmation (configparser de Python, parse_ini_file de PHP, C#).
- Les espaces de noms de section empêchent les conflits de paramètres entre les différentes fonctionnalités d'une application.
Limites techniques
- Pas de norme internationale formelle : les caractères de commentaire (; vs #) et les règles d'échappement varient selon les analyseurs.
- Hiérarchie plate : ne prend pas en charge les tableaux profondément imbriqués ou les objets structurés complexes sans délimiteurs personnalisés.
- Toutes les valeurs sont lues comme des chaînes de caractères, ce qui oblige les applications à analyser manuellement les entiers, les booléens et les nombres à virgule flottante.
Anecdotes techniques
- Sous Windows 3.1, chaque paramètre de l'ensemble du système d'exploitation était stocké dans seulement deux fichiers : WIN.INI et SYSTEM.INI.
- Git utilise le format INI pour son fichier de configuration de dépôt principal situé dans '.git/config'.
- Les fichiers de raccourci de bureau sous Linux (fichiers '.desktop' XDG Desktop Entry) sont structurés en utilisant la syntaxe INI standard.
Foire aux questions techniques
À quoi sert un fichier INI ?
Les fichiers INI sont utilisés par les logiciels de bureau, les jeux et les outils de développement (comme la configuration de Git et PHP.ini) pour stocker les préférences utilisateur et les paramètres de configuration dans un format facilement lisible.
Comment puis-je modifier un fichier INI ?
Vous pouvez ouvrir et modifier des fichiers INI avec n'importe quel éditeur de texte basique tel que Bloc-notes, TextEdit, VS Code, ou directement en ligne en utilisant File2File.app.
Puis-je convertir un fichier INI en JSON ou en YAML ?
Oui. File2File.app peut convertir instantanément des fichiers INI en formats JSON, YAML ou TOML propres directement dans votre navigateur.