Module C#.1 – Introduction
Objectif
Comprendre à quoi sert C#, l'écosystème .NET, et le processus de compilation pour développer des applications robustes.
Théorie
À quoi sert C# ?
C# est un langage de programmation orienté objet développé par Microsoft.
Utilisations principales :
- Applications desktop (Windows Forms, WPF)
- Applications web backend (ASP.NET)
- Applications mobiles (Xamarin)
- Jeux vidéo (Unity)
- Services cloud (Azure)
- Applications d'entreprise
Caractéristiques :
- Typage statique
- Orienté objet
- Multiplateforme (.NET Core/.NET 5+)
- Performant
- Moderne et évolutif
.NET & écosystème
.NET est une plateforme de développement :
Composants :
- CLR (Common Language Runtime) : Exécute le code
- BCL (Base Class Library) : Bibliothèques de base
- Compilateur : Transforme C# en IL (Intermediate Language)
Versions :
- .NET Framework : Windows uniquement (legacy)
- .NET Core : Multiplateforme (3.1 et antérieur)
- .NET 5+ : Successeur unifié (5, 6, 7, 8+)
Avantages de .NET :
- Grande bibliothèque standard
- Multiplateforme (Windows, macOS, Linux)
- Performance optimale
- Écosystème riche
- Support Microsoft
Compilation
Processus :
- Code source C# (
.cs) - Compilation en IL (Intermediate Language)
- Exécution par CLR (Just-In-Time compilation)
- Code machine natif
Avantages :
- Performance proche du natif
- Sécurité de types à la compilation
- Optimisations automatiques
- Portabilité (même IL sur toutes les plateformes)
Fichiers générés :
.exe: Application exécutable.dll: Bibliothèque.pdb: Symboles de débogage
Écosystème .NET
Outils :
- Visual Studio : IDE complet
- Visual Studio Code : Éditeur léger
- .NET CLI : Ligne de commande
- NuGet : Gestionnaire de paquets
Frameworks populaires :
- ASP.NET Core : Web backend
- Entity Framework : ORM (Object-Relational Mapping)
- Blazor : Web avec C#
- MAUI : Applications multiplateformes
Communauté :
- Grande communauté active
- Documentation complète
- Support Microsoft
- Nombreux packages NuGet
Exercice
-
Recherche
- Explorez le site .NET officiel
- Identifiez les cas d'usage de C#
- Comparez .NET Framework vs .NET 8+
-
Installation
- Installez .NET SDK
- Vérifiez avec
dotnet --version - Explorez les commandes CLI
-
Premier projet
- Créez un projet console :
dotnet new console - Explorez la structure générée
- Compilez et exécutez
- Créez un projet console :
Quiz
-
Qui a développé C# ?
- Microsoft
- Oracle
-
Que signifie CLR ?
- Common Language Runtime
- Common Language Runtime
- Compiled Language Runtime
-
C# est compilé en quoi ?
- Code machine directement
- IL (Intermediate Language)
- JavaScript
-
Quel framework .NET est multiplateforme ?
- .NET Framework uniquement
- .NET 5+ (et .NET Core)
- Aucun
-
Quel outil gère les paquets en .NET ?
- npm
- NuGet
- pip
Mini défi
Mission : Explorer l'écosystème .NET
-
Installation complète
- Installez .NET SDK
- Installez Visual Studio Code ou Visual Studio
- Vérifiez que tout fonctionne
-
Premier projet
- Créez un projet console
- Modifiez le code pour afficher votre nom
- Compilez et exécutez
-
Documentation
- Explorez la documentation .NET
- Identifiez 3 frameworks intéressants
- Notez leurs cas d'usage
Objectif : Comprendre l'écosystème C#/.NET et avoir un environnement fonctionnel.
Validation : Vous pouvez passer au module suivant quand vous comprenez C#/.NET et avez un environnement configuré.