Welcome

Cours de programmation – Programming Courses

Serge Tahé - About the author

Ce site propose des cours de programmation gratuits, en français et en anglais. Chaque cours avance pas à pas : de nombreux petits exemples commentés, chacun centré sur une seule notion, le plus souvent suivis d’une étude de cas complète. Le PDF et les codes de chaque cours sont téléchargeables.

This site offers free programming courses, in French and in English. Each course proceeds step by step: many small commented examples, each focused on a single concept, most often followed by a complete case study. The PDF and the code of each course can be downloaded.

Français

Les cours ci-dessous ont été écrits en septembre et octobre 2026 par l’IA Claude d’Anthropic, à la demande de Serge Tahé.

Frameworks web côté serveur

Dans ces sept cours, les pages HTML sont fabriquées par le serveur. Ils traitent les mêmes 28 exemples, numéro par numéro, puis la même étude de cas, RdvMedecins, une application de prise de rendez-vous médicaux : on peut ainsi comparer les frameworks.

Frameworks côté client

Dans ces six cours, les pages sont fabriquées dans le navigateur, ou sur le téléphone, à partir des données JSON d’un serveur. Chacun écrit le client de la même application RdvMedecins, d’abord à travers de petits exemples, puis dans une étude de cas complète.

Exemples client / serveur complets

Ces cinq cours construisent l’application RdvMedecins de bout en bout : un serveur NestJS qui expose une API JSON, une base MySQL et un client.

Langages

Ces six cours enseignent un langage à travers de petits scripts commentés ligne par ligne.

  • [Introduction au langage TypeScript et au framework web NestJS par l’exemple (sept 2026)] : le langage TypeScript depuis ses fondamentaux, l’accès aux bases de données (mysql2, TypeORM, Prisma), puis le framework NestJS ;
  • [Introduction au langage Dart par l’exemple (sept 2026)] : le langage Dart, ses fonctions HTTP et l’accès à une base MySQL ;
  • [Introduction au langage PHP 8 par l’exemple (oct 2026)] : le langage PHP 8.5, sans aucune fonctionnalité dépréciée : classes, exceptions, tests PHPUnit, bases MySQL et PostgreSQL, réseau, services web, jusqu’à une application web MVC (fil rouge : un calcul d’impôt en 13 versions) ;
  • [Apprentissage du langage C# 14 avec .NET 10 (oct 2026)] : le langage C# 14 et la plateforme .NET 10, réécriture du cours C# de 2008 : classes, records, LINQ, architectures en couches testées avec MSTest, threads et programmation asynchrone, ADO.NET et Entity Framework Core avec MySQL, réseau TCP et HTTP, services web ASP.NET Core (fil rouge : un calcul d’impôt en 9 versions) ;
  • [Apprentissage du langage Java 25 (oct 2026)] : le langage Java 25, portage du cours C# 14 : classes, records, classes scellées, API Stream, architectures en couches testées avec JUnit 6 et intégrées avec Spring, threads virtuels et programmation asynchrone, JDBC et Hibernate avec MySQL, réseau TCP et HTTP, services web Spring Boot (fil rouge : un calcul d’impôt en 9 versions) ;
  • [Apprentissage du langage Kotlin 2.4 (oct 2026)] : le langage Kotlin 2.4, portage du cours Java 25 : sûreté vis-à-vis de null, propriétés, classes de données, classes scellées, fonctions d’extension, collections et séquences, architectures en couches testées avec JUnit 6 et intégrées avec Spring, threads virtuels et coroutines, JDBC et Hibernate avec MySQL, réseau TCP et HTTP, services web Spring Boot, projets Gradle (fil rouge : un calcul d’impôt en 9 versions).

Les cours plus anciens (Java, .NET, JavaScript, PHP, Python, SQL), écrits par Serge Tahé entre 1998 et 2020, sont sur une page séparée : Autres cours disponibles (1998-2020).

English

The courses below were written in September and October 2026 by Anthropic’s AI Claude, at the request of Serge Tahé. The English versions were translated with DeepL.

Server-side web frameworks

In these seven courses, the HTML pages are generated by the server. They cover the same 28 examples, number by number, then the same case study, RdvMedecins, a medical appointment-booking application, so the frameworks can be compared.

Client-side frameworks

In these six courses, the pages are built in the browser, or on the phone, from the JSON data of a server. Each one writes the client of the same RdvMedecins application, first through small examples, then in a complete case study.

Complete client/server examples

These five courses build the RdvMedecins application from end to end: a NestJS server that exposes a JSON API, a MySQL database and a client.

Languages

These six courses teach a language through small scripts commented line by line.

  • [Introduction to the TypeScript language and the NestJS web framework through examples (sept 2026)] : the TypeScript language from its fundamentals, database access (mysql2, TypeORM, Prisma), then the NestJS framework;
  • [Introduction to the Dart Language Through Examples (sept 2026)] : the Dart language, its HTTP functions and access to a MySQL database;
  • [Introduction to the PHP 8 Language by Example (oct 2026)] : the PHP 8.5 language, without any deprecated feature: classes, exceptions, PHPUnit tests, MySQL and PostgreSQL databases, networking, web services, up to an MVC web application (common thread: a tax calculation in 13 versions);
  • [Learning the C# 14 Language with .NET 10 (oct 2026)] : the C# 14 language and the .NET 10 platform, a rewrite of the 2008 C# course: classes, records, LINQ, layered architectures tested with MSTest, threads and asynchronous programming, ADO.NET and Entity Framework Core with MySQL, TCP and HTTP networking, ASP.NET Core web services (common thread: a tax calculation in 9 versions);
  • [Learning the Java 25 Language (oct 2026)] : the Java 25 language, a port of the C# 14 course: classes, records, sealed classes, the Stream API, layered architectures tested with JUnit 6 and wired with Spring, virtual threads and asynchronous programming, JDBC and Hibernate with MySQL, TCP and HTTP networking, Spring Boot web services (common thread: a tax calculation in 9 versions);
  • [Learning the Kotlin 2.4 Language (oct 2026)] : the Kotlin 2.4 language, a port of the Java 25 course: null safety, properties, data classes, sealed classes, extension functions, collections and sequences, layered architectures tested with JUnit 6 and wired with Spring, virtual threads and coroutines, JDBC and Hibernate with MySQL, TCP and HTTP networking, Spring Boot web services, Gradle projects (common thread: a tax calculation in 9 versions).

The older courses (Java, .NET, JavaScript, PHP, Python, SQL), written by Serge Tahé between 1998 and 2020, are on a separate page: Other available courses (1998-2020).