<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>La Crafterie Tech</title><description>Vos applications spécifiques sur mesure, avec un focus sur la qualité !</description><link>https://example.com/</link><item><title>Refonte du hub de simulateurs InSimo</title><link>https://example.com/blog/refonte-hub-simulateurs-insimo/</link><guid isPermaLink="true">https://example.com/blog/refonte-hub-simulateurs-insimo/</guid><description>Rétrospective d&apos;un projet de refactorisation complète d&apos;une plateforme de simulateurs chirurgicaux, livré en 8 semaines avec zéro bug en production.</description><pubDate>Wed, 10 Sep 2025 00:00:00 GMT</pubDate></item><item><title>DRY mal appliqué : le piège du couplage invisible</title><link>https://example.com/blog/dry-mal-applique-piege-du-couplage/</link><guid isPermaLink="true">https://example.com/blog/dry-mal-applique-piege-du-couplage/</guid><description>DRY ne veut pas dire &apos;pas de duplication de code&apos;. C&apos;est &apos;pas de duplication de connaissance&apos;. Confondre les deux crée du couplage invisible qui explose au premier changement métier.</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Contract Testing : le chaînon manquant entre tests d&apos;intégration et microservices</title><link>https://example.com/blog/contract-testing-microservices/</link><guid isPermaLink="true">https://example.com/blog/contract-testing-microservices/</guid><description>En microservices, les stubs ne suivent pas l&apos;évolution des vrais services. Résultat : les tests passent, et la production explose quand un service change son format de réponse. Le Contract Testing résout ce problème spécifique.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Tell, Don&apos;t Ask : quand l&apos;encapsulation sauve votre codebase</title><link>https://example.com/blog/tell-dont-ask-encapsulation-objet/</link><guid isPermaLink="true">https://example.com/blog/tell-dont-ask-encapsulation-objet/</guid><description>Comment le principe Tell Don&apos;t Ask transforme du code fragile en architecture solide. Illustré avec un exemple concret de validation utilisateur qui part en vrille.</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate></item><item><title>La cohésion : quand une classe fait trop de choses</title><link>https://example.com/blog/cohesion-quand-une-classe-fait-trop-de-choses/</link><guid isPermaLink="true">https://example.com/blog/cohesion-quand-une-classe-fait-trop-de-choses/</guid><description>Vos classes s&apos;appellent Manager, Handler ou Utils ? C&apos;est probablement un problème de cohésion. Découvrez les 7 niveaux de cohésion et comment ils structurent un code maintenable.</description><pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Pourquoi les librairies de mock sont (presque toujours) un piège</title><link>https://example.com/blog/pourquoi-les-librairies-de-mock-sont-un-piege/</link><guid isPermaLink="true">https://example.com/blog/pourquoi-les-librairies-de-mock-sont-un-piege/</guid><description>NSubstitute, Moq, FakeItEasy — ces frameworks semblent pratiques. Moins de classes à écrire, une syntaxe fluente. Mais ils ont un défaut structurel : il n&apos;existe pas de bon niveau d&apos;assertion avec .Received(). Trop strict, vos tests cassent à chaque refactoring. Trop laxiste, ils laissent passer des régressions réelles.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Stub, Mock, Fake : en finir avec la confusion sur les doublures de test</title><link>https://example.com/blog/stub-mock-fake-doublures-de-test/</link><guid isPermaLink="true">https://example.com/blog/stub-mock-fake-doublures-de-test/</guid><description>On appelle tout &apos;mock&apos;. Pourtant, il existe 5 types de doublures, chacune avec un rôle précis. Confondre un stub avec un mock ne coûte pas grand-chose au départ — jusqu&apos;au jour où vos tests deviennent impossibles à maintenir.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Le couplage : Ce boa constrictor qui étouffe vos projets à petit feu</title><link>https://example.com/blog/couplage-pourquoi-modifier-a-casse-b/</link><guid isPermaLink="true">https://example.com/blog/couplage-pourquoi-modifier-a-casse-b/</guid><description>Le couplage entre composants est la première source de rigidité dans un projet. Comprendre ses 7 niveaux permet d&apos;anticiper les problèmes avant qu&apos;il soit trop tard.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Property-Based Testing : arrêter de choisir ses exemples à la main</title><link>https://example.com/blog/property-based-testing/</link><guid isPermaLink="true">https://example.com/blog/property-based-testing/</guid><description>Les tests par l&apos;exemple ont une limite : on ne teste que ce à quoi on a pensé. Le Property-Based Testing retourne la question — au lieu de choisir des cas, on décrit des propriétés qui doivent être vraies pour n&apos;importe quelle entrée.</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dependency Inversion : découpler votre code de la base de données</title><link>https://example.com/blog/dependency-inversion-decouplage-base-de-donnees/</link><guid isPermaLink="true">https://example.com/blog/dependency-inversion-decouplage-base-de-donnees/</guid><description>Vos services dépendent directement d&apos;Oracle, PostgreSQL ou MongoDB ? Le Dependency Inversion Principle est le rempart qui protège votre code métier du monde extérieur.</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Test After, Test First, TDD : ce que chaque approche garantit vraiment</title><link>https://example.com/blog/test-after-test-first-tdd/</link><guid isPermaLink="true">https://example.com/blog/test-after-test-first-tdd/</guid><description>TDD c&apos;est bien, tout le monde le dit. Mais pourquoi ? Et quand Test After ou Test First sont-ils légitimes ? Comparer les trois approches honnêtement change la manière dont on choisit.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Tests couplés à l&apos;implémentation : pourquoi vos tests cassent à chaque refactoring</title><link>https://example.com/blog/tests-implementation-vs-comportement/</link><guid isPermaLink="true">https://example.com/blog/tests-implementation-vs-comportement/</guid><description>Vos tests cassent dès que vous refactorez ? C&apos;est probablement parce qu&apos;ils testent l&apos;implémentation plutôt que le comportement. La différence change tout.</description><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Tous mes tests passent, mais ça plante en prod</title><link>https://example.com/blog/tests-unitaires-ne-suffisent-pas/</link><guid isPermaLink="true">https://example.com/blog/tests-unitaires-ne-suffisent-pas/</guid><description>Tous les tests unitaires sont au vert. Le build passe. Et pourtant, l&apos;API retourne des erreurs 500 en production. Ce n&apos;est pas un paradoxe — c&apos;est la limite des tests unitaires.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>