All Coder Things
Articles, références et séries de projets pratiques sur le développement logiciel.
Guides
Articles en vedette
Expressions Lambda en C#
Apprenez les expressions lambda en C#, avec une syntaxe concise, Func et Action, et des exemples pratiques avec LINQ.
Techniques de débogage en C#
Apprenez les techniques de débogage en C# avec breakpoints, outils step et analyse pour corriger rapidement les erreurs.
LINQ Avancé en C# (GroupBy, Join, Aggregate)
Apprenez LINQ avancé en C# avec GroupBy, Join et Aggregate pour effectuer des requêtes complexes.
Interfaces et Classes Abstraites en C#
Découvrez les interfaces et classes abstraites en C#, leurs différences et quand les utiliser pour concevoir un code maintenable.
Délégués et Événements en C#
Apprenez les délégués et événements en C# pour comprendre la programmation événementielle avec des exemples concrets.
Gestion des processus et des threads en C#
Apprenez la gestion des processus et des threads en C# pour contrôler l’exécution et les ressources système.
Écriture de tests unitaires en C# (xUnit, NUnit, MSTest)
Apprenez à écrire des tests unitaires en C# avec xUnit, NUnit et MSTest pour améliorer la qualité du code.
Opérations DateTime & TimeSpan en C#
Apprenez à utiliser DateTime et TimeSpan en C# pour gérer les opérations de date et d’heure comme la comparaison et le formatage.
Gestion des exceptions en C# (try, catch, finally)
Apprenez à gérer les exceptions en C# avec les blocs try, catch et finally afin de traiter les erreurs de manière sûre avec exemples.
Portée (Scope) et durée de vie en C++
Apprenez la portée et la durée de vie en C++ pour comprendre la visibilité des variables et la gestion mémoire.
Astuces Visual Studio / VS Code pour C#
Découvrez des astuces Visual Studio et VS Code pour C# afin d’améliorer la productivité et les flux de travail.
Commandes de console en C#
Apprenez à utiliser la console en C# pour afficher des messages, lire les entrées utilisateur et formater le texte.
Espaces de noms et assemblies en C#
Apprenez les concepts de namespaces et d’assemblies en C# pour structurer le code et gérer efficacement les dépendances.
Principes SOLID en C#
Application des principes SOLID en C# avec des exemples : pour un code flexible, maintenable et testable.
Modèles de conception en C# (Factory, Singleton, Repository, Observer)
Découvrez les modèles de conception en C#, tels que Factory, Singleton et Repository, pour créer des applications maintenables.
Principes de l’Injection de Dépendances en C#
Apprenez les principes de l’Injection de Dépendances en C#, la gestion des dépendances et le couplage faible avec exemples.
Qu’est-ce que le C++ ? Premiers pas en programmation
Découvrez les bases du langage C++, ses concepts fondamentaux et vos premiers programmes avec des exemples simples.
Interop en C# (Utilisation de bibliothèques C/C++)
Apprenez l’Interop en C# pour utiliser des bibliothèques C/C++, y compris P/Invoke et la gestion du code non managé.
Record Types et Objets Immuables en C#
Apprenez les record types et les objets immuables en C#, avec l’égalité par valeur, les with-expressions et des exemples.
Structure de la syntaxe C#
Découvrez les bases de la syntaxe C#, incluant les blocs de code, les commentaires et les règles de nommage des variables.
Opérations booléennes en C#
Apprenez les opérations booléennes en C#, y compris le type bool, les comparaisons et les opérateurs logiques &&, || et !.
Architecture en couches et Clean Architecture en C#
Apprenez l’architecture en couches et Clean Architecture en C# pour concevoir des applications maintenables.
Principes de Clean Code avec C#
Apprenez les principes de Clean Code avec C# pour écrire un code lisible, maintenable et évolutif.
Utilisation des frameworks de mock en C# (Moq, NSubstitute)
Apprenez à utiliser des frameworks de mock en C# comme Moq et NSubstitute pour isoler les dépendances en tests unitaires.
Constructeur de copie et opérateur d’affectation en C++
Apprenez les constructeurs de copie et les opérateurs d’affectation en C++ avec des exemples de gestion des ressources.
Derniers exemples
Écriture atomique de fichiers en .NET : éviter les fichiers incomplets
Écrivez d’abord dans un fichier temporaire, videz les buffers, puis remplacez ou déplacez le fichier pour éviter les écritures partielles.
Idempotency Key en ASP.NET Core (.NET 8) : éviter les doublons en POST
Rendez les POST sûrs en cas de retry : lisez Idempotency-Key, stockez la première réponse puis rejouez-la pour les doublons afin d’éviter les doubles insertions.
Tri & filtre sécurisés en ASP.NET Core : Query Builder avec whitelist
Parsez ?sort=name,-createdAt&filter=country:TR,status:active de façon sûre grâce à une whitelist et un mapping vers expressions/colonnes SQL, sans injection dynamique.
Erreurs de validation ASP.NET Core : normaliser ModelState en { field, message }[]
Normalisez les erreurs ModelState via InvalidModelStateResponseFactory au format { field, message }[] afin que le client gère la validation de manière cohérente.
Créer un ZIP d’un dossier avec progression en .NET (exemple WPF)
Créez un ZIP depuis un dossier en .NET et mettez à jour une ProgressBar WPF via ZipArchive et IProgress pour une UI fluide.
Format de réponse API standard en ASP.NET Core (Result)
Standardisez les réponses de succès et d’erreur en ASP.NET Core avec un wrapper Result
Exemples mis en avant
Pagination propre en ASP.NET Core Web API (Headers + Link)
Gardez uniquement les éléments dans le body et placez les métadonnées de pagination dans les headers. Ajoutez un Link header RFC 5988 (next/prev).
Écriture atomique de fichiers en .NET : éviter les fichiers incomplets
Écrivez d’abord dans un fichier temporaire, videz les buffers, puis remplacez ou déplacez le fichier pour éviter les écritures partielles.
Tri & filtre sécurisés en ASP.NET Core : Query Builder avec whitelist
Parsez ?sort=name,-createdAt&filter=country:TR,status:active de façon sûre grâce à une whitelist et un mapping vers expressions/colonnes SQL, sans injection dynamique.
Créer un ZIP d’un dossier avec progression en .NET (exemple WPF)
Créez un ZIP depuis un dossier en .NET et mettez à jour une ProgressBar WPF via ZipArchive et IProgress pour une UI fluide.
Rate Limiting par IP en ASP.NET Core (.NET 8) : 429 Too Many Requests
Limitez les requêtes par IP avec le middleware de rate limiting .NET 8 et renvoyez 429 avec Retry-After pour protéger votre API.
ProblemDetails en ASP.NET Core : erreurs propres avec TraceId
Mapper les exceptions vers ProblemDetails (RFC 7807) et ajouter un traceId pour des erreurs cohérentes et un diagnostic rapide dans les logs.
Format de réponse API standard en ASP.NET Core (Result)
Standardisez les réponses de succès et d’erreur en ASP.NET Core avec un wrapper Result
Erreurs de validation ASP.NET Core : normaliser ModelState en { field, message }[]
Normalisez les erreurs ModelState via InvalidModelStateResponseFactory au format { field, message }[] afin que le client gère la validation de manière cohérente.
Idempotency Key en ASP.NET Core (.NET 8) : éviter les doublons en POST
Rendez les POST sûrs en cas de retry : lisez Idempotency-Key, stockez la première réponse puis rejouez-la pour les doublons afin d’éviter les doubles insertions.