Cet utilitaire dans le terminal exporte toutes les conversations de l’app Messages

Nicolas Furno |

imessage-exporter est un utilitaire en ligne de commandes qui est capable, comme son nom le suggère, d’exporter toutes les conversations de l’app Messages. Les messages reçus et envoyés par le biais de l’app d’Apple sont stockés en local dans une base de données, que cet utilitaire peut lire pour générer des fichiers HTML ou TXT contenant tous les messages. Il peut même exporter les pièces-jointes et reconstituer ainsi des conversations visuellement similaires à celle de l’app.

Une conversation dans l’app Messages à gauche et la version exportée par cet utilitaire affiché dans Safari à droite.

Un tel programme peut servir à réaliser des sauvegardes supplémentaires des conversations de l’app Messages, ou alors offrir une méthode supplémentaire pour trouver des messages. En effet, une fois sur le volume de stockage, que ce soit en HTML ou en TXT, les exports seront indexés par Spotlight et vous pourrez utiliser cette méthode pour retrouver des éléments. L’export des pièces-jointes peut aussi servir à récupérer rapidement toutes les images d’une conversation, sans passer par les boutons placés par Apple dans son app et qui nécessitent de multiples opérations.

Cet outil écrit en Rust n’a aucune interface et il nécessite de passer par le terminal pour l’utiliser. Son concepteur propose des binaires prêts à emploi sur cette page, choisissez alors la bonne version en fonction de votre Mac : « aarch64 » pour les Mac Apple Silicon, ou bien « x86_64 » pour les modèles avec processeur Intel. La meilleure option reste toutefois d’installer Rust sur le Mac (brew install rust), puis de télécharger le binaire adapté à ses besoins avec la commande ‌cargo install imessage-exporter. Par défaut, le programme sera installé dans le dossier ~/.cargo/bin/.

L’utilisation de cet outil est alors très simple : ‌imessage-exporter -f html exporte toutes les conversations au format html ainsi que toutes les pièces-jointes dans le dossier par défaut (~/imessage_export/). Chaque conversation a alors son propre fichier html et les pièces-jointes sont toutes regroupées dans un seul dossier, avec un index pour chaque conversation à nouveau. Attention, cet export peut prendre du temps et occuper de la place : environ une minute dans mon cas, pour 72677 messages répartis dans 566 discussions différentes et 6,7 Go de pièces-jointes.

Utilisation de l’outil dans le terminal.

Remplacez html par txt dans la ligne de commande pour obtenir un export dans ce format qui abandonne toute mise en forme des discussions, mais conserve le texte et les métadonnées (dates, réactions…). Ce format est nettement plus rapide, il a fallu moins de 10 secondes pour moi, et léger, puisqu’il n’intègre pas les pièces-jointes. Quelques autres options sont proposées, notamment pour sélectionner une période lors de l’export et vous pouvez les consulter toutes à cette adresse.

imessage-exporter est un utilitaire non seulement gratuit, mais aussi open-source. Tout le code source est distribué sur GitHub et vous pouvez contribuer au projet si vous le souhaitez.

Accédez aux commentaires de l'article