100 % local — vos données ne quittent jamais votre navigateur

Properties en YAML — prêt pour Spring Boot

Transformez un fichier .properties Java en YAML. Les clés pointées s’imbriquent, les indexées deviennent des listes : un application.yml prêt à committer.

Instantané Privé Zéro cookie
Indentation

Entrée Properties

Sortie YAML

Ce que fait cet outil

Un fichier .properties devient du YAML, les points devenant de la structure.

# service
app.name=Demo
app.port=8080
app.debug=true
app:
  name: Demo
  port: 8080
  debug: true

= et : séparent tous deux une clé de sa valeur, les lignes de commentaire commencent par # ou !, et une ligne finissant par une barre oblique inverse se poursuit sur la suivante. Les échappements d’un fichier .properties — \:, \=, \n, \uXXXX — sont décodés : caf\u00e9 arrive en café.

Les clés indexées deviennent des listes

app.hosts[0]=alpha
app.hosts[1]=beta
app:
  hosts:
    - alpha
    - beta

C’est ainsi que Spring écrit une liste dans un fichier qui n’en a pas, et c’est ce que produit le convertisseur YAML vers properties de ce site. À la relecture, pourtant, vous obteniez deux clés littérales nommées hosts[0] et hosts[1] : l’outil ne reconnaissait pas sa propre sortie, et l’aller-retour perdait la séquence. Les indices forment maintenant une séquence quand ils partent de 0 sans trou. Un trou, un doublon, ou un hosts simple à côté laissent les clés exactement telles qu’elles étaient — déplacer une valeur pour combler un trou serait inventer un ordre.

Une clé répétée est refusée

app.port=8080
app.port=3000
Duplicate key "app.port": it already has a different value

Properties.load garde la dernière affectation sans un mot : la première valeur disparaissait. Le sens YAML vers properties refusait déjà d’écrire deux clés qui s’aplatissent sur le même nom ; les accepter ici en silence, c’était le même trou vu de l’autre côté. Deux lignes identiques passent toujours : se répéter n’est l’aveu de rien.

Ce que deviennent les valeurs

  • Nombres et booléens sont typés, comme dans les outils CSV : 8080 est un nombre, true un booléen.
  • 007 reste une chaîne. 1e3 aussi, et tout ce dont le texte porte plus que la valeur.
  • Les scalaires ambigus sont cités. y, on et NO sont des chaînes pour un lecteur YAML 1.2 et des booléens pour PyYAML, qui lit du YAML 1.1. Citer exactement ceux-là met les deux lecteurs d’accord.
  • Une valeur vide est une chaîne vide, pas un null : le fichier dit que la clé est là sans rien dedans, et le YAML le dit aussi.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Que devient `app.hosts[0]` ?
C’est une liste, depuis l’écriture de cette page. Ces clés indexées sont la façon dont Spring écrit une séquence dans un fichier plat, et l’outil YAML vers properties de ce site les écrit ainsi lui aussi — mais les relire donnait des clés littérales nommées `hosts[0]` et `hosts[1]` : l’outil ne reconnaissait pas sa propre sortie. Une suite d’indices partant de 0 sans trou devient maintenant une séquence YAML ; tout ce qui est moins régulier reste littéral, car deviner une position déplacerait une valeur.
Pourquoi une clé répétée est-elle refusée ?
`Properties.load` garde la dernière et ne dit rien : la première valeur disparaissait simplement. L’autre sens refusait déjà d’écrire deux clés qui s’aplatissent sur le même nom ; les lire en silence était l’autre moitié du même trou. Deux lignes identiques ne sont l’aveu de rien et passent toujours.
Pourquoi `007` ressort-il entre guillemets ?
Pour rester une chaîne. Les valeurs sont typées comme ce site type le CSV — `8080` est un nombre, `true` un booléen — mais `007` est un identifiant dont les zéros comptent : il reste du texte. Les guillemets protègent aussi ce qu’un lecteur YAML 1.1 lirait de travers : `y`, `on` et `NO` sont des chaînes dans votre fichier et des booléens pour PyYAML ; cités, ils restent eux-mêmes.

Convertisseurs associés