Aller au contenu principal

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 :

  1. Code source C# (.cs)
  2. Compilation en IL (Intermediate Language)
  3. Exécution par CLR (Just-In-Time compilation)
  4. 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

  1. Recherche

    • Explorez le site .NET officiel
    • Identifiez les cas d'usage de C#
    • Comparez .NET Framework vs .NET 8+
  2. Installation

    • Installez .NET SDK
    • Vérifiez avec dotnet --version
    • Explorez les commandes CLI
  3. Premier projet

    • Créez un projet console : dotnet new console
    • Explorez la structure générée
    • Compilez et exécutez

Quiz

  1. Qui a développé C# ?

    • Google
    • Microsoft
    • Oracle
  2. Que signifie CLR ?

    • Common Language Runtime
    • Common Language Runtime
    • Compiled Language Runtime
  3. C# est compilé en quoi ?

    • Code machine directement
    • IL (Intermediate Language)
    • JavaScript
  4. Quel framework .NET est multiplateforme ?

    • .NET Framework uniquement
    • .NET 5+ (et .NET Core)
    • Aucun
  5. Quel outil gère les paquets en .NET ?

    • npm
    • NuGet
    • pip

Mini défi

Mission : Explorer l'écosystème .NET

  1. Installation complète

    • Installez .NET SDK
    • Installez Visual Studio Code ou Visual Studio
    • Vérifiez que tout fonctionne
  2. Premier projet

    • Créez un projet console
    • Modifiez le code pour afficher votre nom
    • Compilez et exécutez
  3. 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é.