News – mes liens – semaine 19

news, iens hebdomadaireJ’ai décidé de créer une catégorie hebdomadaire « News – mes liens« . Dans mon ancien blog, j’avais essayé de tenir une rubrique hebdomadaire que je n’avais pas réussi à la maintenir… Je vais essayer de faire mieux ici, à suivre…

Cette semaine tourne court, car spéciale, puisque je redémarre ce blog et que je passe beaucoup de temps à récrire mes anciens billets, et passe donc moins de temps sur le web.

Les liens
L’actualité de cette semaine tourne beaucoup autour de la loi « projet de loi relatif au renseignement« , en effet, qui aurait pu croire qu’ici, au pays qui se dit « le pays des droits de l’homme » une telle loi puisse être votée?
Sous surveillance
L’Assemblée nationale vote la surveillance de masse des citoyens français!
Opération (R)enseignement
Renseignement : la France post- « Charlie » comparée aux Etats-Unis après le 11 Septembre
Loi Renseignement : « Les agents ont un blanc-seing pour s’introduire dans nos vies »

Ceux qui ont voté pour, contre et ceux qui sont allés pisser, se sont abstenus.
Scrutin de l’assemblée Nationale

J’avais déjà donné mon avis sur les DRM sur mon ancien blog, cet excellent article et la vidéo qui l’accompagne mérite l’intérêt de chacun.
Un livre électronique verrouillé par un DRM ne peut être comparé à un livre imprimé (vidéo)

Scandale ! Un blogueur condamné pour avoir parlé des failles des faiblesses des sécurités WIFI, partager un script Python pour retrouver le plain text d’un hash MD et montrer l’usage de Teensy…
Quand j’aurai fini de récrire mes anciens articles… Serais-je condamnable, sans compter sur ceux à venir ?…
krachin un blogueur condamne pour avoir traite de securite informatique

Son blog qu’il a dû fermer… et ses explications.

Supprimer les métadonnées EXIF avec exiv2

supprimer données exif Womer & Cabincr3wMétadonnées EXIF, utilité et méfiance.

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 (pour ne pas dire l’utilisateur de Scripts kiddies) 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…
Les médias parlent de hacker… Ha les cons! Il n’ont encore rien compris, hacker n’est pas synonyme de pirate, au contraire, et hacker ne s’applique pas seulement à l’informatique mais dans le bricolage créatif visant à améliorer le fonctionnement d’un système… Quelqu’un qui fait du tunning, est aussi un hacker! Les hackers existent depuis longtemps, bien avant les ordinateurs. Le terme de Hacker a perdu son prestige depuis le Crackdown de 1990, lorsque le système téléphonique US a globalement disjoncté, du fait d’une erreur de programmation des opérateurs, qui accusèrent pourtant le monde des BBS.

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écuprérer photos et fichiers effacés avec photorecRé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

PhotoRec en activité
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 photosModifier 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.

Kclean ou comment supprimer les anciens noyaux

kclean ou comment supprimer des anciens noyaux.pngComme tous les articles jusqu’à cette date, c’est encore du réchauffé, mais vous remarquerez à la version des noyaux que j’ai refait le test pour ce billet…

Lors des successives mises à jour, les nouveaux noyaux viennent s’installer et s’ajouter aux anciens. J’utilise au boulot une version Ubuntu LTS, le nombre de noyaux depuis avril 2010 commence sérieusement à prendre de la place.

Hoper m’a parlé de son script permettant d’éliminer proprement les anciens noyaux en toute simplicité, j’ai donc décidé de vous faire découvrir.

J’ai fait le choix de la faire en ligne de commande, mais on a la possibilité de le lancer en mode graphique.
Voyons la place que prend la totalité de mes noyaux:

$ sudo du -h /boot
[sudo] password for sima78:
/boot/grub/locale
4,4M
/boot/grub171M
/boot

Donc 171 Méga pour le répertoire /boot\r\n

Les options de la commande Kclean:

$ sudo ./kcleaner.sh -k
[sudo] password for sima78: 

Noyau actuellement en cours d'utilisation : 3.13.0-51
Par defaut, seul ce noyau est conserve. 

Ce script va tenter de trouver la version precedente du noyau pour la conserver.
Verifiez les informations fournies avant de valider la suppression.

La version precedemment installee (a conserver) est la version : 3.13.0-49
Les paquets suivants vont etre supprimes :

    linux-image-3.13.0-46-generic
    linux-image-3.13.0-48-generic
    linux-image-extra-3.13.0-46-generic
    linux-image-extra-3.13.0-48-generic
    linux-headers-3.13.0-46
    linux-headers-3.13.0-46-generic
    linux-headers-3.13.0-48
    linux-headers-3.13.0-48-generic

Cela devrait liberer environ 516 MiB d'espace disque

 Voulez vous indiquer manuellement des paquets à conserver ? [o/N] :n
 Voulez vous supprimer l'ensemble des paquets indiques ? [o/N] :o

 Suppression en cours :
(...) ---> là vous allez voir un tas ligne défiler, le travail va
           se lister jusqu'à arriver à:
 -------------- Suppression effectuee ---------------
$
$ sudo du -h /boot
48K    /boot/grub/locale
4,4M    /boot/grub
33M    /boot

171M – 33M = 138 méga supprimés et très proprement, car je suis en dualboot avec une version X -1 de ubuntu LTS et le script n’a pas touché aux lignes de lancement de la version X -1 dans le fichier Grub, mais a bien supprimé les autres.

En savoir plus et se procurer kclean.

Ubuntu 14.04 – Mixxx et Hercules Dj console mk2

mixxx et hercules dj consolemk2sur Ubuntu14.04Installer et configurer Mixxx connecté avec une table de mixage Hercules Dj console mk2.

 

Mixxx est une interface graphique de mixage pour DJ’s et un émulateur de vinyles.
Plus de détails le site de LinuxMao

 

Hercules Dj console mk2 est une table de mixage avec carte son intégrée, elle se connecte directement au pc via un câble usb et est équipée d’une sortie casque pour la pré-écoute, deux sorties enceintes/ampli, d’une entrée micro, deux entrées (line-in/phono-in pour mixer de l’audio analogique).

Installation de Mixxx
Afin d’obtenir la dernière version et les mises à jours les plus récentes il faut installer les dépôts officiels :

$ sudo add-apt-repository ppa:mixxx/mixxx && sudo apt-get update

Installation :

$ sudo apt-get install mixxx libportaudio2

et lancer avec la commande « mixxx » ou en cliquant sur l’icone mixxx (Menu –-> Multimédia –-> mixxx)

$ mixxx

Installer le pilotes Hercules
Afin d’obtenir la dernière version et les mises à jours les plus récentes il faut installer les dépôts officiels :

sudo apt-add-repository ppa:rojtberg/hdjmod && sudo apt-get update

Installation

sudo apt-get install hdjmod-dkms

Débranchez et rebranchez votre DJ Console Hercules mk2.

Hercule Dj Console MK2 Face arriere Ubuntu

Hercule Dj Console MK2 Face avant Ubuntu

Configurer Mixxx pour avoir la main sur la table de mixage Hercules Dj console mk2:
Aller dans Options/Préférences/Carte Son dans:
L’onglet « Sortie » sur « Principale » choisir la carte son Hercules… et Canaux 1 – 2 Dans « Casque » choisir la carte son Hercules… et Canaux 3 – 4 Voir image ci-dessous:
Mixxx Hercule Dj Console MK2 configuration sorties son et casque
L’onglet « Entrée » sur « Microphone » choisir la carte son Hercules… et Canal 1 (si cela ne fonctionne pas essayer les autres canaux) Voir image ci-dessous:

Mixxx Hercule Dj Console MK2configuration micro Ubuntu

Dans la partie « Contrôleurs » activer la carte… et Appliquer ! Ceci-dit, si vous n’utilisez pas Midi, vous pouvez passer outre. Voir image ci-dessous:

Mixxx Hercule Dj Console MK2 configuration activer midi Ubuntu

Et tout devrait bien fonctionner….

Ajouter les coordonnées GPS dans EXIF avec exiv2

mettre les coordonnées gps dans exif avec exiv2.pngLinux, exiv2 et ajout des coordonnées GPS dans EXIF

Ajouter les coordonnées GPS à une photo en ligne de commande nécessiterai trois (3) lignes de commande, ce script peut simplifier la tâches.

Ici un petit script permettant de rentrer des coordonnées GPS dans les métadonnées EXIF dans une série de photos.

« exiv2 » doit être installé… sinon:

apt-get install exiv2

Ce script va vous poser quelques questions, bien entendu, il ne faut pas mettre les parenthèses…

Les questions qui vous seront posées:

  • Entrez l’extension de fichier en respectant la casse (jpg) (JPG) (RAW)… : Tapez JPG ou jpg ou RAW ,bref l’extension de votre série photos en respectant la casse, c’est-à-dire, en majuscules ou minuscules…
  • Entrez la latitude (N) ou (S) : N ou S Cela se transformera en North ou South sur les tags exif
  • Entrez la latitude sous forme ex (48/1 13/1 24/1) : Imaginons la latitude à rentrer est 48°, 13min et 24sec… vous devrez le saisir sous forme de 48/1 13/1 24/1 et cela donnera 48deg 13′ 24″ sur le tag exif.
  • Entrez la longitude (E) ou (O) : E ou O cela se transformera en East ou West
  • Entrez la longitude sous forme ex (9/1 52/1 51/1) : (même principe que pour la latitude).

Le sript:

#!/bin/bash
# Ajouter les données GPS aux métadonnées EXIF - Sima78
# Entrez vos données GPS sans les parenthèses... :-)"
echo -n "Entrez l'extention de fichier en respectant la casse (jpg) (JPG) (RAW)... : "
read form
echo -n "Entrez la latitude (N) ou (S) : "
read latref
echo -n "Entrez la latitude sous forme ex (48/1 13/1 24/1) : "
read lat
echo -n "Entrez la longitude (E) ou (O) : "
read longref
echo -n "Entrez la longitude sous forme ex (9/1 52/1 51/1) : "
read long
for i in *.$form
   do
      exiv2 -M"set Exif.GPSInfo.GPSLatitudeRef $latref" $i
      exiv2 -M"set Exif.GPSInfo.GPSLatitude $lat" $i
      exiv2 -M"set Exif.GPSInfo.GPSLongitudeRef $longref" $i
      exiv2 -M"set Exif.GPSInfo.GPSLongitude $long" $i
   done
echo "TERMINE"

Pour utiliser ce script, copiez-le dans votre éditeur texte favori et enregistrez sous… par exemple: ajout-gps-exif.sh

Le rendre exécutable par:

chmod +x ajout-gps-exif.sh

Le placer dans le dossier de vos clichés à modifier et le lancer par:

./ajout-gps-exif.sh

Pour voir le résultat:

exiv2 -pt votre_photo.JPG

Exemple de résultat:

(...)
Exif.GPSInfo.GPSLatitudeRef     Ascii    2  North
Exif.GPSInfo.GPSLatitude        Rational 3  48deg 13' 24" 
Exif.GPSInfo.GPSLongitudeRef    Ascii    2  East
Exif.GPSInfo.GPSLongitude       Rational 3  9deg 52' 51"

Ce script utilise une simple boucle (for, do, done) il est donc facile de l’enrichir avec d’autres champs complémentaires (copyright, auteur, commentaire, etc…)

Liste des champs possibles sur www.exiv2.org/tags.html

Modifier les métadonnées EXIF de ses photos

Modifier les métadonnées EXIF avec Exiv2Modifier les métadonnées EXIF de ses photos

Comment rajouter des informations aux données « EXIF » d’une photo? En effet il manque souvent l’auteur, le commentaire… Je vous propose l’une des méthodes sous linux…

Rapide, car légère, puisqu’en ligne de commande.

Avant de commencer, ayez une idée de ce qu’est un fichier EXIF d’une photographie, ensuite prenez connaissance des variables susceptibles d’enrichissement.
C’est fait? Alors c’est parti…

Imaginons, j’ai pris une série de photographies, avant de les renommer je souhaite rajouter d’autres renseignement aux métadonnées « EXIF »: Un commentaire, le lieu de prise et nom de la plante que j’ai photographié dans la série, il s’agit de la colchique d’automne (Colchicum autumnale).
Si je n’avais qu’une photographie à modifier j’utiliserai la ligne suivante:

$ exiv2 -M"set Exif.Photo.UserComment charset=Ascii Paris - Colchicum autumnale (colchique d'automne) " DSC_0013.JPG

Mais voilà, j’ai plusieurs photographies à modifier, alors je vais utiliser une boucle « for, do, done » et pourquoi pas en faire un script pour éviter la réécriture de la ligne à chaque fois, à vous de voir.

Ajoutons aux données EXIF un commentaire pour le nom et lieu: Paris – Colchicum autumnale (colchique d’automne)

$ for i in *.JPG; do exiv2 -M"set Exif.Photo.UserComment charset=Ascii Paris - Colchicum autumnale (colchique d'automne)" $i; done

Vérifions avec la commande exiv2 et l’option « -pt » pour plus de détail:

$ exiv2 -pt DSC_0012.JP
(...)
Exif.Nikon3.Saturation           Ascii      16  NORMAL
Exif.Nikon3.VariProgram          Ascii      16  AUTO
Exif.Photo.UserComment           Undefined  56  Paris - Colchicum autumnale (colchique d'automne)
Exif.Photo.SubSecTime            Ascii       3  50
(...)

De la même façon on peut mettre le nom d’auteur, le Copyright etc.
Exemple:

$ for i in *.JPG; do exiv2 -M"set Exif.Image.Artist Mon_prenom et NOM" $i; done
$ for i in *.JPG; do exiv2 -M"set Exif.Image.Copyright Creative Commons BY-NC-SA" $i; done
$ exiv2 -pt DSC_0012.JP
(...)
Exif.Image.Artist                 Ascii      18  Mon_prenom et NOM
Exif.Image.YCbCrPositioning       Short       1  Co-sited
Exif.Image.Copyright              Ascii      26  Creative Commons BY-NC-SA
(...)
Exif.Photo.UserComment            Undefined  56  Paris - Colchicum autumnale (colchique d'automne)
(...)

Renommer les photos par lot en utilisant les métadonnées EXIF

Renommer une photo en utilisant les métadonnées exif avec exiv2Renommer des photos par lot en utilisant des données EXIF de chaque image.

Ou comment avoir un nom ressemblant à « 2010-0613-16h07m08s-chantier.JPG » au lieu de « DSC_0005.JPG »

Prérequis:
« exiv2 » doit être installé.
On va utiliser les commandes « find » et « exiv2 « 

Voyons ce qu’il y a dans le répertoire courant:

$ ls
DSC_0005.JPG DSC_0006.JPG DSC_0007.JPG DSC_0008.JPG

On va renommer les photos en utilisant une partie des métadonnées EXIF de chaque image en une seule commande (ici date et heure de prise de vue).

$ find -iname "DSC_*" -exec exiv2 -r %Y-%m%d-%Hh%Mm%Ss-chantier mv {} +
$
$ ls -l
total 10004
-rwxr-xr-x 1 sima sima 2976990 2010-06-13 16:07 2010-0613-16h07m08s-chantier.JPG
-rwxr-xr-x 1 sima sima 2538376 2010-06-13 16:07 2010-0613-16h07m27s-chantier.JPG
-rwxr-xr-x 1 sima sima 2231659 2010-06-13 16:07 2010-0613-16h07m51s-chantier.JPG
-rwxr-xr-x 1 sima sima 2472989 2010-06-13 16:07 2010-0613-16h07m57s-chantier.JPG

Que c’est-il passé?
La commande find a recherché les fichiers dont le nom commence par DSC_
Lorsque la réponse est vrai (renvoi 0) exécute la commande exiv2
La commande exiv2 va renommer en prenant l’année (%Y), le mois (%m), le jour (%d), l’heure (%H), les minutes (%M) et les secondes (%S) de prise de vue en y ajoutant les personnalisations les () (hms) de heure, minutes et secondes puis chantier.

En faisant «man exiv2» ou «man find» on peut voir l’étendue des possibilités.

ATTENTION ! cette commande est récursive et si vous avez des sous-répertoires avec des fichiers correspondant à la requête, ils seront également modifiés. Dans ce cas, vous pouvez utiliser la commande exiv2 dans une boucle for, do, done

Il est facile d’en faire un script…

Renommer les photos sans utiliser les métadonnées Exif

Renommer les photos sans utiliser les métadonnées EXIFRenommer sans utiliser les métadonnées Exif.

De retour de vacances, il n’est pas rare de se retrouver avec répertoire contenant plus de 400 photos avec des noms de fichiers du genre:
dsc_0007.jpg
dsc_0009.jpg
dsc_0016.jpg

Or on souhaite que les noms soient plus explicites, genre «2010-07-vancances-numéro.jpg»

Faire des modifications une par une est fastidieux, c’est là qu’intervient la commande «sed»

On va utiliser une boucle «for, do, done», J’ai déjà donné les explications sur le billet « Initiation au shell boucle (for, do, done) » (la punition de mon fils).

Voici la ligne magique avec la commande «sed»:

for i in dsc_*; do mv $i `echo $i | sed "/^dsc_/s//2010-07-vacances-/"`; done

« dsc_ » sera remplacé par « 2010-07-vacances-« 

Ce qui donnera des noms de fichier du genre :

2010-07-vacances-0007.jpg
2010-07-vacances-0009.jpg
2010-07-vacances-0016.jpg

Pour éviter de retaper la ligne on peut faire un mini script:

#!/bin/bash
# renommer des photos dans le répertoire courant.
echo "Entrez ce que vous souhaitez remplacer, ex. dsc_, DSC ..."
echo "Gardez la numérotation finale des photos..."
echo -n "respectez les la casse, majuscules / Minuscules : "
read rempl
echo -n "Entrez ce que vous souhaitez voir à la place : "
read souhait
for i in "$rempl"*
do mv $i `echo $i | sed "/^"$rempl"/s//"$souhait"/"`
done
echo "TERMINE"

On va le nommer « renom-photos.sh »

Le rendre exécutable par:

chmod +x renom-photos.sh

Plaçons-le dans le répertoire courant et utilisons-le.
Voyons ce qu’il y a dans le répertoire courant.

$ ls -l
total 10764
-rwxr-xr-x 1 sima78 sima78 2231659 2010-06-13 16:07 DSC_0007.JPG
-rwxr-xr-x 1 sima78 sima78 2720329 2010-06-13 16:09 DSC_0009.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 DSC_0016.JPG
-rwxr-xr-x 1 sima78 sima78     383 2010-08-17 20:55 renom-photos.sh
-rwxr-xr-x 1 sima78 sima78 2036985 2010-06-18 15:03 souhait0015.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 souhait0016.JPG

On voit aussi le script qui se termine par .sh et je souhaite renommer mes photos DSC_*
Je lance le script et réponds au 2 questions…

$ ./renom-fotos.sh
Entrez ce que vous souhaitez remplacer, ex. dsc_, DSC ... (ici se serait DSC_)
Gardez la numérotation finale des photos...
respectez les la casse, majuscules / Minuscules : DSC_
Entrez ce que vous souhaitez voir à la place : 2010-07-vacances-
TERMINE

Voyons le résultat.

$ ls -l
total 10764
-rwxr-xr-x 1 sima78 sima78 2231659 2010-06-13 16:07 2010-07-vacances-0007.JPG
-rwxr-xr-x 1 sima78 sima78 2720329 2010-06-13 16:09 2010-07-vacances-0009.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 2010-07-vacances-0016.JPG
-rwxr-xr-x 1 sima78 sima78     383 2010-08-17 20:55 renom-fotos.sh
-rwxr-xr-x 1 sima78 sima78 2036985 2010-06-18 15:03 souhait0015.JPG
-rwxr-xr-x 1 sima78 sima78 1996609 2010-06-18 15:04 souhait0016.JPG
drwxr-xr-x 2 sima78 sima78    4096 2010-08-17 20:50 sous-photos

Il a donc bien modifier les fichiers commençant par « DSC_ »

Maintenant, tout ça peut être perfectionné… à vos shells.