Blog 43 articles

Notes sur .NET, les bases de données, les tests et les décisions derrière un logiciel fiable.

2026 — juillet

12 articles
5 min de lecture Éviter les Données Incohérentes avec les ACID Transactions #Databases Chaque propriété ACID a un défaut, et trois d'entre eux promettent moins que ce que le mot laisse entendre. Le quatrième défaut est honnête, et c'est justement là que se cache le danger. 6 min de lecture Pix : comment fonctionne le système de paiement instantané du Brésil #Payments Le Pix n'est pas une app et n'est pas une entreprise. C'est un système de paiement que la banque centrale a construit et qu'elle exploite elle-même, ce qui est précisément la partie qui déroute les gens hors du Brésil. 6 min de lecture Comment fonctionne la modernisation .NET avec le Copilot Upgrade Agent #.NET Microsoft a publié un cours gratuit sur la mise à niveau d'applications .NET Framework vers .NET 10, avec la documentation complète du Copilot modernization agent. Voici ce que fait vraiment le workflow assess, plan, execute. 3 min de lecture Les chaînes YouTube qui m'aident à apprendre C# et .NET #.NET Tim Corey pour des fondamentaux qui tiennent vraiment, Nick Chapsas pour ce qui a changé dans les dernières versions, et Balta plus Canal .NET en portugais. Quatre chaînes qui font quatre travaux différents. 4 min de lecture Construire une règle de fraud detection simple en .NET #.NET Le parcours d'une vraie fraud rule : l'interface, le type de verdict, la query du repository derrière, et pourquoi l'ensemble tient en une vingtaine de lignes de logique réelle. 3 min de lecture Comment j'apprends le system design #System Design La plupart des contenus de system design supposent que vous avez déjà fait tourner quelque chose en production. Construire ce que les vidéos expliquent, au lieu de seulement les regarder, comble cet écart plus vite que d'attendre que l'expérience arrive. 5 min de lecture Comment je concevrais un système de paiement en tant que junior .NET developer #Payments Si on me confiait demain une feature de paiement, les parties difficiles ne seraient pas le design de l'API. Ce seraient l'idempotency, le fait que les problèmes d'argent n'apparaissent pas dans le testing, et savoir quoi ne pas construire. 4 min de lecture Comment j'ai conçu un payment gateway orchestrator après un cours d'iGaming #Payments PayMaestro : une seule API devant plusieurs payment gateways, avec du routing, des cascading retries, une idempotency garantie par le database, et un fraud screening basé sur une certification anti-fraude de l'iGaming Academy. 5 min de lecture Concevoir un URL shortener comme projet d'apprentissage #System Design Un URL shortener en .NET 9, trois copies derrière nginx, adossé à Cassandra et mis en cache avec Redis, construit pour vraiment comprendre une vidéo de system design au lieu de juste la regarder. 4 min de lecture Ce qu'un cours d'iGaming m'a appris sur les systèmes anti-fraude #iGaming L'anti-fraude dans les paiements n'est pas un filtre qui bloque les mauvaises transactions. C'est un ensemble de jugements sur le risque, le coût, et combien de friction un vrai client va tolérer. 5 min de lecture Mes premières impressions après avoir découvert Cassandra #Cassandra En venant de SQL Server, les surprises ne portaient pas sur l'échelle. Pas de joins, dénormaliser exprès, concevoir la primary key avant que la table existe, et un query language qui ressemble à SQL mais refuse des choses que SQL autorise. 2 min de lecture Les créateurs .NET avec qui j'apprends le software design #.NET Milan Jovanović pour la clean architecture, Nick Chapsas et Balta pour les petites habitudes qui s'accumulent. Le projet CRUD que j'ai construit vient tout droit d'une de ces leçons.

2026 — juin

7 articles
5 min de lecture Configurer les alertes Azure Monitor et les action groups #Azure Une alert rule décide quand quelque chose ne va pas. Un action group décide qui l'apprend. Séparer ces deux choses, c'est pour ça que vous ne finissez pas par modifier quarante alertes pour changer un numéro de téléphone. 5 min de lecture RBAC, Policy et Resource Locks : comment s'articule la gouvernance Azure #Azure Trois features qui se ressemblent et répondent à des questions complètement différentes : qui peut agir, ce qui a le droit d'exister, et ce que personne ne devrait supprimer par accident. 3 min de lecture Kubernetes m'a semblé plus facile une fois que j'ai compris ces bases #Kubernetes Je n'ai pas encore vraiment déployé Kubernetes dans un vrai projet, comme la plupart de ce que je sais sur le software design : regardé, compris, pas encore appliqué. Les bases ont quand même arrêté de ressembler à un mur de YAML une fois que j'ai eu un modèle mental pour elles. 4 min de lecture Utiliser Azure Cloud Shell et la az CLI pour la première fois #Azure Un terminal dans le navigateur, déjà authentifié, avec le tooling installé. Dès que j'ai vu le pattern derrière les commandes az, le portail a commencé à sembler plus lent que de taper. 2 min de lecture Ce que j'ai appris après deux mois de pause de la programmation #Carrière Deux mois de pause m'ont appris que les connaissances restent. La routine, elle, pas du tout, et il faut la regagner une session à la fois. 4 min de lecture Comment la certification m'a fait recommencer à étudier #Carrière Comment me préparer à l'AZ-900 m'a aidé à arrêter de sauter d'un sujet à l'autre et à étudier avec une direction plus claire. 4 min de lecture Ce que je fais pour sécuriser une application .NET #.NET La sécurité, ce n'est pas que l'authentication. Hygiène du version control, secrets, validation JWT, RBAC, HTTPS, monitoring, confiance dans les dependencies, et relire chaque bout de code généré par un LLM avant qu'il tourne.

2026 — mai

1 article
2 min de lecture Ma routine quotidienne de français avec podcasts et Duolingo #Français Quatre mois de français : des cours particuliers deux fois par semaine pour la structure, Duolingo tous les jours pour garder le contact avec la langue, et des podcasts pour l'écoute. Toujours au niveau débutant, et c'est très bien ainsi.

2026 — avril

4 articles
3 min de lecture JWT et Microsoft Identity : comment je comprends la différence #.NET Je n'arrêtais pas de traiter JWT et Microsoft Identity comme des choix concurrents. Ce n'est pas le cas. L'un est le guichet qui confirme qui vous êtes, l'autre est le bracelet qui le prouve à chaque manège ensuite. 5 min de lecture Pourquoi le scaling compte même avant que votre application devienne grosse #System Design Le scaling ne concerne pas un trafic que vous n'avez pas encore. Quelques habitudes .NET, garder l'app stateless, async jusqu'au bout, et ne pas appeler le database dans une boucle, ne coûtent rien maintenant et sont douloureuses à ajouter plus tard. 3 min de lecture Pourquoi je pense que les débutants devraient apprendre la clean architecture #.NET Avant, je balançais mon DbContext directement dans les controllers et je déversais la logique dans Program.cs. Ça marchait, jusqu'à ce que je doive changer quelque chose. La clean architecture, c'est ce qui a réglé ça. 3 min de lecture Comment j'étudie la programmation aujourd'hui : regarder, construire, répéter #Apprentissage Ma routine d'étude en ce moment : regarder une courte liste de personnes en qui j'ai confiance, reconstruire ce qu'elles ont montré sans la vidéo ouverte, puis garder GitHub à jour pour que la pratique ne disparaisse pas.

2026 — mars

1 article
12 min de lecture Comment je comprends la concurrence en .NET #.NET Je pensais que la concurrence voulait juste dire des threads. Elle couvre les race conditions, les deadlocks, les transactions, et le lost update problem, et un lock en C# ne protège en rien une ligne de database.

2026 — février

2 articles
4 min de lecture SQL ou NoSQL ? Comment je vois ce choix #Databases La question n'est pas quel database est le meilleur. C'est de savoir si je connais mes access patterns à l'avance, et si la donnée a des relations que je veux que le database lui-même protège. 4 min de lecture Comment j'ai containerisé mon API et fait le deploy sur Azure #Azure Un Dockerfile multi-stage, Docker Compose avec un SQL Server avec health check, et la Sports Betting API qui tourne sur Azure Container Apps avec Azure SQL derrière.

2026 — janvier

2 articles
3 min de lecture Ce que j'ai appris sur la construction de REST API en .NET #.NET Une API CRUD toute simple, pas de paiements, rien de sophistiqué. Les HTTP verbs, le routing, EF Core, et les status codes qui font enfin tilt en la construisant. 4 min de lecture Azure SQL Database ou SQL Server sur une VM ? Ce que j'ai appris #Azure Les deux font tourner SQL Server. La différence, c'est qui applique les patches, qui gère les backups, et combien de contrôle il vous faut vraiment. Pour mon API, confier tout ça à Azure était le choix évident.

2025 — décembre

2 articles
2 min de lecture Ce que j'ai appris en implémentant la JWT authentication en .NET #.NET L'expiration de l'access token est la partie facile à gérer. Le refresh token qui expire silencieusement, sans chemin de failure explicite, c'est ce qui a vraiment causé des déconnexions déroutantes jusqu'à ce que je lui en donne un. 2 min de lecture Finir ma licence en informatique après avoir raté un examen #Études J'ai raté un module la première fois faute de temps pour réviser. Le rattrapage était un examen de SQL écrit à la main, jointures et index sur papier, et il m'a appris plus que le réussir du premier coup ne l'aurait fait.

2025 — novembre

1 article
3 min de lecture Le projet CRUD que j'ai construit pour avoir quelque chose à montrer aux recruteurs #.NET Inspiré d'un coding assessment qu'André Baltieri (Balta) fait passer aux candidats, j'ai construit une app CRUD de Student et d'abonnement Premium avec une vraie auth en quelques jours, puis passé le temps gagné sur ce qui rend vraiment un projet fini.

2025 — septembre

1 article
3 min de lecture La POO en C# : les exemples qui ont enfin fait tilt #C# Dog, Animal, et Bark() n'ont jamais tenu. Encapsulation, abstraction, inheritance, et polymorphism ont enfin fait tilt quand je les ai vus dans un bank account, un notification service, et un payment processor à la place.

2025 — février

2 articles
2 min de lecture Apprendre à coder avec JetBrains Rider #JetBrains Rider Chaque tutoriel de C# pour Mac disait d'installer VS Code et une pile d'extensions. Ça s'est effondré pour moi jusqu'à ce que quelqu'un sur Reddit mentionne Rider, et l'auto-complete et le debugging ont simplement fonctionné. 3 min de lecture Comment je continue à étudier tous les jours #Apprentissage Pas de syllabus, surtout de la vidéo sur cinq fronts que je n'arrête pas de parcourir, et l'habitude de remarquer quand je suis tombé dans un rabbit hole SaaS au lieu d'étudier ce pour quoi je m'étais assis.

2024 — décembre

1 article
2 min de lecture Apprendre l'italien en tant que lusophone : mon expérience #Italien Un niveau intermédiaire solide en environ quatre mois, construit avec Babbel Live une heure par jour, beaucoup d'écoute YouTube et podcast, et Duolingo pour combler les vides entre les deux.

2024 — octobre

2 articles
3 min de lecture Ce que je trouve le plus difficile dans l'apprentissage de la programmation #Apprentissage Ce n'est aucune technologie en particulier. C'est la page blanche juste après la fin du tutoriel, et tout ce qui surgit dès l'instant où vous commencez à prendre vos propres décisions au lieu de suivre celles de quelqu'un d'autre. 3 min de lecture Les prompts IA qui m'aident à étudier la programmation #AI Les prompts qui se contentent d'expliquer un concept ne tiennent pas. Ceux qui m'obligent à répondre, deviner, ou produire du code avant de recevoir l'explication sont ceux qui m'apprennent vraiment quelque chose.

2024 — septembre

2 articles
3 min de lecture Utiliser GPT pour pratiquer l'italien une phrase à la fois #AI L'expérience par défaut de GPT pour pratiquer une langue est un mur de texte. La contraindre à 1-2 phrases, un format de correction, et une question par tour la transforme en vraie conversation au lieu d'un générateur de dissertation. 2 min de lecture Comment j'ai atteint le troisième tour d'un entretien de stage SWE chez Google sans LeetCode #Carrière Screening, behavioral, puis un défi de palindrome en direct pour lequel je n'étais pas prêt. Je pensais avoir perdu ma seule chance. Ce n'était pas le cas, et le system design m'intéresse toujours plus que LeetCode ne le fera jamais.

2024 — juillet

1 article
2 min de lecture Pourquoi j'ai arrêté de faire confiance aux réponses de l'IA à la fac sans vérifier #AI Du code qui marche et du code compris se sont révélés être deux choses différentes. Maintenant chaque réponse de l'IA est traitée comme une code review avant que je l'accepte.

2024 — mai

2 articles
2 min de lecture Les apps Mac que j'utilise vraiment pour développer #macOS Rider pour le backend, VS Code pour Angular, Postman et Azure Data Studio entre les deux. Le plus petit ensemble d'outils qui couvre une full stack sans se battre avec macOS pour y arriver. 3 min de lecture Passer à un MacBook Pro : ce que j'ai aimé et ce qui a pris du temps à m'habituer #macOS Des années de mémoire musculaire Windows m'ont résisté pendant des semaines. Le terminal basé sur Unix, Homebrew, et une batterie qui tient une journée entière sont ce qui m'a vraiment convaincu.