{"id":3105,"date":"2026-03-29T14:56:00","date_gmt":"2026-03-29T13:56:00","guid":{"rendered":"https:\/\/www.kangama.com\/?p=3105"},"modified":"2026-05-07T14:15:02","modified_gmt":"2026-05-07T13:15:02","slug":"outil-macos-nettoyer-cache-developpeur","status":"publish","type":"post","link":"https:\/\/www.kangama.com\/en\/outil-macos-nettoyer-cache-developpeur\/","title":{"rendered":"Cr\u00e9er un outil macOS pour nettoyer les caches d\u00e9veloppeur : retour d\u2019exp\u00e9rience"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div>\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>Avec le temps, tout d\u00e9veloppeur finit par rencontrer le m\u00eame probl\u00e8me sur macOS : un disque qui se remplit sans que l\u2019on comprenne r\u00e9ellement pourquoi. Ce ph\u00e9nom\u00e8ne n\u2019est pas imm\u00e9diat, mais progressif. Projet apr\u00e8s projet, outil apr\u00e8s outil, l\u2019espace disponible diminue jusqu\u2019\u00e0 devenir critique.<\/p>\n\n\n\n<p>Dans mon cas, entre les projets iOS, Android et web, je me suis retrouv\u00e9 \u00e0 plusieurs reprises avec un disque presque satur\u00e9, sans avoir une vision claire de ce qui occupait r\u00e9ellement de la place. C\u2019est souvent \u00e0 ce moment-l\u00e0 que l\u2019on cherche des solutions rapides, comme des scripts de nettoyage, sans forc\u00e9ment ma\u00eetriser ce que l\u2019on supprime.<\/p>\n\n\n\n<p>C\u2019est pr\u00e9cis\u00e9ment cette situation qui m\u2019a pouss\u00e9 \u00e0 d\u00e9velopper une application macOS simple, avec un objectif clair : apporter de la visibilit\u00e9 et permettre un nettoyage efficace des caches de d\u00e9veloppement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi les caches deviennent rapidement probl\u00e9matiques<\/h2>\n\n\n\n<p>Les outils modernes de d\u00e9veloppement g\u00e9n\u00e8rent en permanence des fichiers temporaires pour optimiser les performances. Des environnements comme Xcode ou Android Studio, ainsi que des gestionnaires de d\u00e9pendances comme npm ou CocoaPods, cr\u00e9ent et stockent des caches qui facilitent les builds et les installations.<\/p>\n\n\n\n<p>Sur le moment, ces fichiers sont utiles, voire indispensables. Mais avec le temps, ils s\u2019accumulent et peuvent repr\u00e9senter plusieurs dizaines de gigaoctets. Le probl\u00e8me, ce n\u2019est pas uniquement leur volume, mais surtout le manque de visibilit\u00e9 sur leur r\u00e9partition.<\/p>\n\n\n\n<p>On se retrouve alors dans une situation assez classique : le disque est presque plein, mais il est difficile d\u2019identifier pr\u00e9cis\u00e9ment quels outils sont responsables et quelles actions peuvent \u00eatre r\u00e9alis\u00e9es sans risque.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les limites des solutions existantes<\/h2>\n\n\n\n<p>La premi\u00e8re r\u00e9ponse \u00e0 ce probl\u00e8me consiste souvent \u00e0 utiliser un script de nettoyage. Ces scripts permettent de supprimer diff\u00e9rents caches en une seule commande, ce qui peut \u00eatre pratique dans certains cas.<\/p>\n\n\n\n<p>Cependant, ils pr\u00e9sentent une limite importante : ils agissent sans fournir de vision globale. On ex\u00e9cute une commande, on lib\u00e8re de l\u2019espace, mais on ne sait pas r\u00e9ellement ce qui a \u00e9t\u00e9 supprim\u00e9 ni ce qui occupait le plus de place au d\u00e9part.<\/p>\n\n\n\n<p>Dans un contexte professionnel, cette approche peut rapidement montrer ses limites. Avant de supprimer, il est souvent n\u00e9cessaire de comprendre. C\u2019est cette r\u00e9flexion qui m\u2019a amen\u00e9 \u00e0 envisager une solution diff\u00e9rente, plus visuelle et plus contr\u00f4l\u00e9e.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">D\u2019un besoin personnel \u00e0 une application macOS<\/h2>\n\n\n\n<p>Le point de d\u00e9part de ce projet est simple. Apr\u00e8s avoir d\u00e9couvert un <strong><a href=\"https:\/\/github.com\/jemishavasoya\/dev-cleaner\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/github.com\/jemishavasoya\/dev-cleaner\" rel=\"noreferrer noopener nofollow\">script (Dev Cleaner)<\/a> <\/strong>de nettoyage et l\u2019avoir partag\u00e9, je me suis rendu compte qu\u2019il me manquait une information essentielle : une vue claire de l\u2019occupation du disque.<\/p>\n\n\n\n<p>Plut\u00f4t que d\u2019ex\u00e9cuter une action \u201c\u00e0 l\u2019aveugle\u201d, je voulais pouvoir identifier rapidement ce qui prenait r\u00e9ellement de la place, puis d\u00e9cider quoi supprimer.<\/p>\n\n\n\n<p>C\u2019est ainsi que j\u2019ai commenc\u00e9 \u00e0 d\u00e9velopper une petite application macOS, sans ambition initiale particuli\u00e8re, mais avec une id\u00e9e pr\u00e9cise en t\u00eate : cr\u00e9er un outil simple, rapide et utile au quotidien.<\/p>\n\n\n<style>.kb-image3105_999a78-6c .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<figure class=\"wp-block-kadence-image kb-image3105_999a78-6c size-full kb-image-is-ratio-size\"><a href=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/poster_1.0.0.png\" class=\"kb-advanced-image-link\" aria-label=\"Dev Cleaner\"><div class=\"kb-is-ratio-image kb-image-ratio-land43\"><img fetchpriority=\"high\" decoding=\"async\" width=\"932\" height=\"684\" src=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/poster_1.0.0.png\" alt=\"Dev Cleaner\" class=\"kb-img wp-image-3116\" srcset=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/poster_1.0.0.png 932w, https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/poster_1.0.0-744x546.png 744w, https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/poster_1.0.0-420x308.png 420w, https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/poster_1.0.0-768x564.png 768w\" sizes=\"(max-width: 932px) 100vw, 932px\" \/><\/div><\/a><figcaption><em>Dev Cleaner &#8211; L&rsquo;outil d\u00e9couvert qui utilise les scripts pour supprimer les caches<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Une application pens\u00e9e pour aller \u00e0 l\u2019essentiel<\/h2>\n\n\n\n<p>L\u2019application repose sur une logique volontairement minimaliste. Elle permet d\u2019afficher la capacit\u00e9 totale du disque ainsi que l\u2019espace restant, tout en mettant en \u00e9vidence les principaux outils qui occupent de la place.<\/p>\n\n\n\n<p>L\u2019utilisateur peut ainsi identifier rapidement les caches li\u00e9s \u00e0 des environnements comme Xcode, Gradle ou npm, et d\u00e9cider de les nettoyer en un clic.<\/p>\n\n\n\n<p>L\u2019objectif n\u2019\u00e9tait pas de proposer une solution exhaustive ou complexe, mais plut\u00f4t de cr\u00e9er un outil pratique, capable de r\u00e9pondre \u00e0 un besoin concret en quelques secondes.<\/p>\n\n\n\n<p>Ce type d\u2019approche permet de r\u00e9duire la friction et de favoriser une utilisation r\u00e9guli\u00e8re, ce qui est essentiel pour ce genre d\u2019outil.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quelques choix techniques cl\u00e9s<\/h2>\n\n\n\n<p>Sans entrer dans un niveau de d\u00e9tail trop approfondi, ce projet m\u2019a permis d\u2019explorer plusieurs aspects int\u00e9ressants du d\u00e9veloppement macOS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">Une int\u00e9gration via la barre de menu<\/h3>\n\n\n<style>.kb-image3105_ca0441-fd .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<figure class=\"wp-block-kadence-image kb-image3105_ca0441-fd\"><a href=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-barre-de-menu.png\" class=\"kb-advanced-image-link\"><img decoding=\"async\" width=\"595\" height=\"174\" src=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-barre-de-menu-e1774788505889.png\" alt=\"Outil macOS\" class=\"kb-img wp-image-3124\" srcset=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-barre-de-menu-e1774788505889.png 595w, https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-barre-de-menu-e1774788505889-420x123.png 420w\" sizes=\"(max-width: 595px) 100vw, 595px\" \/><\/a><figcaption><em>DevCacheCleaner &#8211; Accessible dans la barre de manu<\/em><\/figcaption><\/figure>\n\n\n\n<p>L\u2019application utilise le composant MenuBarExtra, qui permet de l\u2019int\u00e9grer directement dans la barre de menu macOS. Ce choix permet d\u2019avoir un acc\u00e8s rapide et permanent \u00e0 l\u2019outil, sans avoir \u00e0 ouvrir une application classique.<\/p>\n\n\n\n<p>Cela correspond parfaitement \u00e0 l\u2019usage attendu : consulter rapidement l\u2019\u00e9tat du disque et agir si n\u00e9cessaire.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">La gestion des acc\u00e8s avec les bookmarks<\/h3>\n\n\n\n<p>Pour analyser et nettoyer les caches, il est n\u00e9cessaire d\u2019acc\u00e9der \u00e0 certains dossiers du syst\u00e8me. macOS impose des r\u00e8gles strictes en mati\u00e8re de s\u00e9curit\u00e9, ce qui n\u00e9cessite de g\u00e9rer correctement les autorisations.<\/p>\n\n\n<style>.kb-image3105_8087fe-81 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<figure class=\"wp-block-kadence-image kb-image3105_8087fe-81 size-full\"><a href=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-demande-dacces.png\" class=\"kb-advanced-image-link\"><img decoding=\"async\" width=\"620\" height=\"184\" src=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-demande-dacces.png\" alt=\"Outil macOS - DevCacheCleaner\" class=\"kb-img wp-image-3140\" srcset=\"https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-demande-dacces.png 620w, https:\/\/www.kangama.com\/wp-content\/uploads\/2026\/03\/DevCacheCleaner-demande-dacces-420x125.png 420w\" sizes=\"(max-width: 620px) 100vw, 620px\" \/><\/a><figcaption><em>DevCacheCleaner &#8211; Demande d&rsquo;acc\u00e8s au lancement de l&rsquo;application<\/em><\/figcaption><\/figure>\n\n\n\n<p>Le m\u00e9canisme de <a href=\"https:\/\/developer.apple.com\/documentation\/professional-video-applications\/using-bookmark-data\" data-type=\"link\" data-id=\"https:\/\/developer.apple.com\/documentation\/professional-video-applications\/using-bookmark-data\" target=\"_blank\" rel=\"noopener\"><strong>bookmarks<\/strong><\/a> permet de conserver un acc\u00e8s s\u00e9curis\u00e9 et persistant \u00e0 ces dossiers. C\u2019est un point technique important pour garantir le bon fonctionnement de l\u2019application dans le temps.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">Une logique simple mais ma\u00eetris\u00e9e<\/h3>\n\n\n\n<p>Le fonctionnement global repose sur trois \u00e9tapes : identifier les dossiers de cache, calculer leur taille et proposer une action de nettoyage.<\/p>\n\n\n\n<p>Si le principe est simple, la mise en \u0153uvre n\u00e9cessite de bien comprendre les impacts de chaque suppression, afin d\u2019\u00e9viter tout comportement inattendu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un projet open source<\/h2>\n\n\n\n<p>Initialement d\u00e9velopp\u00e9 pour un usage personnel, cet outil est d\u00e9sormais disponible en open source.<\/p>\n\n\n\n<p>L\u2019objectif est maintenant de faire \u00e9voluer l\u2019outil progressivement, en s\u2019appuyant sur les retours d\u2019usage et les besoins r\u00e9els des d\u00e9veloppeurs.<\/p>\n\n\n\n<p><strong>Vous pouvez consulter le d\u00e9p\u00f4t ici :<\/strong><\/p>\n\n\n<div class=\"vlp-link-container vlp-template-default wp-block-visual-link-preview-link\">\n\t<a href=\"https:\/\/github.com\/k-angama\/macOS-dev-cache-cleaner\" class=\"vlp-link\" title=\"GitHub - k-angama\/macOS-dev-cache-cleaner: A macOS menu bar app for inspecting and cleaning developer caches stored in your Home folder.\" rel=\"nofollow noopener\" target=\"_blank\"><\/a>\t\t<div class=\"vlp-link-image-container\">\n\t\t<div class=\"vlp-link-image\">\n\t\t\t<img decoding=\"async\" src=\"https:\/\/opengraph.githubassets.com\/da80e26e03ddc7305a5e93886eaf4b76d9642493b43ab60e906fc2a471de45bf\/k-angama\/macOS-dev-cache-cleaner\" style=\"max-width: 150px; max-height: 150px\" \/>\t\t<\/div>\n\t<\/div>\n\t\t<div class=\"vlp-link-text-container\">\n\t\t\t\t<div class=\"vlp-link-title\">\n\t\t\tGitHub &#8211; k-angama\/macOS-dev-cache-cleaner: A macOS menu bar app for inspecting and cleaning developer caches stored in your Home folder.\t\t<\/div>\n\t\t\t\t\t\t<div class=\"vlp-link-summary\">\n\t\t\tA macOS menu bar app for inspecting and cleaning developer caches stored in your Home folder. &#8211; k-angama\/macOS-dev-cache-cleaner\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>La version alpha est \u00e9galement accessible ici :<\/strong><\/p>\n\n\n<div class=\"vlp-link-container vlp-layout-basic wp-block-visual-link-preview-link\"><a href=\"https:\/\/github.com\/k-angama\/macOS-dev-cache-cleaner\/releases\/tag\/0.2.2-alpha\" class=\"vlp-link\" title=\"Release 0.2.2-alpha \u00b7 k-angama\/macOS-dev-cache-cleaner\" rel=\"nofollow noopener\" target=\"_blank\"><\/a><div class=\"vlp-layout-zone-side\"><div class=\"vlp-block-2 vlp-link-image\"><img decoding=\"async\" src=\"https:\/\/opengraph.githubassets.com\/68a1a11572dc8c8b6c45f0c428ba540b9bc21ea859ba3f4cd10a4f26d17b1d6a\/k-angama\/macOS-dev-cache-cleaner\/releases\/tag\/0.2.2-alpha\" style=\"max-width: 150px; max-height: 150px\" \/><\/div><\/div><div class=\"vlp-layout-zone-main\"><div class=\"vlp-block-0 vlp-link-title\">Release 0.2.2-alpha \u00b7 k-angama\/macOS-dev-cache-cleaner<\/div><div class=\"vlp-block-1 vlp-link-summary\">DevCacheCleaner v0.2.2-alpha<br \/>\nThis alpha release adds workspace-aware cleanup support, making DevCacheCleaner more useful for developer projects beyond system cache folders.<br \/>\nHighlights<br \/>\n<br \/>\nAdded worksp&#8230;<\/div><\/div><\/div>\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que ce projet m\u2019a appris<\/h2>\n\n\n\n<p>Ce type de projet confirme une chose importante : les meilleures id\u00e9es viennent souvent de probl\u00e8mes concrets rencontr\u00e9s au quotidien.<\/p>\n\n\n\n<p>Plut\u00f4t que de chercher \u00e0 innover \u00e0 tout prix, il est souvent plus pertinent de se concentrer sur des besoins simples, mais r\u00e9els, et d\u2019y apporter une r\u00e9ponse efficace.<\/p>\n\n\n\n<p>Sur le plan technique, ce projet a \u00e9galement \u00e9t\u00e9 l\u2019occasion d\u2019explorer plus en profondeur l\u2019\u00e9cosyst\u00e8me macOS, notamment autour des applications en barre de menu et de la gestion des acc\u00e8s fichiers. Ce sont des sujets que l\u2019on rencontre moins fr\u00e9quemment dans le d\u00e9veloppement mobile classique, mais qui apportent une vraie mont\u00e9e en comp\u00e9tences.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>D\u00e9velopper cette application macOS m\u2019a surtout permis de revenir \u00e0 quelque chose d\u2019essentiel dans notre m\u00e9tier : r\u00e9soudre un probl\u00e8me concret avec une solution simple et ma\u00eetris\u00e9e.<\/p>\n\n\n\n<p>Au-del\u00e0 de l\u2019outil lui-m\u00eame, ce projet met en lumi\u00e8re plusieurs aspects int\u00e9ressants c\u00f4t\u00e9 d\u00e9veloppement. Travailler avec MenuBarExtra, g\u00e9rer les acc\u00e8s syst\u00e8me avec les bookmarks, structurer une logique de nettoyage fiable\u2026 autant de sujets qui peuvent sembler secondaires, mais qui sont en r\u00e9alit\u00e9 tr\u00e8s formateurs lorsqu\u2019on construit un outil utilis\u00e9 au quotidien.<\/p>\n\n\n\n<p>C\u2019est aussi le genre de projet qui rappelle qu\u2019on n\u2019a pas toujours besoin d\u2019une architecture complexe ou d\u2019un produit ambitieux pour apprendre ou progresser. Un besoin personnel bien identifi\u00e9 suffit souvent \u00e0 explorer de nouvelles approches, tester des id\u00e9es et am\u00e9liorer sa pratique.<\/p>\n\n\n\n<p>Si le sujet vous parle, je partagerai plus en d\u00e9tail certains aspects techniques dans de prochains articles, notamment autour du d\u00e9veloppement d\u2019applications macOS et de la gestion des acc\u00e8s au syst\u00e8me de fichiers.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading3105_310b72-54, .wp-block-kadence-advancedheading.kt-adv-heading3105_310b72-54[data-kb-block=\"kb-adv-heading3105_310b72-54\"]{font-size:var(--global-kb-font-size-md, 1.25rem);font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3105_310b72-54 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3105_310b72-54[data-kb-block=\"kb-adv-heading3105_310b72-54\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3105_310b72-54 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3105_310b72-54[data-kb-block=\"kb-adv-heading3105_310b72-54\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h4 class=\"kt-adv-heading3105_310b72-54 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading3105_310b72-54\">Article similaire<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"margin-top:var(--wp--preset--spacing--20);margin-right:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--20);margin-left:var(--wp--preset--spacing--60)\"><a href=\"https:\/\/www.kangama.com\/menu-bar-macos-swiftui-guide-pratique\/\" data-type=\"link\" data-id=\"https:\/\/www.kangama.com\/menu-bar-macos-swiftui-guide-pratique\/\">Comment cr\u00e9er une menu bar utile sur macOS avec SwiftUI<\/a><\/li>\n\n\n\n<li style=\"margin-top:0;margin-right:var(--wp--preset--spacing--60);margin-bottom:0;margin-left:var(--wp--preset--spacing--60)\"><a href=\"https:\/\/www.kangama.com\/floating-panel-macos-swiftui-nspanel\/\" data-type=\"post\" data-id=\"3247\">Floating Panel sur macOS avec SwiftUI : ouvrir une fen\u00eatre avanc\u00e9e depuis la menu bar<\/a><\/li>\n\n\n\n<li style=\"margin-top:0;margin-right:var(--wp--preset--spacing--60);margin-bottom:0;margin-left:var(--wp--preset--spacing--60)\"><a href=\"https:\/\/www.kangama.com\/devcachecleaner-workspace-macos\/\" data-type=\"post\" data-id=\"3247\">DevCacheCleaner 0.2.2-alpha : nettoyer aussi les dossiers g\u00e9n\u00e9r\u00e9s de vos projets<\/a><\/li>\n\n\n\n<li style=\"margin-top:0;margin-right:var(--wp--preset--spacing--60);margin-bottom:0;margin-left:var(--wp--preset--spacing--60)\"><a href=\"https:\/\/www.kangama.com\/smappservice-swiftui-app-macos-demarrage\/\" data-type=\"post\" data-id=\"3247\">SMAppService SwiftUI : lancer une application macOS au d\u00e9marrage<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<style>.kb-row-layout-id3105_1b2eee-5d > .kt-row-column-wrap{align-content:center;}:where(.kb-row-layout-id3105_1b2eee-5d > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:center;}.kb-row-layout-id3105_1b2eee-5d > .kt-row-column-wrap{column-gap:var(--global-kb-gap-lg, 4rem);row-gap:var(--global-kb-gap-lg, 4rem);max-width:800px;margin-left:auto;margin-right:auto;padding-top:var(--global-kb-spacing-xxl, 5rem);padding-bottom:var(--global-kb-spacing-xxl, 5rem);grid-template-columns:minmax(0, 1fr);}.kb-row-layout-id3105_1b2eee-5d{background-color:var(--global-palette8, #F7FAFC);background-image:url('https:\/\/www.kangama.com\/wp-content\/uploads\/2021\/12\/me-contacter-scaled.jpg');background-size:cover;background-position:center center;background-attachment:fixed;background-repeat:no-repeat;}.kb-row-layout-id3105_1b2eee-5d > .kt-row-layout-overlay{opacity:0.50;background-color:var(--ast-global-color-8);}.kb-row-layout-id3105_1b2eee-5d ,.kb-row-layout-id3105_1b2eee-5d h1,.kb-row-layout-id3105_1b2eee-5d h2,.kb-row-layout-id3105_1b2eee-5d h3,.kb-row-layout-id3105_1b2eee-5d h4,.kb-row-layout-id3105_1b2eee-5d h5,.kb-row-layout-id3105_1b2eee-5d h6{color:var(--global-palette3, #1A202C);}.kb-row-layout-id3105_1b2eee-5d a{color:var(--global-palette1, #3182CE);}.kb-row-layout-id3105_1b2eee-5d a:hover{color:var(--global-palette2, #2B6CB0);}@media all and (max-width: 1024px), only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (-webkit-min-device-pixel-ratio: 2) and (hover: none){.kb-row-layout-id3105_1b2eee-5d{background-attachment:scroll;}}@media all and (max-width: 1024px){.kb-row-layout-id3105_1b2eee-5d > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}@media all and (max-width: 767px){.kb-row-layout-id3105_1b2eee-5d > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id3105_1b2eee-5d alignnone has-theme-palette8-background-color kt-row-has-bg wp-block-kadence-rowlayout\"><div class=\"kt-row-layout-overlay kt-row-overlay-normal\"><\/div><div class=\"kt-row-column-wrap kt-has-1-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-middle\">\n<style>.kadence-column3105_32edce-54 > .kt-inside-inner-col{display:flex;}.kadence-column3105_32edce-54 > .kt-inside-inner-col,.kadence-column3105_32edce-54 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column3105_32edce-54 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column3105_32edce-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column3105_32edce-54 > .kt-inside-inner-col > .aligncenter{width:100%;}.kt-row-column-wrap > .kadence-column3105_32edce-54{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column3105_32edce-54{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column3105_32edce-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column3105_32edce-54 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column3105_32edce-54{text-align:center;}.kadence-column3105_32edce-54{position:relative;}@media all and (max-width: 1024px){.kt-row-column-wrap > .kadence-column3105_32edce-54{align-self:center;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column3105_32edce-54{align-self:auto;}}@media all and (max-width: 1024px){.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column3105_32edce-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 1024px){.kadence-column3105_32edce-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kt-row-column-wrap > .kadence-column3105_32edce-54{align-self:center;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column3105_32edce-54{align-self:auto;}.kt-inner-column-height-full:not(.kt-has-1-columns) > .wp-block-kadence-column.kadence-column3105_32edce-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}.kadence-column3105_32edce-54 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column3105_32edce-54\"><div class=\"kt-inside-inner-col\"><style>.wp-block-kadence-advancedheading.kt-adv-heading3105_dd6d7f-fb, .wp-block-kadence-advancedheading.kt-adv-heading3105_dd6d7f-fb[data-kb-block=\"kb-adv-heading3105_dd6d7f-fb\"]{margin-top:0px;margin-bottom:var(--global-kb-spacing-lg, 3rem);text-align:center;font-size:var(--global-kb-font-size-lg, 2rem);line-height:1.2em;font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading3105_dd6d7f-fb mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading3105_dd6d7f-fb[data-kb-block=\"kb-adv-heading3105_dd6d7f-fb\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading3105_dd6d7f-fb img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading3105_dd6d7f-fb[data-kb-block=\"kb-adv-heading3105_dd6d7f-fb\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading3105_dd6d7f-fb wp-block-kadence-advancedheading has-ast-global-color-5-color has-text-color\" data-kb-block=\"kb-adv-heading3105_dd6d7f-fb\"><strong>Besoin d\u2019un regard technique sur votre projet ?<\/strong><br>Je peux vous accompagner sur vos d\u00e9veloppements.<\/h2>\n\n\n<style>.wp-block-kadence-advancedbtn.kb-btns3105_f7094e-9e{gap:var(--global-kb-gap-xs, 0.5rem );justify-content:center;align-items:center;}.kt-btns3105_f7094e-9e .kt-button{font-weight:normal;font-style:normal;}.kt-btns3105_f7094e-9e .kt-btn-wrap-0{margin-right:5px;}.wp-block-kadence-advancedbtn.kt-btns3105_f7094e-9e .kt-btn-wrap-0 .kt-button{color:#555555;border-color:#555555;}.wp-block-kadence-advancedbtn.kt-btns3105_f7094e-9e .kt-btn-wrap-0 .kt-button:hover, .wp-block-kadence-advancedbtn.kt-btns3105_f7094e-9e .kt-btn-wrap-0 .kt-button:focus{color:#ffffff;border-color:#444444;}.wp-block-kadence-advancedbtn.kt-btns3105_f7094e-9e .kt-btn-wrap-0 .kt-button::before{display:none;}.wp-block-kadence-advancedbtn.kt-btns3105_f7094e-9e .kt-btn-wrap-0 .kt-button:hover, .wp-block-kadence-advancedbtn.kt-btns3105_f7094e-9e .kt-btn-wrap-0 .kt-button:focus{background:#444444;}<\/style>\n<div class=\"wp-block-kadence-advancedbtn kb-buttons-wrap kb-btns3105_f7094e-9e\"><style>ul.menu .wp-block-kadence-advancedbtn .kb-btn3105_ebed67-d6.kb-button{width:initial;}.wp-block-kadence-advancedbtn .kb-btn3105_ebed67-d6.kb-button{color:var(--ast-global-color-7);background:rgba(0,0,0,0);font-weight:bold;text-transform:uppercase;border-top:2px solid var(--ast-global-color-7);border-right:2px solid var(--ast-global-color-7);border-bottom:2px solid var(--ast-global-color-7);border-left:2px solid var(--ast-global-color-7);}.wp-block-kadence-advancedbtn .kb-btn3105_ebed67-d6.kb-button:hover, .wp-block-kadence-advancedbtn .kb-btn3105_ebed67-d6.kb-button:focus{color:var(--ast-global-color-5);background:var(--ast-global-color-7);}@media all and (max-width: 1024px){.wp-block-kadence-advancedbtn .kb-btn3105_ebed67-d6.kb-button{border-top:2px solid var(--ast-global-color-7);border-right:2px solid var(--ast-global-color-7);border-bottom:2px solid var(--ast-global-color-7);border-left:2px solid var(--ast-global-color-7);}}@media all and (max-width: 767px){.wp-block-kadence-advancedbtn .kb-btn3105_ebed67-d6.kb-button{border-top:2px solid var(--ast-global-color-7);border-right:2px solid var(--ast-global-color-7);border-bottom:2px solid var(--ast-global-color-7);border-left:2px solid var(--ast-global-color-7);}}<\/style><a class=\"kb-button kt-button button kb-btn3105_ebed67-d6 kt-btn-size-standard kt-btn-width-type-auto kb-btn-global-inherit  kt-btn-has-text-true kt-btn-has-svg-false  wp-block-button__link wp-block-kadence-singlebtn\" href=\"https:\/\/www.kangama.com\/contact\/\"><span class=\"kt-btn-inner-text\">Planifier un \u00e9change<\/span><\/a><\/div>\n<\/div><\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Outil macOS pour nettoyer les caches d\u00e9veloppeur et lib\u00e9rer de l\u2019espace disque facilement et rapidement.<\/p>","protected":false},"author":1,"featured_media":3107,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[16],"tags":[20],"class_list":["post-3105","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developpement-logiciel-technique","tag-desktop"],"_links":{"self":[{"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/posts\/3105","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/comments?post=3105"}],"version-history":[{"count":45,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/posts\/3105\/revisions"}],"predecessor-version":[{"id":3546,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/posts\/3105\/revisions\/3546"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/media\/3107"}],"wp:attachment":[{"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/media?parent=3105"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/categories?post=3105"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kangama.com\/en\/wp-json\/wp\/v2\/tags?post=3105"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}