{"id":100634,"date":"2026-03-09T10:35:00","date_gmt":"2026-03-09T09:35:00","guid":{"rendered":"https:\/\/dyb.fr\/?p=100634"},"modified":"2026-03-10T20:53:27","modified_gmt":"2026-03-10T19:53:27","slug":"le-client-ne-paye-pas-pour-ton-architecture-parfaite","status":"publish","type":"post","link":"https:\/\/dyb.eu\/blog\/le-client-ne-paye-pas-pour-ton-architecture-parfaite\/","title":{"rendered":"Le client ne paye pas pour ton architecture parfaite"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Il y a deux grandes \u00e9coles chez les d\u00e9veloppeurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ceux qui parlent d\u2019architecture hexagonale, de clean code, de patterns \u00e9l\u00e9gants, de s\u00e9paration stricte des responsabilit\u00e9s.<br>Et ceux qui livrent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Je caricature volontairement. Mais le d\u00e9bat existe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et je le dis haut et fort : <strong>je suis un mauvais dev<\/strong>.<br>5 ans chez Epitech m'ont appris \u00e0 coder, mais je n'aime pas. Donc je ne suis pas le meilleur.<br>Pourtant, je couche la plupart de vos devs car cette faiblesse est mon plus grand atout pour mes clients.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Le fantasme du code parfait<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On a tous crois\u00e9 ce profil :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>14 couches d\u2019abstraction,<\/li>\n\n\n\n<li>12 interfaces pour une seule impl\u00e9mentation,<\/li>\n\n\n\n<li>une architecture \u201cfuture proof\u201d,<\/li>\n\n\n\n<li>z\u00e9ro feature visible c\u00f4t\u00e9 client.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Techniquement, c\u2019est impressionnant.<br>Conceptuellement, c\u2019est propre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais pendant ce temps-l\u00e0, le client attend toujours que le bouton fonctionne.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le client ne voit pas :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ton injection de d\u00e9pendances raffin\u00e9e,<\/li>\n\n\n\n<li>tes design patterns bien plac\u00e9s,<\/li>\n\n\n\n<li>tes noms de variables exemplaires.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il voit :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201cEst-ce que \u00e7a marche ?\u201d<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 l\u2019inverse : le cow-boy du code<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Et puis il y a l\u2019autre profil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Celui qui \u00e9crit vite.<br>Parfois sale.<br>Parfois redondant.<br>Mais fonctionnel.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le produit sort.<br>Le client est content.<br>Le business avance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et souvent, c\u2019est ce code-l\u00e0 qui fait rentrer l\u2019argent.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">La v\u00e9rit\u00e9 est entre les deux<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dire que seul le r\u00e9sultat compte serait faux.<br>La dette technique existe. Elle est r\u00e9elle. Elle co\u00fbte cher.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mais se cacher derri\u00e8re \u201cl\u2019architecture parfaite\u201d pour retarder la livraison, c\u2019est aussi une forme d\u2019\u00e9vitement.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"642\" src=\"https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/image.png\" alt=\"\" class=\"wp-image-100635\" srcset=\"https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/image.png 800w, https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/image-480x385.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 800px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La loi de Pareto (que j'affectionne depuis mon adolescence) est utile ici :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">20 % d\u2019effort bien plac\u00e9 produisent 80 % de la valeur.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Les 80 % d\u2019effort suppl\u00e9mentaires pour rendre le code \u201cacad\u00e9miquement pur\u201d ne produisent pas toujours 80 % de valeur suppl\u00e9mentaire.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Parfois, ils produisent 5 % de confort intellectuel.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que le client ach\u00e8te vraiment<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un client n\u2019ach\u00e8te pas :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>un pattern,<\/li>\n\n\n\n<li>une structure \u00e9l\u00e9gante,<\/li>\n\n\n\n<li>un repository bien organis\u00e9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Il ach\u00e8te :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>une solution \u00e0 un probl\u00e8me,<\/li>\n\n\n\n<li>un gain de temps,<\/li>\n\n\n\n<li>une r\u00e9duction de co\u00fbt,<\/li>\n\n\n\n<li>un avantage concurrentiel.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019architecture est un moyen.<br>Pas une finalit\u00e9.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Mais attention : \u201cfonctionnel\u201d n\u2019est pas une excuse<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le discours inverse est tout aussi dangereux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201c\u00c7a marche\u201d n\u2019est pas un argument suffisant si :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>personne ne peut maintenir le code,<\/li>\n\n\n\n<li>chaque modification casse autre chose,<\/li>\n\n\n\n<li>la scalabilit\u00e9 est impossible,<\/li>\n\n\n\n<li>le refactoring devient hors de prix.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le code jetable en production est une bombe \u00e0 retardement.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La vraie maturit\u00e9 consiste \u00e0 savoir o\u00f9 mettre l\u2019effort.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Une r\u00e8gle simple<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Avant d\u2019ajouter une couche d\u2019abstraction, pose-toi trois questions :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Est-ce que ce besoin existe vraiment aujourd\u2019hui ?<\/li>\n\n\n\n<li>Est-ce que \u00e7a simplifie la maintenance future ?<\/li>\n\n\n\n<li>Est-ce que le client en tirera une valeur mesurable ?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Si la r\u00e9ponse est non aux trois\u2026<br>Tu es peut-\u00eatre en train de coder pour toi, pas pour le produit.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que j\u2019ai appris avec le temps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un bon d\u00e9veloppeur n\u2019est pas celui qui \u00e9crit le code le plus \u00e9l\u00e9gant.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C\u2019est celui qui sait :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>livrer vite quand il faut,<\/li>\n\n\n\n<li>structurer quand c\u2019est n\u00e9cessaire,<\/li>\n\n\n\n<li>simplifier au lieu de complexifier,<\/li>\n\n\n\n<li>arbitrer entre vitesse et propret\u00e9,<\/li>\n\n\n\n<li>et surtout stopper son onanisme architectural.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le code parfait n\u2019existe pas.<br>Le code utile, oui.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et dans un projet :<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">l\u2019utilit\u00e9 doit toujours passer avant l\u2019ego technique.<\/p>\n<\/blockquote>\n\n\n<figure class=\"wp-block-post-featured-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"686\" src=\"https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/cathedrale-du-code.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" style=\"object-fit:cover;\" srcset=\"https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/cathedrale-du-code.png 1376w, https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/cathedrale-du-code-1280x638.png 1280w, https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/cathedrale-du-code-980x489.png 980w, https:\/\/dyb.eu\/blog\/wp-content\/uploads\/2026\/03\/cathedrale-du-code-480x239.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) and (max-width: 1280px) 1280px, (min-width: 1281px) 1376px, 100vw\" \/><\/figure>\n\n\n<p class=\"wp-block-paragraph\">Arr\u00eatez de r\u00e9inventer la roue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Et par piti\u00e9, arr\u00eatez de r\u00e9inventer la hache qui va couper du bois pour r\u00e9inventer cette foutue roue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pissez du code qui tourne, pas du code qui brille<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a deux grandes \u00e9coles chez les d\u00e9veloppeurs. Ceux qui parlent d\u2019architecture hexagonale, de clean code, de patterns \u00e9l\u00e9gants, de s\u00e9paration stricte des responsabilit\u00e9s.Et ceux qui livrent. Je caricature volontairement. Mais le d\u00e9bat existe. Et je le dis haut et fort : je suis un mauvais dev.5 ans chez Epitech m&rsquo;ont appris \u00e0 coder, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":100637,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,37],"tags":[33],"class_list":["post-100634","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev","category-news","tag-dev"],"_links":{"self":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts\/100634","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/comments?post=100634"}],"version-history":[{"count":2,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts\/100634\/revisions"}],"predecessor-version":[{"id":100638,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts\/100634\/revisions\/100638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/media\/100637"}],"wp:attachment":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/media?parent=100634"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/categories?post=100634"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/tags?post=100634"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}