Blog Metlivi

Comment rechercher les fichiers corrompus dans une photothèque consolidée

Pour analyser une photothèque consolidée, scannez chaque image avec un décodeur qui lit les données d'image, enregistrez un rapport des fichiers qui échouent ou déclenchent des avertissements, puis inspectez ces fichiers individuellement avant de remplacer ou restaurer quoi que ce soit. Une vérification rapide des vignettes ou de la taille des fichiers peut repérer les problèmes évidents, mais elle ne garantit pas que l'image complète est lisible. Ce flux de travail utilise magick identify d'ImageMagick et est destiné à une bibliothèque stockée sur un disque local ou monté.

15 octobre 20266 min de lecturePar Metlivi Editorial Team
Section 1

Ce qu'une vérification de corruption peut — et ne peut pas — vous révéler

Un fichier peut avoir une extension habituelle et une taille plausible tout en contenant des données d'image tronquées ou endommagées. À l'inverse, un fichier qui s'ouvre dans une visionneuse peut tout de même générer des avertissements ou échouer dans un autre décodeur. Une analyse enregistre la façon dont un outil particulier lit un fichier ; elle ne prouve pas que chaque pixel est visuellement correct ni que toutes les applications interpréteront le fichier de manière identique.

La commande magick identify d'ImageMagick signale les caractéristiques de l'image et peut repérer les fichiers incomplets ou corrompus. Pour un contrôle rigoureux, utilisez +ping pour demander une lecture intégrale : ImageMagick précise que son mode « ping » par défaut lit uniquement les informations nécessaires à l'identification de base et peut ainsi éviter de lire l'image entière. Ajoutez -regard-warnings pour que les avertissements affectent le code de sortie (exit status) de la commande. Documentation ImageMagick Identify, Utilisation de base d'ImageMagick

Considérez le résultat comme un premier tri. Un avertissement signalé mérite d'être examiné ; il ne prouve pas, à lui seul, que la photo est inutilisable. Une analyse sans erreur signifie que ce décodeur s'est exécuté sans signaler d'anomalie, et non que l'image est visuellement impeccable ou que tous les détails propres au format de fichier sont valides.

Section 2

Préparer la photothèque avant l'analyse

Commencez avec une copie stable ou une sauvegarde. N'exécutez pas de réparation ou de conversion sur l'unique exemplaire d'un fichier : certaines tentatives de récupération peuvent altérer les données, tandis qu'une écriture interrompue risque d'aggraver l'état d'un fichier endommagé. Si la photothèque consolidée s'étend sur plusieurs disques ou dossiers, notez chaque répertoire racine que vous prévoyez d'inclure.

Fermez les logiciels qui importent, modifient ou synchronisent activement la collection. Cela réduit le risque qu'un fichier soit modifié en cours d'analyse. Assurez-vous que les disques montés sont accessibles et que le compte exécutant l'analyse dispose des droits de lecture requis. Une erreur de permission ou un volume déconnecté doit être traité comme une zone non analysée, et non comme un résultat sain.

Installez ImageMagick depuis sa distribution officielle pour votre système d'exploitation, puis vérifiez que la commande magick est accessible dans un terminal. Testez-la d'abord sur quelques images saines connues. La syntaxe de la commande d'ImageMagick correspond à la version 7 ; les installations plus anciennes peuvent utiliser des noms de commande différents. N'interprétez pas une erreur de commande introuvable ou de format non pris en charge comme la preuve qu'un fichier est corrompu.

Section 3

Lancer une analyse complète et consigner le rapport

Sur macOS ou Linux, Bash peut parcourir une photothèque de manière récursive et consigner les échecs ainsi que les avertissements dans un journal séparé. Remplacez /path/to/photo-library et le chemin du rapport par vos emplacements réels. Conservez le rapport en dehors de la bibliothèque analysée afin que le scan ne le prenne pas pour une image.

: > "$HOME/photo-scan-errors.log"
find "/path/to/photo-library" -type f -print0 |
while IFS= read -r -d '' file; do
  if ! magick identify +ping -regard-warnings "$file" >/dev/null 2>>"$HOME/photo-scan-errors.log"; then
    printf '%s\n' "$file"
  fi
done

Le terminal affiche le chemin des fichiers dont la vérification a échoué ; le fichier journal rassemble les messages de diagnostic d'ImageMagick. La boucle traitant chaque fichier, les éléments qui ne sont pas des images peuvent également être signalés comme des formats non reconnus. C'est normal si la bibliothèque contient des fichiers sidecar, des documents ou d'autres types de contenus. Pour une archive mixte, distinguez un « format inconnu » d'une véritable erreur de décodage et limitez l'analyse aux extensions d'image connues si nécessaire. Notez toutefois que le filtrage par extension peut omettre des images dont les noms comportent des extensions inhabituelles ou absentes.

Si le journal est vide et qu'aucun chemin ne s'est affiché, l'exécution n'a produit aucun diagnostic ni échec lors du contrôle par ce décodeur. Vérifiez que le chemin racine était correct et que l'analyse est bien allée jusqu'au bout ; un rapport vide causé par une faute de frappe, un disque inaccessible ou une commande interrompue ne signifie pas que tout est intact. Pour les très grandes photothèques, analysez un dossier ou un disque à la fois et étiquetez chaque rapport pour identifier précisément ce qui a été traité.

Section 4

Examiner chaque fichier signalé en toute sécurité

Utilisez le chemin affiché pour localiser l'original, puis lancez la vérification sur ce fichier uniquement afin d'obtenir un diagnostic plus clair : magick identify +ping -regard-warnings "/full/path/to/file.jpg". Enregistrez le message et comparez-le au comportement d'une seconde visionneuse ou d'un éditeur. Vérifiez si le fichier s'affiche en entier, partiellement ou pas du tout. Sachez qu'une application peut afficher un aperçu intégré (miniature) même lorsque les données de l'image principale sont endommagées.

Distinguez trois cas de figure dans vos notes : un fichier dont le décodage échoue complètement, un fichier qui se décode avec un avertissement, et un fichier qui se décode mais apparaît de façon inattendue incomplet ou visuellement dégradé. Cette distinction rend le suivi bien plus efficace que de traiter chaque avertissement de manière identique. Les formats multi-trames tels que le GIF ou le TIFF peuvent contenir plusieurs images au sein d'un même fichier ; inspectez les trames ou pages concernées si le problème n'apparaît qu'après la première.

Section 5

Choisir une méthode de récupération sans écraser la source

Si une autre copie existe, comparez-la avant de tenter une réparation. Une empreinte numérique (hash) de fichier permet de savoir si deux copies ont exactement le même contenu : Microsoft rappelle que des hash identiques identifient un contenu de fichier parfaitement similaire, tandis que des noms ou des extensions différents n'affectent pas ce résultat. Par exemple, la commande Get-FileHash de PowerShell utilise SHA-256 par défaut. Microsoft Learn: Get-FileHash

Des hash identiques prouvent que deux copies sont strictement identiques au bit près ; ils n'indiquent pas pour autant que l'une ou l'autre des copies est saine. Si les deux copies échouent de la même façon, cherchez une autre sauvegarde ou la source originale. Si l'une réussit et l'autre échoue, conservez la copie fonctionnelle et ne remplacez la copie endommagée qu'après avoir vérifié qu'il s'agit bien de la même photo voulue. Conservez le fichier d'origine signalé jusqu'à ce que le remplacement soit validé.

Si aucune copie saine n'est disponible, créez un duplicata distinct du fichier signalé avant de tester un outil de récupération spécifique au format. Revérifiez intégralement tout fichier récupéré, ouvrez-le dans une visionneuse et comparez ses dimensions ou d'autres caractéristiques attendues. La documentation d'ExifTool précise que cet outil n'est pas conçu pour valider les images ; ses vérifications -validate apportent des contrôles supplémentaires principalement pour le JPEG et le TIFF. Utilisez-le donc comme un diagnostic d'appoint plutôt que comme un test universel de conformité. FAQ ExifTool : ExifTool peut-il servir de validateur d'image ?

Section 6

Confirmer la couverture de l'analyse et tenir un registre utile

Avant de considérer l'audit comme terminé, vérifiez que chaque dossier prévu a été inclus, que l'analyse est allée à son terme et que le rapport a bien été enregistré. Examinez séparément les messages signalant un disque illisible, un problème de droits d'accès, un format non pris en charge ou un décodeur manquant, pour ne pas les confondre avec des échecs confirmés de lecture d'image. Relancez la vérification sur les fichiers restaurés et inspectez visuellement un échantillon de la collection dans une visionneuse, en accordant une attention particulière aux éléments signalés et aux fichiers multi-trames.

Conservez la date de l'analyse, la version d'ImageMagick, la liste des dossiers analysés et le journal des erreurs avec vos notes de maintenance. Ces archives permettront de comparer les résultats lors d'une future analyse et d'aider à distinguer un ancien avertissement d'un nouveau problème de lecture. Un contrôle rigoureux associe la lecture intégrale par un décodeur, une vérification visuelle ciblée et la validation de chaque copie de remplacement ; aucune commande unique ne peut prendre ces décisions à votre place.

Section 7

Sources

À lire aussi

Continuer sur ce thème