Ouvrir le menu principal

MacGeneration

Recherche

Apple présente Pkl, un langage de programmation pour la configuration

Anthony Nelzin-Santos

mardi 06 février 2024 à 12:00 • 57

Logiciels

Apple présente Pkl, prononcé pickle comme un cornichon, « un langage de programmation pour la configuration ». Les fichiers de configuration des environnements de développement, des intégrations continues ou d’autres projets sont généralement rédigés avec des langages statiques comme JSON ou YAML. Pkl veut faciliter leur création et surtout leur maintenance en apportant une plus grande expressivité et un mécanisme de validation.

Image Apple.

Les langages statiques comme JSON ou YAML, sans parler des listes de propriétés au format XML largement employées par Apple, ont les inconvénients de leurs avantages. S’ils sont relativement lisibles, ils obligent généralement à répéter le code lorsque la configuration s’allonge, sans intégrer de mécanismes de validation pour éviter les erreurs. Les outils permettant de combler ces lacunes imposent une complexification de la syntaxe à l’opposé de l’objectif premier de ces langages.

Des langages plus généraux peuvent être utilisés pour générer des fichiers de configuration, mais comme ils n’ont pas été spécifiquement conçus pour cet usage, leur manipulation peut se révéler complexe. Pkl tente de résoudre la quadrature du cercle : c’est un langage aussi expressif que JavaScript ou Ruby, qui permet ainsi d’éviter de se répéter, mais spécifiquement pensé pour la rédaction de fichiers de configuration, qui peut ainsi produire aisément du code JSON, YAML ou encore PLIST.

« Nous voulons prendre le meilleur des deux mondes », explique Apple, « proposer un langage déclaratif, simple à lire et écrire, mais enrichi de fonctionnalités empruntées aux langages généralistes. » Pkl propose ainsi des classes, des fonctions et des structures conditionnelles. Les développeurs pourront créer et publier des paquets pour partager leur code, notamment pour intégrer des configurations Pkl aux chaines de production Swift, Go, Java ou Kotlin.

Apple dit avoir voulu concevoir un langage qui « détecte les erreurs de validation avant le déploiement », s’adapte « aux cas d’usage les plus simples comme les plus complexes » et surtout est « un plaisir à écrire grâce à nos excellentes intégrations aux IDE ». Pkl peut effectivement être intégré à IntelliJ, Visual Studio Code et Neovim avec des extensions, mais pas encore Xcode, comme le note malicieusement le développeur Marcin Krzyzanowski.

Pkl semble avoir été construit avec l’aide du framework de constructions de langages Truffle, qui repose lui-même sur le compilateur Java de la distribution GraalVM, l’un comme l’autre développés par Oracle. On comprend bien que ce langage navigue quelque part entre les plateformes d’Apple et l’univers Android. Apple propose une documentation complète avec de nombreux exemples et le code sous licence Apache sur Github.

Source :

Image Jonathan Pielmayer (Unsplash). Merci Julien.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

OLED, tactile, 5G : le futur MacBook Pro M6 s’annonce spectaculaire

07:14

• 22


Le MacBook A18 Pro entrerait en production à la fin de l’année, pour un prix d’entrée de 599 dollars

17/09/2025 à 21:30

• 40


macOS 26 ne veut pas s’installer sur les Mac Studio M3 Ultra

17/09/2025 à 20:00

• 45


Apple ne devrait pas avoir la primeur sur la gravure en 1,6 nm de TSMC : Nvidia passerait avant

17/09/2025 à 18:30

• 15


macOS Tahoe : plus besoin de KVM pour se connecter à un Mac après une panne de courant

17/09/2025 à 17:15

• 5


Revue de tests de l’iPhone Air : le design séduit, les compromis interrogent

17/09/2025 à 16:32

• 116


Revue des tests des iPhone 17 Pro : ils chauffent moins, mais ne réinventent pas la roue

17/09/2025 à 16:20

• 48


Est-ce que mettre la TV en pause, c'est de la copie privée ? SFR pense que non, Copie France pense que si

17/09/2025 à 16:20

• 88


macOS Tahoe : Apple simplifie la configuration de FileVault en augmentant sa sécurité

17/09/2025 à 15:30

• 25


Le codec AV2 annoncé, alors qu'Apple peine à prendre en charge massivement l'AV1

17/09/2025 à 13:45

• 23


tvOS 26 à l’essai : notre prise en main des nouveautés pour l’Apple TV

17/09/2025 à 13:15

• 19


Kuo : Apple lancera un MacBook Pro à écran OLED tactile fin 2026

17/09/2025 à 12:07

• 49


10 € de réduction sur l'ensemble des coques Apple pour les nouveaux iPhone

17/09/2025 à 10:50

• 0


Promo : le MacBook Air M4 15" avec 24 Go de RAM et 512 Go de stockage à son prix le plus bas

17/09/2025 à 10:39

• 5


macOS Tahoe peut se connecter automatiquement au partage de connexion d’un iPhone

17/09/2025 à 09:35

• 22


iOS 26 : RCS, nouveau Siri, météo par satellite… le programme des prochains mois

17/09/2025 à 09:00

• 37