← Toutes les formations

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

  1. 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
  2. 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
  3. 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 »
  4. 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
  5. 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 contacter