Perfectionnement en C# : 7 projets pour un portfolio qui impressionnera l'employeur

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Pourquoi votre portfolio en C# décide de tout, ou Comment ne pas se perdre parmi des centaines de CV

\n\n

Vous avez appris la syntaxe, compris les classes, les interfaces et même écrit quelques programmes console. Félicitations, vous n'êtes plus un « zéro ». Mais voici le problème : pour un poste de développeur Junior C#, vous recevez 50 à 100 candidatures. Comment un RH ou un tech lead comprendra-t-il que vous êtes le diamant rare, et non un énième « garant d'emploi » issu de cours ?

\n\n

La réponse est simple : votre portfolio en C#. Pas une liste de technologies, mais des projets vivants que l'on peut toucher (ou au moins exécuter localement). Dans cet article, j'ai rassemblé 7 idées pour le portfolio d'un développeur C# – du simple au niveau de difficulté moyen. Chaque idée n'est pas juste un « faites une calculatrice », mais un cas complet avec des explications sur pourquoi il est génial et quel code écrire.

\n\n

Critères de sélection : ce qui rend un projet « meilleur » pour le portfolio

\n\n

Avant de vous lancer dans le code, mettons-nous d'accord : un projet dans le portfolio doit résoudre trois tâches :

\n
    \n
  • Montrer la maîtrise de la stack – pas seulement C#, mais ASP.NET Core, Entity Framework, travail avec API.
  • \n
  • Démontrer la compréhension de l'architecture – patterns, SOLID, séparation des responsabilités.
  • \n
  • Résoudre un problème réel – même s'il s'agit d'un utilitaire personnel, il doit être utile.
  • \n
\n\n

Je n'ai volontairement pas inclus ici de « To-Do List » ou de « Calculatrice » – ce sont des bases qui n'impressionnent plus personne. C'est parti !

\n\n

1. Bot Telegram pour la gestion des tâches (avec rappels)

\n\n

Les bots Telegram sont le format idéal pour un portfolio. Ils sont compacts, visuellement clairs et fonctionnent avec une véritable API. Votre bot acceptera des commandes, sauvegardera des tâches dans une base de données et enverra des rappels.

\n\n

Pourquoi c'est génial :

\n
    \n
  • Travail avec une API externe (Telegram Bot API).
  • \n
  • Tâches en arrière-plan (Hangfire ou BackgroundService).
  • \n
  • Entity Framework Core + SQLite (ou PostgreSQL).
  • \n
\n\n

Exemple de code : lancement d'un service d'arrière-plan pour les rappels

\n
public class ReminderService : BackgroundService\n{\n    private readonly IServiceProvider _services;\n    private readonly ILogger<ReminderService> _logger;\n\n    public ReminderService(IServiceProvider services, ILogger<ReminderService> logger)\n    {\n        _services = services;\n        _logger = logger;\n    }\n\n    protected override async Task ExecuteAsync(CancellationToken stoppingToken)\n    {\n        while (!stoppingToken.IsCancellationRequested)\n        {\n            using (var scope = _services.CreateScope())\n            {\n                var db = scope.ServiceProvider.GetRequiredService<AppDbContext>();\n                var now = DateTime.UtcNow;\n                var dueTasks = db.Tasks.Where(t => t.DueDate <= now && !t.IsNotified).ToList();\n\n                foreach (var task in dueTasks)\n                {\n                    // Envoi du message via TelegramClient\n                    await SendTelegramMessage(task.UserId, $"Rappel : {task.Title}");\n                    task.IsNotified = true;\n                }\n                await db.SaveChangesAsync();\n            }\n            await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);\n        }\n    }\n}\n
\n\n

Conseil : ajoutez les commandes /start, /add, /list, /done. Et surtout – un Dockerfile pour que le bot se lance en un clic.

\n\n

2. Parser de pages web avec export vers Excel

\n\n

Créez une application console qui parse, par exemple, des produits sur Ozon ou Wildberries (ou tout autre site) et enregistre le résultat dans un fichier .xlsx. Cela montrera que vous savez travailler avec HTML, HTTP et des bibliothèques comme EPPlus ou ClosedXML.

\n\n

Ce que nous utilisons :

\n
    \n
  • HttpClient pour les requêtes.
  • \n
  • HtmlAgilityPack ou AngleSharp pour le parsing.
  • \n
  • EPPlus pour la génération Excel.
  • \n
\n\n

Exemple de code : parsing des titres

Blogs

Book Recommendations