TypeScript 101

Développement web en TypeScript, Télécom Paris

Le cours complet de développement web en TypeScript, en première année à Télécom Paris : les explications, les exercices avec leurs corrigés, les annales et l’outillage d’examen.

Il se suffit à lui-même : tout ce qui est nécessaire pour suivre le cours et préparer les deux évaluations est ici.

AstuceComment utiliser ce site

Les chapitres sont conçus pour être faits dans l’ordre, chacun s’appuyant sur le précédent. Chaque chapitre suit la même structure : objectifs → explications → exercices. Chaque exercice porte un niveau : commencez par les « essentiel », dans l’ordre.

Chaque exercice est suivi de son corrigé, replié : il ne s’affiche que si vous cliquez dessus. Cherchez sérieusement avant de le déplier : c’est pendant la recherche que se fait l’apprentissage, pas pendant la lecture de la réponse.

Ce que vous saurez faire à la fin

  1. Installer et piloter un environnement de développement complet : éditeur, tsconfig, npm, outils de développement du navigateur, débogueur, et en bonus, une IA de codage utilisée intelligemment.

  2. Programmer en TypeScript : typage statique, interfaces, classes, héritage, polymorphisme, generics ; les bases de la programmation fonctionnelle (fonctions fléchées, map/filter/reduce) et événementielle (exceptions, écouteurs d’événements) ; l’asynchrone avec async/await ; la modularité avec import/export.

  3. Assembler une application web complète : formulaires, web components, JSON, fetch, API REST en CRUD (avec et sans authentification), et contournement des restrictions CORS par un proxy.

Le parcours en un coup d’œil

Séance 1 : Premiers pas

Installer l’outillage, transpiler son premier fichier TypeScript, découvrir le système de types, servir une page avec Astro, découper son code en modules.

1.1 Hello world · 1.2 Astro · 1.3 Modules

Séance 2 : Fonctions, objets et tableaux

Écrire des fonctions fléchées, décrire des objets de données, manipuler des tableaux d’objets sans écrire une seule boucle.

2.1 Fonctions fléchées · 2.2 Objets de données · 2.3 Tableaux

Séance 3 : Programmation orientée objet

Classes, encapsulation, contrats, héritage, polymorphisme : réunir des données et le comportement qui les protège.

3.1 Classes et encapsulation · 3.2 Contrats, héritage et polymorphisme

Séance 4 : Évaluation 1

Environ 3 h sur les séances 1 à 3 : tableaux d’objets, classes, contrats.

Attendus et grille de compétences

Séance 5 : Données et erreurs

Un retour collectif sur l’évaluation 1, puis : sérialiser en JSON, écrire du code générique réutilisable, gérer les erreurs proprement.

5.1 JSON · 5.2 Generics · 5.3 Exceptions

Séance 6 : Asynchrone et réseau

Comprendre l’attente non bloquante, appeler une API distante, comprendre et contourner CORS.

6.1 async/await · 6.2 fetch · 6.3 CORS

Séance 7 : Applications complètes

Créer, lire, modifier, supprimer des données via une API REST ; formulaires. Les composants réutilisables se terminent en autonomie.

7.1 CRUD · 7.2 Formulaires · 7.3 Web components

En autonomie : préparer l’évaluation 2

Un plan de révision en cinq étapes, avec une annale en conditions réelles et une grille d’auto-évaluation.

Préparer l’évaluation 2

Séance 8 : Évaluation 2

Environ 3 h sur tout le cours, composant web minimal compris.

Attendus et grille de compétences

Les diapositives

Le support projeté en séance, séance par séance. Chaque diaporama tient entre 30 et 45 minutes (20 pour la séance 7, plus courte) et renvoie au cours écrit pour le détail.

Séance Diaporama
Séance 1 : Premiers pas ouvrir
Séance 2 : Fonctions, objets et tableaux ouvrir
Séance 3 : Programmation orientée objet ouvrir
Séance 5 : Données et erreurs ouvrir
Séance 6 : Asynchrone et réseau ouvrir
Séance 7 : Applications complètes ouvrir

Les séances 4 et 8 sont les deux évaluations.

Évaluation

Épreuve Quand Programme Note
Évaluation 1 séance 4 séances 1 à 3 (chap. 1.1 à 3.2) /20
Évaluation 2 séance 8 tout le cours (chap. 1.1 à 7.3) /20
Note finale moyenne des deux

Pas de projet ni de rendu noté : la note finale est la moyenne des deux évaluations. Ces modalités ne changent pas en cours de période.

Les deux épreuves durent environ 3 h et se déroulent sans accès à internet et sans IA, avec l’outillage d’examen fourni. La note de l’évaluation 1 est rendue, avec un corrigé commenté, avant l’évaluation 2. La page de chaque évaluation détaille ce qui est attendu et donne une grille de compétences pour vous situer.

ImportantPréparez-vous dans les conditions de l’examen

Comme vous n’aurez ni internet ni assistant IA le jour J, entraînez-vous au moins une fois à faire un exercice sans ces béquilles. Les annales des années précédentes, avec leurs corrigés, sont le meilleur outil pour ça.

Pour l’évaluation 2, la page Préparer l’évaluation 2 propose un plan de révision en cinq étapes, à suivre après la dernière séance.

Démarrer

Si c’est votre première séance, commencez par la page Démarrage : elle liste tout ce qu’il faut installer et configurer.

Contribuer à ce site

Ce site est ouvert : son code source est sur gitlab.com/remisharrock/typescript101.

Vous repérez une coquille, une explication obscure, un exemple qui ne compile plus ? Le lien « Edit this page » en haut à droite de chaque page vous amène directement à l’éditeur GitLab et vous permet de proposer une correction (merge request) sans rien installer. Les contributions sont les bienvenues et font partie de l’apprentissage du travail collaboratif.

Pour savoir comment ce site est écrit, relu et amélioré d’une année sur l’autre, et quelle place y tient l’IA : Comment ce cours est conçu.