.NET 10 (LTS) · .NET 11 (aperçu) · C# 14 & 15 · EF Core · Minimal API · Blazor

Comprendre .NET, vraiment.

Une documentation qui commence par expliquer ce qu'est une interface avant de te parler de covariance générique. Chaque notion arrive avec une image mentale, un schéma, un exemple, et le mot technique cliquable quand il faut bien finir par l'employer.

Comment cette documentation fonctionne

Le bouton le plus important

🎚️ Trois niveaux d'affichage

En haut à droite : Débutant, Intermédiaire, Expert. Le texte de base ne change pas ; ce sont les encadrés avancés, les détails d'implémentation et les subtilités de performance qui apparaissent quand tu montes le curseur. Tu peux relire le même chapitre plus tard, un cran plus haut.

Contre les trous de mémoire

❓ Chaque terme technique est cliquable

Un mot souligné en pointillés comme interface, scoped ou problème N+1 ouvre une fiche : définition sans jargon, image concrète, mini-exemple, termes voisins. Essaie, clique.

Pour la mémoire visuelle

🖼️ Des images plutôt que des définitions

Le tas de mémoire est un entrepôt, une interface est une prise électrique, async/await est un serveur de restaurant. Les schémas sont dessinés (SVG), pas photographiés : ils suivent le thème clair/sombre et restent lisibles à l'impression.

Pour retrouver vite

🔍 Recherche instantanée

Ctrl+K (ou la touche /) ouvre la recherche : chapitres, sections et glossaire. Elle ignore les accents. Et chaque chapitre a un bouton « marquer comme lu » pour suivre ta progression dans la barre de gauche.

Mauvaise mémoire = fonctionnalité, pas défaut

Personne ne retient tout. Les bons développeurs ne mémorisent pas : ils savent où retrouver et surtout pourquoi c'était comme ça. Cette doc est écrite pour la relecture rapide : chaque chapitre finit par un bloc « À retenir » en 5 lignes, et le fichier Mémos & pièges rassemble tout en tableaux.

Quel parcours pour toi ?

Suis simplement l'ordre des chapitres, niveau Débutant, sans chercher à tout comprendre du premier coup. Objectif : arriver au chapitre 5 en ayant compris ce qu'est un objet.

  1. C'est quoi .NET ? — le décor
  2. Le vocabulaire de base — les 20 mots qui reviennent partout
  3. Types et mémoire — pourquoi ta modification « ne se voit pas »
  4. La programmation objet
  5. Interface et abstraction — le déclic

Ensuite seulement : LINQ (7), async (8), puis une vraie application avec Minimal API et EF Core.

Tu connais les boucles et les fonctions : ne perds pas de temps sur 1–2, mais ne saute pas 3 et 6, qui concentrent les différences de C# avec les autres langages.

Deux chapitres récapitulatifs, écrits pour être lus d'affilée, avec l'impact réel sur du code existant :

  • Tout .NET 10 (LTS) — C# 14, extension members, validation des Minimal API, EF 10, Blazor 10
  • Tout .NET 11 (aperçu) — C# 15 (unions, closed), runtime async, EF 11, sortie prévue le 10 novembre 2026

Passe le niveau sur Expert avant de les lire : la moitié du contenu y est cachée.

Les questions qui tombent, et le chapitre qui y répond en profondeur :

Question classique
Interface ou classe abstraite ?Ch. 5
struct vs class, pile vs tasCh. 3
Différence internal / protectedCh. 6
IEnumerable vs IQueryableCh. 7
Pourquoi .Result provoque un interblocageCh. 8
Singleton / scoped / transientCh. 11
Le problème N+1 et comment le voirCh. 15
Quel mode de rendu Blazor choisirCh. 16

Le sommaire complet

Chapitre 1

C'est quoi .NET ?

Runtime, SDK, compilation, ramasse-miettes, versions LTS. Le décor avant les acteurs.

Chapitre 2

Le vocabulaire de base

Variable, type, méthode, classe, projet, assembly : les mots qu'on n'ose plus demander.

Chapitre 3

Types, mémoire, valeur vs référence

Pile, tas, copies, null. La source de la moitié des bugs mystérieux.

Chapitre 4

La programmation objet

Encapsulation, héritage, polymorphisme — expliqués sans le vocabulaire de 1995.

Chapitre 5

Interface, abstraction, contrat

Le chapitre qui rend le reste évident. Interface ou classe abstraite : la vraie réponse.

Chapitre 6

public, private, internal…

Les 6 niveaux de visibilité, avec un simulateur pour voir qui voit quoi.

Chapitre 7

Collections, génériques et LINQ

Listes, dictionnaires, <T>, et l'art d'interroger des données en une ligne.

Chapitre 8

async / await sans douleur

Pourquoi ça existe, ce que fait vraiment await, et les 4 façons de tout casser.

Chapitre 9

Erreurs, null et robustesse

Exceptions, using, types nullables, validation : rendre le code difficile à casser.

Chapitre 10

C# moderne (12 → 15)

Records, pattern matching, expressions de collection, unions. Écrire 3 lignes au lieu de 30.

Chapitre 11

L'injection de dépendances

Le mécanisme central d'ASP.NET Core, et les durées de vie qui font tomber les applications.

Chapitre 12

Configuration, options, logs

appsettings, secrets, IOptions, journalisation structurée.

Chapitre 13

HTTP, hosting et middleware

Ce qui se passe entre le clic du navigateur et ton code. L'ordre compte.

Chapitre 14

Minimal API

Construire une API propre : routes, binding, validation, OpenAPI, erreurs, pagination.

Chapitre 15

EF Core : la base de données

Modéliser, migrer, interroger — et ne pas générer 400 requêtes SQL sans le savoir.

Chapitre 16

Blazor : l'interface en C#

Composants, modes de rendu, cycle de vie, formulaires, état, interop JavaScript.

Chapitre 17

Sécurité : identité et accès

Authentifier, autoriser, cookies vs jetons, passkeys, CSRF, secrets.

Chapitre 18

Tester son code

Unitaire, intégration, doublures, API en mémoire, composants Blazor.

Chapitre 19

Performance et diagnostic

Mesurer avant d'optimiser : allocations, cache, télémétrie, profils.

Chapitre 20

Publier et déployer

Publication, conteneurs, AOT, variables d'environnement, santé de l'application.

Chapitre 21 · LTS

Tout .NET 10

Sorti en novembre 2025, supporté jusqu'en novembre 2028. Le socle recommandé aujourd'hui.

Chapitre 22 · aperçu

Tout .NET 11

Prévu le 10 novembre 2026 (STS). Unions C# 15, runtime async, EF 11.

Sur quelle version faut-il être ?

.NET 8 · LTS fin nov. 2026 2023 .NET 9 · STS (fini) 2024 .NET 10 · LTS ★ supporté jusqu'à nov. 2028 nov. 2025 .NET 11 · STS prévu 10 nov. 2026 2026
Numéro pair = LTS (3 ans de correctifs). Numéro impair = STS (18 mois). Pour un projet qui doit durer : reste sur les pairs.

En pratique aujourd'hui : développe sur .NET 10. C'est la version soutenue longtemps, celle des modèles de projet par défaut, celle que cette documentation utilise dans tous ses exemples. Le chapitre 22 sur .NET 11 sert à savoir ce qui arrive, à tester en local — pas à mettre en production avant sa sortie.

Franchise sur les sources

Les nouveautés de .NET 11 décrites ici correspondent aux versions d'aperçu publiées au premier semestre 2026 (jusqu'à la Preview 6). Un aperçu, par définition, peut encore changer : une API peut être renommée ou retirée avant novembre. Les chapitres de fond (1 à 20) portent sur .NET 10 et restent valables.

Conventions utilisées

L'image Une analogie concrète. Volontairement imparfaite : elle sert à accrocher le souvenir, pas à passer une certification.
Piège Une erreur que tout le monde commet, avec ce qu'on voit à l'écran quand elle se produit.
Bon réflexe Ce qu'il faut faire par défaut, sans réfléchir, tant qu'on n'a pas une bonne raison de faire autrement.
Sous le capot Le détail d'implémentation. Invisible au niveau Débutant, affiché en Intermédiaire ou Expert.
À retenir Le résumé de fin de section, en quelques lignes, à relire seul plus tard.

Blocs de code

Toujours du C# compilable dans le contexte indiqué, avec un bouton Copier au survol. Les commentaires en français expliquent la ligne importante.

Ce que cette documentation ne fait pas