Récupérer automatiquement des photos depuis une carte SD

Si d'aventure vous utilisez un appareil photo qui n'a pas la bonne volonté d'être compatible avec Gphoto, vous avez toujours besoin de récupérer vos images et si possible de manière automatisée. Comme bien souvent, il suffit d'écrire un petit script pour cela.

Ce script copie tous les fichiers (photos et vidéos) présents sur une carte mémoire dont vous devrez indiquer le point de montage. Le répertoire de destination sera daté (vous pourrez le renommer et ajouter un nom significatif) et pour chaque photo une miniature sera créée dont les données EXIF seront supprimées.

De plus il est possible de simplifier le lancement de ce script après insertion d'une carte mémoire dans KDE. Un peu de paramétrage est nécessaire pour cela : insérez votre carte et choisissez l'action "Ouvrir dans le gestionnaire de fichiers" dans le menu popup. Saisissez les commandes suivantes dans un terminal :

mount
ls -l /dev/disk/by-uuid

Vous devez retrouver dans les résulats le point de montage de la carte (tel que /dev/sdb1) et l'UUID correspondant (tel que 42ab-ca37). Cet UUID servira comme référence pour exécuter une commande lorsque KDE accède à ce volume.

Via "Configuration du système" lancez l'outil "Actions du périphérique". Cliquez sur le bouton "Ajouter" et appliquez les options ci-dessous :

- nom de l'action : Importation de photos

- cliquez sur l'icône en haut à gauche pour choisir une icône.

- indiquez le chemin d'accès au script "import-photos-KDE-SD".

- pour le paramètre, choisissez le type "Correspondance de la propriété" avec comme type de périphérique "Volume de stockage" et le nom de la valeur "Uuid" et donnez l'UUID récupéré précédemment.

Dans le cas où votre carte mémoire n'ait pas d'UUID vous pouvez éventuellement vous rabattre sur le nom du volume (Label), mais il arrive que cette information soit aussi absente ou que vous ayez plusieurs cartes avec des noms identiques. Reste alors à reformater la carte, après avoir récupéré les éventuels fichiers bien sûr, avec la commande suivante depuis le compte root (la carte ne doit pas être montée) :

mkfs.msdos -i 20120514 -n SD_CARD /dev/sdb1

La première option acceptera toute chaîne hexadécimale de huit caractères, et le nom ne devra pas comporter d'espace. La commande blkid permettra de vérifier le résulat.

publié le 15 mai 2012