Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

Perte des dates des photos

Discussion dans 'Photo' créé par e_lpt, 2 Août 2017.

Modérateurs: fedo, macinside
  1. e_lpt

    e_lpt Nouveau membre

    Inscrit:
    12 Juin 2017
    Messages:
    9
    J'aime reçus:
    1
    Bonjour à tous, j'ai un macbook pro mi-2012 et j'aimerais copier mes photos situées dans l'application "photos" du mac sur un disque dur externe (pas de Time Machine). Sauf que lorsque je copie et colle les photos dans le dossier du DDE, la date de chaque photo n'est plus du tout la meme, je me retrouve donc avec mes photos totalement désorganisées alors que j'aimerais les organiser par ordre chronologique dans le dossier.

    Par exemple, une photo prise le 3 décembre 2016 lorsque je la colle dans le dossier, la date de création du fichier devient le 26 décembre 2016.

    Est-ce qu'il y a un moyen de ne pas perdre les infos des photos lorsque je les colle dans un dossier? Je me vois pas renommer chaque photo avec sa date pour ensuite les organiser par nom...

    Merci d'avance
     
  2. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    Bonsoir,

    Le fichier d'une photo contient plusieurs dates

    1 - La date de numérisation que l'on peut lire dans l' EXIF de la photo
    2 - La date d'origine également dans EXIF
    Ces 2 dates sont normalement les mêmes et correspondent à la date et heures de prise de vue.
    3 - La date de création (du fichier) qui correspond à la date à laquelle le fichier à été créé sur l'ordi.

    Dans ton cas je suppose que tu lis la date de création du fichier que l'on voit dans les informations du fichier dans le finder (Cmd+i)

    La date de la photo est visible lors de l'ouverture de la photo avec aperçu dans l'inspecteur, onglet EXIF.

    Donc les dates ne sont pas perdues, mais le finder les organisent par date du fichiers ...

    Il existent plusieurs logiciels (gestion de photo) qui permettent de changer la date de création du fichier en la remplaçant par la date de prise de vue.
     
  3. Steve1966

    Steve1966 Nouveau membre

    Inscrit:
    13 Août 2017
    Messages:
    1
    J'aime reçus:
    0
    Bonjour, je fais des copies de mes photos par précaution. Comment faire pour que la date originale soit conservée (et non pas la date du jour de transfert)? merci par avance
     
  4. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    Coucou,
    suite à notre conversation privée, et n'ayant pas trouvé de solution gratuite, à par exiftool, je t'ai écrit un petit applescript qui remplace la date de création du fichier par la date de création de la photo (date Tiff). A condition que la photo n'est pas été modifiée et réenregistrer avec un logiciel style photoshop qui change la date Tiff. Je n'ai pas trouvé le moyen de lire la date exif sans exiftool.

    Le script te demande de sélectionner le dossier contenant les fichiers à traiter, puis fait le boulot !
    Voilà le script si tu ne sais pas comment utiliser, je te donnerai les explications.

    Code (Text):
    -- remplace date du fichier par la date exif creation

    tell application "Finder"
        set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à renommer"
        my inspecter(Chemin)
    end tell

    on inspecter(un_dossier)
        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
                set chaque_fichier to chaque_fichier as string
                try
                    set datephoto to do shell script "sips -g creation " & quoted form of POSIX path of chaque_fichier
                on error
                    set datephoto to ""
                end try
             
             
                if length of datephoto > 20 then
                    set DateOriginale to text -20 thru -1 of datephoto
                    set ladate to text 1 thru -16 of DateOriginale
                    set ladate to ladate & text 7 thru -13 of DateOriginale
                    set ladate to ladate & text 10 thru -10 of DateOriginale
                    set ladate to ladate & text 13 thru -7 of DateOriginale
                    set ladate to ladate & text 16 thru -4 of DateOriginale
                    set ladate to ladate & "." & text 19 thru -1 of DateOriginale
                end if
             
                do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
             
            end repeat
        end tell
    end inspecter
    tell application "Finder"
        (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
    end tell
     
     
    #4 zeltron54, 13 Août 2017
    Dernière édition: 13 Août 2017
  5. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    J'ajoute une version qui prend la date exif de création de la photo, mais qui nécessite qu'exiftool soit installé.

    Code (Text):
    -- remplace date du fichier par la date exif creation

    tell application "Finder"
        set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à renommer"
        my inspecter(Chemin)
    end tell

    on inspecter(un_dossier)
        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
                set chaque_fichier to chaque_fichier as string
                try
                    set datephoto to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of chaque_fichier -- avec exiftool installé
                   
                on error
                    set datephoto to ""
                end try
               
               
                if length of datephoto > 20 then
                    set DateOriginale to text -20 thru -1 of datephoto
                    set ladate to text 1 thru -16 of DateOriginale
                    set ladate to ladate & text 7 thru -13 of DateOriginale
                    set ladate to ladate & text 10 thru -10 of DateOriginale
                    set ladate to ladate & text 13 thru -7 of DateOriginale
                    set ladate to ladate & text 16 thru -4 of DateOriginale
                    set ladate to ladate & "." & text 19 thru -1 of DateOriginale
                end if
               
                do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
               
            end repeat
        end tell
    end inspecter
    tell application "Finder"
        (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
    end tell
     
     
    DjafaOS aime ça.
  6. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    2 049
    J'aime reçus:
    429
    Pourquoi ne pas simplement faire un "cp -p" lors de la copie ?
     
  7. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    @ecatomb
    Ce n'est pas un problème de copie, mais un problème de tri par le finder, qui tri par date de création du fichier, alors que les gestionnaires de photos tri par date de prise de la photo.

    La solution la plus simple, mais payante, est de remplacer la date du fichier par la date de la photo avec GrapicConverter.
     
  8. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    2 049
    J'aime reçus:
    429
    Le "cp -p" conserve tout les paramètres lors de la copie (date de création comprise). Le tri du finder sera donc le même avant et après la copie.

    Bon perso, je renomme les photos via un script avant de les mettre dans l'application photo.
     
  9. r e m y

    r e m y Cas clinique
    Club MacG

    Inscrit:
    4 Novembre 2000
    Messages:
    41 453
    J'aime reçus:
    4 222
    Sauf que la date de création n'est deja plus la date de prise de la photo, mais la date de transfert du fichier depuis la carteSD de l'appareil photo vers le disque dur du Mac...
     
  10. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    2 049
    J'aime reçus:
    429
    Exact d'où l'obligation d'utiliser le touch
    Je le fais aussi vu que je retouche toujours un peu mes photos.

    Pour la copie, je pensais que les dates étaient bonne dans l'application photo. Mea culpa
     
  11. r e m y

    r e m y Cas clinique
    Club MacG

    Inscrit:
    4 Novembre 2000
    Messages:
    41 453
    J'aime reçus:
    4 222
    L'application photo ne s'occupe pas des dates des fichiers et se base uniquement sur la date de prise de vue des données EXIF.
    Seuls les fichiers de la carte SD de l'appareil photo ont des dates de creation cohérentes avec la date de prise de vue (en principe...sachant que j'ai déjà vu des cas où ce n'était pas le cas)
     
  12. doombiss

    doombiss Nouveau membre

    Inscrit:
    21 Novembre 2011
    Messages:
    13
    J'aime reçus:
    0
    Bonsoir,

    Le script de zeltron fait des merveilles ! Pile ce qu'il me fallait :)

    Je continue les exports et reviendrai donner des news.

    Bonne soirée.
     
  13. Karupat

    Karupat Nouveau membre

    Inscrit:
    5 Août 2018
    Messages:
    2
    J'aime reçus:
    0
    Bonjour
    Ca fait un bon moment que je cherche un outil simple pour faire ça... merci zeltron54 ton script, c'est top!!
    J'ai tenté de faire 2 petites adaptations, mais je n'ai décidément pas fait de progrès en rédaction de script...
    Te serait-il possible de gérer 2 choses :
    - passer les fichiers n'ayant pas les données EXIF nécessaires à l'exécution du script
    - Scanner les dossiers inclus dans le dossier de sélection
    un grand merci d'avance au cas où tu puisses faire ça!!
     
  14. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    Bonjour Karupat

    Je suis content que mon petit script ai pu te rendre service.

    Je l'ai donc modifié
    - Si un fichier n'a pas de date exif renseigné, alors il n'est pas touché
    - Le script inspecte toute la hiérarchie du dossier sélectionné avec tous ses sous-dossiers
    En espérant que cela te convienne.

    Code (Text):
    -- remplace date du fichier par la date exif creation

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

    on inspecter(un_dossier)
        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
                set chaque_fichier to chaque_fichier as string
               
               
                try
                    set datephoto to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of chaque_fichier -- avec exiftool installé
                   
                on error
                    set datephoto to ""
                end try
               
               
                if length of datephoto > 20 then
                    set DateOriginale to text -20 thru -1 of datephoto
                    set ladate to text 1 thru -16 of DateOriginale
                    set ladate to ladate & text 7 thru -13 of DateOriginale
                    set ladate to ladate & text 10 thru -10 of DateOriginale
                    set ladate to ladate & text 13 thru -7 of DateOriginale
                    set ladate to ladate & text 16 thru -4 of DateOriginale
                    set ladate to ladate & "." & text 19 thru -1 of DateOriginale
                    do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
                end if
               
               
            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)
            end repeat
        end tell
       
    end inspecter
    tell application "Finder"
        (display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
    end tell
     
  15. Karupat

    Karupat Nouveau membre

    Inscrit:
    5 Août 2018
    Messages:
    2
    J'aime reçus:
    0
    Holalalala c'est juste parfait, un immense merci à toi !!! :merci::merci::merci:
    Je sauvegarde toutes mes photos en fichiers/Dossiers par évènements/Dossiers par année en plus des photothèques de l'app Photos...
    Je me voyais déjà passer les 6 prochains mois à tout faire dossier par dossier... :banghead:
     
  16. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    Content pour toi !
     
  17. Oliver74000

    Oliver74000 Nouveau membre

    Inscrit:
    7 Janvier 2019
    Messages:
    7
    J'aime reçus:
    0
    Bonjour
    Je suis très intéressé par ce dernier script mais je ne sais pas comment procéder. Utilisation d'Automator, de Terminal ? J'ai essayé les 2 mais cela ne marche pas. J'ai remplacé les parties en français par les éléments demandés mais sans résultats . pouvez vous m'aider ?
    Merci par avance
     
  18. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    @Oliver74000
    Bonjour,
    Pour utiliser le script il faut:
    1 - Installer Exiftool , tu le télécharges là (le fichier ExifTool-11.23.dmg ): http://owl.phy.queensu.ca/~phil/exiftool/
    et tu ouvres ce dmg et tu installes le package.

    2 - Tu ouvres l'application Éditeur de script qui se trouve dans applications > Utilitaires. Tu fais un copier coller du script dans la fenêtre de cette application puis tu cliqies sur le bouton Exécuter.
    Le script te demande de sélectionner le dossier contenant les fichiers à re - dater. Puis il fait le job et te prévient lorsque c'est terminé.

    ATTENTION il traite l'ensemble des fichiers du dossier y compris dans les sous-dossiers.
     
  19. Oliver74000

    Oliver74000 Nouveau membre

    Inscrit:
    7 Janvier 2019
    Messages:
    7
    J'aime reçus:
    0
    Merci beaucoup Zeltron54.
    J'ai pu lancer le script et le faire fonctionner.
    Mon problème reste toutefois d'actualité : j'ai importé des photos et Vidéo dans le logiciel Photo ; certaines photos et videos ont bien été importer en prenant la date du cliché, mais il me reste des videos (environ 500) qui, lors de l'import prenne la date du jour de l'importation par exemple le 07/01/19 alors que ces videos concernent des vidéos de 2018 en antérieurs. Je précise que sur la video d'origine, la date est exacte sur chaque vidéo.
    donc le scrip à du bien faire son travail mais le problème doit venir de Photo...
    Bonne continuation
     
  20. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 376
    J'aime reçus:
    201
    Le script à été conçu pour les traiter les fichiers photos, pas pour les vidéos.
    Il est donc normal que les dates des vidéos ne soient pas changées.
     
Modérateurs: fedo, macinside
Chargement...