Les fichiers laissés derrière quand vous supprimez une application Mac
Désinstaller une application Mac laisse caches, conteneurs et préférences sur le disque. Voici où les trouver et comment les supprimer.
D’autres guides de ce type sont pour l’instant disponibles uniquement en anglais. Voir tous les articles
Windows a un registre et une convention de désinstallation qui, imparfaitement, essaie de nettoyer
derrière elle. macOS n’a ni l’un ni l’autre. Quand vous glissez une application vers la Corbeille,
vous supprimez exactement une chose : le paquet .app. Tout le reste de ce qu’elle a jamais écrit
sur votre disque — et une application classique écrit à cinq ou six endroits différents — reste
exactement là où c’était, en permanence, à moins que vous n’alliez le chercher vous-même.
Où une application écrit réellement, au-delà de son propre paquet
Une seule application peut laisser des fichiers dans tous ces emplacements, dont aucun n’est touché quand vous supprimez l’application elle-même :
~/Library/Application Support/<AppName> # settings, local databases, sometimes huge caches
~/Library/Caches/<bundle.id> # rebuildable cache — see the dedicated guide below
~/Library/Containers/<bundle.id> # sandboxed apps get a full private filesystem here
~/Library/Preferences/<bundle.id>.plist # settings, tiny, but adds up across hundreds of apps
~/Library/Saved Application State/<bundle.id>.savedState # window/tab restore state
~/Library/Logs/<AppName> # diagnostic logs, sometimes gigabytes for chatty apps
Rien de tout ça n’est un bug ni un mauvais comportement d’une application — c’est l’emplacement documenté et correct pour qu’une application y place ces données. Le problème se situe entièrement du côté de la suppression : rien dans macOS n’est responsable de nettoyer ça quand l’application elle-même disparaît.
Retrouver ce qui appartient à une application déjà supprimée
Si vous avez déjà glissé l’application vers la Corbeille et que vous vous demandez seulement maintenant ce qu’elle a laissé derrière, son identifiant de paquet est la clé — tout ce qui précède est classé sous cet identifiant, mais vous n’avez plus l’application pour vous dire quel il était.
# Search Spotlight's metadata for a plausible bundle identifier match
mdfind "kMDItemCFBundleIdentifier == '*appname*'"
# Or just search by the app's name directly across the usual leftover locations
find ~/Library/Application\ Support ~/Library/Caches ~/Library/Containers \
~/Library/Preferences ~/Library/Saved\ Application\ State ~/Library/Logs \
-iname "*appname*" -maxdepth 1 2>/dev/null
Les identifiants de paquet sont en DNS inversé (com.company.AppName), donc chercher le nom de
l’entreprise ou du produit fait généralement remonter tous les dossiers concernés, même quand
l’identifiant exact n’est pas évident.
Quels restes valent vraiment la peine d’être supprimés
Tous les restes ne valent pas la peine d’être traqués individuellement — un fichier de préférences
.plist fait quelques kilo-octets, et le rechercher pour chaque application que vous avez jamais
supprimée n’est pas un bon usage d’un après-midi. Ceux qui méritent qu’on s’y attarde sont les gros :
~/Library/Containers/<bundle.id>— pour les applications sandboxées (la plupart des applications modernes de l’App Store, et beaucoup d’autres), c’est en pratique un système de fichiers privé dont l’application avait l’entière disposition. Les éditeurs vidéo, les outils de design, et tout ce qui traite de gros fichiers multimédias laissent régulièrement derrière eux des conteneurs de plusieurs gigaoctets.~/Library/Application Support/<AppName>— c’est là que réside la base de données locale réelle d’une application, si elle en a une. Les applications de chat, les applications de prise de notes, et tout ce qui a un cache hors ligne y mettent couramment plusieurs gigaoctets.~/Library/Logs/<AppName>— généralement petit, mais un petit nombre d’applications (les outils de visioconférence sont des habitués) journalisent assez abondamment pour atteindre un gigaoctet ou plus au fil du temps.
~/Library/Caches/<bundle.id> pour une application supprimée est sans ambiguïté sûr à supprimer —
c’est le cache d’une application qui n’existe plus pour l’utiliser, donc il n’y a absolument aucun
coût de reconstruction à craindre, contrairement à vider le cache d’une application que vous
utilisez encore.
# Once you've confirmed the app is really gone and identified its folders:
rm -rf ~/Library/Application\ Support/AppName
rm -rf ~/Library/Containers/com.company.AppName
rm -rf ~/Library/Caches/com.company.AppName
La seule chose à vérifier avant de supprimer un Container
Le Container d’une application sandboxée peut, dans de rares cas, contenir la seule copie de quelque chose que vous avez créé dans cette application et jamais exporté — certaines applications de prise de notes et de dessin stockent votre contenu réel de cette manière plutôt que dans un dossier Documents classique. Avant de supprimer un Container pour une application dont vous n’êtes pas sûr, rouvrez l’application une dernière fois (si vous le pouvez encore) et vérifiez s’il y a quelque chose à l’intérieur que vous voudriez exporter d’abord. Une fois que vous êtes sûr, la suppression est immédiate et irréversible dans le sens où il n’y a rien à régénérer — comme pour n’importe quelle suppression de fichier, simplement sans application pour vous prévenir.
Pourquoi c’est pire que ça n’en a l’air, à grande échelle
Personne ne désinstalle une application en s’inquiétant de 200 Mo de restes. Le coût réel est cumulatif : un Mac sur lequel une centaine d’applications ont été installées puis supprimées au fil de plusieurs années — versions d’essai, utilitaires ponctuels, applications essayées puis abandonnées — peut facilement porter 10 à 20 Go de données orphelines provenant de logiciels qui ne sont même plus sur la machine, invisibles puisqu’il n’y a plus d’icône dans le Finder pour vous rappeler qu’ils ont existé.
Les commandes ci-dessus sont gratuites et elles fonctionnent, juste plus lentes pour une centaine d’applications que pour une seule. DevCruft, une application Mac gratuite pour développeurs en cours de création, est conçue pour mener cette chasse automatiquement : trouver chaque reste d’une application qui n’est plus installée et récupérer le tout en une seule passe. Pour savoir quand elle sortira, rejoignez la liste d’attente.
Pour les dossiers de cache que laissent derrière elles les applications que vous utilisez encore,
voir le guide de ~/Library/Caches.