Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
SlyExif supprime via une mini interface graphique les métadonnées exif (comme par exemple données GPS, type d'appareils…) des images jpg/jpeg/png en conservant uniquement la date de création (version en test).
Pour fonctionner SlyExif a besoin de 2 paquets: yad, libimage-exiftool-perl et ffmpeg
apt-get update
apt-get install yad libimage-exiftool-perl ffmpeg
Ensuite il suffit de créer un fichier vierge, le nommer “SlyExif” et de copier/coller le script ci-dessous.
N'oublions pas de rendre exécutable “SlyExif”, pour ce faire clic droit sur le fichier “SlyExif” –> “Propriétés” –> Onglet “Permissions” et cochons “Autoriser l’exécution du fichier comme un programme”.
Il suffit de faire un double clic sur le fichier “SlyExif” et choisir “Lancer dans un Terminal”.
Ensuite choisissons les fichiers auxquels nous voulons supprimer les métadonnées.
#! /bin/bash # Auteur: Slyfox # Dépendence: yad, libimage-exiftool-perl, ffmpeg #======================================================================================================================================= # Script qui supprime les métadonnées des images jpg/jpeg/png. # Edition de la date de création des images. # (version en test) #======================================================================================================================================= YADMENU() { yadMenu=$(yad --list --radiolist \ --title "SlyExif" \ --width="300" \ --height="200" \ --print-column="2" \ --hide-column="2" \ --button="gtk-quit:1" \ --button="gtk-ok:0" \ --column="" --column="" --column="" \ "TRUE" "1" "Editer date de création de l'image" \ "FALSE" "2" "Supprimer métadonnées" | awk -F [\|] '{print $1}') yadID="$?" # Navigation if [[ "${yadMenu}" -eq "1" ]]; then YADFICHIER elif [[ "${yadMenu}" -eq "2" ]]; then YADFICHIERMULTIPLE elif [[ $yadID -eq "1" ]]; then exit elif [[ $yadID -eq "252" ]]; then exit fi } #======================================================================================================================================= function YADFICHIER() { cheminImage=$(yad --file \ --title "SlyExif" \ --width="700" \ --height="500" \ --separator="\n" \ --center \ --filename="${cheminDossier}" \ --file-filter="Images (jpg - jpeg - png)| *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG" \ --file-filter "Tous | *" \ --add-preview \ --button="Menu:1" \ --button="Suivant:0") yadID="$?" # Navigation if [[ $yadID -eq "0" ]]; then YADEDIT elif [[ $yadID -eq "1" ]]; then YADMENU elif [[ $yadID -eq "252" ]]; then exit fi } #======================================================================================================================================= function YADEDIT() { warning="" # Redimensionnement image pour aperçu ffmpeg -y -i "${cheminImage}" -vf scale=200:-1 "$HOME/.slyexif/image_tmp.jpeg" dateTimeOriginal=$(exiftool "${cheminImage}" | awk '/Date\/Time Original/ {print $4}' | awk 'NR==1 {print $0}') if [[ -z "${dateTimeOriginal}" ]]; then dateTimeOriginal=$(date '+%Y:%m:%d') warning=(Avertissement\ la\ date\ et\ l\'heure\ réelles\ de\ l\'image\ n\'ont\ pas\ pu\ être\ trouvées.!gtk-dialog-warning) fi heureTimeOriginal=$(exiftool "${cheminImage}" | awk '/Date\/Time Original/ {print $5}' | awk 'NR==1 {print $0}') if [[ -z "${heureTimeOriginal}" ]]; then heureTimeOriginal=$(date '+%H:%M:%S') fi yadDate=$( yad --form \ --title "SlyExif" \ --width="700" \ --height="200" \ --image="$HOME/.slyexif/image_tmp.jpeg" \ --date-format="%Y:%m:%d" \ --columns 1 \ --field=" ":LBL "" \ --field="<span foreground='black'><b>Chemin fichier image: </b></span>":LBL " " \ --field="${cheminImage}":LBL "${cheminImage}" \ --field=" ":LBL "" \ --field="<span foreground='black'><b>Date création image: </b></span>":LBL " " \ --field=" ":DT "${dateTimeOriginal}" \ --field=" ":LBL "" \ --field="<span foreground='black'><b>Heure création image: </b></span>":LBL " " \ --field=" ":CBE "${heureTimeOriginal}!00:00:00!00:30:00!01:00:00!01:30:00!02:00:00!02:30:00!03:00:00!03:30:00!04:00:00!04:30:00!05:00:00!05:30:00!06:00:00!06:30:00!07:00:00!07:30:00!08:00:00!08:30:00!09:00:00!09:30:00!10:00:00!10:30:00!11:00:00!11:30:00!12:00:00!12:30:00!13:00:00!13:30:00!14:00:00!14:30:00!15:00:00!15:30:00!16:00:00!16:30:00!17:00:00!17:30:00!18:00:00!18:30:00!19:00:00!19:30:00!20:00:00!20:30:00!21:00:00!21:30:00!22:00:00!22:30:00!23:00:00!23:30:00!" \ --field="${warning[@]}":BTN " " \ --button="gtk-cancel:2" \ --button="Menu:1" \ --button="Enregistrer les métadonnées:0") yadID="$?" yadDate=$(awk -F[\|] '{print $6,$9}' <<< "${yadDate}}") # Navigation if [[ $yadID -eq "0" ]]; then EDIT elif [[ $yadID -eq "1" ]]; then YADMENU elif [[ $yadID -eq "2" ]]; then YADMENU elif [[ $yadID -eq "252" ]]; then exit fi } #======================================================================================================================================= function EDIT() { exiftool -AllDates="${yadDate}" -overwrite_original "${cheminImage}" exiftool "${cheminImage}" # Mémorisation du dernier dossier ouvert a=$(awk 'NR==1 {printf "%s\n" ,$0}' <<< "${cheminImage}") b="${a%/*}" cheminDossier=$(awk '{printf "%s/" ,$0}' <<< "${b}") YADMENU } #======================================================================================================================================= function YADFICHIERMULTIPLE() { cheminImage=$(yad --file \ --multiple \ --title "SlyExif" \ --width="700" \ --height="500" \ --separator="\n" \ --center \ --filename="${cheminDossier}" \ --file-filter="Images (jpg - jpeg - png)| *.jpg *.JPG *.jpeg *.JPEG *.png *.PNG" \ --file-filter "Tous | *" \ --button="Menu:1" \ --button="Suivant:0") yadID="$?" # Navigation if [[ $yadID -eq "0" ]]; then YADINFOFICHIERNETTOYER elif [[ $yadID -eq "1" ]]; then YADMENU elif [[ $yadID -eq "252" ]]; then exit fi } #======================================================================================================================================= YADINFOFICHIERNETTOYER() { yadchoix=$(yad --form \ --title="SlyExif" \ --center \ --scroll \ --width="700" \ --height="500" \ --button="Menu:1" \ --button="Supprimer les métadonnées:0" \ --image="gtk-dialog-warning" \ --field=" ":LBL "" \ --field="Supprimer toutes les métadonnées y compris les dates":CHK "FALSE" \ --field="<span foreground='red'><b>\n\nFichier(s) dont les métadonnées seront supprimées ! </b></span>":LBL "" \ --field=" ":LBL "" \ --field="":LBL "" \ --field=" ":LBL "" \ --field="${cheminImage}":LBL "") yadchoix=$(awk -F[\|] '{print $2}' <<< "${yadchoix}") yadID="$?" # Navigation if [[ "${yadID}" -eq "0" ]]; then NETTOYAGE elif [[ $yadID -eq "1" ]]; then YADMENU elif [[ $yadID -eq "252" ]]; then exit fi } #======================================================================================================================================= function NETTOYAGE() { IFS=$'\n' for i in ${cheminImage}; do extention=$(awk -F [.] '{print $NF}' <<< "${i}") if [[ ${extention} == "jpg" ]] || [[ ${extention} == "JPG" ]] || [[ ${extention} == "jpeg" ]] || [[ ${extention} == "JPEG" ]] || [[ ${extention} == "png" ]] || [[ ${extention} == "PNG" ]]; then dateSave=$(exiftool "${i}" | awk '/Date\/Time Original/ {print $(NF-1),$NF}') exiftool -all= "${i}" -overwrite_original if [[ "${yadchoix}" == "FALSE" ]]; then exiftool -AllDates="${dateSave}" -overwrite_original "${i}" fi exiftool "${i}" # Mémorisation du dernier dossier ouvert a=$(awk 'NR==1 {printf "%s\n" ,$0}' <<< "${i}") b="${a%/*}" cheminDossier=$(awk '{printf "%s/" ,$0}' <<< "${b}") else echo "ERREUR ! Fichier pas pris en charge par SlyExif." fi done YADMENU } #======================================================================================================================================= # Lancement du script cheminDossier="$HOME/Images" [[ ! -d "$HOME/.slyexif" ]] && mkdir "$HOME/.slyexif" YADMENU