Apprendre C# 12 avec Visual Studio Code et .NET 8

Apprenez un des langages les plus puissants du marché

4,8 5 avis Débutant 30 h 06 min Certificat de réussite
Apprendre C# 12 avec Visual Studio Code et .NET 8

Présentation

BIENVENUE DANS LE COURS OÙ VOUS APPRENDREZ UN DES LANGAGES LES PLUS DEMANDÉS SUR LE MARCHÉ !

Le langage C# est parmi les plus demandés sur le marché aujourd'hui. Être compétent en C#, c'est ouvrir la porte à d'innombrables opportunités professionnelles, car la demande est forte. En tant que développeur C# indépendant, je peux vous assurer que les missions ne manquent pas !

Pour qui ?

  • Aucune connaissance préalable en programmation n'est nécessaire.
  • Vous avez simplement besoin d'un ordinateur et de la volonté d'apprendre.

Inscrivez-vous maintenant et commencez votre voyage dans le monde passionnant de la programmation C#!

Le 1er module du cours sera destiné à préparer votre environnement. Que vous soyez sous Windows, Mac ou Linux importe peu car dans les modules fondamentaux, nous utiliserons .NET 8 et Visual Studio Code, qui sont compatibles avec n'importe quel système d'exploitation.

Dans le 2nd module, nous étudierons ensemble des fondamentaux du langage, comme par exemple :

  • La différence entre une variable et une constante
  • L'aspect "fortement typé" du langage
  • Les opérations basiques avec les types numériques, chaîne de caractères et booléens
  • Les branches de codes conditionnelles
  • La gestion basique des erreurs


Dès le 3ème module, nous découvrirons le paradigme de la programmation orientée objet (POO) :

  • Qu'est ce qu'une classe et comment en créer une
  • Les avantages de la POO
  • Les portées existantes en C#
  • L'héritage, les interfaces, les méthodes abstraites et virtuelles


A partir du 4ème module, nous commencerons à voir des notions complémentaires, comme :

  • Les notions avancées sur les if (pattern matching & switch)
  • Les notions avancées sur les try catch (type d'erreur, filtres, rethrow, exceptions personnalisées)
  • La classe de base Object et ce qu'elle apporte
  • La valeur spéciale null et comment la gérer

Le 5ème module vous permettra de découvrir les prémices de la programmation réseau avec C#. Ainsi, vous verrez :

  • Comment ouvrir un socket en lecture et en écriture
  • Envoyer et décrypter un flux réseau entre deux applications C#
  • La création de A à Z d'un système de chat client/serveur pour mettre en pratique

Le 6ème module introduira une partie majeure du framework .NET : LINQ. Ce système permet de requêter des collections en mémoire comme s'il s'agissait de base de données, et bien plus. En détails :

  • Ce qu'est l'interface IEnumerable<T>, comment elle fonctionne et comment l'implémenter par soi-même
  • Les méthodes d'extensions
  • Les types anonymes
  • Les fonctions LINQ basiques : Select, Where, OrderBy, Any/All

Dans le 7ème module, nous verrons la sérialisation en .NET, notamment :

  • Ce qu'est la sérialisation et à quoi ça sert
  • La sérialisation en XML, avec XmlReader/Writer et XDocument
  • La sérialisation en JSON, avec Utf8JsonReader/Writer et JsonSerializer
  • Un aperçu de la sérialisation en gRPC pour la communication client serveur

Le 8ème module nous emmène dans la gestion des données avec Sql Server, plus précisement :

  • Installation Sql Server sous Docker sur un poste de développeur
  • Faire de l'écriture de données avec ADO.NET
  • Lire les données avec ADO.NET
  • Utiliser la classe DataTable pour récupérer des données ou faire des insertions en masse (bulk insert)
  • Présentation du micro-ORM Dapper
  • Présentation de l'ORM Entity Framework Core

Avec le 9ème module, nous découvrirons ce que le framework .NET nous permet de faire pour gérer les fichiers et les dossiers :

  • Rappels sur les Stream et découverte du FileStream
  • Adapters sur FileStream pour la gestion des chaînes et des flux compressés
  • Manipulier les fichiers compressés zip multi-entrées
  • Récupérer des informations sur des fichiers et des dossiers
  • Créer une arborescence et gérer les dossiers
  • Manipulation des chemins et gestion des dossiers spéciaux

Si vous souhaitez aller plus loin, vous pourrez le faire avec le module sur les concepts avancés ! Parmi ceux-ci :

  • L'asynchronsime (fondamentaux)
  • Les delegates et events, pour faire du code réactif
  • Les énumérations (simples et avec flags)
  • Les génériques et leurs contraintes
  • La surcharge des opérateurs 
  • La surcharge des opérateurs de conversion (implicite & explicite)

Pour ceux qui souhaitent parfaire leurs compétences, un module sera dédié aux challenges, et on découvrira ensemble une plateforme permettant de réaliser des challenges de codes que l'on résoudra ensemble.

Le programme est vaste et varié ! Il y aura également des mises à jour constantes du cours pour s'adapter aux dernières nouveautés en vigueur ou prendre en compte les différentes remontées faites par les apprenants.

Je vous attends de l'autre côté pour découvrir ce langage puissant !

Contenu du cours

136 leçons · 17 sections

Introduction 3 leçons · 33min
  • Qu'est ce que le langage C# ?8:52
  • Installer & configurer l'extension C# Dev Kit + résolution des soucis11:52
  • Comment créer, compiler et lancer une application C# ?13:12
  • Quelques vidéos complémentaires
  • 1 auto-évaluation
Les bases du langage 18 leçons · 3h08min
  • Anatomie d'une instruction C# (avec exercice)15:55
  • Qu'est ce qu'une variable ?9:27
  • Qu'est ce qu'une constante ?2:40
  • Affecter une variable par appel de méthode (avec exercice)10:05
  • Zoom sur les types numériques10:42
  • Zoom sur les types textuels9:01
  • Encore + plus sur les chaînes (avec exercice)10:02
  • Les opérateurs : numériques et chaînes (avec exercice)10:47
  • Les opérateurs produisant des booléens4:35
  • Conversion d'un type à un autre (avec exercice)14:58
  • Tester des conditions avec les instructions if/else (avec exercice)10:57
  • Les opérateurs : booléens (avec exercice)13:59
  • Collections : les tableaux8:30
  • Collections : les listes6:05
  • Les boucles : for (avec exercice)15:53
  • Les boucles : while (avec exercice)8:51
  • Les boucles : foreach (avec exercice)15:16
  • La gestion des erreurs : try-catch (avec exercice)10:27
  • 8 auto-évaluations
La programmation orientée objet 12 leçons · 3h44min
  • Les bases de la programmation orientée objet10:53
  • Notion de blocs en C#2:04
  • Les méthodes de classe (avec exercice)22:05
  • Instanciation d'une classe (avec exercice)16:45
  • Membre et propriété (avec exercice)24:04
  • Le constructeur (avec exercice)14:52
  • L'héritage (avec exercice)18:09
  • Polymorphisme et pattern matching (avec exercice)21:57
  • Classe abstraite et méthode abstraite (avec exercice)22:22
  • Les différentes portées (avec exercice)20:35
  • Les interfaces (avec exercice)24:22
  • Static (avec exercice)26:06
  • 2 auto-évaluations
Notions complémentaires 9 leçons · 2h06min
  • Type valeur VS type référence15:56
  • Exercice : sécurisation du code pour éviter les erreurs NULL12:48
  • Les types valeur nullable (avec exercice)10:37
  • Découvrons la classe mère : System.Object (avec exercice)10:29
  • Comparaison entre deux objets (avec exercice)15:19
  • L'instruction switch (avec exercice)12:27
  • L'expression switch (avec exercice)9:32
  • Renvoyer une exception (avec exercice)14:47
  • Try-Catch avancé (avec exercice)24:49
  • 1 auto-évaluation
Exercice pratique en autonomie : le jeu du pendu 4 leçons · 54min
  • Introduction et conseils16:52
  • Corrigé 1 - mise en place du squelette de projet10:47
  • Corrigé 2 - la classe "Jeu"11:55
  • Corrigé 3 - la classe "Pendu" + exécution14:42
Programmation réseau 9 leçons · 1h38min
  • Introduction aux concepts réseau6:00
  • Bases du serveur de chat (avec exercice)21:58
  • Échange de données client/serveur (avec exercice)13:57
  • Création du client (avec exercice)13:11
  • Amélioration du client de chat (avec exercice)10:21
  • Amélioration du serveur de chat (avec exercice)7:07
  • Introduction au TP5:56
  • Corrigé TP : partie client4:47
  • Corrigé TP : partie serveur15:13
  • Gestion côté serveur de la fermeture du socket
  • 1 auto-évaluation
LINQ 9 leçons · 1h23min
  • Introduction à IEnumerable<T> (avec exercice)16:58
  • IEnumerable<T> (2) (avec exercice)7:02
  • Méthode d'extension (avec exercice)10:45
  • Objets anonymes4:51
  • Opérateur Select (avec exercice)15:16
  • Opérateur Where (avec exercice)9:06
  • Opérateurs Any et All (avec exercice)8:13
  • Opérateur OrderBy (avec exercice)9:03
  • Conclusion2:24
  • En savoir + sur LINQ
  • 1 auto-évaluation
La sérialisation 11 leçons · 3h07min
  • Introduction aux concepts de la sérialisation8:05
  • Lecture XML avec XmlReader (avec exercice)20:34
  • Écriture XML avec XmlWriter (avec exercice)17:50
  • Gestion XML en mémoire avec XDocument (avec exercice)25:13
  • Sérialisation JSON avec Utf8JsonReader & Utf8JsonWriter (avec exercice)19:38
  • Sérialisation avec la classe JsonSerializer (avec exercice)17:34
  • Désérialisation avec JsonSerializer (avec exercice)16:48
  • Les attributs pour la sérialisation JSON9:52
  • Introduction à la sérialisation gRPC (avec exercice)24:31
  • TP amélioration de la calculatrice - énoncé8:49
  • TP amélioration de la calculatrice - corrigé18:52
  • 1 auto-évaluation
Accès aux données 14 leçons · 2h11min
  • Introduction7:16
  • Installer Sql Server12:06
  • Configurer VS Code pour SQL Server et créer la BDD5:57
  • Se connecter à la base SQL Server en C#6:13
  • Insérer des données en BDD (avec exercice)8:34
  • Insérer des données de façon sécurisée (avec exercice)11:36
  • Lecture des données (avec exercice)9:01
  • Lire les données avec DataTable (avec exercice)10:12
  • Écrire des données en masse avec DataTable (avec exercice)9:15
  • Introduction au micro-ORM Dapper (avec exercice)14:42
  • Introduction à l'ORM Entity Framework Core (avec exercice)14:49
  • Conclusion du module2:30
  • Énoncé du TP9:10
  • Corrigé du TP10:07
Le système de fichiers/dossiers 8 leçons · 1h56min
  • Introduction au module8:06
  • Écriture avec la classe FileStream (avec exercice)24:08
  • Lecture avec la classe FileStream (avec exercice)12:56
  • Adapters textuels pour FileStream (avec exercice)14:49
  • Adapters de compression pour FileStream (avec exercice)18:14
  • Les classes File & Directory (avec exercice)19:30
  • La classe Path (avec exercice)6:33
  • Gestion des fichiers zip (avec exercice)12:11
Les collections 7 leçons · 1h53min
  • Introduction3:42
  • Le tableau (avec exercice)21:40
  • La liste (avec exercice)19:37
  • Le dictionnaire (avec exercice)22:51
  • La queue (avec exercice)14:27
  • La pile (avec exercice)16:14
  • Le HashSet (avec exercice)15:23
La réflexion 5 leçons · 1h15min
  • Introduction aux concepts de réflexion15:16
  • Détails des objets de réflexion17:45
  • Faire des invocations dynamiques16:08
  • Faire des instanciations dynamiques11:42
  • Créer et exploiter les attributs en réflexion14:57
Aller plus loin 7 leçons · 1h07min
  • Un autre éditeur de code : Visual Studio 2022 (Windows)10:09
  • Un autre éditeur de code : JetBrains Rider (Windows, macOs et Linux)7:23
  • Introduction à la création d'API avec C# et .NET8:00
  • Introduction à la création d'application web Blazor avec C# et .NET10:04
  • Introduction à la création d'application Windows avec WinForms11:44
  • Introduction à la création d'application Windows avec WPF8:25
  • Introduction à la création d'application mobile & multi-plateforme avec MAUI12:05
Programmation avancée 7 leçons · 2h11min
  • Fondamentaux de l'asynchronisme17:44
  • Les delegates (avec exercice)13:11
  • Les events (avec exercice)17:26
  • Les énumérations (avec exercice)23:47
  • Les génériques (avec exercice)29:53
  • Surcharger les opérateurs (avec exercice)16:35
  • Surcharger les opérateurs de conversion (avec exercice)13:03
  • 1 auto-évaluation
Projet complet : gestionnaire de mot de passe 8 leçons · 1h52min
  • Présentation du projet5:24
  • Créer le menu user-friendly17:40
  • Ajouter le support de la base de données Sqlite16:47
  • Permettre à l'utilisateur de créer un mot de passe dans BDD13:45
  • Sécuriser la saisie du mot de passe & chiffrement17:44
  • Déchiffrement et mot de passe maître16:59
  • Mettre à jour un mot de passe existant déjà7:33
  • Lecture des mots de passe16:33
Exercices d'entrainement - Coding Game 4 leçons · 45min
  • Présentation de la plateforme4:11
  • Facile - The Descent (Module 2)9:04
  • Facile - Power of Thor (Module 2)18:20
  • Facile - ASCII Art13:50
Vidéos BONUS 1 leçon · 7min
  • Introduction au débogage avec VS Code7:17

Avis sur le cours

4,8 5 avis
5 4
4 1
3 0
2 0
1 0
  • Quentin CALLAMAND 27 avril 2024
  • Denis Kojo 19 avril 2024

    La vidéo est coupé avant la fin des explications

  • Fedevieille Gildas 14 juillet 2023

    Je ne suis pas un expert en C# mais je viens du C++ et j'ai appris la POO en cours de BTS. Pour moi la surcharge (overloading) est le fait de pouvoir créer plusieurs méthodes avec le même nom, mais une signature différente. Lorsque l'on fait du polymorphisme et que l'on change le comportement d'une classe mère en codant à nouveau une méthode, alors on appelle cela la redéfinition (overriding).  J'en profite pour te remercier pour l'excellent contenu que tu fournis ! Je trouve que le prix de l'abonnement est relativement bas par rapport à la qualité de l'enseignement et la richesse du contenu.  J'encourage tout developpeur qui veut apprendre ou même se perfectionner en C# à suivre tes formations.  Un grand merci !

  • GRENECHE NICOLAS 11 avril 2023

    Pour la saisie des deux nombres j'ai utilisé la méthode TryParse de int : int a, b = 0; Console.WriteLine("Saisissez le premier nombre :"); int.TryParse(Console.ReadLine(), out a); Console.WriteLine("Saisissez le deuxième nombre :"); int.TryParse(Console.ReadLine(), out b);

  • Urgon Franck 14 novembre 2022

    Top

Aperçu gratuit

Demande de devis entreprise

Accès à vie

129 €