Immich affiche la mauvaise date après l'import : la solution
Pourquoi des photos arrivent à la mauvaise date dans Immich, comment il choisit la date, et comment corriger les fichiers avant l'import.
Vous avez installé Immich, envoyé votre bibliothèque, et la chronologie est fausse. Des milliers de photos sont datées du jour de l'import. De vieilles vacances se retrouvent tout en haut. Certaines dates sont décalées d'exactement quelques heures.
Comment Immich choisit une date
Immich lit les métadonnées de chaque fichier et prend la première date qu'il trouve, dans un ordre fixe. En gros : un fichier annexe XMP à côté du fichier s'il y en a un, puis le DateTimeOriginal de l'EXIF, puis le CreateDate de la vidéo, puis en dernier recours la date de modification du fichier.
Il lit le fichier. Il ne vous demande rien. Une photo sans date EXIF reçoit donc la date du fichier, et la date du fichier est celle que votre dernière copie lui a laissée, en général aujourd'hui. Date de prise de vue ou date de modification explique la différence.
Les outils d'envoi d'Immich, l'application mobile et la ligne de commande, transmettent la date de modification du fichier. Si elle est fausse elle aussi, plus rien ne sauve la photo.
Les causes habituelles
Google Takeout. La plus importante. Google retire la date EXIF de nombreuses photos et met la vraie date dans un fichier .json à côté du fichier. Immich ne lit pas le format .json de Google. Envoyez ces fichiers tels quels, et chacun sans EXIF reçoit la date de l'envoi. Exporter Google Photos vers Immich est le guide complet pour ce cas.
Les messageries. WhatsApp et les autres retirent entièrement l'EXIF. Ces photos n'ont qu'une date de fichier. Voir photos WhatsApp avec une mauvaise date.
Les captures d'écran et les téléchargements. Les PNG et les images du web ont rarement une date EXIF.
Les scans. La date du scanner, c'est-à-dire le jour du scan, pas celui de la photo.
Les décalages de fuseau horaire. Une photo avec une date EXIF mais sans décalage horaire est traitée comme de l'UTC par certains chemins et comme de l'heure locale par d'autres. Le jour est juste, l'heure est fausse. Les téléphones récents écrivent une balise de décalage et évitent ce problème.
Les deux façons de corriger
Corriger dans Immich. Vous pouvez sélectionner des photos dans l'interface web et modifier la date et l'heure, une sélection à la fois. Pour quelques photos, cela convient. Pour un export Takeout de quarante mille photos, non, et la correction ne vit que dans la base de données d'Immich. Exportez la bibliothèque plus tard et les dates ont de nouveau disparu.
Corriger les fichiers d'abord. Écrivez la bonne date dans l'EXIF de chaque fichier avant l'envoi. Immich la lit et tombe juste, comme tous les autres outils que vous utiliserez un jour sur ces fichiers. C'est la correction durable.
immich-go, et quand l'utiliser
immich-go est un outil gratuit en ligne de commande qui comprend Google Takeout. Il lit les fichiers .json, les associe aux photos et envoie la bonne date à Immich avec la photo. Si Immich est votre seule destination et que le terminal ne vous fait pas peur, c'est un bon outil, et il gère aussi les albums.
Ce qu'il ne fait pas, c'est modifier les fichiers. La date va dans la base de données d'Immich, pas dans la photo. Si vous migrez de nouveau un jour, ou si vous pointez PhotoPrism ou Apple Photos sur les mêmes fichiers, vous recommencez à zéro.
Corriger les fichiers à la main
exiftool peut écrire la date de Takeout dans l'EXIF. La commande est délicate, parce que les noms des fichiers .json de Google ne correspondent pas aux noms des photos de plusieurs façons. Un exemple complet se trouve dans le guide exiftool.
Pour les photos sans fichier .json et sans EXIF, mais dont la date de fichier est juste, recopiez la date du fichier :
exiftool "-DateTimeOriginal<FileModifyDate" -if 'not $DateTimeOriginal' -r .
Pour un dossier dont vous connaissez la date et rien d'autre, imposez-la :
exiftool -DateTimeOriginal="2014:08:10 12:00:00" -overwrite_original .
Relancez ensuite la tâche d'extraction des métadonnées depuis la page d'administration d'Immich, ou renvoyez les fichiers, pour qu'il lise les nouvelles valeurs.
Avec l'application
Takeout JSON Metadata Fixer prépare un dossier qu'Immich importe proprement. Il écrit la vraie date et le GPS dans chaque fichier, et Immich les lit directement dans l'EXIF.
Donnez-lui un export Takeout, en un seul zip ou en plusieurs, ou n'importe quel dossier. Pour chaque photo, il prend la date dans le fichier .json, sinon dans l'EXIF, sinon dans la date du fichier, et il écrit le résultat dans l'EXIF et dans les dates du fichier. Le GPS suit le même chemin. Le HEIC peut être converti en JPG au passage. Les photos sans aucune date peuvent recevoir une date et un lieu pour tout le dossier.
Si vous activez l'option, il écrit aussi un fichier .json annexe à côté de chaque fichier produit. Immich lui-même ne les lit pas, mais immich-go et d'autres outils d'import les lisent, et ils gardent les métadonnées lisibles en dehors de toute bibliothèque. Envoyez ensuite le dossier produit avec l'application Immich, la ligne de commande ou une bibliothèque externe. Les dates sont dans les fichiers, donc elles arrivent justes du premier coup.
Hors ligne, sur Mac, Windows et Linux. Gratuit pour 1000 photos, 19,99 $ une seule fois pour l'illimité, ou 49,99 $ pour cinq ordinateurs.
Questions fréquentes
J'ai déjà importé. Dois-je tout recommencer ?
Pas forcément. Corrigez les fichiers sur le disque, puis lancez la tâche « Extract metadata » pour toutes les ressources depuis la page d'administration d'Immich. Si les fichiers ont été envoyés et ne sont pas dans une bibliothèque externe, il faut renvoyer ceux qui ont été corrigés et supprimer les anciennes copies, parce qu'Immich garde sa propre copie.
Pourquoi certaines dates sont-elles décalées de quelques heures ?
Le fuseau horaire. La date EXIF n'a pas de décalage, et Immich la traite comme de l'UTC ou comme l'heure du serveur selon la version et les réglages. Les versions récentes gèrent mieux ce cas. Régler le fuseau du serveur sur celui où la plupart des photos ont été prises aide.
Immich lit-il maintenant les fichiers .json de Google ?
Pas directement, au moment où nous écrivons. Il lit les fichiers annexes XMP. immich-go lit le format de Google et le convertit à la volée. Consultez les notes de version d'Immich, car cela change.
Corriger l'EXIF change-t-il la qualité des photos ?
Non. Écrire l'EXIF modifie un bloc de métadonnées. L'image compressée n'est pas touchée.