Formation TypeScript
Sécurisez, structurez et professionnalisez vos projets JavaScript grâce à TypeScript. Maîtrisez le typage statique, les interfaces, les classes, les génériques, les types avancés, la configuration du compilateur, les modules et l'intégration avec les principaux frameworks JavaScript modernes.
Fiabiliser les applications JavaScript avec TypeScript
TypeScript étend JavaScript avec un système de types permettant de détecter de nombreuses erreurs dès la phase de développement, avant même l'exécution de l'application.
Il permet de mieux documenter le code, d'améliorer l'autocomplétion dans les éditeurs, de sécuriser les refactorings et de construire des applications plus faciles à maintenir.
Cette formation commence par les principes fondamentaux du typage avant d'aborder progressivement les interfaces, les unions, les intersections, les génériques, les types conditionnels et les mécanismes avancés du langage.
Le parcours inclut également la configuration professionnelle d'un projet TypeScript, son utilisation avec Node.js et son intégration dans les principaux frameworks JavaScript modernes.
Les compétences visées
À l'issue de la formation, le participant sera capable d'utiliser TypeScript dans un projet professionnel, de concevoir ses propres types et d'exploiter efficacement le système de typage.
Maîtriser le typage
Utiliser les types TypeScript et exploiter efficacement l'inférence du compilateur.
Modéliser les données
Concevoir des interfaces et types adaptés aux données métier d'une application.
Écrire du code générique
Utiliser les génériques pour créer des composants fortement réutilisables.
Configurer TypeScript
Créer une configuration stricte et adaptée à l'environnement d'exécution.
Migrer JavaScript
Transformer progressivement un projet JavaScript existant vers TypeScript.
Professionnaliser le code
Améliorer la qualité, les tests, le refactoring et la maintenabilité.
Du typage fondamental aux architectures TypeScript avancées
Le programme suit une progression permettant de comprendre précisément le fonctionnement du système de types avant d'aborder les mécanismes les plus avancés.
Introduction à TypeScript
Comprendre le rôle de TypeScript dans l'écosystème JavaScript moderne.
- Pourquoi utiliser TypeScript ?
- JavaScript versus TypeScript
- Typage statique
- Compilation vers JavaScript
- Installation de TypeScript
- Utilisation du compilateur tsc
- Premier fichier .ts
- Première compilation
- Erreurs à la compilation
- TypeScript Playground
Types fondamentaux
Déclarer précisément la nature des données manipulées par l'application.
- string
- number
- boolean
- bigint
- symbol
- null
- undefined
- Arrays
- Tuples
- Enums et alternatives
- any
- unknown
- never
- void
Inférence et annotations de types
Comprendre quand laisser TypeScript inférer les types et quand les déclarer explicitement.
- Inférence automatique
- Annotation explicite
- Type widening
- Literal types
- const et types littéraux
- as const
- Inférence des tableaux
- Inférence des objets
- Type des valeurs retournées
- Bon niveau d'explicitation
Fonctions TypeScript
Sécuriser les paramètres et valeurs retournées par les fonctions.
- Typage des paramètres
- Type de retour
- Paramètres optionnels
- Valeurs par défaut
- Rest parameters
- Fonctions fléchées
- Callback typé
- Function types
- Overloads
- Fonctions génériques
Objets, interfaces et Type Aliases
Construire des modèles de données fortement typés et adaptés aux besoins métier.
- Object Types
- Type Alias
- Interfaces
- Propriétés obligatoires
- Propriétés optionnelles
- readonly
- Extension d'interfaces
- Composition de types
- Index Signatures
- Interface versus Type
Unions, intersections et Literal Types
Modéliser précisément les différentes formes que peuvent prendre les données.
- Union Types
- Intersection Types
- Literal Types
- Unions de littéraux
- États métier typés
- Discriminated Unions
- Propriété discriminante
- Types de résultats
- Modélisation des erreurs
- Exhaustive checking
Narrowing et analyse du flux de contrôle
Permettre à TypeScript de déterminer progressivement le type réel d'une valeur.
- Control Flow Analysis
- typeof
- instanceof
- Vérification de null
- Opérateur in
- Equality narrowing
- Truthiness narrowing
- Type predicates
- Custom Type Guards
- Assertions de type
Classes et programmation orientée objet
Exploiter le modèle objet TypeScript pour construire des composants métier structurés.
- Déclaration de classes
- Constructors
- Propriétés
- Méthodes
- public
- private
- protected
- readonly
- Héritage
- Classes abstraites
- Interfaces de classes
- Polymorphisme
Génériques TypeScript
Créer du code flexible tout en conservant une sécurité de type maximale.
- Introduction aux Generics
- Fonctions génériques
- Interfaces génériques
- Classes génériques
- Contraintes génériques
- extends dans les génériques
- Plusieurs paramètres génériques
- Valeurs génériques par défaut
- keyof avec Generics
- APIs génériques
keyof, typeof et Indexed Access Types
Générer des types dynamiquement à partir de structures déjà existantes.
- Opérateur keyof
- keyof sur une interface
- Opérateur typeof
- typeof sur les valeurs
- Indexed Access Types
- Accès aux propriétés
- Extraction d'un type
- Combinaison keyof / typeof
- Types dérivés
- Réduction de la duplication
Utility Types
Transformer rapidement les types existants avec les outils fournis par TypeScript.
- Partial
- Required
- Readonly
- Pick
- Omit
- Record
- Exclude
- Extract
- NonNullable
- ReturnType
- Parameters
- Awaited
Mapped Types
Générer automatiquement de nouveaux types à partir de propriétés existantes.
- Syntaxe des Mapped Types
- Mapping sur keyof
- Transformation des propriétés
- Ajouter readonly
- Supprimer readonly
- Rendre les propriétés optionnelles
- Mapping personnalisé
- Key remapping
- Génération de modèles
- Cas d'utilisation professionnels
Conditional Types
Construire des types dont le résultat dépend d'autres types.
- Syntaxe conditionnelle
- extends dans les types
- Types conditionnels génériques
- Distribution sur les unions
- infer
- Extraction de types
- Type de retour conditionnel
- Traitement des Promises
- Types réutilisables
- Patterns avancés
Template Literal Types
Construire des chaînes de caractères fortement typées à partir d'autres types.
- Template Literal Types
- Composition de chaînes
- Unions dynamiques
- Génération de noms de propriétés
- Uppercase
- Lowercase
- Capitalize
- Uncapitalize
- Routes fortement typées
- Événements fortement typés
Modules et organisation du code
Structurer les projets TypeScript modernes autour du système de modules JavaScript.
- import
- export
- Export nommé
- Export par défaut
- import type
- export type
- ECMAScript Modules
- CommonJS
- Résolution des modules
- Organisation par domaine
- Barrel files
- Bonnes pratiques d'import
Configuration avec tsconfig.json
Configurer précisément le comportement du compilateur TypeScript selon le projet.
- Création du tsconfig.json
- compilerOptions
- target
- module
- moduleResolution
- rootDir
- outDir
- lib
- sourceMap
- include et exclude
- noEmit
- Configuration selon l'environnement
Mode strict et sécurité du typage
Exploiter les contrôles du compilateur pour détecter le maximum d'erreurs avant l'exécution.
- strict
- strictNullChecks
- noImplicitAny
- strictFunctionTypes
- strictPropertyInitialization
- noUncheckedIndexedAccess
- exactOptionalPropertyTypes
- noImplicitReturns
- noFallthroughCasesInSwitch
- Configuration professionnelle
Déclarations de types et bibliothèques externes
Utiliser correctement les bibliothèques JavaScript dans un environnement TypeScript.
- Fichiers .d.ts
- Declaration Files
- @types
- DefinitelyTyped
- Installation des types
- Déclaration d'un module
- Typage d'une librairie JavaScript
- Global declarations
- Module augmentation
- Extension d'une définition existante
Programmation asynchrone typée
Sécuriser les opérations asynchrones, API et traitements réseau.
- Promise<T>
- async / await
- Fonctions async typées
- Résultats d'API
- Gestion des erreurs
- unknown dans catch
- Promise.all
- Données optionnelles
- Nullable values
- Modélisation des réponses serveur
TypeScript avec Node.js
Exploiter TypeScript côté serveur et construire des backends fortement typés.
- Configuration Node.js
- Types Node
- Modules ESM
- Variables d'environnement
- Typage des services
- Typage des modèles
- API REST
- Express et TypeScript
- NestJS et TypeScript
- Architecture backend
TypeScript avec les frameworks frontend
Utiliser TypeScript dans les principaux environnements frontend modernes.
- React et TypeScript
- Typage des Props
- Typage des événements
- Vue et TypeScript
- Angular et TypeScript
- Svelte et TypeScript
- Next.js et TypeScript
- Nuxt et TypeScript
- Types côté frontend
- Partage de modèles
Migration JavaScript vers TypeScript
Transformer progressivement une application JavaScript existante sans réécriture complète.
- Audit du projet existant
- Installation de TypeScript
- allowJs
- checkJs
- Conversion progressive des fichiers
- Gestion des erreurs initiales
- Réduction de any
- Création des modèles métier
- Activation progressive du strict mode
- Migration par domaine fonctionnel
- Refactoring sécurisé
- Validation de la migration
Tests, qualité et outils de développement
Associer TypeScript à une chaîne de qualité logicielle adaptée aux projets professionnels.
- ESLint
- Configuration TypeScript ESLint
- Prettier
- Conventions de code
- Vitest
- Jest
- Tests unitaires typés
- Mocking
- Typage des mocks
- Vérification avant build
- Scripts npm
- Intégration CI
Architecture et bonnes pratiques professionnelles
Construire une base TypeScript compréhensible, évolutive et facilement maintenable.
- Éviter l'usage excessif de any
- Préférer unknown lorsque nécessaire
- Choisir entre interface et type
- Réduire les assertions
- Types métier explicites
- Domain Models
- Séparation des responsabilités
- Couplage faible
- SOLID et TypeScript
- Refactoring
- Documentation par le typage
- Maintenabilité à long terme
Transformer une application JavaScript en projet TypeScript professionnel
Le participant travaille sur une application JavaScript progressivement convertie en TypeScript. L'objectif est de modéliser les données, supprimer les zones de typage incertaines, sécuriser les fonctions et mettre en place une configuration stricte adaptée à un projet réel.
Ce que le participant saura réaliser
Typage TypeScript
- Utiliser les types fondamentaux.
- Créer des interfaces et types.
- Exploiter l'inférence.
- Utiliser les unions et intersections.
- Construire des types métier.
TypeScript avancé
- Utiliser les génériques.
- Exploiter keyof et typeof.
- Utiliser les Utility Types.
- Construire des Mapped Types.
- Manipuler les Conditional Types.
Architecture et intégration
- Configurer tsconfig.json.
- Organiser les modules.
- Utiliser TypeScript avec Node.js.
- Intégrer TypeScript aux frameworks modernes.
- Partager des modèles fortement typés.
Qualité professionnelle
- Migrer du JavaScript existant.
- Activer un typage strict.
- Tester du code TypeScript.
- Sécuriser les refactorings.
- Réduire les erreurs à l'exécution.
Comprendre le typage en le mettant immédiatement en pratique
Chaque notion TypeScript est expliquée à partir d'une situation de développement concrète, puis appliquée dans des exercices progressifs.
Concepts techniques
Compréhension progressive du système de types et du compilateur TypeScript.
Démonstrations
Analyse d'erreurs et comparaison entre JavaScript et TypeScript.
Exercices pratiques
Création de types, génériques, modèles et fonctions sécurisées.
Projet de migration
Transformation progressive d'un projet JavaScript vers TypeScript.
Connaissances recommandées
- Maîtriser les bases de JavaScript.
- Connaître les variables, fonctions, objets et tableaux.
- Comprendre les fonctions fléchées.
- Connaître les modules JavaScript.
- Comprendre les Promises et async / await.
- Une expérience de développement web est fortement recommandée.
À qui s'adresse cette formation ?
- Développeurs JavaScript.
- Développeurs frontend.
- Développeurs backend Node.js.
- Développeurs fullstack.
- Développeurs React, Vue, Angular, Next.js, Nuxt ou Svelte.
- Équipes souhaitant fiabiliser un projet JavaScript existant.
Modalités pédagogiques
Progression maîtrisée
Le programme commence par les types fondamentaux avant d'introduire progressivement les mécanismes avancés du langage.
Exercices de typage
Chaque notion importante est appliquée dans des situations de développement réelles.
Projet professionnel
Une migration JavaScript vers TypeScript permet de mobiliser l'ensemble des compétences acquises.
Professionnalisez vos développements JavaScript avec TypeScript
Vous souhaitez renforcer vos compétences TypeScript, sécuriser vos applications JavaScript ou accompagner votre équipe dans la migration d'un projet existant ? Échangez avec Instants Web Formation afin de définir un parcours adapté à vos besoins techniques.
Trouvez la formation adaptée à votre niveau réel.
Quelques minutes suffisent pour identifier vos acquis, repérer vos axes de progression et choisir un parcours de formation réellement adapté à vos compétences et à vos objectifs professionnels.
Votre progression