# Pont entre formats de configuration : TOML / INI / HCL / .env / Nix / dotenv / ConfigMap / Secret Kubernetes

Convertit des configurations entre dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (syntaxe native Terraform/Vagrant) et ensembles d'attributs Nix, et produit des manifestes Kubernetes ConfigMap / Secret ; préserve les gabarits ${VAR} / {{var}} et l'interpolation style envsubst, trace la provenance de l'inférence de types (string/int/float/bool/list), replie les étiquettes de blocs HCL en clés imbriquées, et un diff aller-retour met en évidence les réglages non équivalents (clés perdues, changements de type, valeurs réécrites), avec un YAML adapté aux patches Kustomize.

> Page canonique: https://elysiatools.com/fr/tools/toml-ini-hcl-envfile-nix-dotenv-kubernetes-configmap-secret-config-format-bridge

- **Catégorie:** Format Conversion

- **Mots-clés:** convertisseur de configuration, dotenv, TOML, INI, HCL, Terraform, Nix, ConfigMap, Secret, properties, YAML, envsubst

## Présentation

Tous les formats sont d'abord analysés en un arbre intermédiaire typé : types scalaires (string/int/float/bool/null), listes, objets imbriqués, étiquettes de blocs HCL et gabarits d'interpolation avec leur provenance. Les valeurs dotenv sont toujours des chaînes (leur sémantique réelle) ; les valeurs nues en INI/.properties sont inférées en int/float/bool et marquées « inférées », les valeurs entre guillemets restent des chaînes ; les expressions HCL (fonctions, références) sont conservées littéralement ; Nix gère let … in, inherit, les chemins d'attributs pointés et les chaînes indentées ''…'', lambdas et références externes étant marquées. Les manifestes ConfigMap/Secret utilisent stringData (fusion côté serveur ; le base64 du Secret est appliqué par Kubernetes) et les clés sont nettoyées selon les règles K8s (alphanumérique, -, _, .). Le diff aller-retour ré-analyse la sortie et la compare clé par clé à l'arbre source en signalant quatre classes d'écarts (dropped/added/type/value) — précisément la liste à vérifier lors d'une vraie migration.

## Entrées

- **Source de configuration (collez un fichier)** (textarea): DATABASE_HOST=localhost DATABASE_PORT=5432 …
- **Format source** (select)
- **Format cible** (select)
- **Nom du manifeste (cibles Kubernetes)** (text): my-app-config
- **Effectuer le diff aller-retour** (checkbox)

## Quand l'utiliser

- Transformer un fichier .env ou TOML en manifeste Kubernetes ConfigMap ou Secret avec le champ stringData.
- Migrer des configurations entre syntaxes plates (dotenv, INI) et structures hiérarchiques (YAML, JSON, HCL, Nix).
- Valider la cohérence des types et vérifier l'absence de pertes de clés grâce au diff aller-retour avant déploiement.

## Fonctionnement

- Collez le texte source ou chargez votre configuration, puis choisissez le format source ou laissez la détection automatique analyser la syntaxe.
- Sélectionnez le format cible souhaité parmi .env, TOML, INI, Java .properties, YAML, JSON, HCL, Nix ou manifestes Kubernetes.
- Renseignez le nom du manifeste pour les cibles Kubernetes et activez l'option de diff aller-retour pour inspecter les écarts de typage ou de clés.
- L'outil analyse la source dans un arbre intermédiaire typé, génère la sortie structurée et affiche les métriques de conversion.

## Cas d'usage

- Conversion de variables d'environnement de développement local en ConfigMaps Kubernetes prêts pour la production.
- Transposition de blocs de variables Terraform HCL vers des ensembles d'attributs Nix pour environnements reproductibles.
- Transformation de fichiers Java .properties vers des fichiers YAML ou JSON nettoyés pour microservices conteneurisés.

## Questions fréquentes

### Comment les gabarits de variables du type ${VAR} sont-ils traités ?

Les gabarits ${VAR}, {{var}} et les motifs envsubst sont conservés textuellement sans tentative de substitution automatique.

### Pourquoi les manifestes Kubernetes Secret utilisent-ils stringData au lieu de data ?

Le champ stringData permet de conserver le texte en clair pour les pipelines CI et Kustomize, l'encodage base64 étant géré par Kubernetes.

### Comment les blocs imbriqués HCL et Nix sont-ils convertis en formats plats ?

Les étiquettes de blocs HCL et les chemins imbriqués sont repliés en clés hiérarchiques à l'aide de séparateurs pointés.

### À quoi sert le diff aller-retour ?

Il ré-analyse la sortie générée pour la confronter à l'arbre source et signale les clés perdues, ajoutées ou dont le type a changé.

### Les types de données des fichiers INI et .properties sont-ils conservés ?

Les valeurs brutes numériques et booléennes sont inférées avec leur marqueur de provenance, tandis que les valeurs entre guillemets restent des chaînes.

## Outils associés

- [Convertisseur YAML-JSON](https://elysiatools.com/fr/tools/yaml-json-converter): Convertit entre les formats YAML et JSON
- [Pont de configuration WireGuard/OpenVPN vers Clash et sing-box](https://elysiatools.com/fr/tools/wireguard-openvpn-to-clash-singbox-bridge): Convertit le texte collé d’un client WireGuard ou OpenVPN en YAML Mihomo/Clash ou JSON sing-box et signale les champs secrets ; ne partagez pas les clés privées
- [Studio de requetes et transformations JSONata](https://elysiatools.com/fr/tools/jsonata-query-transform-studio): Previsualise des requetes et transformations de style JSONata, compare les resultats et exporte en JSON, CSV, YAML ou Markdown.
- [Convertisseur HCL-JSON](https://elysiatools.com/fr/tools/hcl-json-converter): Convertit entre HashiCorp Configuration Language (HCL) et les formats JSON pour les configurations Terraform
- [Text to Excel Converter](https://elysiatools.com/fr/tools/text-to-excel): Convert various text formats to Excel with customizable parsing and formatting options
- [Text to JSON Converter](https://elysiatools.com/fr/tools/text-to-json): Convert various text formats to JSON with customizable parsing options
- [Convertisseur TOML-JSON](https://elysiatools.com/fr/tools/toml-json-converter): Convertit entre les formats TOML et JSON avec prise en charge des commentaires et des structures de données complexes
- [Diff sémantique de fichiers de configuration](https://elysiatools.com/fr/tools/config-file-semantic-diff): Comparez des configurations JSON, YAML, TOML et dotenv par chemin de clé en ignorant l’ordre et le bruit de formatage.

## Exemples

- [Exemples Kubernetes YAML](https://elysiatools.com/fr/samples/kubernetes-yaml): Manifests YAML Kubernetes complets pour Deployment, Service, ConfigMap, Secret, Ingress et autres ressources essentielles
- [Exemples de Traçage Distribué](https://elysiatools.com/fr/samples/distributed-tracing-samples): Exemples complets de traçage distribué utilisant Jaeger, OpenTelemetry et outils d'observabilité modernes
- [Exemples Docker et Kubernetes](https://elysiatools.com/fr/samples/docker-kubernetes): Exemples essentiels d'orchestration de conteneurs incluant Dockerfiles, Docker Compose et manifestes Kubernetes pour le déploiement d'applications modernes
- [Exemples OpenAPI/Swagger](https://elysiatools.com/fr/samples/openapi-swagger): Exemples complets de documentation API utilisant OpenAPI 3.0 et les spécifications Swagger pour les services RESTful
