{"id":40982,"date":"2026-05-13T08:00:00","date_gmt":"2026-05-13T06:00:00","guid":{"rendered":"https:\/\/leocare.eu\/fr\/?post_type=leocare_lab&#038;p=40982"},"modified":"2026-04-01T23:26:03","modified_gmt":"2026-04-01T21:26:03","slug":"comment-resorber-sa-dette-technique-partie-3","status":"publish","type":"leocare_lab","link":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/","title":{"rendered":"Comment r\u00e9sorber sa dette technique : anticiper ce qui ne se voit pas encore (partie 3)"},"content":{"rendered":"\n<p>Arriv\u00e9 ici, vous avez une application qui tourne bien, avec de bons outils et une bonne vision, en phase avec votre s\u00e9niorit\u00e9. Ce troisi\u00e8me volet cl\u00f4t la s\u00e9rie. Si vous d\u00e9barquez directement, le pr\u00e9c\u00e9dent volet sur la dette profonde et structurante est \u00e0 lire en amont pour bien suivre le fil.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La dette cach\u00e9e, c&#8217;est quoi ?<\/h2>\n\n\n\n<p>Il y a <strong>toujours une dette cach\u00e9e<\/strong>, m\u00eame quand tout semble parfait. Elle se loge dans des endroits qu&#8217;on ne remarque pas tout de suite : des <strong>d\u00e9pendances implicites<\/strong>, des <strong>modules sous-test\u00e9s<\/strong>, ou des <strong>hypoth\u00e8ses obsol\u00e8tes<\/strong>. Elle ne se manifeste pas par des bugs ou des crashs. <strong>Elle attend son heure.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment on la d\u00e9busque ?<\/h2>\n\n\n\n<p>Pour mettre en lumi\u00e8re la dette cach\u00e9e, il faut s&#8217;appuyer sur une <strong>compr\u00e9hension totale du projet<\/strong>. C&#8217;est souvent un travail d&#8217;enqu\u00eate, car cette dette ne se manifeste pas de fa\u00e7on \u00e9vidente. Voici les leviers qui nous ont permis de la d\u00e9busquer :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Outils d&#8217;audit avanc\u00e9s<\/strong> : l&#8217;analyse statique, les tests de performance ou les scanners de s\u00e9curit\u00e9 peuvent r\u00e9v\u00e9ler des <strong>zones probl\u00e9matiques que vous n&#8217;aviez pas identifi\u00e9es<\/strong>. Dans cette phase, vous avez le recul pour interpr\u00e9ter ces r\u00e9sultats correctement.<\/li>\n\n\n\n<li><strong>Feedback de l&#8217;\u00e9quipe<\/strong> : vos coll\u00e8gues connaissent souvent des zones qu&#8217;ils \u00e9vitent de toucher. &#8220;On ne touche pas \u00e0 \u00e7a, c&#8217;est fragile.&#8221; <strong>Ces zones sont de la dette cach\u00e9e.<\/strong> Prenez le temps de les lister.<\/li>\n\n\n\n<li><strong>Les workarounds accumul\u00e9s<\/strong> : ces petits hacks mis en place &#8220;en attendant&#8221; qui sont toujours l\u00e0. Ces conditions sp\u00e9ciales pour g\u00e9rer des cas edge. \u00c0 force, <strong>ils forment une couche de complexit\u00e9 invisible<\/strong>.<\/li>\n\n\n\n<li><strong>Les hypoth\u00e8ses obsol\u00e8tes<\/strong> : des d\u00e9cisions prises il y a 2 ans qui <strong>ne correspondent plus \u00e0 la r\u00e9alit\u00e9<\/strong>. L&#8217;API qui devait \u00e9voluer mais qui est rest\u00e9e fig\u00e9e. Le volume de donn\u00e9es qui a explos\u00e9 alors que l&#8217;archi \u00e9tait pr\u00e9vue pour moins.<\/li>\n\n\n\n<li><strong>Les connaissances tribales<\/strong> : ce que seule une personne de l&#8217;\u00e9quipe sait. &#8220;Demande \u00e0 Pierre, c&#8217;est lui qui conna\u00eet cette partie.&#8221; Si Pierre part, cette connaissance part avec lui. <strong>C&#8217;est une dette, m\u00eame si elle n&#8217;est pas dans le code.<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"702\" src=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1024x702.jpg\" alt=\"detecter dette cachee\" class=\"wp-image-40986\" srcset=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1024x702.jpg 1024w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-300x206.jpg 300w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-768x527.jpg 768w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1536x1053.jpg 1536w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1750x1200.jpg 1750w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1438x986.jpg 1438w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1372x941.jpg 1372w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-980x672.jpg 980w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-575x394.jpg 575w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-600x411.jpg 600w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-700x480.jpg 700w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-480x329.jpg 480w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-515x353.jpg 515w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-438x300.jpg 438w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-360x247.jpg 360w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-330x226.jpg 330w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-173x119.jpg 173w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-150x103.jpg 150w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-100x69.jpg 100w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-20x14.jpg 20w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-40x27.jpg 40w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-140x96.jpg 140w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-200x137.jpg 200w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-315x216.jpg 315w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-510x350.jpg 510w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-623x427.jpg 623w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-475x326.jpg 475w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-576x395.jpg 576w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-992x680.jpg 992w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1440x987.jpg 1440w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee-1920x1317.jpg 1920w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/detecter-dette-cachee.jpg 1944w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Les outils de cette phase<\/h2>\n\n\n\n<p>\u00c0 ce stade, les outils servent moins \u00e0 d\u00e9couvrir qu&#8217;\u00e0 piloter, communiquer et optimiser. Voici ceux qu&#8217;on a mobilis\u00e9s :<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Outil<\/th><th>But \/ Mission<\/th><\/tr><\/thead><tbody><tr><td><strong>Rituels<\/strong><\/td><td>S&#8217;organiser autour des diff\u00e9rents outils mis en place pour <strong>suivre de fa\u00e7on r\u00e9guli\u00e8re<\/strong> les remont\u00e9es.<\/td><\/tr><tr><td><strong>Heatmaps fonctionnelles<\/strong><\/td><td>Visualiser les zones critiques de l&#8217;application et leur \u00e9tat (<strong>vert, jaune, rouge<\/strong>).<\/td><\/tr><tr><td><strong>Grafana \u00d7 OpenTelemetry<\/strong><\/td><td>Donner de l&#8217;autonomie aux autres \u00e9quipes pour comprendre un bug. Connect\u00e9 aux logs backend avec Grafana Tempo, on voit <strong>toute la cha\u00eene d&#8217;encha\u00eenement des services<\/strong> avec des infos compl\u00e9mentaires (OS, version de l&#8217;app, etc.).<\/td><\/tr><tr><td><strong>Firebase Performance<\/strong><\/td><td>Visualiser la performance de l&#8217;application. <strong>Suivre les calls r\u00e9seaux<\/strong> et autres metrics pour identifier les optimisations possibles.<\/td><\/tr><tr><td><strong>Outil de d\u00e9tection du code inutilis\u00e9<\/strong><\/td><td><strong>Nettoyer le code inutilis\u00e9<\/strong> pour ne pas garder les choses qui ne servent pas. Tout reste dans Git, rien n&#8217;est perdu.<\/td><\/tr><tr><td><strong>Firebase Remote Config<\/strong><\/td><td>G\u00e9rer l&#8217;activation ou la d\u00e9sactivation d&#8217;un bout de code. Permet de <strong>faire des migrations progressives<\/strong> en production.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Les rituels : structurer le suivi<\/h3>\n\n\n\n<p>De notre c\u00f4t\u00e9, on a mis en place des <strong>remont\u00e9es p\u00e9riodiques<\/strong> et des <strong>points r\u00e9guliers<\/strong> pour faire le bilan sur chaque outil, voir comment il \u00e9volue, et s&#8217;affecter des t\u00e2ches.<\/p>\n\n\n\n<p>Essayez de <strong>r\u00e9partir dans le temps<\/strong> ces points pour les outils. Si vous organisez une grosse r\u00e9union avec les remont\u00e9es de tous vos outils de suivi, \u00e7a peut devenir tr\u00e8s frustrant face \u00e0 l&#8217;ampleur de la charge de travail. Il vaut mieux <strong>\u00e9valuer la charge que cela g\u00e9n\u00e8re et adapter avec votre \u00e9quipe<\/strong>. Trouvez un juste milieu. Avec la mont\u00e9e en comp\u00e9tence de chacun, vous verrez \u00e9voluer votre fa\u00e7on de corriger les probl\u00e8mes.<\/p>\n\n\n\n<p>Un conseil : si vous avez de l&#8217;exp\u00e9rience, <strong>prenez sur vous la charge de r\u00e9duire le niveau des remont\u00e9es<\/strong>. Par exemple, n&#8217;afficher que les remont\u00e9es critiques tant qu&#8217;il y en a, puis ouvrir progressivement. Cela permet de <strong>se concentrer sur les priorit\u00e9s plus rapidement<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Les Heat Maps fonctionnelles : communiquer sur la dette<\/h3>\n\n\n\n<p>On a eu des <strong>probl\u00e9matiques de communication avec l&#8217;\u00e9quipe produit<\/strong> au fur et \u00e0 mesure que notre dette technique diminuait. De l&#8217;ext\u00e9rieur, tout semblait bien se passer : l&#8217;application fonctionnait bien, peu de crashs, peu d&#8217;erreurs, un aspect visuel correct. Mais on avait toujours en t\u00eate <strong>des parties qu&#8217;il fallait revoir<\/strong> pour \u00e9viter que l&#8217;application ne tombe du jour au lendemain.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"500\" src=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-1024x500.jpg\" alt=\"heat map\" class=\"wp-image-40985\" srcset=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-1024x500.jpg 1024w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-300x147.jpg 300w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-768x375.jpg 768w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-1536x750.jpg 1536w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-1500x733.jpg 1500w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-1372x670.jpg 1372w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-980x479.jpg 980w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-575x281.jpg 575w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-600x293.jpg 600w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-700x342.jpg 700w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-480x234.jpg 480w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-515x251.jpg 515w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-490x239.jpg 490w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-360x176.jpg 360w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-330x161.jpg 330w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-173x84.jpg 173w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-150x73.jpg 150w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-100x49.jpg 100w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-20x10.jpg 20w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-40x20.jpg 40w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-140x68.jpg 140w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-200x98.jpg 200w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-315x154.jpg 315w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-717x350.jpg 717w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-560x273.jpg 560w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-623x304.jpg 623w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-475x232.jpg 475w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-576x281.jpg 576w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-992x484.jpg 992w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map-1440x703.jpg 1440w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/heat-map.jpg 1800w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Pour cela, on a analys\u00e9 <strong>feature par feature<\/strong> l&#8217;application (d&#8217;abord de fa\u00e7on macro, puis avec plus de pr\u00e9cision au fil du temps) pour \u00e9valuer l&#8217;\u00e9tat de chacune. On a tout mis \u00e0 plat dans un document, et pour rendre cela visuel, on a cr\u00e9\u00e9 une sorte de Heat Map \u00e0 la main, avec un code couleur simple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Vert<\/strong> : la feature est saine, elle fonctionne correctement<\/li>\n\n\n\n<li><strong>Orange<\/strong> : la feature n\u00e9cessite une attention particuli\u00e8re, \u00e0 surveiller<\/li>\n\n\n\n<li><strong>Rouge<\/strong> : la feature est difficile \u00e0 faire \u00e9voluer, elle freine le d\u00e9veloppement business<\/li>\n\n\n\n<li><strong>Noir<\/strong> : zone morte, la feature n\u00e9cessite une refonte compl\u00e8te<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-1024x555.jpg\" alt=\"niveaux heat map\" class=\"wp-image-40984\" srcset=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-1024x555.jpg 1024w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-300x163.jpg 300w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-768x416.jpg 768w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-1536x833.jpg 1536w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-1500x813.jpg 1500w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-1372x744.jpg 1372w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-980x531.jpg 980w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-575x312.jpg 575w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-600x325.jpg 600w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-700x380.jpg 700w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-480x260.jpg 480w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-515x279.jpg 515w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-490x266.jpg 490w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-360x195.jpg 360w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-330x179.jpg 330w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-173x94.jpg 173w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-150x81.jpg 150w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-100x54.jpg 100w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-20x11.jpg 20w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-40x22.jpg 40w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-140x76.jpg 140w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-200x108.jpg 200w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-315x171.jpg 315w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-645x350.jpg 645w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-560x304.jpg 560w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-623x338.jpg 623w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-475x258.jpg 475w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-576x312.jpg 576w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-992x538.jpg 992w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map-1440x781.jpg 1440w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/niveaux-heat-map.jpg 1584w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Gr\u00e2ce \u00e0 cette Heat Map, on a pu <strong>montrer factuellement l&#8217;\u00e9tat de l&#8217;application<\/strong>. Pas mal de parties \u00e9taient OK, mais certaines \u00e9taient complexes \u00e0 maintenir. Cela a permis aux diff\u00e9rentes \u00e9quipes de <strong>prendre en main leur p\u00e9rim\u00e8tre<\/strong> et de voir, c\u00f4t\u00e9 produit, comment int\u00e9grer ces travaux dans la roadmap. L&#8217;id\u00e9e \u00e9tait aussi de <strong>formaliser sur un document ce qu&#8217;on avait en t\u00eate<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Des librairies d\u00e9pr\u00e9ci\u00e9es laiss\u00e9es de c\u00f4t\u00e9 car trop structurantes<\/h3>\n\n\n\n<p>On a renforc\u00e9 la communication et fait des pr\u00e9sentations pour <strong>expliquer ce que cela impliquait<\/strong>, tout en rassurant l&#8217;entreprise sur notre capacit\u00e9 \u00e0 g\u00e9rer un sujet aussi structurant. On a aussi utilis\u00e9 la Heat Map pour visualiser cette partie, m\u00eame si c&#8217;est quelque chose de plus technique.<\/p>\n\n\n\n<p>Notre plus gros enjeu structurant depuis un an est de pr\u00e9parer la <strong>transition de notre navigation c\u00f4t\u00e9 Android<\/strong>, qui repose sur une librairie d\u00e9pr\u00e9ci\u00e9e utilisant les FragmentManager.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Optimiser les performances : Firebase Performance et Grafana<\/h3>\n\n\n\n<p>C&#8217;est dans cette phase que <strong>l&#8217;optimisation des performances prend tout son sens<\/strong>. Avant, on mettait en place des outils pour observer. Maintenant, <strong>on a assez de recul et de donn\u00e9es pour agir<\/strong>.<\/p>\n\n\n\n<p>Avec <strong>Firebase Performance<\/strong>, on a pu analyser l&#8217;utilisation des requ\u00eates webservices et <strong>identifier les appels r\u00e9seau \u00e0 optimiser<\/strong>. On ne l&#8217;a pas fait tout de suite. On a d&#8217;abord mis l&#8217;outil en place de fa\u00e7on l\u00e9g\u00e8re, observ\u00e9 les donn\u00e9es, compris les patterns. Et quand on a eu une vision claire des probl\u00e8mes, on a pu <strong>prioriser les optimisations qui avaient vraiment un impact<\/strong>.<\/p>\n\n\n\n<p><strong>Grafana coupl\u00e9 \u00e0 OpenTelemetry<\/strong> nous a permis d&#8217;aller encore plus loin. On voit maintenant <strong>toute la cha\u00eene d&#8217;ex\u00e9cution d&#8217;une requ\u00eate<\/strong> : du mobile jusqu&#8217;au backend, en passant par tous les services interm\u00e9diaires. Quand un utilisateur remonte un probl\u00e8me de lenteur, on peut <strong>tracer exactement ce qui s&#8217;est pass\u00e9<\/strong>. \u00c7a donne aussi de l&#8217;autonomie aux autres \u00e9quipes : elles peuvent investiguer sans forc\u00e9ment solliciter les devs mobile.<\/p>\n\n\n\n<p>L&#8217;id\u00e9e, c&#8217;est que <strong>les outils de performance deviennent vraiment utiles quand vous ma\u00eetrisez votre application<\/strong>. Avant \u00e7a, vous risquez de vous noyer dans des m\u00e9triques sans savoir quoi en faire.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Firebase Remote Config : migrer en douceur<\/h3>\n\n\n\n<p>Quand vous devez remplacer un composant structurant de votre application, <strong>vous ne pouvez pas tout basculer d&#8217;un coup<\/strong>. C&#8217;est l\u00e0 que <strong>Firebase Remote Config<\/strong> devient pr\u00e9cieux.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"997\" src=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-1024x997.jpg\" alt=\"firebase migration\" class=\"wp-image-40983\" srcset=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-1024x997.jpg 1024w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-300x292.jpg 300w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-768x748.jpg 768w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-1013x986.jpg 1013w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-980x954.jpg 980w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-575x560.jpg 575w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-600x584.jpg 600w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-700x681.jpg 700w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-480x467.jpg 480w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-515x500.jpg 515w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-308x300.jpg 308w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-360x350.jpg 360w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-330x321.jpg 330w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-164x160.jpg 164w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-150x146.jpg 150w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-100x97.jpg 100w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-20x20.jpg 20w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-40x40.jpg 40w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-140x136.jpg 140w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-200x195.jpg 200w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-247x240.jpg 247w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-555x540.jpg 555w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-475x462.jpg 475w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-30x30.jpg 30w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-24x24.jpg 24w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-56x56.jpg 56w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-576x561.jpg 576w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration-992x966.jpg 992w, https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/firebase-migration.jpg 1056w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>L&#8217;id\u00e9e est simple : vous gardez l&#8217;ancien code et le nouveau c\u00f4te \u00e0 c\u00f4te, et vous contr\u00f4lez lequel est actif via un flag distant. \u00c7a vous permet de :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tester en conditions r\u00e9elles<\/strong> : activer la nouvelle impl\u00e9mentation pour un petit pourcentage d&#8217;utilisateurs et observer le comportement.<\/li>\n\n\n\n<li><strong>Rollback instantan\u00e9<\/strong> : si quelque chose ne va pas, vous d\u00e9sactivez le flag <strong>sans avoir \u00e0 red\u00e9ployer<\/strong>.<\/li>\n\n\n\n<li><strong>Migration progressive<\/strong> : vous augmentez progressivement le pourcentage d&#8217;utilisateurs sur la nouvelle version jusqu&#8217;\u00e0 100 %.<\/li>\n<\/ul>\n\n\n\n<p>De notre c\u00f4t\u00e9, on l&#8217;a utilis\u00e9 pour plusieurs migrations, business comme techniques. C\u00f4t\u00e9 technique, deux cas majeurs :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Le changement complet de notre backend<\/strong> : on a maintenu les deux backends en parall\u00e8le pendant la transition, et le switch en production s&#8217;est fait de <strong>fa\u00e7on transparente pour les utilisateurs<\/strong>. C&#8217;\u00e9tait un chantier \u00e9norme, mais Remote Config nous a permis de <strong>ma\u00eetriser les impacts \u00e0 chaque \u00e9tape<\/strong>.<\/li>\n\n\n\n<li><strong>La migration de notre feature de chat<\/strong> : on a fait cohabiter l&#8217;ancienne et la nouvelle impl\u00e9mentation. Le switch en production s&#8217;est fait progressivement. <strong>Aucune coupure, aucun stress.<\/strong><\/li>\n<\/ul>\n\n\n\n<p>\u00c7a rassure tout le monde : l&#8217;\u00e9quipe technique, le produit, et les parties prenantes. <strong>On avance sereinement sur des sujets qui auraient pu \u00eatre tr\u00e8s risqu\u00e9s.<\/strong> Une fois la migration termin\u00e9e et valid\u00e9e, on supprime l&#8217;ancien code et le flag. C&#8217;est important de <strong>ne pas laisser tra\u00eener ces feature flags ind\u00e9finiment<\/strong>, sinon vous cr\u00e9ez une nouvelle forme de dette.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Nouveaut\u00e9s des plateformes<\/h3>\n\n\n\n<p>Les nouveaut\u00e9s comme <strong>Compose<\/strong> ou <strong>SwiftUI<\/strong> sont int\u00e9ressantes \u00e0 mettre en place pour <strong>l&#8217;avenir de l&#8217;application et des personnes qui vont travailler dessus<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment en parler sans tout casser ?<\/h2>\n\n\n\n<p>Une fois la dette d\u00e9tect\u00e9e, il faut la <strong>communiquer<\/strong>. Et pour \u00e7a, pas question de parler en jargon incompr\u00e9hensible aux non-d\u00e9veloppeurs :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adaptez votre discours<\/strong> : parlez des cons\u00e9quences r\u00e9elles de la dette (retards, instabilit\u00e9), pas de d\u00e9tails techniques abscons.<\/li>\n\n\n\n<li><strong>Proposez des solutions progressives<\/strong> : on ne la r\u00e9sout pas tout d&#8217;un coup. Il s&#8217;agit de <strong>la r\u00e9duire petit \u00e0 petit<\/strong>, tout en gardant les objectifs business en t\u00eate.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p><strong>La dette technique n&#8217;est jamais totalement \u00e9limin\u00e9e.<\/strong> L&#8217;important, c&#8217;est de l&#8217;int\u00e9grer dans la routine de l&#8217;\u00e9quipe : des <strong>revues de code r\u00e9guli\u00e8res<\/strong>, des <strong>audits p\u00e9riodiques<\/strong>, et surtout une <strong>culture de responsabilit\u00e9 partag\u00e9e<\/strong>.<\/p>\n\n\n\n<p>Cette s\u00e9rie a parcouru trois \u00e9tapes : la <strong>d\u00e9couverte de la dette de surface<\/strong>, la <strong>compr\u00e9hension de la dette profonde structurante<\/strong>, puis la <strong>mise en lumi\u00e8re de la dette cach\u00e9e<\/strong>. Pas de solution miracle : <strong>la gestion de la dette technique reste du cas par cas<\/strong>, selon votre \u00e9quipe, votre contexte et vos contraintes. Avec des efforts structur\u00e9s, de la communication et du pragmatisme, <strong>on r\u00e9duit son impact et on rend le travail plus agr\u00e9able<\/strong>.<\/p>\n\n\n\n<p>Merci d&#8217;avoir suivi ces trois volets. J&#8217;esp\u00e8re que ce partage d&#8217;exp\u00e9rience vous aidera \u00e0 <strong>aborder vos propres chantiers avec plus de s\u00e9r\u00e9nit\u00e9 et de clart\u00e9<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 retenir<\/h2>\n\n\n\n<p>Cette phase finale est celle o\u00f9 vous passez de la gestion technique pure \u00e0 une <strong>vraie collaboration avec les autres \u00e9quipes<\/strong>. La capacit\u00e9 \u00e0 <strong>visualiser et communiquer<\/strong> l&#8217;\u00e9tat de la dette technique devient aussi importante que la capacit\u00e9 \u00e0 la corriger.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Arriv\u00e9 ici, vous avez une application qui tourne bien, avec de bons outils et une bonne vision, en phase avec votre s\u00e9niorit\u00e9. Ce troisi\u00e8me volet cl\u00f4t la s\u00e9rie. Si vous d\u00e9barquez directement, le pr\u00e9c\u00e9dent volet sur la dette profonde et structurante est \u00e0 lire en amont pour bien suivre le fil. La dette cach\u00e9e, c&#8217;est [&hellip;]<\/p>\n","protected":false},"author":49,"featured_media":40987,"comment_status":"closed","ping_status":"closed","template":"","categorie_leocare_lab":[37],"class_list":["post-40982","leocare_lab","type-leocare_lab","status-publish","has-post-thumbnail","hentry","categorie_leocare_lab-developers"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>LeoLab<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"LeoLab\" \/>\n<meta property=\"og:description\" content=\"Arriv\u00e9 ici, vous avez une application qui tourne bien, avec de bons outils et une bonne vision, en phase avec votre s\u00e9niorit\u00e9. Ce troisi\u00e8me volet cl\u00f4t la s\u00e9rie. Si vous d\u00e9barquez directement, le pr\u00e9c\u00e9dent volet sur la dette profonde et structurante est \u00e0 lire en amont pour bien suivre le fil. La dette cach\u00e9e, c&#8217;est [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Leocare, assurance en ligne automobile et habitation\" \/>\n<meta property=\"og:image\" content=\"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/iceberg.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"505\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"LeoLab","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/","og_locale":"fr_FR","og_type":"article","og_title":"LeoLab","og_description":"Arriv\u00e9 ici, vous avez une application qui tourne bien, avec de bons outils et une bonne vision, en phase avec votre s\u00e9niorit\u00e9. Ce troisi\u00e8me volet cl\u00f4t la s\u00e9rie. Si vous d\u00e9barquez directement, le pr\u00e9c\u00e9dent volet sur la dette profonde et structurante est \u00e0 lire en amont pour bien suivre le fil. La dette cach\u00e9e, c&#8217;est [&hellip;]","og_url":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/","og_site_name":"Leocare, assurance en ligne automobile et habitation","og_image":[{"width":800,"height":505,"url":"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/iceberg.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/","url":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/","name":"LeoLab","isPartOf":{"@id":"https:\/\/leocare.eu\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/#primaryimage"},"image":{"@id":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/#primaryimage"},"thumbnailUrl":"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/iceberg.jpg","datePublished":"2026-05-13T06:00:00+00:00","breadcrumb":{"@id":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/leocare.eu\/fr\/leocare-lab\/comment-resorber-sa-dette-technique-partie-3\/#primaryimage","url":"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/iceberg.jpg","contentUrl":"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2026\/04\/iceberg.jpg","width":800,"height":505,"caption":"iceberg"},{"@type":"WebSite","@id":"https:\/\/leocare.eu\/fr\/#website","url":"https:\/\/leocare.eu\/fr\/","name":"Leocare, assurance en ligne automobile et habitation","description":"enfin (r)assur\u00e9.e","publisher":{"@id":"https:\/\/leocare.eu\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/leocare.eu\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/leocare.eu\/fr\/#organization","name":"Leocare, assurance en ligne automobile et habitation","url":"https:\/\/leocare.eu\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/leocare.eu\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2020\/03\/logo-leocare.svg","contentUrl":"https:\/\/leocare.eu\/fr\/wp-content\/uploads\/2020\/03\/logo-leocare.svg","caption":"Leocare, assurance en ligne automobile et habitation"},"image":{"@id":"https:\/\/leocare.eu\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/leocare_lab\/40982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/leocare_lab"}],"about":[{"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/types\/leocare_lab"}],"author":[{"embeddable":true,"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/comments?post=40982"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/media\/40987"}],"wp:attachment":[{"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/media?parent=40982"}],"wp:term":[{"taxonomy":"categorie_leocare_lab","embeddable":true,"href":"https:\/\/leocare.eu\/fr\/wp-json\/wp\/v2\/categorie_leocare_lab?post=40982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}