Perte des dates des photos

Oups un bug dans les 2 scripts, j'ai oublié l'accent sur le u du mois d'août.

A corriger dans le 2 scripts:

la ligne
set lesmois to {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"}

devient

set lesmois to {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"}

Edit le 2ième script était encore éditable , j'ai fait la modif...
 
Dernière édition:
Bonsoir,

Tant que j'y suis, je te met une 2ième version qui te demande, en plus, de choisir le fichier cible pour accueillir les fichiers traités comme tu l'as souhaité.
Tu pourras utiliser la version qui te convient.

Dis moi si ça te va !

Bloc de code:
-- crée date exif avec date du dossier export

tell application "Finder"
    set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à redater"
    set cible to choose folder with prompt "Sélectionnez le dossier devant accueillir les fichiers traités"
 
    my inspecter(Chemin, cible)
end tell

on inspecter(un_dossier, cible)
    tell application "Finder"
        -- traitement des fichiers :
        set les_fichiers to files of un_dossier
        repeat with chaque_fichier in les_fichiers
            -- traitement d'un fichier
         
            --Récupère la date du dossier
            set lesmois to {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"}
            set xx to un_dossier as string
            set nb to count word of xx
            set aaaa to last word of xx
            set mois to word (nb - 1) of xx
            repeat with i from 1 to count of lesmois
                if item i of lesmois is mois then
                    set lenum to i
                end if
            end repeat
            set mmm to "0" & lenum as string
            set mm to text -1 thru -2 of mmm
            set jj to word (nb - 2) of xx
            set jjj to "0" & jj as string
            set jj to text -1 thru -2 of jjj
         
            -- met date en forme pour exif AAAAMMJJHHMN.SS
            set ladate to aaaa & mm & jj & "1200.00"
         
            set chaque_fichier to chaque_fichier as string
         
            set commande to "/usr/local/bin/exiftool -datetimeoriginal=" & ladate & " " & quoted form of POSIX path of chaque_fichier
            do shell script commande
            do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
            do shell script "rm " & quoted form of POSIX path of (chaque_fichier & "_original")
            move chaque_fichier to cible
        end repeat
     
        -- traitement des dossiers :
        set les_dossiers to folders of un_dossier
        repeat with chaque_dossier in les_dossiers
            -- traitement d'un dossier
            my inspecter(chaque_dossier, cible)
        end repeat
    end tell
 
end inspecter
tell application "Finder"
    (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
[/QUOTE]

[QUOTE="zeltron54, post: 13926463, member: 101652"]
end tell
Hello @zeltron54

Merci enormemément pour ton aide tu es au top !

Je vais faire ça et sortir d'iCloud en passant par un autre moyen de sauvegarde de mes photos. Je trouve les options d'exports d'apple abusives, elles nous poussent a rester sur l'écosystème iCloud.

Merci encore
 
Oups un bug dans les 2 scripts, j'ai oublié l'accent sur le u du mois d'août.

A corriger dans le 2 scripts:

la ligne
set lesmois to {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", "septembre", "octobre", "novembre", "décembre"}

devient

set lesmois to {"janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"}

Edit le 2ième script était encore éditable , j'ai fait la modif...
Bonjour,
j’ai attentivement lu toute la discussion, j’ai compris comment faire ....mais je ne sais quel script est le plus adapté à ma situation.
Ma bibliothèque contient 16000 photos et quelques vidéo Sur Mac mini 2014 synchronise iCloud. J’ai aussi un iPad synchronisé donc pas mal de screenshot en png.
Au fil des changements d’ordi, des doublons de photos voir parfois x10 se sont créés. Les dates initiales n’ont pas été toujours conservées .Je peux donc avoir la même photo en 2000 et en 2003..et pire certaines photos sont antidatées....cad que la prise a eu lieu en 2004 et datée de 2000. (Je ne sais pas comment c’est possible ). Parfois se sont les heures pour un voyage aux Us qui sont correctes pour certaines et d’autre non ce qui mélange bien le voyage.
Je me suis aperçue qu il me manquait un grand nombre de photos peut être 3000 .
je suis allée rechercher dans mes supports de sauvegarde et j’en ai retrouvé un « bon paquet » dont certaines aux bonnes dates et d’autres non (suivant probablement l’export que j’en ai fait) . Je retrouve également des sauvegardes totales de la librairie iPhoto
Mes questions:
1/ vaut il mieux récupérer les anciennes sauvegardes iphotos mais je ne voudrai pas créer une panique avec la bibliothèque actuelle .
2/lequel de ces scripts me convient le mieux pour les « mal datées sur support externe qui sont archivées dans des dossiers» et en attente de traitement sur le bureau
ce script marchera t il si je copie des photos mal datées de photos dedans pour les réimporter ensuite?
3/ une fois la bibliothèque « reconstruite avec les manquants » quel logiciel même payant est le mieux adapté pour les doublons .
4/ existe t’il une méthode pour exporter sur support externe des dossiers ou albums sans perdre les données de façon à avoir une sauvegarde sur le NAS et un autre support chez mes parents pour sortir du cloud les photos non interessantes , avec un archivage par année, mois, lieux.
Je sais , je sauvegarde trop...mais un incendie et un cambriolage m’ont fait réfléchir
5/ enfin plus généralement, en voyant la masse de photos à traiter j’en suis à me demander si je n’ai pas intérêt à créer une deuxième bibliothèque et la reincrementer plutot que de trier l’ancienne et choisir cette dernière et jeter l’autre.
voila , beaucoup de questions mais je suis désemparée devant Cette masse de photos manquantes et le tri et redatage des’photos du cloud
Merci pour votre attention
 
@Perlou 31
Bonjour,
Chaque script de cette discution à été écrit pour résoudre 1 problème particulier, adapté à la demande.
Je ne peux donc pas te dire quel script est le mieux adapté à ton problème.

A savoir, les scripts n'interviennent que sur des fichiers dans le finder, en aucun cas dans une bibliothèque (photos ou iphoto) ni dans le cloud.

Dans ce fil, il y a 3 styles de scripts...
-Remplacer la date du fichier par la date de la prise de vue
-créer une date de prise de vue en récupérant une date dans le nom du fichier
-Recherche de double en faisant un checksum des fichiers.
 
@Perlou 31
Bonjour,
Chaque script de cette discution à été écrit pour résoudre 1 problème particulier, adapté à la demande.
Je ne peux donc pas te dire quel script est le mieux adapté à ton problème.

A savoir, les scripts n'interviennent que sur des fichiers dans le finder, en aucun cas dans une bibliothèque (photos ou iphoto) ni dans le cloud.

Dans ce fil, il y a 3 styles de scripts...
-Remplacer la date du fichier par la date de la prise de vue
-créer une date de prise de vue en récupérant une date dans le nom du fichier
-Recherche de double en faisant un checksum des fichiers.
@zeltron54

Bonjour,
Un grand Merci pour cette réponse claire et rapide,
Je vais chercher les 3 , ils me seront tous utiles a diverses étapes.
Dernière question, quels dossiers récupérer dans une sauvegarde Photolibrairy pour avoir des photos (ou événement) manquants ... ou bien es ce une manip risquée ?
 
Bonjour,
"sauvegarde Photolibrairy" ??? Il s'agit de quoi?
Dans une bibliothèque de l'application "photos" ou "iphotos", les photos sont dans le dossier "masters".
Pour y accéder, dans le dossier utilisateur (la petite maison)--> Images--> Photos library (ou iphotos library) clicdroit afficher le contenu du paquet -->Masters, toutes les photos sont classées par année, mois,jour.

Il ne faut pas modifier quoi que ce soit dans ces dossiers ! , mais faire des copier-coller ou glisser-déposer des éléments qui t'intéressent.
 
Bonjour,
"sauvegarde Photolibrairy" ??? Il s'agit de quoi?
Dans une bibliothèque de l'application "photos" ou "iphotos", les photos sont dans le dossier "masters".
Pour y accéder, dans le dossier utilisateur (la petite maison)--> Images--> Photos library (ou iphotos library) clicdroit afficher le contenu du paquet -->Masters, toutes les photos sont classées par année, mois,jour.

Il ne faut pas modifier quoi que ce soit dans ces dossiers ! , mais faire des copier-coller ou glisser-déposer des éléments qui t'intéressent.
Merci infiniment pour tes réponses et je te souhaite de très bonnes fêtes
 
@Perlou 31
Bonjour,
Chaque script de cette discution à été écrit pour résoudre 1 problème particulier, adapté à la demande.
Je ne peux donc pas te dire quel script est le mieux adapté à ton problème.

A savoir, les scripts n'interviennent que sur des fichiers dans le finder, en aucun cas dans une bibliothèque (photos ou iphoto) ni dans le cloud.

Dans ce fil, il y a 3 styles de scripts...
-Remplacer la date du fichier par la date de la prise de vue
-créer une date de prise de vue en récupérant une date dans le nom du fichier
-Recherche de double en faisant un checksum des fichiers.
Concernant ces 3 scripts, il s’agit bien de :
  • #77
  • #160+#161
  • #138
?
 
Le script #77 change la date de création du fichier par la date de la prise de vue.

le script #160 (la correction du#161 est déjà faite) crée une date de prise de vue en se servant de la date du dossier créé par l'export depuis l'application photos. ATTENTION si une date existe déjà elle sera écrasée ! donc être sur que le fichier ne possède pas de date... Sinon voir la discussion https://forums.macg.co/threads/photos-probleme-pour-ajuster-date-et-heure.1331603/page-2 le script #26 qui lui se sert d'une date récupérée dans le nom du fichier, date au format AAAAMMJJ qui doit se trouver dans le nom du fichier après le premier caractère "-" exemple : "le nom-20201201-xxxx" pour un fichier pris le 1 décembre 2020 ,mais ce script vérifie avant si une date existe dans ce fichier.

Le script #138 Fait une recherche de double dans le dossier choisi et ses sous dossier.

Voilà les scripts écrit à la demande de chacun , s'il faut les modifier pour les adapter à ton cas, tu postes ce qui te faudrait...
 
Le script #77 change la date de création du fichier par la date de la prise de vue.

le script #160 (la correction du#161 est déjà faite) crée une date de prise de vue en se servant de la date du dossier créé par l'export depuis l'application photos. ATTENTION si une date existe déjà elle sera écrasée ! donc être sur que le fichier ne possède pas de date... Sinon voir la discussion https://forums.macg.co/threads/photos-probleme-pour-ajuster-date-et-heure.1331603/page-2 le script #26 qui lui se sert d'une date récupérée dans le nom du fichier, date au format AAAAMMJJ qui doit se trouver dans le nom du fichier après le premier caractère "-" exemple : "le nom-20201201-xxxx" pour un fichier pris le 1 décembre 2020 ,mais ce script vérifie avant si une date existe dans ce fichier.

Le script #138 Fait une recherche de double dans le dossier choisi et ses sous dossier.

Voilà les scripts écrit à la demande de chacun , s'il faut les modifier pour les adapter à ton cas, tu postes ce qui te faudrait...
Merci, c’est plus clair... je vais commencer avec ceux là et si jamais je reviendrai. Belle fin de journée
 
Bonjour,

Je suis très intéressé par ce sujet car je sauvegarde mes photos de mon iPhone sur DDE mais comme la plupart d'entre vous, je n'ai pas les bonnes dates (date de la prise de vue).

J'ai telechargé/installé exiftool
J'ai copier-coller le script du message #14 mais voila qu'apparait a chaque 2 lignes command not found ou event not found...
 
@Tantale38
Bonjour,
Pourrais-tu préciser quel est ton problème (les photos ont quelle date ? que tu vois comment?)
que veux-tu obtenir du script (résultat final)
Et comment t'y prends -tu pour exécuter le script?
 
@Tantale38
Bonjour,
Pourrais-tu préciser quel est ton problème (les photos ont quelle date ? que tu vois comment?)
que veux-tu obtenir du script (résultat final)
Et comment t'y prends -tu pour exécuter le script?
@zeltron54

Sur mon Mac, je vois les dates "crée le .. et Modifié le..." lorsque je fais lire les informations.
J'ai tout de même selon le mode choisi pour regarder les photos "Contenu crée le..." qui semblerait être la bonne date.' Le mode ou on voit la photo avec les informations sur la droite.

J'aimerai pouvoir les classer par date de prise de vue et surtout que cette date apparaisse dans les informations.

J'ai voulu vérifier si quelques photos avaient les dates de prises de vue dans l'exif. Du coup, j'ai téléchargé et installé exiftool.
Ensuite dans le terminal j'ai rentré exiftool -g et j'appuie sur entrée. là apparait une sorte de guide ou mode d'emploi très long au sujet d'exiftool. Dans la fenêtre du terminal, J'ai cela
Sans titre.png
La ligne surlignée en noir disparait lorsque je fais defiler et alors 2 points apparaissent :)) donc je colle ma photo. Le chemin apparait mais ensuite j'ai
Pattern not found (Press RETURN)

Du coup, j'ai abandonné pour cela.
Ensuite j'ai collé le script #14 dans une nouvelle fenêtre terminal et là bah chaque 2 lignes j'ai Command not found et parfois Event not found. Capture d’écran 2021-01-20 à 11.14.25.png
 
Dernière édition:
Alors décidément, tu as tout faux LOL

-Pour voir les infos avec exiftool il faut dans le terminal écrire : exiftool -g puis ajouter un espace puis faire un glisser- déposer d'une photo et là faire entrée. tu verras les info de la photo.

- les infos que l'on lis dans "lire les informations" sont celles du fichier (date de création et de modification) c'est à dire la date à laquelle tu as mis la photo sur ton ordi.

- Le script permet de remplacer la date du fichier par la date de la prise de vue.
pour exécuter ce script Il faut ouvrir "Editeur de script" qui se trouve dans applications--> Utilitaires dans la fenêtre qui s'ouvre tu choisis "nouveau document" en bas à gauche dans la fenêtre qui s'ouvre faire un copier coller du script puis le lancer en cliquant sur la flèche "exécuter" en haut à gauche.
Le script te demande de choisir le dossier contenant les fichiers à redater.
Il redate tous les fichiers y compris dans les sous dossiers.

Je te conseille de prendre plutôt le script du message #77 qui prend en compte les vidéos et ne se bloque pas si une photo n'a pas de date.

Dis moi si cela fonctionne !
 
Alors décidément, tu as tout faux LOL

-Pour voir les infos avec exiftool il faut dans le terminal écrire : exiftool -g puis ajouter un espace puis faire un glisser- déposer d'une photo et là faire entrée. tu verras les info de la photo.

- les infos que l'on lis dans "lire les informations" sont celles du fichier (date de création et de modification) c'est à dire la date à laquelle tu as mis la photo sur ton ordi.

- Le script permet de remplacer la date du fichier par la date de la prise de vue.
pour exécuter ce script Il faut ouvrir "Editeur de script" qui se trouve dans applications--> Utilitaires dans la fenêtre qui s'ouvre tu choisis "nouveau document" en bas à gauche dans la fenêtre qui s'ouvre faire un copier coller du script puis le lancer en cliquant sur la flèche "exécuter" en haut à gauche.
Le script te demande de choisir le dossier contenant les fichiers à redater.
Il redate tous les fichiers y compris dans les sous dossiers.

Je te conseille de prendre plutôt le script du message #77 qui prend en compte les vidéos et ne se bloque pas si une photo n'a pas de date.

Dis moi si cela fonctionne !
Tu as du bien rire en lisant mon post ! En effet, j'étais complètement à côté...

J'ai fait un dossier, certaines photos ont maintenant la même date de création & modification qui est l'original. Donc PARFAIT.

Cependant certaines ont des dates différentes entre motif et création et aucune de ces 2 dates n'est celle de la prise de vue. En regardant avec Exiftool en effet la date de prise de vue n'apparait. Par contre, j'ai la date original sur mon telephone.

Aurais-tu une solution pour ce dernier problème?

MERCI BEAUCOUP pour ton aide car jusque là c'était un vrai casse tête pour classer les photos.
 
Peux-tu mettre ici le résultat de la lecture par exiftool des infos d'une des photos qui pose problème
 
Effectivement pas de date.
cette photo est censée avoir été prise à quelle date ?
tu voudrais mettre quelle date?

édit tu devrais avoir un fichier « les erreurs.txt » le bureau qui dit qu’elles photos à des problèmes
 
Dernière édition:
Effectivement pas de date.
cette photo est censée avoir été prise à quelle date ?
tu voudrais mettre quelle date?

22/08/2011 20:47

Mais je doute qu'elle ai été prise avec mon téléphone en fait ou autre problème car la géolocation sur le téléphone n'apparait pas non plus... mais la date et l'heure sont coérentes.

Aurais-tu une explication: Pourquoi parfois la bonne date est la date de modification et parfois c'est la date de création?
 
Aurais-tu une explication: Pourquoi parfois la bonne date est la date de modification et parfois c'est la date de création?
Lors de la prise de vue avec un appareil photo ou un tel, les exifs de la photo sont créés avec différentes dates avec des nominations différentes suivant la marque de l'appareil.
Date/Time Original ou Create Date : date de prise de vue
Create Date : date de création du fichier
File Modification Date/Time : date de modification du fichier
File Access Date/Time : date du dernier accès au fichier

Plus quelques autres.

Pour ta photo, elle doit être issue d'un fichier qui à été modifié en effaçant tous les exifs (s'il y en avaient). puis lors du transfert sur ton tel, il a été crée les dates concernant le fichier.

Si tu veux mettre une date de prise de vue, c'est possible, mais il faut la récupérée.... mais où ? ou bien la saisir à la main.

Autre solution pour toi c'est de renommer les photos avec la date dans le nom.
Après il sera possible avec un script de récupérer cette date et de l'inscrire dans les exifs (à condition de l' entrer avec le bon format, identique sur toutes les photos, afin que le script la récupère.
Si tu est intéressé par cette solution dis moi je te donnerais le bon format à mettre et je te ferai le script.