Je commence un nouveau projet multi-langue complètement dépourvu de cruft. Je dois choisir un format pour les fichiers de configuration. Ceux-ci seront :
- Écrit par des humains (développeurs, pas utilisateurs finaux)
- Lu par des machines
- Entretenu par des humains
- Travaillé par des éditeurs de texte (pas un outil)
J'ai de nombreuses utilisations différentes, comme :
- Liste des modules à exécuter
- Ordre d'exécution des modules
- Paramètres pour les algorithmes
- Configuration générale (nom du travail, version du projet, etc.)
Quelques candidats auxquels j'ai pensé :
- XML
- Difficile à mettre en place dans un éditeur de texte
- INI
- On ne peut faire que de la section-key-value
- Makefile
- Oups !
- JSON
- Il faut s'échapper
"
mais la syntaxe est largement connue
- Il faut s'échapper
- YAML
- Les gens doivent apprendre la syntaxe et les messages d'erreur ne sont pas vraiment bons, mais il est agréable d'avoir des références.
Qu'utiliseriez-vous et pourquoi ? Existe-t-il une panacée ou certaines sont-elles mieux adaptées que d'autres ?