Introduction
Avec le temps, tout développeur finit par rencontrer le même problème sur macOS : un disque qui se remplit sans que l’on comprenne réellement pourquoi. Ce phénomène n’est pas immédiat, mais progressif. Projet après projet, outil après outil, l’espace disponible diminue jusqu’à devenir critique.
Dans mon cas, entre les projets iOS, Android et web, je me suis retrouvé à plusieurs reprises avec un disque presque saturé, sans avoir une vision claire de ce qui occupait réellement de la place. C’est souvent à ce moment-là que l’on cherche des solutions rapides, comme des scripts de nettoyage, sans forcément maîtriser ce que l’on supprime.
C’est précisément cette situation qui m’a poussé à développer une application macOS simple, avec un objectif clair : apporter de la visibilité et permettre un nettoyage efficace des caches de développement.
Pourquoi les caches deviennent rapidement problématiques
Les outils modernes de développement génèrent en permanence des fichiers temporaires pour optimiser les performances. Des environnements comme Xcode ou Android Studio, ainsi que des gestionnaires de dépendances comme npm ou CocoaPods, créent et stockent des caches qui facilitent les builds et les installations.
Sur le moment, ces fichiers sont utiles, voire indispensables. Mais avec le temps, ils s’accumulent et peuvent représenter plusieurs dizaines de gigaoctets. Le problème, ce n’est pas uniquement leur volume, mais surtout le manque de visibilité sur leur répartition.
On se retrouve alors dans une situation assez classique : le disque est presque plein, mais il est difficile d’identifier précisément quels outils sont responsables et quelles actions peuvent être réalisées sans risque.
Les limites des solutions existantes
La première réponse à ce problème consiste souvent à utiliser un script de nettoyage. Ces scripts permettent de supprimer différents caches en une seule commande, ce qui peut être pratique dans certains cas.
Cependant, ils présentent une limite importante : ils agissent sans fournir de vision globale. On exécute une commande, on libère de l’espace, mais on ne sait pas réellement ce qui a été supprimé ni ce qui occupait le plus de place au départ.
Dans un contexte professionnel, cette approche peut rapidement montrer ses limites. Avant de supprimer, il est souvent nécessaire de comprendre. C’est cette réflexion qui m’a amené à envisager une solution différente, plus visuelle et plus contrôlée.
D’un besoin personnel à une application macOS
Le point de départ de ce projet est simple. Après avoir découvert un script (Dev Cleaner) de nettoyage et l’avoir partagé, je me suis rendu compte qu’il me manquait une information essentielle : une vue claire de l’occupation du disque.
Plutôt que d’exécuter une action “à l’aveugle”, je voulais pouvoir identifier rapidement ce qui prenait réellement de la place, puis décider quoi supprimer.
C’est ainsi que j’ai commencé à développer une petite application macOS, sans ambition initiale particulière, mais avec une idée précise en tête : créer un outil simple, rapide et utile au quotidien.

Une application pensée pour aller à l’essentiel
L’application repose sur une logique volontairement minimaliste. Elle permet d’afficher la capacité totale du disque ainsi que l’espace restant, tout en mettant en évidence les principaux outils qui occupent de la place.
L’utilisateur peut ainsi identifier rapidement les caches liés à des environnements comme Xcode, Gradle ou npm, et décider de les nettoyer en un clic.
L’objectif n’était pas de proposer une solution exhaustive ou complexe, mais plutôt de créer un outil pratique, capable de répondre à un besoin concret en quelques secondes.
Ce type d’approche permet de réduire la friction et de favoriser une utilisation régulière, ce qui est essentiel pour ce genre d’outil.
Quelques choix techniques clés
Sans entrer dans un niveau de détail trop approfondi, ce projet m’a permis d’explorer plusieurs aspects intéressants du développement macOS.
Une intégration via la barre de menu

L’application utilise le composant MenuBarExtra, qui permet de l’intégrer directement dans la barre de menu macOS. Ce choix permet d’avoir un accès rapide et permanent à l’outil, sans avoir à ouvrir une application classique.
Cela correspond parfaitement à l’usage attendu : consulter rapidement l’état du disque et agir si nécessaire.
La gestion des accès avec les bookmarks
Pour analyser et nettoyer les caches, il est nécessaire d’accéder à certains dossiers du système. macOS impose des règles strictes en matière de sécurité, ce qui nécessite de gérer correctement les autorisations.

Le mécanisme de bookmarks permet de conserver un accès sécurisé et persistant à ces dossiers. C’est un point technique important pour garantir le bon fonctionnement de l’application dans le temps.
Une logique simple mais maîtrisée
Le fonctionnement global repose sur trois étapes : identifier les dossiers de cache, calculer leur taille et proposer une action de nettoyage.
Si le principe est simple, la mise en œuvre nécessite de bien comprendre les impacts de chaque suppression, afin d’éviter tout comportement inattendu.
Un projet open source
Initialement développé pour un usage personnel, cet outil est désormais disponible en open source.
L’objectif est maintenant de faire évoluer l’outil progressivement, en s’appuyant sur les retours d’usage et les besoins réels des développeurs.
Vous pouvez consulter le dépôt ici :
La version alpha est également accessible ici :
First public alpha release of DevCacheCleaner, a macOS menu bar app designed to help developers quickly inspect and clean cache-heavy folders in
their Home directory.
T…
Ce que ce projet m’a appris
Ce type de projet confirme une chose importante : les meilleures idées viennent souvent de problèmes concrets rencontrés au quotidien.
Plutôt que de chercher à innover à tout prix, il est souvent plus pertinent de se concentrer sur des besoins simples, mais réels, et d’y apporter une réponse efficace.
Sur le plan technique, ce projet a également été l’occasion d’explorer plus en profondeur l’écosystème macOS, notamment autour des applications en barre de menu et de la gestion des accès fichiers. Ce sont des sujets que l’on rencontre moins fréquemment dans le développement mobile classique, mais qui apportent une vraie montée en compétences.
Conclusion
Développer cette application macOS m’a surtout permis de revenir à quelque chose d’essentiel dans notre métier : résoudre un problème concret avec une solution simple et maîtrisée.
Au-delà de l’outil lui-même, ce projet met en lumière plusieurs aspects intéressants côté développement. Travailler avec MenuBarExtra, gérer les accès système avec les bookmarks, structurer une logique de nettoyage fiable… autant de sujets qui peuvent sembler secondaires, mais qui sont en réalité très formateurs lorsqu’on construit un outil utilisé au quotidien.
C’est aussi le genre de projet qui rappelle qu’on n’a pas toujours besoin d’une architecture complexe ou d’un produit ambitieux pour apprendre ou progresser. Un besoin personnel bien identifié suffit souvent à explorer de nouvelles approches, tester des idées et améliorer sa pratique.
Si le sujet vous parle, je partagerai plus en détail certains aspects techniques dans de prochains articles, notamment autour du développement d’applications macOS et de la gestion des accès au système de fichiers.
Article similaire
- Comment créer une menu bar utile sur macOS avec SwiftUI
- Floating Panel sur macOS avec SwiftUI : ouvrir une fenêtre avancée depuis la menu bar


