Version 0.4

La version 0.4, sortie le 11 juillet, marque l'apparition de l'interface utilisateur "urwid" qui est en mode texte, mais très interactive et en couleur. C'est la première interface à vraiment utiliser le comportement paresseux du Hachoir. L'extracteur de méta-données sait lire beaucoup plus d'informations des images JPEG, vidéos AVI, sons WAV. En particulier, il utilise les méta-données EXIF et IPTC et sait calculer la durée des formats de fichier cités. Autre amélioration : Hachoir sait désormais rattraper certaines erreurs de fichiers corrompus et/ou des parseurs. Ceci permet par exemple d'ouvrir un fichier tronqué et/ou malformé. Au niveau technique, les parseurs ne sont plus choisis selon le type MIME déterminé par libmagic, mais indiquent eux-même s'ils sont capables de lire un fichier ou non.

Version 0.5

La version 0.5, sortie le 19 août, est une avancée pour les frontends : les programmes qui utilisent Hachoir. En particulier, hachoir-metadata accepte maintenant plusieurs fichiers en entrée et hachoir-urwid gagne les options --preload (nombre de champ à précharger) et --path (positionne le curseur sur un champ donné au lancement du programme). Julien a beaucoup travaillé sur le système de fichier FAT qui a pour particularité d'être complètement éclaté : chaque fichier est fragmenté en secteur de 512 octets qui sont dans un ordre plus ou moins aléatoire (c'est ce qu'on appelle la fragmentation de fichiers). Il est également désormais possible de hacher un fichier contenu dans un autre fichier, comme par un exemple un fichier dans une archive TAR. Les parseurs ASF (vidéo WMV et musique WMA), MOV (vidéo Apple Quicktime) et CDA (CD audio sous Windows) font leur apparition. Enfin, un jeu de test a été crée pour tester de façon automatique une grosse partie de Hachoir.

Contributions à la version 0.5

La sortie de la version 0.5 a été suivie d'un afflux de contributeurs :

  • paquet pour Gentoo, ArchLinux, Mandriva et Debian ;
  • nouveau parseur iTunesDB ;
  • portage (en cours) d'hachoir-urwid sous Windows ;
  • prise de contact par des gens intéressés pour l'utiliser ;
  • nombreux rapports de bugs.

La version 0.5 a été suivie de très près par la version 0.5.1 qui corrige un bug sur AMD64 et la version 0.5.2 qui permet d'installer Hachoir sans setuptools (module Python qui n'est pas dans la distribution standard).

Développements récents

Depuis, le développement est encore très actif. On peut noter :

  • Passage en Unicode de toutes les chaînes de caractère contenant du texte et support des chaînes de caractères encodées en UTF-16 et UTF-32 ;
  • Utilisation de gettext pour la traduction : une grosse partie du projet est traduite en français ;
  • La fonctionnalité « Autofix » (correction pour fichier corrompu ou parseur bogué) est maintenant mature ;
  • La gestion des flux fragmentés est plus automatisée qu'avant (plus besoin de marquer manuellement les champs à chaîner) ;
  • Hachoir peut hacher un fichier au fur et à mesure, dans la mesure du possible, sans en connaître la taille. Ceci permet en particulier d'utiliser Hachoir avec des pipes (ex: « scp serveur:fichier - | hachoir-urwid »).

Tout ceci me réjouit beaucoup car je sens que Hachoir atteint un bon degré de maturité et de plus en plus de monde s'y intéresse. Pour la suite, je ne sais pas encore trop ce qui va être développé. On verra déjà :-)