Perte de votre iPhone ? Crash des données ? Vous pouvez retrouver certaines données dans les sauvegardes effectuées avec iTunes, dont les SMS en particulier.

Attention : Avant tout, si vous avez coché « Chiffrer la sauvegarde locale », ce n’est pas la peine d’aller plus loin. Vos données ne sont lisibles que par iTunes. Vous pouvez vérifier avec iTunes (si votre appareil est connecté) :

iTunes-chiffre

1 –  Identifiez l’heure de votre dernière sauvegarde

iTunes peut vous fournir cette information (section « Résumé »):

iTunes-lastsave

Si votre appareil n’est pas connecté, allez dans les « Préférences » de iTunes, sélectionnez « Appareils ». Notez l’heure exacte de la dernière sauvegarde et conservez -là.

2 – Télécharger « sqlitebrowser »

Cette application vous permettra de visualiser les données stockées dans la base des SMS.Vous pouvez la télécharger à cette adresse: http://sqlitebrowser.org/

3 – Lancer « sqlitebrowser »

4 – Sélectionnez « Ouvrir une base de données »

Déplacez vous dans le dossier :

/Utilisateurs/<votre nom>/Bibliothèque/Application Support/MobileSync/Backup/

* Utilisateurs peut se présenter sous la forme « Users »
* Bibliothèque peut se présenter sous le libellé « Library »

5 – Sélectionnez votre dernière sauvegarde

Mettez le dialogue de sélection de fichier en mode « Liste ». Allez dans le dossier dont la dernière heure de modification correspond à l’heure notée en (1).

6 – Sélectionnez le fichier des SMS

Le fichier est « 3d0d7e5fb2ce288813306e4d4636395e047a3d28 » (ça ne s’invente pas).

7 – Sélectionnez « Exécutez le SQL »

La commande à saisir est (copiez/collez):

SELECT h.id, m.is_from_me , strftime("%d-%m-%Y %H:%M:%S", m.date/1000000000+978307200, 'unixepoch','localtime') as time , m.text from message as m, handle as h  where h.rowid=m.handle_id order by m.date desc;

Ou bien (sur des systèmes plus anciens)

SELECT h.id, m.is_from_me , strftime("%d-%m-%Y %H:%M:%S", m.date+978307200, 'unixepoch','localtime') as time , m.text from message as m, handle as h  where h.rowid=m.handle_id order by m.date desc;

Cliquez sur le triangle bleu (le « exécuter »). Vous devez obtenir une liste de vos messages triés par date.

Vous pouvez naviguer dans vos messages.

8 – (Optionnel) Sauvegardez ces messages

Vous voulez exporter ces messages ? Cliquez sur l’icône d’export de données puis dans « Exporter au format CSV« . Vous obtiendrez un fichier que vous pourrez relire avec un tableur (Excel) ou un éditeur de texte.
db_export
Catégories : Astuces Mac

6 commentaires

Etienne · 3 juillet 2016 à 9 h 33 min

Bonjour,
Merci pour cette description, cela fonctionne très bien.
Est-il possible de faire une requête Sql pour afficher les messages effacés mais qui sont toujours dans la base de données ?
Etienne

    Alix DENIZE · 4 mars 2017 à 21 h 48 min

    Up

Philippine · 31 août 2017 à 19 h 03 min

Parfait !
Merci pour l’astuce, claire et efficace 🙂
En bidouillant un peu la fin de la commande j’ai même pu organiser les messages par id plutôt que par date pour sélectionner plus rapidement les messages des expéditeurs qui m’intéressaient.

Pour ceux qui le souhaitent :
SELECT h.id, m.is_from_me , strftime(« %d-%m-%Y %H:%M:%S », m.date+978307200, ‘unixepoch’) as time , m.text from message as m, handle as h where h.rowid=m.handle_id order by h.id;

Merci encore !

Nicolas · 15 novembre 2017 à 16 h 31 min

Salut, Merci pour cet article qui m’aiguille.
Cependant le formatage de la date en fonctionne pas correctement avec les infos récupérées de mon backup…une idée ?

    Sébastien Marinier · 14 janvier 2018 à 20 h 23 min

    Bonjour,
    Effectivement, le format des dates semble avoir changé depuis mon article. J’ai modifié la commande (il faut diviser par 1 milliard le nombre de secondes…)

bill · 4 janvier 2018 à 18 h 26 min

pour moi ca fonctionne pas

avez vous une autre requete

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *