Paramètres INI (.ini)
Standard StandardLe format INI (Windows Initialization Configuration) est un format classique de fichier de configuration lisible par l'homme, popularisé par Microsoft Windows. Il organise les paramètres des applications en [sections] nommées contenant des paires clé=valeur.
Convertir INI en JSON
Outil de conversion gratuit de INI vers JSON dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.
Inspection et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers INI en inspectant leur séquence initiale d'octets binaires :
Signature d'en-tête au niveau des octets (octets magiques)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers INI en inspectant leur séquence initiale d'octets binaires :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
5B ... 5DREPRÉSENTATION ASCII : [...]
Normalisation : Standard de configuration de fait dans l'industrie
Spécifications techniques
| Architecture de conteneur | Fichier de configuration en texte brut structuré en sections [section] contenant des paires clé = valeur et des commentaires (; ou #) |
| Compression | Fichier texte non compressé |
| Ordre 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 ; aucune limite dans les implémentations modernes |
| Transparence | Aucune |
| Prise en charge du traitement en continu | Analyse séquentielle ligne par ligne |
Matrice de comparaison technique : INI face aux concurrents
| Attribut technique | INI (Actuel) | JSON | YAML | TOML |
|---|---|---|---|---|
| Complexité de la syntaxe | La plus simple possible (section + clé=val) | Crochets et guillemets stricts | Espaces blancs sensibles à l'indentation | Tables typées modernes |
| Prise en charge des commentaires | Prise en charge native (commentaires ; et #) | Aucun commentaire pris en charge dans la spécification | Prise en charge native (commentaires #) | Prise en charge native (commentaires #) |
| Structures imbriquées | Sections à 1 niveau uniquement | Objets et tableaux imbriqués sans limite | Arbres imbriqués sans limite | Tableaux de tables structurés |
| Typage des données | Chaînes de caractères 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 restauration hexadécimale
L'application ignore les paramètres ou ne parvient pas à démarrer.
Cause initiale: 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.app.
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 prototypes 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 prototypes lorsque des analyseurs INI JavaScript affectent une valeur à '__proto__'.
- Déni de service par expansion récursive profonde des noms de section.
Bonnes pratiques de défense: Assainissez les entrées utilisateur pour interdire les caractères de saut de ligne et vous protéger contre la pollution de prototypes.
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 en Python, parse_ini_file en 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 (; ou #) 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.
Faits intéressants
- 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) suivent 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 simple, comme le Bloc-notes, TextEdit ou VS Code, ou directement en ligne avec File2File.app.
Puis-je convertir un fichier INI en JSON ou en YAML ?
Oui. File2File.app peut convertir instantanément des fichiers INI en fichiers JSON, YAML ou TOML bien formatés, directement dans votre navigateur.