Paramètres INI (.ini)

Standard Standard

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

Sélectionnez ou déposez des fichiers ici

Privé - les fichiers ne quittent jamais votre appareil

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

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

REPRÉSENTATION ASCII : [...]

Normalisation : Standard de configuration de fait dans l'industrie

Spécifications techniques

Architecture de conteneurFichier de configuration en texte brut structuré en sections [section] contenant des paires clé = valeur et des commentaires (; ou #)
CompressionFichier texte non compressé
Ordre 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 ; aucune limite dans les implémentations modernes
TransparenceAucune
Prise en charge du traitement en continuAnalyse séquentielle ligne par ligne

Matrice de comparaison technique : INI face aux concurrents

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

2000La bibliothèque standard de Python inclut configparser pour manipuler des fichiers INI.
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 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.