Aller au contenu

Fichier de configuration

Un fichier de configuration est un fichier utilisé par un logiciel pour définir ses options et ses paramètres de fonctionnement. Il joue un rôle essentiel dans la flexibilité et l'adaptabilité d'une application, en permettant d'en modifier le comportement sans toucher au code source.

Caractéristiques principales

  • Personnalisation : Permet d'ajuster le comportement du logiciel selon les besoins de l'utilisateur ou de l'administrateur.

  • Format : Les formats les plus courants sont : INI, XML, JSON, YAML, etc., chacun adapté à des usages spécifiques.

  • Modifiable facilement : Généralement éditables via de simples éditeurs de texte.

  • Contenu varié : Peut contenir des chemins vers des ressources, des paramètres de connexion, des options d'affichage, des niveaux de journalisation, des clés ou identifiants d'API, etc.

  • Séparation code / configuration : Rend l'application plus flexible, plus portable et plus facile à maintenir.

  • Sécurité : Les fichiers contenant des informations sensibles doivent être protégés (droits d'accès, emplacement sécurisé…).

  • Adaptation aux environnements : Permet d'utiliser des configurations différentes pour le développement, les tests ou la production.

Fichier INI

Les fichiers INI (Initialisation) sont un format de configuration simple, historiquement utilisé sous Windows, mais encore très courant aujourd'hui (ex. : php.ini).

Points clés

  • Structure simple : Le fichier est organisé en sections contenant des paires clé = valeur.
  • Lisibilité : Faciles à lire, écrire et maintenir.
  • Support étendu : La plupart des langages proposent une fonction/bibliothèque pour les lire.
  • Remplacement progressif : Pour des configurations complexes, des formats plus robustes comme JSON ou YAML sont désormais préférés.

Exemple de fichier INI

[auth]
name = admin
; Use quote to delimit string with special chars and avoid problem
password = "My P4ssW0rd"

[database]
server = 192.168.5.13
port = 3306
; There are no rules for cases, just be consistent
; And refer to the programming language used to read the config file
db_name = demo

Fichiers INI dans les applications PHP

Dans une application web PHP, il est courant d'utiliser un fichier INI pour centraliser les paramètres liés :

  • Aux connexions à la base de données
  • Aux services SMTP
  • Aux options réseau (IP, ports, protocoles…)

Cela facilite la maintenance, le déploiement et la réutilisation du code.

Tip

Dans une application web, les fichiers de configuration ne doivent jamais être accessibles depuis le web.

Ils doivent donc être placés en dehors du dossier configuré par root dans le bloc server de nginx.

Cela empêche un utilisateur d'y accéder directement via une URL.

Lecture d'un fichier INI en PHP

PHP fournit une fonction très pratique : PHP - parse_ini_file

Elle charge un fichier INI et le convertit en tableau associatif. Avec le second paramètre positionné à true, les sections deviennent des sous-tableaux.

config-ini.png

<?php
$config = parse_ini_file('config.ini', true);
var_dump($config);

config-ini-web.png