2 points par GN⁺ 2023-09-29 | 1 commentaires | Partager sur WhatsApp
  • Cet article traite de l’utilisation de YAML dans les technologies DevOps.
  • YAML est loué pour sa couverture de tests à 100 %, le fait qu’il compile toujours sans erreur ni avertissement, et qu’il soit toujours livrable.
  • YAML n’impose pas la gestion des erreurs pendant le développement, ce qui peut provoquer des problèmes d’exécution en production.
  • L’auteur mentionne que YAML est largement adopté dans l’industrie et qu’il est utilisé dans Kubernetes.
  • YAML est considéré comme légèrement meilleur que windows.ini et, contrairement à JSON, il prend en charge les commentaires.
  • L’article souligne qu’en dehors de sa spécification destinée aux implémenteurs, YAML manque de documentation officielle.
  • YAML est présenté comme un moyen d’exécuter du code en toute sécurité, avec des références à de potentiels problèmes de sécurité.
  • L’auteur avertit que l’utilisation de YAML peut entraîner des résultats inattendus, comme 'NO' analysé en type booléen, ou de grands entiers automatiquement convertis en octal.
  • L’article aborde avec humour les difficultés liées à l’utilisation de YAML, notamment des problèmes de débogage autour de l’encodage du temps et de la notation octale.
  • L’auteur partage un tweet exprimant sa frustration envers YAML dans le contexte de GitHub Actions.
  • L’article se conclut par un scénario fictif où SQL serait basé sur YAML.

1 commentaires

 
GN⁺ 2023-09-29
Commentaire Hacker News
  • Les suppositions de YAML concernant les nombres octaux et les chaînes peuvent entraîner des résultats inattendus et des défaillances système.
  • YAML est un format de données lisible et modifiable par des humains, mais il pose problème lorsqu’il est utilisé pour de la logique plutôt que pour de simples données.
  • Le CI/CD contient souvent de la logique, ce qui n’est pas idéalement géré par du YAML pur.
  • YAML ne devrait pas être utilisé en dehors de l’écosystème Python afin d’éviter les problèmes liés aux différences de formats de script et de préserver la cohérence.
  • Jinja-in-YAML est considéré comme un antipattern en raison de l’absence initiale de conception pour la programmabilité.
  • Parmi les alternatives à YAML figurent Dhall, Jsonnet et Starlark, un langage non Turing-complet dérivé de Python.
  • YAML est reconnu pour sa lisibilité, mais la complexité du déploiement dans les pipelines CI/CD constitue un problème majeur.
  • L’utilisation de YAML pour l’infrastructure as code peut provoquer confusion et inefficacité, en particulier chez les développeurs peu familiers avec l’infrastructure.
  • BCL est proposé comme alternative potentielle à YAML pour définir des ressources dans un style Terraform.
  • Un effet de plateforme interne est observé avec YAML, où la configuration s’étend jusqu’à devenir un langage de programmation.
  • Dans YAML, mettre tous les littéraux entre guillemets peut résoudre de nombreux problèmes courants.
  • EDN (Extensible Data Notation), un sous-ensemble de Clojure, est proposé comme alternative à YAML.
  • YAML est utile pour l’évaluation et le retour d’information dans les environnements éducatifs grâce à sa lisibilité et à la facilité d’usage de la syntaxe Markdown.
  • YAML rend difficile l’écriture de pipelines CI et de configurations d’automatisation domestique.