Takeout JSON

Comment retrouver la vraie date des photos Google Takeout ?

Les vraies dates sont dans les fichiers .json à côté de vos photos. Voici comment les réécrire dans les images, sans passer par la ligne de commande.

La bonne date est déjà dans votre export. Elle se trouve dans le fichier .json posé à côté de chaque photo, dans un champ nommé photoTakenTime. Votre problème, c'est qu'aucune visionneuse ne lit ces fichiers. Elles lisent l'EXIF, le bloc d'informations stocké dans l'image elle-même, et Google a laissé cette partie vide.

La correction est donc un travail de copie : lire la date dans chaque .json, l'écrire dans la photo correspondante, et régler les dates du fichier pour qu'elles correspondent. Pour une photo, cela prend une minute. Pour quarante mille, il faut un logiciel.

Ce que contient le fichier JSON

Ouvrez n'importe quel fichier .json de l'export avec le Bloc-notes ou TextEdit. Vous y trouverez plusieurs dates. photoTakenTime est la date de prise de vue telle que Google Photos l'affichait, y compris les corrections que vous avez faites à la main dans l'application. creationTime est la date d'envoi vers Google, souvent bien plus tardive. C'est photoTakenTime qu'il faut copier.

La valeur est un timestamp, un nombre de secondes depuis le 1er janvier 1970, en UTC. Un outil doit la convertir en date et heure lisibles avant de l'écrire dans la photo. Le fichier complet est décrit dans les fichiers JSON de Google Takeout.

Pourquoi ce n'est pas qu'une simple copie

Sur le papier, il suffit d'apparier IMG_2034.JPG avec IMG_2034.JPG.json. En pratique, les noms de fichiers rendent la chose pénible.

Google utilise deux styles de nommage selon l'année de l'export : IMG_2034.JPG.json pour les anciens, IMG_2034.JPG.supplemental-metadata.json depuis 2024. Il coupe les noms trop longs à 46 caractères, si bien qu'une photo de Pixel se retrouve avec un compagnon nommé PXL_20230721_092530123.jpg.supplemental-m.json. Et sur les doublons, le compteur (1) n'est pas au même endroit dans le nom de la photo et dans celui du JSON.

Un motif de nom de fichier qui rate ces cas saute les fichiers sans rien dire. Vous obtenez une bibliothèque corrigée aux quatre cinquièmes, et vous découvrez le reste des mois plus tard. Les détails sont dans supplemental-metadata.json expliqué.

La méthode ligne de commande

Vous pouvez écrire une commande exiftool, et beaucoup de gens le font. Elle lit le JSON avec -tagsfromfile et copie PhotoTakenTimeTimestamp dans DateTimeOriginal. Il faut ensuite une deuxième passe pour l'ancien style de nom, une troisième pour les vidéos, qui stockent leur date ailleurs que dans l'EXIF, et un petit script pour les noms tronqués et les (1). Nous avons rassemblé tout cela dans le guide exiftool. Comptez une soirée pour une vraie bibliothèque.

La méthode sans ligne de commande

Takeout JSON Metadata Fixer fait tout cela pour vous, sur Windows, Mac et Linux, avec une interface en français. Choisissez votre dossier Takeout ou directement les archives zip, choisissez où doivent aller les photos corrigées, et lancez.

L'application associe chaque JSON à sa photo, quel que soit le style de nom, la troncature ou le compteur. Elle écrit la date, l'heure et le GPS dans le fichier, règle les dates de création et de modification du fichier, et vous indique à la fin quels fichiers n'avaient aucune donnée exploitable. Les photos sans JSON gardent leur date EXIF si elles en ont une. Rien n'est envoyé en ligne, aucun compte n'est nécessaire, et les 1000 premières photos ne coûtent rien.

Si vous ne voulez que les dates, sans renommage ni nouveaux dossiers, choisissez « Conserver les noms » et « Conserver mes dossiers ». Une simulation vous montre ce qui va changer avant que quoi que ce soit ne soit écrit.

Vérifier le résultat

Prenez dix photos de différentes années, dont une capture d'écran, une image reçue par WhatsApp et une photo dont vous savez que vous aviez corrigé la date dans Google Photos. Sous Windows, ajoutez la colonne « Date de la prise de vue » dans l'Explorateur (clic droit sur un en-tête de colonne). Sur Mac, faites « Lire les informations » dans le Finder. Si ces dix photos sont justes, le reste l'est presque certainement aussi.

Une fois les dates dans les fichiers, elles suivent les photos partout : Apple Photos, un NAS Synology, Immich, une clé USB ou un nouveau téléphone. Vous pouvez alors supprimer les fichiers .json.

Questions fréquentes

L'heure sera-t-elle juste ?

Le JSON stocke un instant en UTC. L'application le convertit dans le fuseau horaire de votre ordinateur. Réglez celui-ci sur le fuseau où la plupart de vos photos ont été prises avant de lancer la correction. Voir le décalage horaire des photos Takeout.

Et les vidéos ?

Les fichiers MP4 et MOV n'utilisent pas l'EXIF. L'application écrit la date dans le conteneur vidéo, là où les lecteurs la cherchent, et règle la date du fichier en plus.

Que se passe-t-il pour une photo sans JSON et sans EXIF ?

Elle reçoit la date du fichier, faute de mieux. L'application vous la signale à la fin, et vous pouvez ensuite lui donner une date à la main, par dossier, comme pour des scans.

Dois-je d'abord décompresser les archives ?

Non. L'application accepte directement les fichiers zip de Takeout, retrouve les autres parties dans le même dossier et les lit comme une seule bibliothèque.