Paramètres INI (.ini)

Standard Standard

Windows 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 :

Sélectionnez ou déposez des fichiers ici

Conversion 100 % privée dans le navigateur - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet téléchargé vers des serveurs externes. Tout le traitement a lieu localement dans le bac à sable de votre navigateur.

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 ... 5D

REPRÉSENTATION ASCII : [...]

Normalisation : Standard de configuration industriel de fait

Spécifications techniques

Architecture de conteneurFichier de configuration en texte brut structuré en en-têtes [section] contenant des paires clé = valeur et des commentaires (; ou #)
CompressionFichier texte non compressé
Boutisme des octetsFlux de texte UTF-8 ou ANSI
Espaces colorimétriquesN/A (Fichier de configuration)
Canaux et structurePropriétés de configuration clé-valeur catégorisées par espaces de noms de section
Dimensions maximalesLimite historique de 64 Ko dans Windows 16 bits ; illimité dans les implémentations modernes
TransparenceAucune
Streaming et progressifAnalyseur séquentiel de flux ligne par ligne

Matrice de comparaison technique : INI vs Concurrents

Attribut techniqueINI (Actuel)JSONYAMLTOML
Complexité de la syntaxeLa plus simple possible (section + clé=val)Crochets et guillemets strictsEspaces sensibles à l'indentationTables typées modernes
Prise en charge des commentairesNative (commentaires ; et #)Aucun commentaire pris en charge dans la spécificationNative (commentaires #)Native (commentaires #)
Structures imbriquéesSections à 1 niveau uniquementObjets/tableaux imbriqués infinisArbres imbriqués infinisTableaux de tables structurés
Typage des donnéesChaînes implicites (l'application analyse les types)Nombres, booléens, tableaux explicitesTypes et ancres explicitesDates, 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

2000La bibliothèque standard de Python intègre le module ConfigParser, consacrant l'INI comme un format de configuration logicielle universel.
1995Windows 95 introduit le Registre Windows pour remplacer les fichiers INI système monolithiques (SYSTEM.INI, WIN.INI).
1985Microsoft Windows 1.0 introduit WIN.INI comme base de données de configuration principale du système d'exploitation.

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.