Tech
TypeScript avancé : concevoir par les types
Faire travailler le compilateur pour vous : modéliser votre domaine pour rendre les états invalides impossibles.
- Durée indicative
- 2 à 3 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel · Distanciel · Hybride
- Formats
- Intra-entreprise
- Inter-entreprises
- Bootcamp intensif
- Conférence / masterclass
Bénéfices attendus pour vos équipes et votre activité
Ce que la formation change concrètement, au-delà de la salle :
-
Moins de bugs en production
Des familles entières d'erreurs sont détectées par le compilateur plutôt que par vos utilisateurs.
-
Des évolutions plus rapides et plus sûres
Le compilateur guide chaque refactoring : les équipes font évoluer le code avec confiance, sans appréhension.
-
Une intégration plus rapide
Les types documentent le domaine et ses règles : les nouveaux arrivants comprennent le code et contribuent plus tôt.
-
Un coût de maintenance réduit
Moins de code défensif et de vérifications à l'exécution à écrire, tester et maintenir.
Objectifs pédagogiques
À l'issue de la formation, les participants seront capables de :
- Lire et écrire des types avancés (génériques, types conditionnels, mappés et template literal) en confiance
- Modéliser un domaine métier pour rendre les états invalides irreprésentables
- Utiliser les branded types pour sécuriser les valeurs primitives (identifiants, montants, emails)
- Représenter les erreurs comme des valeurs et rendre les cas d'échec explicites dans les signatures
- Concevoir des API typées agréables à consommer
- Diagnostiquer et simplifier des types complexes et des erreurs du compilateur
Public
- Développeuses et développeurs utilisant déjà TypeScript au quotidien
- Tech leads et architectes qui définissent les pratiques TypeScript d'une équipe
Prérequis
- Au moins 6 mois de pratique de TypeScript ou JavaScript
- Être à l’aise avec npm et un éditeur moderne (VS Code ou équivalent)
Programme
-
Module 1 Les fondations du système de types, revisitées
- Le typage structurel et ses conséquences
- Inférence, élargissement et rétrécissement de types
- unknown vs any, et never comme outil
- Les options du mode strict qui comptent
-
Module 2 Génériques et programmation au niveau des types
- Contraintes et valeurs par défaut des génériques
- Types conditionnels et infer
- Types mappés et remapping de clés
- Template literal types
-
Module 3 Concevoir par les types
- Rendre les états invalides irreprésentables
- Unions discriminées et exhaustivité
- Branded types et smart constructors
- « Parse, don't validate »
-
Module 4 Les erreurs comme des valeurs
- Les limites des exceptions en TypeScript
- Modéliser avec Result / Either
- Des canaux d'erreurs typés aux frontières
- Une introduction à Effect pour aller plus loin
-
Module 5 API typées et frontières
- Valider les données externes à l'exécution avec des schémas
- Concevoir des API de modules et de librairies ergonomiques
- Partager des types entre backend et frontend
- Maîtriser la complexité des types et les temps de compilation
Approche pédagogique
Environ 70 % de pratique. Chaque module alterne de courts apports théoriques, du live coding et des exercices de difficulté croissante, construits à partir de code réaliste plutôt que d’exemples jouets. Les participants repartent avec les exercices, leurs corrigés et les supports.
Sur mesure
Avant la session, un court échange me permet de comprendre votre stack, votre codebase et le niveau de l’équipe. Les exercices peuvent alors s’appuyer sur votre propre code, et l’équilibre entre les modules s’ajuster à ce qui compte le plus pour vous. En format masterclass, le contenu se concentre sur la conception par les types et les erreurs comme valeurs.
Parlons de votre besoin
Un programme à adapter, une équipe à former, une question sur un format ? Écrivez-moi pour en discuter.
Me contacterantoinecoulon.consulting@gmail.com