Cet outil scanne une partition de disque à la recherche de données ressemblant à des fichiers de photographies. La nature du disque (dur ou flash) est sans importance et l'analyse est faite à partir des données brutes du disque, sans tenir compte des fichiers qui y sont ou y étaient hébergés. Il est ainsi possible de retrouver des photos qui n'y sont plus depuis un certain temps, enfin c'est ce que vous pensiez auparavant !

Bien sûr plus vous écrirez de nouvelles données sur la carte flash avant de récupérer vos photos perdues et moins vous aurez de chances de les récupérer. Ainsi il faut lancer cette récupération le plus vite possible ou acheter une nouvelle carte pour continuer vos prises de vue. Si vous n'avez pas la possibilité d'emmener un ordinateur avec vous, prenez donc avant de partir une clef USB Linux ou un LiveCD avec testdisk au cas où.

Installation

testdisk est disponible en standard parmi les très nombreux logiciels fournis avec Linux Debian. Des versions pour d'autres systèmes comme l'excellent Mac OS X ou le nettement moins recommandable Windows® sont aussi disponibles, mais il faudra les installer à la main. En effet, sous Debian et dérivés, on installe testdisk de cette manière en ligne de commande :

$ sudo apt-get install testdisk

Vous pouvez aussi préférer faire cela avec votre gestionnaire graphique de logiciels, mais pour un seul paquet, la version ligne de commande sera de très loin la plus rapide !

Remarques :

  • si vous avez un Eee PC, il vous faudra au préalable déclarer des dépôts supplémentaires afin d'installer testdisk sans tracas.
  • nous ne nous intéresserons évidemment pas par la suite aux systèmes non libres mentionnés plus haut !

Récupérer les photos

photorec fonctionne en mode console et en tant qu'administrateur uniquement pour des raisons de sécurité[1]. Il faut donc le lancer par exemple avec la commande suivante :

$ sudo photorec

Rappelons que sudo exécute une commande en tant que l'administrateur root. Faites attention à bien régler la taille de votre console si vous avez un petit écran : il faut au moins 25 lignes de texte en hauteur sans quoi photorec ne vous proposera que de quitter ! La récupération de vos photos se déroulera de cette façon :

  1. choix du disque à analyser
  2. choix du type de partition
  3. choix de la partition à analyser
  4. choix du type de système de fichiers
  5. choix de la zone à analyser (plages non allouées ou tout)
  6. choix du répertoire de destination
  7. lancement du scan

En fin de billet des captures d'écran pourront au besoin vous aider à mieux appréhender la nature des 6 premières étapes. À la fin du scan, on retrouvera dans le répertoire recup_dir.1/ créé par photorec les fichiers récupérés mais avec un nom sans rapport avec la chronologie des photos :

$ ls recup_dir.1/
f101189.jpg  f13341.jpg  f30421.jpg  f46717.jpg  f63213.jpg  f76581.jpg
f102605.jpg  f1421.jpg   f32045.jpg  f47437.jpg  f63997.jpg  f77261.jpg
[…]

En fait il semble que le nom soit simplement créé à partir de l'emplacement du fichier sur la partition. On est donc bien embêté lorsqu'il s'agit de remettre les photos dans l'ordre chronologique. C'est là que les données EXIF vont nous tirer d'affaire…

Remarque : les partitions analysées par photorec sont montées en lecture seule. Ainsi, même si vous vous trompiez de disque, il n'y a aucun risque si ce n'est celui de perdre du temps inutilement !

Renommer les fichiers

Les données EXIF sont des informations supplémentaires inscrites dans les fichiers des photos par l'appareil photo. On y trouve bien sûr des données de prise de vue comme l'ouverture ou la vitesse d'obturation, mais on y trouve surtout la date de prise de vue. L'idée est donc d'utiliser cette information pour renommer les photos afin qu'elles soient à nouveau dans l'ordre chronologique.

NB: ceci peut aussi être intéressant dans le cas de photos provenant d'appareils différents; la numérotation des fichiers est différente et donc elles n'apparaissent pas tout-à-fait dans l'ordre chronologique une fois rassemblées.

Il existe pour cela plusieurs outils comme par exemple exiv2 ou encore renrot. C'est ce dernier que nous utiliserons, il est capable de renommer les photos mais aussi de les tourner automatiquement lorsque l'appareil photo enregistre l'information d'orientation dans les données EXIF. C'est donc un outil qui peut rendre de bons services dans d'autres situations pour ceux qui prennent de très nombreuses photos par exemple. Son installation donne très classiquement en ligne de commande :

$ sudo apt-get install renrot

Ensuite renrot offre de nombreuses options pour son exécution parmi lesquelles :

  • -d spécifie le répertoire où se trouve les photos
  • -e spécifie l'extension des fichiers des photos à traiter
  • -n modifie le modèle du nom de fichier généré automatiquement
  • --dry-run lance l'outil en mode test, sans aucune modification des fichiers

Il y a néanmoins un problème : seul root a le droit de modifier les fichiers que l'on a retrouvés avec photorec puisque nous l'avons lancé en tant qu'administrateur… Il faut donc commencer par se redonner les bons droits :

$ sudo chown -R $(whoami):$(id -gn) recup_dir.1/

Rappelons que chown modifie le propriétaire et le groupe d'appartenance d'un fichier ou répertorie, que $(…) dans une commande est remplacé par le résultat de la commande qu'il contient, que whoami donne l'identifiant de l'utilisateur courant (vous !) et que id -gn retourne le nom du groupe principal de l'utilisateur courant.

On peut ensuite tester le renommage des fichiers avec la commande suivante :

$ renrot -d recup_dir.1/ -e jpg -n date%Y%m%d-heure%H%M%S --dry-run

Ici nous obtiendrons des noms du type date20080821-heure142943.jpg, donc date 21 août 2008 et heure 14:29:43. Une fois que vous êtes satisfait du nom, il n'y a plus qu'à éliminer le --dry-run. Dans notre cas on obtient alors les fichiers suivants :

$ ls recup_dir.1/
date20080815-heure212854.jpg      date20080901-heure214039.053.jpg
date20080821-heure141857.jpg      date20080901-heure214039.054.jpg
[…]

Un des avantages de renrot sur exiv2 est que si vous avez des photos prises à la même date et à la même heure (mode rafale par exemple), renrot ajoutera sans poser de questions le n° du fichier derrière afin de différencier ces photos tout en continuant à les renommer. Par contre rien ne garantit évidemment qu'une série de photos sera encore dans le bon ordre…

Vous voilà maintenant prêt à affronter des situations qu'on croyait perdues auparavant. Pour avoir des enfants qui commencent à jouer avec les appareils photos et confondent « effacer » avec « tout effacer »[2], je garantis que photorec fait des miracles !

Captures d'écran

choix du disque à analyser

photorec propose une liste des disques du système en donnant leur taille et leur nom pour faciliter le choix.

voir en grand

choix du type de partition

Une clef USB ou une carte flash est toujours en partition de type Intel à l'achat, il n'y a donc normalement pas à réfléchir ici. À moins que vous n'ayez eu un problème avec votre disque dur et que ce soit celui-ci qui est à scanner.

voir en grand

choix de la partition à analyser

Pareil : normalement c'est une partition FAT si vous n'avez rien reformaté.

voir en grand

choix du type de système de fichiers

Ça peut paraître répétitif, mais c'est encore un système de fichiers FAT qu'il faut choisir !

voir en grand

choix de la zone à analyser (plages non allouées ou tout)

Ici on peut choisir de ne scruter que les zones de disque qui sont sensées ne pas être occupées par des fichiers, ou tout le disque. C'est dans les zones non allouées que l'on va retrouver des fichiers qu'on croyait perdus.

voir en grand

choix du répertoire de destination

C'est simplement le répertoire dans lequel le fameux répertoire recup_dir va atterrir. Comme indiqué certes en anglais, il est important que ce répertoire ne soit pas dans la partition en cours d'analyse !

voir en grand

en cours de scan

Pendant le scan photorec a la gentillesse de nous indiquer le temps restant estimé. Ce n'est pas du luxe car c'est effectivement assez long. En prime on sait aussi en temps réel le nombre de fichiers retrouvés par type de fichier.

voir en grand

photorec a terminé son travail : ici on a récupéré 123 photos sur une carte flash de 64Mo, ça doit presque être un sans faute ! Pour les vidéos par contre, je n'ai jamais réussi à récupérer un fichier complet fonctionnel.

voir en grand

Notes

[1] photorec ne se contente pas de retrouver vos photos, il retrouve plus de 180 types de fichiers, ce qui peut poser des problèmes de sécurité des données…

[2] surtout après qu'ils aient basculé la langue en allemand…