Message Album
← Tous les guides

Comment exporter une conversation iMessage entière sur un Mac

Pourquoi l’app Messages n’a pas de commande d’export, les méthodes gratuites qui fonctionnent quand même, comment récupérer l’historique jamais synchronisé, et comment obtenir un album encore lisible dans des années.

· 5 min read

L’app Messages sur macOS n’a pas de commande Exporter. Elle n’en a jamais eu. Cherchez cette question et les premiers résultats sont un fil du support Apple et un billet Reddit, ce qui en dit long sur l’efficacité des options intégrées.

Voici ce qui fonctionne réellement.

Où se trouve la conversation

Sur un Mac, Messages garde tout dans une base SQLite à ~/Library/Messages/chat.db, avec les pièces jointes dans ~/Library/Messages/Attachments/. macOS protège les deux : aucune app ne peut les lire sans accès complet au disque dans les Réglages Système, et le dossier est masqué dans le Finder par défaut.

Deux conséquences en découlent, et elles expliquent l’essentiel de la confusion sur le sujet :

  1. Tout outil qui exporte vos messages a besoin de l’accès complet au disque. Ce n’est pas un signal d’alarme en soi, c’est le seul chemin que macOS autorise. Ce qui compte, c’est ce que l’outil fait après avoir lu le fichier.
  2. La base est un détail d’implémentation privé d’Apple. Sa structure change d’une version de macOS à l’autre sans préavis. C’est pourquoi les outils d’export doivent être mis à jour, et pourquoi un album exporté ne devrait jamais être au format d’Apple.

Méthode 1 : imprimer en PDF (gratuit, intégré, limité)

  1. Ouvrez Messages, sélectionnez la conversation.
  2. Remontez tout en haut du fil en maintenant Commande + Flèche haut, jusqu’à ce que plus aucun message ancien ne se charge.
  3. Fichier › Imprimer, puis PDF › Enregistrer au format PDF.

Cela fonctionne, et pour une conversation courte c’est la bonne réponse. Deux limites réelles : il faut charger tout le fil en faisant défiler, ce qui est pénible sur des années d’historique, et un PDF ne peut contenir ni vidéo ni audio lisibles.

Méthode 2 : interroger la base vous-même (gratuit, technique)

Comme chat.db est un fichier SQLite standard, vous pouvez l’interroger directement. Accordez d’abord l’accès complet au disque à votre terminal, puis :

sqlite3 ~/Library/Messages/chat.db

Attention à trois pièges qui guettent ceux qui le font à la main :

  • Les horodatages ne sont pas du temps Unix. Messages stocke des nanosecondes depuis le 01/01/2001 : il vous faut donc datetime(message.date/1000000000 + 978307200, 'unixepoch').
  • text est souvent NULL. Les messages récents rangent leur contenu dans attributedBody, un typedstream Apple sérialisé, et non dans la colonne simple text. Le décoder correctement est la partie difficile de tout le problème, et traiter naïvement le binaire comme de l’UTF-16 produit un charabia qui a presque l’air juste.
  • Ouvrez en lecture seule. Utilisez file:...?mode=ro pour qu’une requête maladroite ne puisse jamais écrire dans votre base Messages en service.

Si vous voulez cette voie faite proprement plutôt qu’à la main, imessage-exporter est gratuit, open source et décode correctement le typedstream.

Méthode 3 : exporter vers un album (ce que la plupart veulent vraiment)

Le résultat recherché par la plupart des gens, c’est un dossier à conserver : la conversation entière, lisible sans logiciel particulier, avec les photos et vidéos intactes.

Cela suppose un export qui produise :

  • Chaque message des deux côtés, dans l’ordre, avec horodatage.
  • Chaque pièce jointe copiée en qualité d’origine, pas redimensionnée dans un document.
  • Un format qui ne dépend pas de l’outil qui l’a produit. HTML, JSON et Markdown simples remplissent ce critère. Une base propriétaire non.

Dans cette catégorie : imessage-exporter, iMazing, Decipher TextMessage, et Message Album, à l’origine de ce site. L’accent particulier de Message Album porte sur ce dernier point : l’export est un site hors ligne autonome, sans framework, CDN, police externe ni serveur, accompagné d’un manifeste de sommes SHA-256 — au motif que ce que vous conservez ne devrait pas cesser de fonctionner parce qu’une dépendance a disparu.

Récupérer l’historique jamais synchronisé vers votre Mac

C’est l’étape que la plupart des guides sautent, et c’est souvent la raison pour laquelle un export ressort incomplet.

Votre Mac n’a que les messages qui s’y sont synchronisés. Si la conversation a commencé avant que vous ayez ce Mac, ou si « Messages sur iCloud » a déchargé d’anciennes pièces jointes, exporter depuis la bibliothèque du Mac laissera silencieusement des choses de côté.

La solution est d’exporter depuis une sauvegarde d’iPhone :

  1. Branchez l’iPhone ou l’iPad et ouvrez le Finder.
  2. Sélectionnez l’appareil dans la barre latérale.
  3. Choisissez Sauvegarder maintenant. Les sauvegardes chiffrées comme non chiffrées contiennent Messages. Cochez Chiffrer la sauvegarde locale si vous voulez aussi Santé et les autres données protégées.
  4. Pointez votre outil d’export vers cette sauvegarde plutôt que vers la bibliothèque du Mac.

La sauvegarde contient ce qui se trouve sur le téléphone, c’est-à-dire généralement plus que ce qui a atteint le Mac.

Comment savoir si un export est complet

Posez une seule question à l’outil que vous utilisez : que fait-il quand quelque chose manque ?

Les pièces jointes jamais téléchargées localement, et les contenus privés d’Apple impossibles à décoder, sont deux situations normales. Un outil qui les signale comme avertissements explicites vous laisse savoir ce que vous avez. Un outil qui les abandonne en silence vous laisse un album qui a l’air complet et ne l’est pas, et vous ne le découvrirez que le jour où vous chercherez une photo précise.

Vérifiez aussi les décomptes. Si un outil indique combien de messages il a lus à la source et combien il en a écrits en sortie, ces deux nombres doivent coïncider, ou l’écart doit être expliqué.

Que faire de l’album ensuite

Un album qui n’existe qu’à un seul endroit n’est pas sauvegardé, il est en attente. Copiez-le ailleurs : un disque externe, une autre machine, ou le stockage en ligne de votre choix. Comme un bon export est un dossier ordinaire de fichiers ordinaires, il s’agit simplement de copier un dossier.

Si votre export contient des sommes de contrôle, gardez le manifeste avec lui. C’est la seule chose qui vous permettra de confirmer, dans cinq ans, que la copie que vous consultez est intacte.