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 !