URL: https://linuxfr.org/users/vstinner/journaux/nouvelles-du-programme-hachoir Title: Nouvelles du programme Hachoir Authors: Victor STINNER Date: 2006年03月26日T03:50:18+02:00 Tags: Score: 0 _Ce journal est un appel à contribution_ J'ai pas mal bossé sur une réécriture _from scratch_ (version 0.2) qui corrige les défauts de la première ébauche (v0.1) : meilleure API (plus simple, plus claire), plus rapide (temps de chargement), adresse et taille en bit (et non plus en octet), support de l'écriture (ajout/suppression/modification de champs), séparation nette entre la bibliothèque et l'interface utilisateur, etc. La nouvelle version est encore en gros travaux bien qu'elle fonctionne déjà bien en mode visualisation (uniquement en mode texte pour l'instant). La modification d'un fichier reste encore expérimentale. Je n'ai pas trop touché à la version précédente, j'ai écrit quelques parseurs supplémentaires. J'ai écrit en quelques heures un parseur des protocoles réseaux (Ethernet, ARP, IPv4, TCP, UDP). Le résultat ressemble fortement à Ethereal (normal, je me suis basé dessus). [http://www.haypocalc.com/tmp/hachoir_tcpdump.png](http://www.haypocalc.com/tmp/hachoir_tcpdump.png) Pour prévoir l'accueil de contributeurs, j'ai demandé un compte sur le service _Python hosting_ qui offre gratuitement (pour les projets relatifs au Python) SubVersion + Trac (très agréable à utiliser). J'ai migré le site internet, traduit en anglais au passage, à cette adresse : [http://hachoir.python-hosting.com/](http://hachoir.python-hosting.com/) Bon, **je vais quand même rappeler ce qu'est le projet Hachoir** : Hachoir est une bibliothèque écrite en Python permettant de visualiser le contenu d'un fichier binaire sous forme de champs ; un champ étant l'information la plus petite qui puisse être stockée (bit, entier, flottant, chaîne). Les champs sont organisés hiérachiquement (sous forme d'arbre), comme un système de fichier Unix par exemple. On travaille vraiment au plus bas-niveau, très proche du fichier. L'intérêt est de savoir exactement ce que contient un fichier, comment il est construit. Les utilisations peuvent être très nombreuses : extraction d'informations précises d'un fichier (un/plusieurs champ(s) dans un fichier, tel que les méta-informations), modifier certains champs d'un fichier normalement inaccessibles (ex: commentaires d'un archive gzip), convertir un format de fichier vers un autre format, etc. Il n'existe pas encore d'application utilisant Hachoir, mise à part un visionneur (interface GTK) de fichier basé sur la version 0.1. Mais le potentiel d'applications est très large. Actualités précédentes sur mon projet : [http://linuxfr.org/2005/12/29/20131.html](http://linuxfr.org/2005/12/29/20131.html) (29 décembre 2005) [http://linuxfr.org/~haypo/19974.html](http://linuxfr.org/~haypo/19974.html) (15 novembre 2005) Retrouvez plus d'informations sur le site web : [http://hachoir.python-hosting.com/](http://hachoir.python-hosting.com/) Haypo