Convertisseur de configuration

Collez un format de configuration, obtenez les deux autres au fil de la frappe.

Mode d’emploi

  1. Collez votre configuration — YAML, JSON ou Java .properties. Le format est détecté et les deux autres apparaissent en dessous au fil de la frappe ; aucun bouton à cliquer.
  2. Si la détection se trompe, choisissez le format source vous-même. Choisissez une indentation de 2 ou 4 espaces, et désactivez « Développer les clés à points » pour conserver les clés à plat de style Spring.
  3. Copiez ou téléchargez chaque résultat séparément — les noms de fichiers sont config.yaml, config.json et config.properties.

Exemple

Saisie (YAML)

server:
  port: 8080
  name: order-service
debug: true

JSON et Properties

{
  "server": {
    "port": 8080,
    "name": "order-service"
  },
  "debug": true
}

Properties
----------
server.port = 8080
server.name = order-service
debug = true

Règles par défaut uniquement : la source est détectée comme du YAML, 8080 reste donc un nombre et true un booléen. Properties n’a pas de types : les mêmes valeurs ressortent donc sous forme de chaînes 8080 et true — lorsque la source est un .properties, tout reste chaîne de bout en bout.

Règles, limites et problèmes connus

  • Trois formats seulement : YAML, JSON et Java .properties. Pas de TOML, pas d’en-têtes INI [section], pas de XML ni de CSV.
  • YAML est pris en charge comme sous-ensemble de configuration : mappings en blocs, séquences, flux {…} / […], scalaires entre guillemets et scalaires de bloc | / >. Les ancres (&), alias (*), !balises, clés de fusion << et clés complexes ? sont signalés comme des erreurs plutôt que devinés.
  • Seul le premier document YAML est converti ; un --- ultérieur est ignoré et signalé.
  • Les commentaires ne sont pas reportés : les trois formats les placent différemment, et un commentaire conservé au mauvais endroit est pire que pas de commentaire.
  • Properties n’a pas de types. Chaque valeur est une chaîne : port = 8080 devient donc "8080" en JSON, et non 8080. Les nombres, booléens et null ne survivent que si la source est du YAML ou du JSON.
  • Le texte non ASCII est écrit tel quel (UTF-8), et non échappé en \uXXXX. Properties.store() de Java écrit en ISO-8859-1 : enregistrez le fichier en UTF-8 si vous le collez dans un projet Java.
  • Les entiers au-delà de la plage sûre (comme 12345678901234567890) sont conservés sous forme de chaînes avec les chiffres exacts saisis, au lieu d’être arrondis en nombre.
  • L’ordre des clés suit votre saisie ; il n’y a pas d’option de tri.
  • Un tableau ou une valeur nue au niveau racine ne peut pas être écrit en properties — seul ce panneau le signale, l’autre conversion se fait quand même.
  • Pas d’envoi de fichier, pas de paramètres d’URL, pas d’historique. Tout s’exécute dans votre navigateur : rien n’est envoyé ni stocké.
  • Une chaîne contenant un saut de ligne est écrite "a\nb" en YAML, et non comme un scalaire de bloc |.
  • Limites : 1 000 000 de caractères et 64 niveaux d’imbrication — au-delà, vous obtenez une erreur plutôt qu’un résultat tronqué. Au-delà de 200 000 caractères, le résultat s’actualise environ 0,6 s après l’arrêt de la frappe ; la sortie utilise LF et ne se termine pas par un saut de ligne.

Ce dont on a généralement besoin ensuite, une fois la configuration au bon format.