config ini env hcl plist terraform devops sysadmin file-extensions

Référence des formats de fichiers de configuration : INI, ENV, PLIST, HCL, etc.

Confus par les différents fichiers de configuration ? Un guide complet des extensions de fichiers .ini, .conf, .env, .properties, .plist, .hcl, .tf, .ovpn et .wg.

2026-04-11

Référence des formats de fichiers de configuration : INI, ENV, PLIST, HCL, etc.

Dans le développement logiciel et l'administration système modernes, nous manipulons des dizaines de formats de fichiers de configuration différents. Alors que JSON, YAML et TOML sont les favoris actuels de l'industrie, de nombreuses autres extensions persistent dans des écosystèmes spécifiques comme les systèmes Linux, le registre Windows, Apple macOS, Java et l'Infrastructure-as-Code (IaC).

Ce guide de référence couvre les extensions de fichiers de configuration "héritées" et spécialisées les plus courantes que vous rencontrerez.


Table de référence rapide : Formats de fichiers de configuration

Extension Nom complet Écosystème Type de syntaxe
.ini, .conf, .cfg Initialisation / Configuration Linux, Windows, PHP, Python Clé-Valeur / Sections
.env Variables d'environnement Dév Web (Node.js, Docker, Python) Clé=Valeur
.properties Propriétés Java Java, Spring, Android Clé=Valeur (ou XML)
.plist Liste de propriétés macOS, iOS, Apple XML ou Binaire
.hcl, .tf, .tfvars HashiCorp Configuration Language Terraform, Nomad, Consul Langage spécifique au domaine (DSL)
.ovpn, .wg Config OpenVPN / WireGuard Réseautage, VPN Basé sur des directives

1. Configuration système et héritée (.ini, .conf, .cfg)

Ce sont les "grands-pères" des fichiers de config. Ils sont simples, textuels et lisibles par l'homme.

  • Fichiers INI : Souvent utilisés sous Windows et dans les anciens logiciels. Ils utilisent des [Sections] pour regrouper les paires clé-valeur.
    [database]
    host = 127.0.0.1
    port = 5432
    
  • CONF / CFG : Principalement utilisés dans les répertoires /etc/ de Linux (ex: nginx.conf, redis.conf). La syntaxe varie : certains utilisent des paires Clé-Valeur simples, tandis que d'autres utilisent des accolades ou des directives personnalisées.

2. Variables d'environnement (.env)

Le fichier .env est un standard dans le développement web moderne pour stocker les "secrets" et les paramètres spécifiques à l'environnement (comme les URL de base de données ou les clés d'API) qui ne doivent pas être commis sur Git.

  • Syntaxe : Format CLE=VALEUR extrêmement simple.
  • Bonne pratique : Ne commettez jamais le fichier .env dans le contrôle de source. Utilisez un fichier .env.example à la place pour montrer les variables requises.

3. Entreprise et Java (.properties)

Utilisé par la Machine Virtuelle Java (JVM) depuis des décennies. Il est similaire à un fichier .env mais supporte des échappements plus complexes et peut même être formaté en XML.

  • Utilisation courante : application.properties dans les applications Spring Boot.
  • Syntaxe : database.url=jdbc:mysql://localhost:3306/db

4. L'écosystème Apple (.plist)

Les listes de propriétés (Property Lists) sont le standard pour les applications macOS et iOS. Elles stockent les préférences utilisateur et les métadonnées de l'application (comme Info.plist).

  • Formats : Elles peuvent être stockées en XML lisible par l'homme ou en fichiers Binaires optimisés.
  • Comment les visualiser : Utilisez l'"Éditeur de liste de propriétés" sur macOS ou convertissez-les en JSON à l'aide de l'outil en ligne de commande plutil.

5. Infrastructure as Code (.hcl, .tf, .tfvars)

HCL a été créé par HashiCorp pour combler le fossé entre le YAML lisible par l'homme et le JSON lisible par la machine. C'est le langage principal de Terraform.

  • HCL : Très expressif, supportant les commentaires, les variables et les fonctions.
  • TF : Spécifiquement pour les définitions de ressources Terraform.
  • TFVARS : Utilisé pour passer des valeurs de variables dans les plans Terraform.

6. Réseautage et VPN (.ovpn, .wg)

Si vous avez déjà configuré une connexion sécurisée, vous avez vu ceux-là :

  • OVPN : Un fichier complexe de type script contenant les adresses des serveurs OpenVPN, les informations de port et souvent des certificats intégrés (<ca>, <cert>, <key>).
  • WG : La configuration WireGuard, plus simple. Elle utilise un format propre de style INI pour définir [Interface] et [Peer].

Outils pour travailler avec les fichiers de config

  • Éditeurs : VS Code, Sublime Text et les IDE JetBrains disposent de plugins pour presque tous les formats listés ci-dessus afin de fournir la coloration syntaxique et la validation.
  • Convertisseurs CLI :
    • yq : Un processeur portable en ligne de commande pour YAML, JSON, XML, CSV et TOML (similaire à jq).
    • plutil : Intégré à macOS pour convertir les fichiers .plist.
    • terraform fmt : Pour formater les fichiers .tf et .hcl.

Questions courantes (FAQ)

Q : Puis-je utiliser des commentaires dans un fichier .env ?

R : La plupart des analyseurs .env (comme dotenv dans Node.js) supportent les commentaires commençant par #. Cependant, il est plus sûr de mettre les commentaires sur leurs propres lignes plutôt qu'en fin de ligne.

Q : Comment convertir un .plist binaire en XML ?

R : Sur macOS, vous pouvez exécuter : plutil -convert xml1 filename.plist.

Q : Pourquoi mon fichier .ini a-t-il des [crochets] ?

R : Les crochets dénotent une Section. Ils vous permettent de regrouper des paramètres liés, évitant ainsi les collisions de noms (ex : avoir un port sous [http] et un port différent sous [ssh]).

Q : Le format .hcl est-il compatible avec JSON ?

R : Oui ! HCL est conçu pour être entièrement compatible avec JSON. Vous pouvez en fait écrire vos fichiers Terraform en .tf.json si vous préférez (bien que ce soit moins lisible pour les humains).


Outils associés sur Tool3M

  • Formateur JSON : Formatez et validez vos fichiers de configuration JSON.
  • Convertisseur YAML en JSON : Découvrez la relation entre les formats de données courants.