Script – afficher les donnees Exif sur Thunar

Afficher les métadonnées EXIF avec un clic droit sur Thunar

Ha, il y a longtemps que je n’ai pas écrit sur le sujet !

Sur les PC sous un environnement Gnome avec le gestionnaire de fichiers Nautilus j’applique la méthode décrite dans mon l’article « Afficher les métadonnées exif avec un clic droit sur Nautilus » écrit en 2015 (il y a une légère modification sur le script d’aujourd’hui, mais les deux fonctionnent).

Il se trouve que le PC que j’utilise le plus souvent ces derniers temps est sous Manjaro avec un environnement XFCE et donc Thunar comme gestionnaire de fichiers.

Pour infos

Il existe de nombreuses similitudes avec l’article mentionné plus haut. La principale différence réside dans l’emplacement du script ainsi qu’une procédure spécifique à effectuer sous Thunar, qui ne s’applique pas à Nautilus.
Il est possible de remplacer Zenity par Yad, et Exiv2 par Exiftool, mais je pense que Yad nécessite certainement des critères supplémentaires (je n’ai pas cherché). Bref, il existe plusieurs façons de faire, mais comme je suis de nature plutôt fainéante, je préfère me baser sur des solutions déjà en place et qui fonctionnent chez moi depuis 2015.

Mais voyons la procédure

Tu auras besoin de Zenity et de Exiv2 (Chez-moi, Exiv2 était déjà installé). Pour installer les deux :
Manjaro :

sudo pacman -S exiv2 zenity

Débian et dérivés

sudo apt install exiv2 zenity

Sous XFCE il n’y a pas de ./local/thunar, on va donc créer un répertoire sous .local, je l’ai appelé bin, vous pouvez le nommer scripts ou autres, mais il faudra en tenir compte pour les chemins.

Créer un répertoire bin

mkdir -p ~/.local/bin

On va écrire le script, j’utilise vim, mais vous pouvez utiliser nano ou autre éditeur.

vim ~/.local/bin/exif.sh

et on y écrit :

#!/bin/bash

# métadonnées exif avec exiv2

zenity --info --title="Métadonnées EXIF" --text="$(exiv2 "$1")"

Un peu de pédagogie

#!/bin/bash est un préfixe au nom de l’exécutable qui va effectivement traiter les lignes qui le suivent. On l’appelle « shebang » et doit être la première ligne du script. (il s’agit d’un copié/collé de mon article « Initiation au Shell – Boucle (for, do, done » écrit en 2015).

zenity --info --title="Métadonnées EXIF" --text="$(exiv2 "$1")"

zenity affiche une boite de dialogue d’info (–info), titre optionnel (–title) et enfin avec (–text) le contenu de la sortie de la commande exiv2, les métadonnées exif de $1, le premier argument passé au script, c’est-à-dire le chemin du fichier image.

Il faut rendre exécutable le script

chmod +x ~/.local/bin/exif.sh

– Pas certain que ma pédagogie fasse mouche
– Ouah ah ah… Et c’est toi Sima qui donne des cours d’initiation au Bash à Root66.Net ? Hé ben, ils sont pas aidés.
– Ho ça va, ta gueu… Tais-toi ! Bon, je continue.

Voyons maintenant comment configurer Thunar

On ouvre le gestionnaire de fichier Thunar puis on va dans :
Édition → Configurer les actions personnalisées…

Une boite de dialogue s’ouvre → clique sur le +

Une autre boite de dialogue s’ouvre sur l’onglet « Base »
On met le nom de son choix.
On peut mettre une description.
Dans commande on met le chemin absolu (en entier) vers l’exécutable avec le paramètre %f

Ensuite on va dans l’onglet « Conditions d’apparition » et on coche la case « Fichiers image »

Puis on valide
On voit que l’action « EXIF » a été ajouté. Tu peux fermer.

Sur Thunar vas sur une image et fais un clic droit, puis descend sur « EXIF »

Clic sur « EXIF » et une fenêtre s’ouvre avec les métadonnées Exif.


Si ça ne fonctionne pas, ferme et relance Thunar pour être certain que les modifications ont bien été prises en compte par Thunar.

Des idées pour améliorer ce petit script ou une autre approche à proposer ? Lâche-toi en commentaires.

Le billet « Script – afficher les données Exif sur Thunar » est apparu en premier sur le blog de Sima78.

Mettre un logo ou signature sur vos images en ligne de commande

551 mots, temps de lecture 3 minutes.

Je vous propose aussi un script Bash pour le faire par lot

Je compte enrichir mon Pixelfed avec certaines de mes photos et je me disais que mettre un petit logo sur chacune de mes images serait bien, puisque celles actuelles ne sont pas signées.

Pour cela il faudra installer ImageMagick pour l’accès à ses composants car nous devrons utiliser la commande « composite ».

J’avoue avoir un peu galéré car il manque quelques informations sur le « man composite », rassurez-vous, je vous vous mets tout !

Précision :

Si vos images sont en « .jpg » faites votre logo à un format différent pour plus de commodité du genre « .png ».  Ce n’est pas obligatoire si vous ne mettez pas le logo dans le même répertoire et que vous précisez son chemin.

Ajouter un logo à vos images en ligne de commande

Le basique

composite -geometry +15+15 votrelogo.png image-original.jpg image-finale.jpg
  • composite est la commande pour superposer des images.
  • -geometry +15+15 spécifie la position de votre logo par rapport au coin supérieur gauche.
  • +15+15 pixels vous pouvez préciser plus ou moins.

Oui mais moi Sima je veux que ce soit en bas à gauche !
Pas de souci…

composite -gravity southwest -geometry +15+15 votrelogo.png image-original.jpg image-finale.jpg
  • -gravity southwest spécifie la position dans le coin inférieur gauche de l’image.
  • -gravity southeast en bas à droite
  • -gravity center -geometry +0+0 au centre

/image-finale-02.jpg

Sima, c’est bien beau tout ça, mais je ne veux pas me faire chier m’embêter à faire image par image, j’en ai des centaines…
Ok, passons au petit script sans prétention.

Script pour ajouter un logo par lot.

#!/bin/bash

logo="votrelogo.png"

for image in *.jpg; do

    output="output_${image}"

    composite -gravity southwest -geometry +15+15 "${logo}" "${image}" "${output}"

done

Si vos images ont toutes une extension .JPG donc en majuscule il faudra modifier le script car là il ne prend que l’extension en minuscule. Vous pouvez modifier pour qu’il accepte les deux, Bref, il s’agit d’une base qui ne demande qu’à être améliorée.

  • logo est le nom du fichier de votrelogo.
  • Assurez-vous que le fichier du logo est dans le même répertoire que vos images ou spécifiez le chemin complet.
  • La boucle for image in *.jpg parcourt tous les fichiers avec l’extension .jpg dans le répertoire courant. Vous pouvez ajuster l’extension selon le format de vos images.
  • output= »output_${image} » définit le nom du fichier de sortie en ajoutant le préfixe « output_ » au nom de chaque image d’entrée. Vous pouvez personnaliser le préfixe.
  • composite est utilisée à l’intérieur de la boucle pour ajouter le logo.

Enregistrez ce script sous le nom de votre choix du genre ajout-logo.sh

Rendez-le exécutable avec la commande

chmod +x ajout-logo.sh

Puis exécutez-le dans le répertoire contenant vos images.

Vous pouvez en papprendre un peu plus sur l’article Initiation au shell boucle (for, do, done)

Il y a aussi une possibilité avec la commande « find » mais attention dans ce cas c’est récursif et cela modifiera tous vos fichiers .jpg se trouvant dans les sous-répertoires, mais ça peut être utile.

Avec l’option « -iname » peut importe que l’extension .jpg soit en majuscule ou pas.

find /chemin/vers/le_dossier/de_vos_images -type f -iname "*.jpg" -exec composite -gravity southeast -geometry +15+15 /chemin/vers/votrelogo.png {} {} \;

Qu’en pensez-vous ? Vous avez d’autres astuces en ligne de commande, je suis preneur !

Le billet Mettre un logo ou signature sur vos images en ligne de commande est apparu en premier sur le blog de Sima78.

Diminuer la dimension des images par lot en ligne de commande

Tuto – Diminuer la dimension des images par lot en ligne de commande – Bash

Si comme moi vous devez envoyer un tas d’images via mail et que vos images pèsent trop lourd, ou que vous devez les publier et toujours ce problème de poids…

Voilà comment je procède pour leur faire un régime en ligne de commande bash.
Je le mets ici, si cela peut vous servir, tant mieux, moi ça me permet d’éviter de me recreuser la tête au besoin.

Pour cela nous allons utiliser deux commandes fournis dans le paquet imagemagick, « identify » et  « mogrify » et la commande « awk » qui comme la commande « sed » est une commande aussi très puissante et permet de faire énormément de choses car elles intègrent beaucoup de fonctions mais on ne rentra pas dans le détail de awk ici.

Imagemagick est un logiciel très puissant qui permet de nombreuses manipulations d’images en ligne de commande tel que rotation, conversion et bien plus.

Il faut donc avant tout installe imagemagick

sudo apt install imagemagick

Puis pour redimensionner par lot :

$ identify *.jpg | awk '{split($3, TAB, "x"); W = TAB[1]; H = TAB[2]; if(W > 1200){system("mogrify -resize 1200x "$1)} if (H > 1200){system("mogrify -resize x1200 "$1)}}'

identify *.jpg → identifie les fichiers se terminant par jpg et passe à la commande axk.
awk → pour faire simple, divise la chaîne en un tableau qui va permettre la comparaison.
mogrify → permet ici de redimensionner, elle a plein d’autres possibilités.

Bref : je redimensionne à 1200 maxi les fichiers jpg, pour la hauteur et la largeur.

Pour info : Extrait du man awk concernant « split »
split(s, a [, r [, seps] ])
Split the string s into the array a and the separators array seps on the regular expression r, and return the number of fields. If r is omitted, FS is used instead. The arrays a and seps are cleared first. seps[i] is the field separator matched by r between a[i] and a[i+1]. If r is a single space, then leading whitespace in s goes into the extra array element seps[0] and trailing whitespace goes into the extra array element seps[n], where n is the return value of split(s, a, r, seps). Splitting behaves identically to field splitting, described above. In particular, if r is a single-character string, that string acts as the separator, even if it happens to be a regular expression metacharacter.

Le billet Diminuer la dimension des images par lot en ligne de commande est apparu en premier sur le blog de Sima78.

Mettre un filigrane sur des documents officiels – ligne de commande

Mettre un filigrane [ImageMagick] et supprimer les métadonnées [ExifTool] sur des documents officiels que nous devons envoyer via le web ou par mail.

Le tout en ligne de commande depuis un terminal.

Un billet comme un conseil dans ce monde soi-disant idéal de la dématérialisation.

Dans beaucoup de procédures télématiques, il nous est demandé des copies de nos documents personnels, tel que notre pièce d’identité (on va prendre cet exemple dans ce billet).

L’idée de ce billet me vient d’une discussion téléphonique avec une administration qui me demandait d’envoyer une photocopie ou scan de ma carte d’identité.

Curieux, je demande : D’accord, qu’allez-vous faire de cette pièce, c’est très personnel, où sera t-elle stockée, pour combien de temps ? Quelle garantis donnez-vous ?
Réponse : Ne vous inquiétez pas, nous avons des services très spécialisés et toutes les données sont cryptées !
Ha, le mot est lâché, rassurant, « cryptées »…
Moi : Vous me demandez d’envoyer par mail, ça arrive sur une boite mail où je suppose que plusieurs personnels du service y ont accès, comment est géré la boite mail, qui y a accès, est-elle sécurisée ?…
Réponse : Faites-le directement depuis notre site web, il y a le petit cadenas en haut à gauche, tous est crypté…
Ouh là là, « crypté » le mot qui se voudrait rassurant et qui pourtant me fait pousser les poils des oreilles.
Moi : soit, la communication de bout en bout est chiffrée, mais une fois ma pièce envoyée, la carte d’identité, que devient-elle ?
Réponse : Nous avons des spécialistes de la sécurité et tout est crypté…
Moi : bon je résume, je vous envoie un document en clair, transparent via votre site, il se retrouve quelque part sur l’un de vos disques durs, sans que je sache qui y a accès ni ce que deviendra ce document…
Il me coupe la parole… : Je vous l’ai dit, tout est sécurisé et crypté…
Moi : Je peux imaginer que l’accès aux disques ou support soient sécurisés, que les disques dur soient chiffrés, ou comme vous dites, cryptés, mon document lui est en clair et les disques, une fois montés et même chiffrés, les données restent en clair…

Bon je vous fais grâce de la suite de la discussion de sourd.

Dans un monde idéal…

Une fois votre document scanné, l’idéal est de réaliser un chiffrement asymétrique, soit avec votre certificat numérique, soit avec d’une autre façon comme par exemple en utilisant « gpg » (j’aime bien gnupg, je l’utilise pour mes signatures et chiffrement de mes mails et autres…) afin que personne ne puisse lire le document envoyé, sauf celui qui doit le réceptionner.

Mais que ce soit dans l’administration ou ailleurs, il est très rare que l’on se préoccupe réellement de la sécurité de ce que l’on envoie.

Ajouter un filigrane.

Dans le cas où le destinataire ne sait pas comment fonctionne le chiffrement et c’est malheureusement souvent le cas, nous pouvons choisir l’option d’ajouter un filigrane à nos documents privés. D’autant plus que nous ne saurons pas où sera notre document ni pour combien de temps…

Nous allons ajouter en ligne de commande un filigrane sur notre document avec ImageMagick.

Vérifions s’il est déjà, ou pas, installé sur notre pc.

dpkg --get-selections | grep imagemagick
imagemagick             install
imagemagick-6-common    install
imagemagick-6.q16       install

Si vous avez quelque chose de similaire à ci-dessus, c’est qu’il est installé, sinon il n’afficherait rien.
S’il n’est pas installé, il suffit de :

sudo apt install imagemagick

Une fois installé, nous pouvons utiliser tous les outils « ImageMagick ». Dans cet exemple, nous partirons d’une image test que j’ai trouvé sur le net et qui porte le nom « CNI-blog.jpg », vous l’aurez remarqué, je suis un peu plus vieux que sur la photo :

Fausse carte d'identité nationale française au nom de Camille, avec photo d'un bébé, née le 28 mai 2013, taille 53 cm, poids 3,5 kg. Texte : "Nous sommes heureux de vous présenter notre toute nouvelle citoyenne !"
Camille, notre nouvelle citoyenne française, reçoit officieusement sa carte d’identité nationale. Née le 28 mai 2013, elle mesure 53 cm et pèse 3,5 kg.

Afin d’ajouter un filigrane à l’image, nous allons exécuter la commande « convert » avec les options suivantes dans le même répertoire où se trouve notre image:

convert -density 150 -fill "rgba(255,0,0,0.25)" -gravity Center -pointsize 60 -draw "rotate -45 text 0,0 'COPIE'" CNI-blog.jpg CNI-blog-final.jpg

Description des options utilisées:

  • density: La résolution de la largeur de l’image avec l’unité de points par pouce (PPI).
  • fill: Couleur à utiliser.
  • gravity Center: position du texte, dans ce cas centrée sur l’image.
  • pointsize: taille en points de la police.
  • draw: annoter l’image avec une précision. Dans ce cas, avec un texte pivoté de 45 degrés dans le sens antihoraire dans les coordonnées X, Y 0,0 et le texte entre guillemets simples.
  • Ensuite, le fichier source où les modifications seront appliquées (CNI-blog.jpg) et le fichier de destination qui sera créé (CNI-blog-final.jpg).

Le résultat :

Exemple : Sur une Fausse CNI française au nom de Camille, avec photo d'un bébé, née le 28 mai 2013, taille 53 cm, poids 3,5 kg. Filigrane créé avec ImageMagick visible "COPIE" en diagonale.
Ce faux document, inspiré d’une carte d’identité française, intègre un filigrane « COPIE » pour illustrer comment ajouter des watermarks ou des éléments graphiques dans un document via ImageMagick.

Pour compliquer les choses il conviendrait de personnaliser notre filigrane en fonction de chaque procédure:

convert -density 150 -fill "rgba(255,0,0,0.50)" -pointsize 15 -draw "rotate -15 text 0,200 'COPIE POUR TRAITEMENT'" -draw "rotate -15 text -25,260 'DE RECENSEMENT'" CNI-blog.jpg CNI-blog-final-02.jpg

Résultat suivant :

Exemple de document administratif : CNI française au nom de Camille, née le 28 mai 2013, taille 53 cm, poids 3,5 kg. Filigrane rouge "COPIE POUR TRAITEMENT DE RECENSEMENT" visible. Texte : "Nous sommes heureux de vous présenter notre toute nouvelle citoyenne !"
Ce faux document, inspiré d’une carte d’identité française, intègre un filigrane COPIE POUR TRAITEMENT DE RECENSEMENT ».

Supprimer les métadonnées

Pour terminer, nous pouvons supprimer les métadonnées effaçables du fichier (en fait il faudrait commencer par là) avec le programme « exiftool« , ce programme peut être installé à partir des dépôts :

sudo apt install exiftool

Puis :

exiftool CNI-blog-final-02.jpg

Et pour supprimer les métadonnées de notre fichier image avec le filigrane créé, nous allons exécuter :

exiftool -all= CNI-blog-final-02.jpg
    1 image files updated

Pour voir que les métadonnées ont bien disparu comme le montre l’image ci-dessus, exécutez :

exiftool dni-final.jpg

Ces étapes nous ont permis d’apposer un filigrane sur un document privé et de supprimer les métadonnées, de sorte à sécurisé à minima ce que nous envoyons.

J’espère que ces petites astuces vous aideront tout en restant loin de la préservation de la vie privée, mais parfois l’on doit faire à minima.

Les Mémorables de l’Open Source réunis sur un projet photographique.

Faces of Open Source est un projet photographique qui nous permet de mettre un visage sur certaines des personnes qui ont eu le plus d’impact dans le développement de l’Open Source.

Mosaïque de portraits en noir et blanc de nombreuses personnes, hommes et femmes, liées au monde de l'open source.
Les figures humaines derrière le logiciel libre : une galerie de portraits de contributeurs et personnalités de l’open source.

Linus Torvalds, Ken Thompson, Larry Wall, Doug McIlroy, Guido Van Rossum, Karen Sandler, Dan Geer, Limor Fried… Sont des figures de l’Open Source, des personnages qui ont contribué au développement du logiciel libre à différentes périodes, ce qui nous permet de profiter de la technologie actuelle et de servir d’inspiration aux autres développeurs.

Impossible de ne pas se souvenir du regretté Dennis Ritchie (créateur du langage de programmation C avec K. Thompson d’Unix), qui d’une certaine manière devait aussi être présent dans ce travail. Voici ses frères tenant une photo de lui:

Portrait en noir et blanc de Ken Thompson et Brian Kernighan tenant une photo encadrée de Dennis Ritchie, série Faces of Open Source.
Les co-créateurs d’Unix, Ken Thompson et Brian Kernighan, rendent hommage à Dennis Ritchie, père du langage C, disparu en 2011.

Peter Adams est l’auteur de ce projet documentaire qui a débuté en 2014. Un photographe qui avait déjà de l’expérience avec BSD dans les années 90 (plus tard avec Linux) en plus de ces connaissances en programmation qui lui a permis de travailler sur la conception des premiers sites corporatifs

D’excellentes photographies en noir et blanc, accompagnées d’un bref profil du personnage en question et des détails techniques sur la prise de l’instantané (certaines depuis son studio de la Silicon Valley, d’autres à travers les États-Unis) composent la série. Toujours sur le site de l’auteur, vous les trouverez classés par sections: UNIX, BSD, Linux, langages de programmation, X Windows.

Dans une interview intéressante sur PILXS.US, Adams explique son choix du noir et blanc pour ses portraits:

N&B sur un fond blanc était un choix conscient dès le début. Connaissant le groupe, j’ai senti que ça allait être la meilleure façon d’explorer les gens et les visages. Chacun de ces visages a, je pense, une histoire très intéressante. J’essaie d’apporter la personnalité de chacun à la photo et le N&B a toujours été ma façon préférée de le faire. Le fond blanc met le juste accent sur la personne.

Celle-ci de David Korn, créateur de Korh Shell (Ksh), est l’une de mes préférées (son tee-shirt est cool!).

Portrait en noir et blanc de David Korn en t-shirt noir portant l'inscription humoristique « Go away or I will replace you with a very small shell script. »
David Korn, New York City, 2015. Le créateur du Korn shell (ksh) laisse parler son t-shirt.

Les images sont distribuées sous licence Creative Commons (CC BY-NC-SA) pour un usage non-commercial (pour une autre utilisation, il suffit de contacter l’auteur).

Parmi les projets de Korn il y a la réalisation d’un livre qui contribuera à laisser une trace de cet héritage. Pour cela il étudie plusieurs options de financement telles que Kickstarter et d’autres types de parrainages.

Mais ce sera quand la série sera terminée, il y a encore une douzaine de personnes à photographier.

Un qui manque… c’est Richard Stallman. Je ne connais pas la raison de son absence, mais peut-être que si le projet s’appelait Faces of Free Software …

Traduit du site La Mirada Del Replicante

Source : Los históricos del Open Source reunidos en un proyecto fotográfico

Linux – De l’interface graphique à la ligne de commande

Un peu de ma vie privée, ou plutôt de celle de mes farfadets et mes fadettes, j’en ai deux de chaque.

Tous utilisent depuis leur tendre enfance linux… Maintenant, ils l’utilisent plus ou moins en fonction de leurs besoins. Pour celui qui l’utilise le plus, même exclusivement, il s’agit d’un de mes farfadets, l’autre, étant un « gamer« , et l’utilise le moins, les Fadettes sont entre les deux.

J’en viens à l’une des Fadettes, son pc est en dual boot, pour un usage professionnel, elle utilise au maximum linux (la grande majorité du temps) via les applications graphiques qui lui sont proposées, sauf pour certains de ces travaux.

L’interface graphique, c’est bien… Mais parfois, la ligne de commande, c’est mieux ! J’y viens !

« Papa, on a plusieurs photos de divers appareils (4) et elles se mélangent dans le répertoire, on doit rendre un travail chronologique… Tu m’as dit un jour qu’avec ton écran noir (un terminal) et tes lignes, ça peut se faire facilement… Tu peux me montrer ? » (Sur son pc, une multitude de fenêtres ouvertes sur plusieurs bureaux avec divers travaux en route… Pas question de les fermer pour passer sur un autre système d’exploitation).

Quand on me parle de mes lignes, ça me rend particulièrement fier, même si au fond de moi-même, je sais que quiconque lit le « man » de « find » et « exiv2 » peut en faire autant, voire mieux, mais bon…

Je lui dis, il suffit de suivre le billet sur mon blog « Renommer les photos par lot en utilisant les métadonnées EXIF« . Et là, magie ! En quelques secondes, les centaines de photographies se renomment par ordre chronologique.

Renommer les photos par lot en utilisant les métadonnées EXIF Magique ou presque, car l’un des appareils n’était pas à la bonne date et heure…
Alors, autres lignes de commande, c’est un peu plus long, en suivant le billet « Modifier la date de vos photos« , et le résultat final est parfait !
Je suis heureux de voir que ma Fadette s’en est très bien sorti et surtout qu’elle s’est rendu compte que la ligne de commande est un parfait complément à ce qui peut se faire via une interface graphique !

Afficher les metadonnees exif avec un clic droit sur Nautilus

Petit script utilisant exiv2 et simple à mettre en oeuvre.

Logo de Nautilus
Logo de Nautilus

1- Ouvrez un éditeur de texte, copiez les lignes ci-dessous et sauvegardez sous par exemple « exif.sh »

#! /bin/bash
# métadonnées exif avec exiv2
zenity --info --text " `exiv2 "$1" `"

2 – rendez-le exécutable : clic droit => Propriétés dans l’onglet « Permitions »
Cochez la case « Autoriser l’exécution du fichier comme un programme

3 – Ubuntu 14.04, placez le fichier dans ~.local/share/nautilus/scripts/

En ligne de commande, pas plus compliqué…
1 – avec par exemple « nano »

~$ nano .local/share/nautilus/scripts/exif.sh

on copie, on sauvegarde et on quitte.

#! /bin/bash
# métadonnées exif avec exiv2
zenity --info --text " `exiv2 "$1" `"

2 – on rend exécutable et on relance nautilus;

~$ chmod +x .local/share/nautilus/scripts/exif.sh | nautilus -q

Résultat dans les deux cas:
1 – clic droit sur l’image

Screenshot d'un clique droit sur Nautilus.
Screenshot d’un clique droit sur Nautilus.

2 – Résultat

screeshot du résultat d'un clic droit sur Nautilus
screeshot du résultat d’un clic droit sur Nautilus

Supprimer les métadonnées EXIF avec exiv2

Supprimer les métadonnées exif d’une photo ou image.

Si les métadonnées exif, et leur enrichissement peuvent être d’une grande utilité, sachez aussi vous en méfier.

En effet, pour des raisons professionnelles ou pour la gestion de photos à titre personnel, les données EXIF ont toutes leurs raisons d’être et sont une véritable richesse.

Par contre, si vous publier vos photos sur un quelconque site internet, dans la majeure partie des cas, pour des raisons de préserver votre vie privée, les métadonnées EXIF n’ont pas d’intérêt.

Pour les supprimer avec exiv2, rien de plus simple.

$ exiv2 -d a photo.jpg

En suivant les liens plus bas, vous saurez comment intégrer cette commande dans une boucle pour procéder par lot.
Pour l’anecdote avec un peu d’humour (c’était en 2012) :
Le pirate w0rmer & CabinCr3w a publié sur Twitter depuis son smartphone, deux photos, l’une du décolleté de sa petite amie, l’autre de son fessier moulé dans un short… Les métadonnées de ses images ont permis au FBI de le confondre…
Pour en savoir plus sur les métadonnées EXIF :
Métadonnées EXIF d’une photo
Renommer les photos par lot en utilisant les métadonnées EXIF
Modifier les métadonnées EXIF de ses photos
Modifier la date de vos photos
Ajouter les coordonnées GPS dans EXIF avec exiv2

Vous pouvez aussi changer le nom de fichier de vos photos sans utiliser les métadonnées EXIF
Renommer les photos sans utiliser les métadonnées Exif

Récupérer des images ou fichiers effacés avec PhotoRec

Récupérer des images ou fichiers effacés avec PhotoRec

Je refais mon article que j’avais déjà publié le 23 octobre 2010 sur mon autre blog.

Pour ce billet, j’ai refait l’expérience en mettant une carte SD d’un de nos appareils photos.
Toujours aussi MAGIQUE! car j’ai récupéré 334 éléments dont une grande majorité de photos et vidéos dont certaines remontent à 2012.

Mettre sa carte SD sur le lecteur multi carte de son PC, ou brancher son appareil photo muni de sa carte.

Pour la récupération, nous allons utiliser PhotoRec, s’il n’est pas installé, vous le trouverez dans pakage « testdisk » qui doit être installé.

sudo apt-get install testdisk

Sur un terminal regardons où est monté la carte SD avec la commande « mount ».
La ligne qui m’intéresse, entre autres, est la suivante:

/dev/sdc1 on /media/sima78/disk type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

Ma carte « /dev/sdc1 » est monté sur « /media/sima78/disk » son type de fichier est « fat »
On crée un répertoire où seront misent les photos récupérées.

cd Bureau/
mkdir recup

Puis on lance l’application « photorec » avec les droits administrateur, le résultat doit être quelque chose de ressemblant à:

$ sudo photorec
PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
  PhotoRec is free software, and
comes with ABSOLUTELY NO WARRANTY.
Select a media (use Arrow keys, then press Enter):
>Disk /dev/sda - 160 GB / 149 GiB (RO) - ST3160815AS
 Disk /dev/sdb - 1000 GB / 931 GiB (RO) - ST1000DM003-1CH162
 Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC
 Disk /dev/mapper/mvg-donnees - 751 GB / 700 GiB (RO) - ST1000DM003-1CH162
 Disk /dev/mapper/mvg-save - 248 GB / 231 GiB (RO) - ST1000DM003-1CH162
 Disk /dev/mapper/ubuntu--vg-root - 155 GB / 145 GiB (RO) - ST3160815AS
 Disk /dev/mapper/ubuntu--vg-swap_1 - 4026 MB / 3840 MiB (RO) - ST3160815AS
 Disk /dev/dm-0 - 751 GB / 700 GiB (RO) - ST1000DM003-1CH162
 Disk /dev/dm-1 - 248 GB / 231 GiB (RO) - ST1000DM003-1CH162
 Disk /dev/dm-2 - 155 GB / 145 GiB (RO) - ST3160815AS
>[Previous]  [  Next  ]  [Proceed ]  [  Quit  ]
Note:
Disk capacity must be correctly detected for a successful recovery.
If a disk listed above has incorrect size, check HD jumper settings, BIOS
detection, and install the latest OS patches and disk drivers.

Je choisis donc:
Disk /dev/sdc – 1948 MB / 1858 MiB (RO) – Generic- SD/MMC
Qui correspond à ma carte sd et valide [Proceed ]

A la fenêtre suivante il suffit de faire [ Search ]

PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC
     Partition                  Start        End    Size in sectors
      No partition             0   0  1  1022  53 58    3805184 [Whole disk]
> 1 P FAT16 >32M               0   2 18  1022  53 58    3805043 [NO NAME]
>[ Search ]  [Options ]  [File Opt]  [  Quit  ]
                              Start file recovery

Si avant la fenêtre ci-dessus vous tombez sur une fenêtre ressemblant à celle ci-dessous,

PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
Disk /dev/sde - 1030 MB / 982 MiB (RO) - Generic 2.0 Reader-SD
Please select the partition table type, press Enter when done.
[Intel  ]  Intel/PC partition
[EFI GPT]  EFI GPT partition map (Mac i386, some x86_64...)
[Mac    ]  Apple partition map
[None   ]  Non partitioned media
[Sun    ]  Sun Solaris partition
[XBox   ]  XBox partition
[Return ]  Return to disk selection
sima@stepstep:~/Bureau
Note: Do NOT select 'None' for media with only a single partition. It's very
rare for a drive to be 'Non-partitioned'.
Il suffit de choisir [Intel  ]

A la fenêtre suivante:

PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
 1 P FAT16 >32M               0   2 18  1022  53 58    3805043 [NO NAME]

Faire Entrée puis à:

To recover lost files, PhotoRec need to know the filesystem type where the
file were stored:
 [ ext2/ext3 ] ext2/ext3/ext4 filesystem
>[ Other     ] FAT/NTFS/HFS+/ReiserFS/...

Choisir [ Other     ] et à la suivante:

PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
 1 P FAT16 >32M               0   2 18  1022  53 58    3805043 [NO NAME]
Please choose if all space need to be analysed:
>[   Free    ] Scan for files from FAT16 unallocated space only
 [   Whole   ] Extract files from whole partition

Choisir [   Free    ]
Dans celle ci-dessous, il suffit de choisir le dossier où seront stockées les photos ou fichiers récupérés.
Au début du billet nous avons proposé Bureau/recup/

Il suffi de le sélectionner.

PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
      C when the destination is correct
      Q to quit
Directory /home/sima78
>drwx------  1000  1000     20480  8-May-2015 17:23 .
 drwxr-xr-x     0     0      4096 24-Oct-2014 18:11 ..
 drwxr-xr-x  1000  1000      4096  8-May-2015 15:46 Bureau
 drwxr-xr-x  1000  1000     12288 26-Apr-2015 08:22 Documents
 drwxr-xr-x  1000  1000     12288 20-Dec-2014 09:19 Images
 drwxr-xr-x  1000  1000      4096 24-Oct-2014 17:27 Modèles
 drwxr-xr-x  1000  1000      4096  2-Dec-2014 21:35 Musique
 drwxr-xr-x  1000  1000      4096 23-Nov-2014 08:14 Public
 drwxr-xr-x  1000  1000     40960  8-May-2015 14:48 Téléchargements
 drwxr-xr-x  1000  1000      4096 12-Jan-2015 18:14 Vidéos
PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
      C when the destination is correct
      Q to quit
Directory /home/sima78/Bureau
>drwxr-xr-x  1000  1000      4096  8-May-2015 15:46 .
 drwx------  1000  1000     20480  8-May-2015 17:23 ..
 drwxrwxr-x  1000  1000      4096 22-Feb-2015 19:36 Nouveau dossier
 drwxrwxr-x  1000  1000     12288 23-Apr-2015 20:57 phatch
 drwxrwxr-x  1000  1000      4096  8-May-2015 16:44 recup
PhotoRec 6.14, Data Recovery Utility, July 2013
Please select a destination to save the recovered files.
Do not choose to write the files to the same partition they were stored on.
Keys: Arrow keys to select another directory
      C when the destination is correct
      Q to quit
Directory /home/sima78/Bureau/recup
>drwxrwxr-x  1000  1000      4096  8-May-2015 16:44 .
 drwxr-xr-x  1000  1000      4096  8-May-2015 15:46 ..
Quand on est enfin dans le répartoire choisi on valide en tapant C

Sur l’image ci-dessous on voit qu’au bout de seulement quelques secondes on à récupéré:
173 jpg
38 riff
6 tx?
2txt

Résultat final:

PhotoRec 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier[at]cgsecurity[point]org>
http://www.cgsecurity.org
Disk /dev/sdc - 1948 MB / 1858 MiB (RO) - Generic- SD/MMC
     Partition                  Start        End    Size in sectors
 1 P FAT16 >32M               0   2 18  1022  53 58    3805043 [NO NAME]
334 files saved in /home/sima78/Bureau/recup/recup_dir directory.
Recovery completed.
You are welcome to donate to support further development and encouragement
http://www.cgsecurity.org/wiki/Donation
[ Quit ]

Sources :
PhotoRec
Leur faire un don! Un don pour soutenir le développement et l’encouragement sera le bienvenu !

Modifier la date de vos photos

Modifier la date de vos photos sous linux en ligne de commande.

Votre appareil est resté longtemps sans ses piles, vous en avez mis des neuves, et pris des photo sans remettre votre appareil à la bonne date et heure…

Vous allez donc devoir…

Modifier la date sur le fichier EXIF de vos photos.

Mettez vos clichés à modifier dans un répertoire.

Voyez la suite….

Ouvrez un shell et vérifiez le contenu du répertoire avec la commande « ls ».

$ ls
DSCN3449.JPG  DSCN3450.JPG  DSCN3451.JPG  DSCN3452.JPG  DSCN3453.JPG  DSCN3454.JPG  DSCN3455.JPG  DSCN3456.JPG

Vérifiez la date d’une des images du répertoire avec « exiv2 image.jpg »

$ exiv2 DSCN3449.JPG
Nom du fichier        : DSCN3449.JPG
Taille du fichier     : 1230426 Octets
Type MIME             : image/jpeg
Taille de l'image     : 2304 x 3072
Marque de l'appareil  : NIKON
Modèle de l'appareil  : COOLPIX L12
Horodatage de l'image : 2010:05:02 05:32:43
Numéro de l'image     : 
Temps d'exposition    : 1/469 s
Ouverture             : F2.8

La date affiche 02/05/2010 à 05:32:43 alors que l’image a été prise (supposons) le 01/05/2012 à entre 14h et 15h.
Nous allons modifier la ligne « Horodatage de l’image: 2010:05:02 05:32:43 » en ligne de commande. Plusieurs champs peuvent intervenir pour l’affichage de l’heure, on peut vérifier avec la ligne suivante:
exiv2 -p v DSCN3449.JPG | grep DateTime

$ exiv2 -p v DSCN3449.JPG | grep DateTime
0x0132 Image    DateTime             Ascii   20  2010:05:02 05:32:43
0x9003 Photo    DateTimeOriginal     Ascii   20  2010:05:02 05:32:43
0x9004 Photo    DateTimeDigitized    Ascii   20  2010:05:02 05:32:43

Il y a donc trois champs à modifier.
On peut déjà modifier la première photo en trois ligne avec la commande « exiv2 » et l’option « -Mset »

$ exiv2 -M"set Exif.Image.DateTime 2012:05:01 14:32:43" DSCN3449.JPG
$ exiv2 -M"set Exif.Photo.DateTimeOriginal 2012:05:01 14:32:43" DSCN3449.JPG
$ exiv2 -M"set Exif.Photo.DateTimeDigitized 2012:05:01 14:32:43" DSCN3449.JPG

Oui, mais si vous avez plusieurs photos cela risque de devenir très vite fastidieux, l’idéal est de trouver la bonne boucle à faire.
Déplacez l’image que vous venez de modifier pour éviter que les changements lui soient appliqués.
Faire une modification de date dans une boucle, c’est risquer de se retrouver avec tous les clichés à la même date, à la seconde près. A moins de faire un script assez complexe.
Nous allons nous simplifier la tâche en ajustant l’heure. L’option « ad » de la commande « exiv2 » permet l’ajustement de cette donnée en ajoutant ou retirant des tranches de temps. En fait, il faudra préciser le nombre d’années, mois, jours et heures de décalage.

Dans un premier temps nous allons chercher l’intervalle entre la date du cliché et celui de la prise de vue, soit (01/05/2012 14:32 – 02/05/2010 05:32).

Vous pouvez utiliser un tableur ou un calculateur en ligne.
Résultat: 1 year, 11 months, 29 days, 9 hours
Une fois le décalage évalué, on va l’appliquer avec « exiv2 », donc ajouter 1 ans, 11 mois, 29 jours, 9 heures et 00 minutes, il suffit d’exécuter:
« exiv2 -a 9:00 -Y 1 -O 11 -D 29 ad image.jpg »
Mais nous allons l’introduire dans une boucle « For Do Done »

$ for i in *; do exiv2 -a 9:00 -Y 1 -O 11 -D 29 ad $i;done

Vérifions sur une des images:

$ exiv2 -p v DSCN3452.JPG | grep DateTime
0x0132 Image    DateTime            Ascii   20  2012:05:01 14:36:22
0x9003 Photo    DateTimeOriginal    Ascii   20  2012:05:01 14:36:22
0x9004 Photo    DateTimeDigitized   Ascii   20  2012:05:01 14:36:22

Réussi !
Maintenant vous pouvez renommer vos photos en utilisant la date et heure du fichier exif.