Qu'est-ce que le format de fichier CONFIG ?
Les fichiers .config sont couramment utilisés au sein d'un système comme fichiers de configuration. À l'aide de fichiers de configuration, diverses options, paramètres et préférences au sein d'applications spécifiques ou de l'ensemble du système sont définis. Dans la plupart des fichiers .config, toutes les propriétés sont stockées sous forme de texte brut - le plus souvent en XML, qui est le format utilisé par Microsoft .NET pour App.config (applications de bureau) et Web.config (projets web ASP.NET). Certains programmes utilisent plutôt un format de style INI clé=valeur ou YAML.
Les logiciels informatiques et les systèmes d'exploitation s'appuient souvent sur de nombreux réglages et paramètres nécessaires au contrôle des processus en cours. Les fichiers .config servent à cet effet - entre autres, ils spécifient les répertoires de fichiers, les chaînes de connexion et les commutateurs de comportement des applications. Dans certains programmes, plusieurs fichiers de ce type peuvent être utilisés, mais cela se voit généralement dans des applications plus complexes.
- Comme il s'agit de fichiers textuels, ils peuvent être modifiés avec n'importe quel éditeur de texte brut, y compris le Bloc-notes (Notepad) sur Windows. Avant de procéder à des modifications, vous devez vous familiariser avec le contenu du fichier, car des changements incorrects peuvent nuire au fonctionnement des programmes ou du système d'exploitation.
- Les fichiers
.configdéfinissent la manière dont un programme s'initialise ou fonctionne au moment de l'exécution - la plupart des applications les lisent au démarrage. Dans .NET, le fichierApp.configd'un projet est copié et renommé en<AssemblyName>.exe.configdans le dossier de sortie. - Le runtime .NET lit également un fichier
machine.configà l'échelle de la machine et fusionne ses paramètres avec la configuration de l'application ; les paramètres au niveau de l'application sont prioritaires sur les valeurs par défaut de la machine. Les formats associés incluent les fichiers .cfg utilisés par de nombreuses applications non-.NET.
Sécurité et sûreté
RISQUE : MEDIUMUn fichier .config textuel peut être ouvert et lu en toute sécurité. Le risque réside dans l'ÉDITION : comme un .config contrôle souvent si son programme démarre (et, pour .NET, comment il se connecte aux bases de données), une mauvaise valeur, une faute de frappe ou une balise XML cassée peut empêcher l'application de fonctionner. Copiez toujours l'original vers une sauvegarde avant de modifier quoi que ce soit, éditez avec un éditeur de texte brut ou de code (jamais un traitement de texte) et modifiez une seule chose à la fois. Notez également que les fichiers .config peuvent contenir des données sensibles (chaînes de connexion à une base de données, mots de passe, clés API dans Web.config) - traitez-les comme confidentiels et méfiez-vous des fichiers de configuration « optimisés » téléchargés de sources non fiables.
Détails du format
en brefProgrammes qui ouvrent les fichiers CONFIG
Détails techniques
spécifications approfondies| Format principal | XML - un élément racine `<configuration>` enveloppant les sections `<appSettings>`, `<connectionStrings>` et `<system.*>` dans la structure standard .NET |
| Encodage du fichier | UTF-8 (standard pour les fichiers de configuration XML .NET ; encodage déclaré dans le prologue XML) |
| Type MIME | `text/xml` |
| Signature de fichier | Aucune universelle ; la variante XML .NET commence par `<?xml ...?>` à l'offset 0 ; les variantes clé=valeur de style INI n'ont pas d'octets magiques |
| Élément racine (.NET) | `<configuration>` - élément le plus externe requis ; les enfants tels que `<appSettings>` et `<connectionStrings>` suivent un schéma imposé par le runtime |
| Mécanisme de lecture au runtime | Lu au démarrage de l'application par le `ConfigurationManager` de .NET (ou `IConfiguration` dans .NET Core / .NET 5+) ; les modifications nécessitent un redémarrage de l'application à moins qu'un rechargement de configuration ne soit explicitement configuré |
| Valeurs par défaut au niveau machine | `machine.config` dans le dossier d'installation du .NET Framework fournit des valeurs par défaut pour tout le système ; les paramètres `.config` de l'application remplacent toujours les valeurs par défaut de la machine |
| Transformation au moment de la compilation | Les fichiers XML Document Transform (`.xdt`) tels que `App.Debug.config` et `App.Release.config` sont fusionnés par MSBuild pour produire des fichiers de sortie spécifiques à l'environnement |
| Nom du fichier déployé | Pour les applications de bureau .NET, la sortie est renommée en `<AssemblyName>.exe.config` ; pour ASP.NET, le fichier reste `Web.config` à la racine du site web |
| Section des chaînes de connexion | L'élément enfant `<connectionStrings>` stocke les chaînes de connexion aux bases de données nommées ; l'attribut `providerName` spécifie le fournisseur ADO.NET (ex: `System.Data.SqlClient`) |
| Formats texte alternatifs | Certaines applications utilisent `.config` pour du texte de style INI `clé=valeur`, YAML ou TOML au lieu de XML - le format interne est entièrement défini par l'application |
| Gestion de la sécurité | IIS bloque l'accès HTTP direct aux fichiers `.config` par défaut ; les valeurs sensibles telles que les mots de passe peuvent être chiffrées sur place à l'aide de `aspnet_regiis -pe` sur Windows |
| Fins de ligne | Généralement CRLF sur Windows, LF sur Linux/macOS ; l'analyseur XML normalise les deux |
| Extensions liées | `.cfg`, `.ini`, `.conf`, `.xml`, `.json`, `.yaml` |
| Publié | No single origin; .NET App.config/Web.config since .NET Framework 1.0 (2002) |
| Spécification | learn.microsoft.com |
Conversions CONFIG
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers CONFIG.