Les pièces jointes iMessage remplissent discrètement votre Mac
Chaque photo et vidéo reçue dans Messages est mise en cache sur votre Mac. Voici où se trouvent ces pièces jointes et comment les vider.
D’autres guides de ce type sont pour l’instant disponibles uniquement en anglais. Voir tous les articles
Si Messages est synchronisé via iCloud entre votre iPhone et votre Mac — le réglage par défaut, et la façon dont la plupart des gens l’utilisent — chaque photo, vidéo, mémo vocal et fichier que quelqu’un vous a jamais envoyé dans une conversation est aussi mis en cache localement sur ce Mac, pas seulement sur votre téléphone.
du -sh ~/Library/Messages/Attachments
Les conversations de groupe où beaucoup de photos et vidéos circulent sont généralement la cause principale ici — une seule conversation de groupe active sur un an ou deux peut facilement peser plusieurs gigaoctets à elle seule, et la plupart des gens en ont plus d’une.
Où vivent réellement les données
Messages sépare son stockage entre une base de données (le texte et les métadonnées) et un dossier de pièces jointes distinct (les médias eux-mêmes), une structure similaire à celle de Mail :
du -sh ~/Library/Messages/chat.db # message text, small relative to attachments
du -sh ~/Library/Messages/Attachments # every photo, video, voice memo — this is the big one
Attachments est organisé selon une structure de dossiers imbriqués basée sur un hachage plutôt que
par conversation, ce qui explique pourquoi vous ne pouvez pas simplement naviguer jusqu’au « dossier
de cette conversation de groupe » — l’interface de l’application elle-même est le moyen pratique
d’identifier et de supprimer par conversation, ce qui est couvert plus bas.
La solution simple et sûre : laisser Messages gérer ça automatiquement
Réglages Système → Messages → iMessage → Historique des messages, ou dans les réglages propres à l’application Messages, propose des options pour supprimer automatiquement les messages et pièces jointes après 30 jours ou un an au lieu de tout garder pour toujours. C’est le changement le plus rentable pour la plupart des gens — activer la conservation sur 1 an au lieu de « Toujours » limite la croissance continue sans que vous ayez rien d’autre à faire.
Ce réglage n’agit que pour l’avenir — il ne nettoie pas rétroactivement des années de pièces jointes déjà accumulées, ce que les étapes ci-dessous permettent de faire.
Nettoyer ce qui s’est déjà accumulé
Par conversation, depuis l’application (le plus sûr, le plus chirurgical) : ouvrez une conversation, utilisez le panneau de détails de la conversation pour voir et supprimer des pièces jointes ou photos volumineuses individuellement, en particulier dans les conversations de groupe où vous ne participez plus activement mais que vous n’avez jamais quittées.
À l’échelle du système, via les réglages de Stockage : Réglages Système → Général → Stockage, puis la catégorie Messages, qui affiche la taille totale et propose une vue « Vérifier les pièces jointes volumineuses » ou similaire, triée par taille — le moyen le plus rapide de trouver les plus gros responsables sans ouvrir manuellement chaque conversation.
Suppression directe depuis le dossier Attachments (dernier recours, plus perturbateur) : sûr dans le sens où Messages régénère ses références internes, mais ça peut laisser des images de remplacement qui semblent cassées dans d’anciennes conversations plutôt que de supprimer proprement aussi la référence au message. Les méthodes de suppression dans l’application ci-dessus sont plus propres et recommandées par rapport à celle-ci pour la plupart des gens ; cette option existe surtout pour scripter un nettoyage en masse des pièces jointes antérieures à une certaine date :
find ~/Library/Messages/Attachments -type f -mtime +365 -exec du -ch {} + | tail -1
# Review the total first; only proceed to an actual delete via the app's own
# retention settings above rather than deleting these files directly, to
# avoid the broken-placeholder issue.
Les mémos vocaux en particulier
Les messages vocaux envoyés via Messages ont une expiration par défaut (2 minutes après avoir été écoutés, sauf si vous appuyez sur « Garder ») sur iOS, mais ce comportement d’expiration ne s’applique pas toujours proprement à la façon dont ils sont mis en cache sur Mac, et certains s’accumulent malgré tout. Ça vaut une vérification spécifique si vous êtes un gros utilisateur de mémos vocaux :
find ~/Library/Messages/Attachments -iname "*.caf" -exec du -sh {} \; 2>/dev/null | sort -hr | head -10
Ce qu’il n’est pas prudent de toucher
chat.db est votre historique de messages réel — le contenu textuel, les horodatages, les accusés
de lecture. Contrairement aux pièces jointes, qui sont de gros fichiers médias avec un coût de
stockage évident, la base de données elle-même est petite et ne vaut pas la peine d’être ciblée pour
gagner de l’espace ; la supprimer ou la corrompre fait perdre votre historique de conversation
purement et simplement, sans récupération côté serveur pour les configurations uniquement locales.
Tout cet article se limite délibérément à Attachments, pas à la base de données.
Le schéma général, encore une fois
Messages rejoint Mail et Photos comme troisième grande catégorie d’application Apple qui accumule silencieusement de vraies données synchronisées plutôt que du cache jetable — une distinction utile à connaître par rapport aux caches de compilation des développeurs couverts dans le reste de ce blog, puisque la bonne réponse est différente pour chacun : les caches de développeur, vous les supprimez librement ; ces trois-là, vous les gérez via les réglages de conservation et une revue sélective.
DevCruft, une application Mac gratuite pour développeurs, est en cours de création. Elle doit afficher les pièces jointes de Messages mesurées sur la carte aux côtés de tout le reste, pour que vous sachiez si ça vaut un détour par les Réglages avant même d’aller vérifier. Inscrivez-vous sur la liste d’attente pour être prévenu de sa sortie.
Pour la même situation dans Mail, voir le guide de stockage de Mail.app.