← Toutes les formations

Tech

Effect : des applications TypeScript prêtes pour la production

Erreurs, dépendances, concurrence et résilience dans un seul modèle composable, adopté progressivement.

Durée indicative
2 à 3 jours
Niveau
Intermédiaire
Modalités
Présentiel · Distanciel · Hybride
Formats
  • Intra-entreprise
  • Inter-entreprises
  • Bootcamp intensif
  • Coaching / accompagnement

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

    Les erreurs font partie des types : chaque cas d'échec, timeouts et retries compris, est visible et traité avant la mise en production.

  • Des fonctionnalités complexes livrées sereinement

    Concurrence, orchestration et traitements en arrière-plan deviennent des briques composables plutôt que du code ad hoc.

  • Moins de régressions

    Les dépendances sont explicites et remplaçables : la logique métier se teste sans démarrer d'infrastructure.

  • De la valeur sans réécriture

    Effect s'adopte progressivement dans votre code existant : le premier module rapporte déjà, sans migration big bang.

Objectifs pédagogiques

À l'issue de la formation, les participants seront capables de :

  • Expliquer quels problèmes Effect résout, et quand l'adopter (ou non)
  • Écrire des programmes aux erreurs typées et gérer les échecs explicitement
  • Structurer les dépendances avec des services et des layers, et les tester facilement
  • Orchestrer des traitements concurrents avec les fibers, l'interruption et la gestion sûre des ressources
  • Ajouter de la résilience (retries, timeouts, schedules) et de l'observabilité à un service
  • Introduire Effect progressivement dans une codebase existante

Public

  • Développeuses et développeurs TypeScript sur des backends, des API ou des frontends complexes
  • Tech leads qui évaluent Effect pour leur équipe

Prérequis

  • De solides bases en TypeScript (génériques, unions)
  • Une expérience des Promises et d'async/await

Programme

  1. Module 1 Pourquoi Effect

    • Les préoccupations transverses d'une vraie application
    • Le type Effect : succès, erreur et dépendances
    • Évaluation vs exécution
    • Exécuter les effets aux frontières
  2. Module 2 Les erreurs comme citoyennes de première classe

    • Erreurs attendues vs défauts
    • Canaux d'erreurs typés et gestion par tag
    • Accumulation d'erreurs et validation
    • Des exceptions et Promises vers Effect
  3. Module 3 Dépendances, services et layers

    • Déclarer des services avec Context
    • Construire et composer des layers
    • Configuration et secrets
    • Substituer des implémentations pour les tests
  4. Module 4 Concurrence et ressources

    • Fibers et concurrence structurée
    • Interruption et annulation
    • Scope et gestion sûre des ressources
    • Parallélisme borné, queues et aperçu des streams
  5. Module 5 Résilience et observabilité

    • Schedule : retries, backoff et répétition
    • Timeouts et solutions de repli
    • Logs, métriques et traces
    • Schema pour valider les données aux frontières
  6. Module 6 Adopter Effect dans une codebase existante

    • Stratégies d'adoption progressive
    • Interopérabilité avec les librairies à base de Promises
    • Structure de projet et conventions
    • Pièges fréquents et comment les éviter

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. Un service fil rouge s’enrichit de module en module, pour voir comment erreurs, dépendances, concurrence et résilience s’articulent. 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 : adopter Effect dans un produit existant n’est pas le même chemin que démarrer un nouveau projet.

Parlons de votre besoin

Un programme à adapter, une équipe à former, une question sur un format ? Écrivez-moi pour en discuter.

Me contacter