4 points par xguru 2025-07-02 | 5 commentaires | Partager sur WhatsApp
  • Bibliothèque IaC (Infrastructure as Code) permettant de gérer par le code la création, la modification et la suppression des ressources d’infrastructure, comme Terraform
    • Contrairement à Terraform/Pulumi, elle est écrite uniquement en TypeScript pur basé sur ESM
    • Prend en charge la gestion automatisée des ressources partout, y compris dans le navigateur et en serverless, sans outil, runtime ou dépendance supplémentaire
  • Toutes les ressources d’infrastructure sont modélisées par une seule fonction async, ce qui permet d’automatiser le CRUD uniquement avec du code JS, sans abstractions complexes
  • Grâce au zéro dépendance, au stockage local des services et des fichiers d’état, etc., elle offre une grande simplicité et une forte transparence, avec très peu de contraintes sur la structure du code ou l’emplacement de stockage de l’état
  • Prend activement en charge l’usage de l’IA : la génération et la modification de code via des LLM sont faciles, ce qui permet d’implémenter directement des ressources sans attendre les providers existants
  • Propose un workflow simple et une grande portabilité

5 commentaires

 
yangeok 2025-07-02

Je me demande bien pourquoi ils ont tenu à utiliser TypeScript...

 
slave4salary 2025-07-02

C’est bien ça...

Par curiosité, j’ai aussi demandé à Claude et je partage ce qu’il m’a répondu... mais je n’adhère pas vraiment.


Je vais analyser de manière critique les avantages et les inconvénients de l’utilisation de TypeScript :

Avantages (Pros) :

  1. Intégration à l’écosystème de développement
  • La plupart des exemples sont centrés sur des frameworks web (React, Vue, Svelte, etc.)
  • Réduction au minimum de la barrière d’entrée pour les développeurs frontend
  • Possibilité de tirer parti de l’écosystème npm
  1. Avantages techniques
  • La sûreté de typage permet de prévenir à l’avance les erreurs de configuration d’infrastructure
  • Prise en charge native d’ESM pour moderniser le système de modules
  • Support naturel du traitement asynchrone (async/await)
  1. Extensibilité
  • Mise en avant du caractère "Extensible" : extension facile des ressources sur une base fonctionnelle
  • Facilité d’intégration de l’IA (mise en avant de "AI-first")
  • Prise en charge de divers runtimes, du navigateur au serverless

Inconvénients (Cons) :

  1. Inquiétudes sur les performances
  • TypeScript nécessite une étape de compilation
  • L’utilisation mémoire est plus élevée que dans des langages système comme Go ou Rust
  • Risque de goulets d’étranglement en cas de gestion d’infrastructures à grande échelle
  1. Risques de sécurité
  • Possibilité d’erreurs d’exécution liée à la nature dynamique de JavaScript/TypeScript
  • Accès possible à des fonctionnalités risquées comme eval()
  • Complexité de la gestion des dépendances (même si le projet revendique "zero dependencies", il est très probable que des dépendances supplémentaires soient ajoutées en usage réel)
  1. Limites techniques
  • Accès limité aux systèmes bas niveau
  • Latences imprévisibles dues au garbage collection
  • Difficulté à produire des binaires natifs
  1. Inquiétudes liées à l’écosystème
  • Outil IaC encore relativement immature
  • Communauté/écosystème plus restreints que ceux de Terraform ou Pulumi
  • Manque de support et de validation au niveau entreprise
  1. Considérations d’architecture
  • L’absence de "strong opinions" peut au contraire devenir un défaut (absence de bonnes pratiques établies)
  • Risque de dispersion dans la gestion de l’état ("store state anywhere")
  • Complexité de la gestion des fichiers d’état locaux

En conclusion, le choix de TypeScript est adapté à la création d’un environnement favorable aux développeurs web, mais il semble encore nécessiter des validations supplémentaires avant de pouvoir être considéré comme un outil IaC de niveau entreprise.

 
lamanus 2025-07-02

D’où vient cette histoire de « une seule ligne de code… » ?

 
xguru 2025-07-02

Hein... pourquoi ai-je écrit ça ainsi, snif ? Il semble que « en code » soit la bonne formulation.

 
codemasterkimc 2025-07-02

Si une ligne est longue, c’est possible, oui
Même le moteur de recherche de Google pourrait probablement tenir sur une seule ligne si on écrit assez long lol