Pkl — Le langage de config d'Apple qui veut vous faire lâcher YAML

Pkl — Le langage de config d'Apple qui veut vous faire lâcher YAML

Salut à tous 👋

Si vous avez déjà pesté contre un YAML cassé par une indentation invisible, Pkl (prononcé "pickle") mérite votre attention. C'est un langage open source (Apache 2.0) créé par Apple, dédié à un seul objectif : rendre la configuration moins douloureuse. Le projet est actif — v0.31 sortie en février 2026.

L'idée : la lisibilité d'un fichier de config, mais avec le typage, la validation et le templating d'un vrai langage.

Exemple — un schéma de config :

module ApplicationConfig
name: String
port: UInt16
database {
  host: String
  user: String
  password: String(isBetween(8, 40))
}

Si le mot de passe fait 3 caractères, Pkl refuse d'évaluer et vous dit pourquoi. Fini les bugs de config qui pètent en prod.

Les points forts :
Validation et typage intégrés avec messages d'erreur clairs
Templating par héritage : fini le copier-coller de blocs YAML entre microservices
Génération multi-format : un .pkl produit du JSON, YAML, XML
Bindings natifs Java, Kotlin, Swift, Go
Support éditeur : VS Code, IntelliJ, Neovim via LSP

Adoption réelle : l'équipe infra de GOV.UK a adopté Pkl fin 2025 pour leurs pipelines CI/CD après avoir évalué Go et KCL.

Nuances : runtime JVM, encore en pré-1.0, porté principalement par Apple. Overkill pour des configs simples, mais sur du K8s ou du CI/CD répétitif le gain est réel.

👉 pkl-lang.org | GitHub | Tutoriel

Curieux d'avoir vos retours si certains ont déjà testé !