- Victor Stinner (haypo)
- Page perso
- Compte créé le 23 octobre 2002
- Vu le jeudi 28 août
Format RSS des journaux- haypo AT dlfp.org
- Contacter cet utilisateur
Dernière(s) dépêche(s)
[Toutes] :
- Configurez votre pare-feu Netfilter avec Nuface 2.0
- Fusillez vos applications avec Fusil 0.6
- Publication du projet Hachoir en version 1.0
- Voyagez dans le temps avec Macfly 1.0
- Mesa 3D version 6.5.3
- PyPy, le serpent qui se mord la queue, sort en version 0.99
- Faites parler vos fichiers avec hachoir-metadata
- Hachoir version 0.6
- Rejouez chez vous les plus grandes batailles de la guerre du libre
- Faille de sécurité dans le pilote propriétaire Nvidia
Derniers commentaire(s) [Tous] :
- Re: Perdu ! (Score : 10)
- Re: scons pas bien (Score : 2)
- scons pas bien (Score : 4)
- Public visé (Score : 4)
- Re: Erf (Score : 2)
- Re: Roundup et Trac (Score : 2)
- Syndrôme NIH (Score : 1)
- Re: Re: (Score : 7)
- Re: Attention, ce n'est qu'un dispositif de secours ! (Score : 6)
- Hey, super ! (Score : 9)
- C'était donc ça ! (Score : 10)
- Re: Voir les corrections des failles ? (Score : 1)
- Re: journal ? (Score : 3)
- xterm vs reste du monde (Score : 6)
- Re: autre initiative (Score : 2)
- Re: autre initiative (Score : 3)
- Re: c'est nul (Score : 4)
- Re: Centralisé et Décentralisé (Score : 2)
- Re: Toujours la même chose (Score : 5)
- Re: Boarf (Score : 6)
Dernières entrées dans le suivi [Toutes] :
- Erreur encodage texte Javascript (déjà visité) (Score : 0)
- Erreur encodage HTML (Score : 0)
- SomeNews : Temporairement hors service (Score : 0)
Conférences Pycon FR 2008 en ligne
Posté le 01 juin 2008http://dl.afpy.org/pycon-fr-08/
Supports (diaporamas) des conférences :
http://fr.pycon.org/presentations_2008/
Liste des conférences :
http://fr.pycon.org/programme
Enfin, n'hésitez pas à répondre à notre questionnaire pour nous aider à améliorer les prochaines rencontres ! Questionnaire sur Pycon FR 2008 :
http://www.surveymonkey.com/s.aspx?sm=BR3T8HaM03ER9kJSmK8Grw(...)
> Lire le journal (10 commentaires, moyenne: 3,7).
Sortie de la bibliothèque Hasard version 0.2
Posté le 31 mai 2008http://haypo.hachoir.org/trac/wiki/hasard
Ma motivation est que l'API C, srand() et rand(), est difficile à utiliser et peu de gens l'utilisent correctement. L'idée est donc de créer des fonctions qui empêchent les erreurs courantes : utilisation d'une faille entropie pour initialiser le générateur (typiquement time(NULL), voir getpid() et getppid()), utilisation de rand()%nombre pour générer un nombre dans l'intervalle [0; nombre-1].
J'ai donc écrit des fonctions pour générer des booleans, des entiers dans un intervalle, des nombres flottants et des octets aléatoires. La bibliothèque hasard supporte de nombreux générateurs (Mersenne Twister, ISAAC, Park-Miller, RANDU, ...) pour générer des nombres, et divers générateurs pour initialiser la graine (/dev/urandom et /dev/random pour l'instant). Par défaut c'est Mersenne Twister qui est utilisé avec /dev/urandom.
Pour faciliter l'intégration dans des biblitohèques et projets existants, la licence choisie est la licence BSD. La bibliothèque est écrite en C et un binding Python est disponible (tests/hasard.py). Le code est encore en développement et mériterait d'être relu. J'ai écrit divers tests pour mesurer l'entropie, tester les algorithmes, lancer le programme ENT (calcule divers statistiques sur les nombres), etc.
Pour la suite, il faudrait améliorer la portabilité (pour l'instant, hasard vise surtout Linux) en implémentant d'autres générateurs matériels : code pour Windows, EGD, instruction Intel "XSTORE RNG", etc. Des tests doivent être fait sur processeur 64 bits et/ou big endian. Voir le fichier README pour les autres idées de développement.
> Lire le journal (39 commentaires, moyenne: 3,9).
Antispam pour blog et forum
Posté le 22 avril 2008Exemple de spam :
Par : swingers ads
Site Web : http://sexy.ads6x.com
Adult personal ads from swingers and swappers, couples, singles, bi,
http://sexy.ads6x.com >swingers ads and wives amateur couples Swingers ClubEt la sortie du programme antispam :
./antispam.py --verbose -c haypocalc.conf sexy
Match word (+2.0): sexy
Match word (+1.0): adult
Match word (+2.0): sexy
Match word (+1.0): amateur
Match URL (+1.5): http://sexy.ads6x.com
Match URL (+1.5): http://sexy.ads6x.com
Match email domain (+1.0): @gmail.com
sexy score: +7.00 ***SPAM***L'antispam est écrit en Python et distribué sous licence GPL :
http://haypo.hachoir.org/trac/wiki/antispam
L'algorithme est expliqué sur la page web du projet en anglais. J'ai écrit un article en français qui présente l'algorithme, ses qualités et défauts :
http://www.haypocalc.com/blog/index.php/2008/03/10/137-un-no(...)
Pour l'intégration à Dotclear, punbb, etc. : c'est faisable, mais ces logiciels sont difficiles à patcher. Je ne distribue donc pas de patch automatique. Je peux tenter d'expliquer comment l'intégrer pour les gens intéressés. Pour les autres, regardez le dossier plugin. Niveau dépendance, il faut pouvoir exécuter Python 2.4.
> Lire le journal (49 commentaires, moyenne: 3,1).
Comment comparer les licences de logiciel ?
Posté le 08 avril 2008J'ai pensé d'abord qu'une licence est une liste d'interdiction : tout ce qui n'est pas interdit est autorisé. On me dit que c'est exactement l'inverse, mince. J'ai alors commenté le texte de quelques licences (X11, BSD modifiée, GPLv2, WTFPL) :
http://www.haypocalc.com/wiki/Licence_BSD_modifiée
http://www.haypocalc.com/wiki/Licence_X11
http://www.haypocalc.com/wiki/Licence_GPL_version_2
http://www.haypocalc.com/wiki/Licence_WTFPL
J'ai écrit un petit programme qui décrit une licence sous forme de couples : (action, sujet, condition) ; exemple : (Distribuer, le Logiciel, Joindre la licence et Absence de garantie) pour X11. Enfin, j'ai écrit un petit algo bancal pour vérifier si une licence est inclue dans une autre. Résultat : la licence BSD modifiée n'est pas incluse dans la GNU GPLv2 car il manque la cause (Distribuer, le code source, Ne pas utiliser le nom des auteurs pour la promotion du logiciel). Pourtant, il me semble qu'un code source sous licence BSD peut être inclus dans un code source sous licence GPLv2. Ou bien ceci implique de mettre les fichiers modifiés en question sous double licence ?
Le programme Python qui compare les licences (lisez surtout la fin qui définit les licences) :
http://haypo.hachoir.org/trac/browser/license/license.py
Est-ce ma tentative de formaliser les licences de logiciel est vaine ? Je me suis trompé quelque part ? J'attend vos commentaires (constructifs) !
> Lire le journal (32 commentaires, moyenne: 2,7).
Nouvelles du noyau Linux : SMACK, PSS, mais pas de kgdb
Posté le 11 février 2008http://www.heise-online.co.uk/security/Kernel-Log-Linux-2-6-(...)
Il présente quelques nouveautés du prochain noyau Linux (2.6.25). Je suis impatient de tester SMACK (genre de SELinux simplifié) et PSS : une nouvelle façon de calculer la mémoire consommée par les processus (beaucoup plus réaliste que les infos données actuellement).
KGDB ne sera pas inclus dans Linux 2.6.25 et Linus s'explique.
--
Pas de KGDB, mais Vegard Nossum a écrit un outil appelé « kmemcheck » qui sert à vérifier les accès mémoire (à la manière de Valgrind) :
http://kerneltrap.org/Linux/Debugging_With_kmemcheck
> Lire le journal (11 commentaires, moyenne: 2,4).
Fusillez vos applications (Fusil le fuzzer)
Posté le 27 novembre 2007Fusil permet d'écrire facilement des « projects de fuzzing » avec un ensemble de fonctions et la puissance du Python : créer un processus, compiler un programme C, surveiller un processus, surveiller syslog, etc.
Projects disponibles : gettext, clamav, libc_printf, php, linux_ioctl, mplayer, identify, etc.
Site web : http://fusil.hachoir.org/trac
Exemple de session poppler :
$ ./run_fusil.sh -p project/poppler.py ~/document.pdf
[application] Fusil version 0.5 -- GNU GPL v2
[application] http://fusil.hachoir.org/
[application] Load project project/poppler.py
[session 1][project] Start session
(...)
[session 994][watch:process:pdftotext] Process killed by signal SIGSEGV
[session 994][project] End of session: score=75.0%, duration=0.378 second
[session 994][session_dir] Success: keep directory '/home/toady/local/scm/svn/fusil/project-0008/session-0005'
[project] Project done: : 5 session in 0.9 second (181.6 ms per session), total 0.9 second
[application] Exit Fusil
La dernière session (succès) est sauvée dans le dossier project-0003/session-0994/. On peut reproduire le plantage avec :
$ evince document.pdf
Error (0): PDF file is damaged - attempting to reconstruct xref table...
Error (44780): Dictionary key must be a name object
(...)
Segmentation fault
Fusil utilise de petits « agents » qui échangent des messages pour déclancher des actions. Ex : MangleFile injecte des erreurs dans un fichier valide (document PDF, vidéo AVI, image JPEG, etc.). Ensuite Fusil utilise le nom du fichier généré pour lancer un processus.
Chaque session du projet a un score compris entre -100% (l'application a rejeté les données) et 100% (succès). Plusieurs sondes existent pour calculer le score de la session :
+100% pour un processus tué avec un signal (WatchProcess)
+100% pour le motif « segmentation fault » dans la sortie stdout (FileWatch)
-100%pour une session trop rapide (TimeWatch)
etc.
Pour éviter de planter l'ordinateur durant ces bidouilles, Fusil limite la mémoire et la priorité des processus, copie seulement certaines variables d'environnement, crée un dossier de travail temporaire, etc.
---
J'ai écrit un journal et non pas une dépêche car Fusil est encore en phase de test. Toute remontée de bug est la bienvenue.
> Lire le journal (29 commentaires, moyenne: 2,6).
Nouvelle version de hachoir-metadata tolérante aux erreurs
Posté le 15 avril 2007http://hachoir.org/wiki/hachoir-metadata
La nouvelle version (0.10) a été réécrite en partie pour être tolérante aux erreurs, ce qui signifie qu'en cas d'erreur le programme ne s'arrête pas mais affiche simplement une erreur. Ceci permet d'extraire les métadonnées de fichiers tronqués ou erronés mais également de tolérer des erreurs dans Hachoir (coeur/parseur fichier).
Détails des changements
Des greffons pour Konqueror et Nautilus font leur apparition. Ils permettent de lire les métadonnées d'un fichier depuis le menu contextuel (clic droit).
De nouveaux formats sont supportés : documents Microsoft Office (Word, Excel, Powerpoint), New-style Executable (programme NE, Windows 16-bit), X11 Portable Compiled Font (.pcf) et Microsoft Archive (.mar).
Les données sont maintenant fortement typées : un numéro de piste est obligatoirement un entier, la date de création doit être une date, etc. Les chaînes de caractères sont maintenant obligatoirement en Unicode. Le filtre automatique des valeurs erronées (durée négative, chaîne vide, etc.) est un plus restrictif.
Enfin, une nouvelle option « --quality » permet de choisir la qualité des informations extraites ou plus exactement le temps alloué à l'extracteur (quality=0 : extraction rapide, quality=1 : extraction la plus complète mais surtout la plus lente). Cette option détermine par exemple le nombre de fichiers traités dans une archive ou la qualité de l'estimation du débit et de la durée d'un MP3 à débit varible (VBR).
Un programme de fuzzing a été écrit spécialement pour l'occasion. Il a permis de corriger énormément de bugs dans les différents composants d'Hachoir.
Nouvelle version des autres composants d'Hachoir
hachoir-core sort en version 0.9 (c'est essentiellement des corrections de bugs). hachoir-parser sort en version 0.10. Les nouveaux formats supportés : Archive Microsoft (.mar), icône animée pour Microsoft Windows (.ani), aide Microsoft HTML (.chm), raccourci Windows (.lnk), X11 Portable Compiled Font (pcf), Adobe Portable Document Format (PDF).
Détails des changements sur :
http://cheeseshop.python.org/pypi/hachoir-core
http://cheeseshop.python.org/pypi/hachoir-parser
Liste complète des formats supportés par Hachoir :
http://hachoir.org/wiki/hachoir-parser
> Lire le journal (8 commentaires, moyenne: 3,4).
hachoir-subfile : extrait les fichiers contenu dans un autre fichier
Posté le 16 janvier 2007* disque dur (ou image d'un disque)
* exécutable windows : peut contenir un SWF, des icônes, image GIF/PNG, ou n'importe quoi d'autre
* PDF : extraire les images JPEG
* Word / PowerPoint : extraire les images et les sons (évite d'avoir à lancer l'usine à gaz nommée OpenOffice)
* etc.
Téléchargement et plus d'info : http://hachoir.org/wiki/hachoir-subfile
Pour le tester, le plus simple est d'utiliser les snapshots.
Usage : "hachoir-subfile fichier" pour la détection, "hachoir-subfile fichier dossier" pour l'extraction (va créer dossier/file-0001.ext, dossier/file-0002.ext, ...). Attention, il écrase les fichiers existants dans le dossier spécifié. Spécifier le type de fichier recherché (avec --category et --parser) accélère beaucoup la recherche : 4 Mo/sec par défaut, 50 Mo/sec (limite de mon disque dur?) en recherchant uniquement des images JPEG (--parser=jpeg).
Les formats reconnus sont listés sur cette page :
http://hachoir.org/wiki/hachoir-parser
Problèmes / défauts :
* Certains formats sont désactivés car ils posent problèmes (JPEG, MPEG audio, TAR, ZIP, OGG)
* Ne supporte pas la fragmentation
* hachoir-subfile ne sait pas calculer la taille de certains formats (ex: EXE, DOC, gzip). L'extraction automatique ne fonctionne pas pour ces formats.
==
hachoir-subfile est un outil encore très jeune (2 semaines :-)), il a besoin d'être testé.
> Lire le journal (13 commentaires, moyenne: 2,8).
hachoir-metadata cherche des testeurs
Posté le 29 novembre 2006http://www.haypocalc.com/tmp/hachoir-metadata-svn1335.tar.bz(...)
Décompressez l'archive, entrez dans le répertoire créer, et utilisez le script hachoir-metadata que vous y trouverez. Vous pouvez les traiter plusieurs fichiers en même temps.
Spécifications :
* Formats supportés : archive (bz2, gz, tar, zip), audio (au, cda, mp1, mp2, mp3, ogg, wav, wma), image (bmp, gif, ico, jpg, pcx, png, tiff, xcf), vidéo (asf, avi, flv, mkv, mov, .mp4, wmf)
* Supporte les fichiers corrompus / tronqués
* Gère très bien Unicode (charset ISO-8859-XX, UTF-8, UTF-16), convertit les chaînes dans le charset de votre terminal
* Supprime les doublons (et si une chaîne est une partie d'une autre, conserve la chaîne la plus longue)
* Assigne une priorité aux informations qu'on peut alors filtrer avec l'option --level
* Dépend uniquement de hachoir-parser (et non pas de libmatroska, libmpeg2, libvorbis, etc.) et tourne sur tous les OS et toutes les architectures
Comparez les résultats avec d'autres outils :
(du plus généraliste au plus particulier)
* http://freevo.sourceforge.net/cgi-bin/freevo-2.0/Kaa (Kaa-metadata, qui contient le programme mminfo)
* https://gnunet.org/libextractor/ (paquet 'extract' sous Debian, le programme porte le même nom)
* http://mediainfo.sourceforge.net/fr (récement porté sous Linux)
* http://badcomputer.org/unix/code/wmainfo/
* ogginfo (programme et paquet Debian du même nom)
* mkvinfo (programme et paquet Debian du même nom)
* (liste non exhaustive, je ne les connais pas tous !)
Erreurs qui n'en sont pas :
L'erreur « Unable to parse file: (...) » indique qu'Hachoir n'a pas de parseur pour le format du fichier. L'erreur « Hachoir can't extract metadata, but is able to parse (...) » indique que je n'ai pas jugé intéressant d'écrire un extracteur de méta-donnée pour ce type de fichier :-) (mais que c'est possible si quelqu'un est motivé pour le faire car le format est reconnu). Certains parseurs peuvent également générer des avertissements (EXIF, ID3, Ogg/Vorbis) qui sont plus ou moins utiles, --quiet permet de les ignorer.
Plus d'informations :
http://hachoir.org/wiki/hachoir-metadata
> Lire le journal (41 commentaires, moyenne: 2,6).
Déshabillez Flash (du son maintenant)
Posté le 07 novembre 2006Bon, j'suis trop fénéant pour vous préparer une archive bien propre alors voici les commandes à utiliser :
svn co svn://hachoir.org/hachoir/hachoir/trunk hachoir
svn co svn://hachoir.org/hachoir/hachoir-parser/trunk hachoir-parser
svn co svn://hachoir.org/hachoir/hachoir-strip/trunk hachoir-tools(installez hachoir et hachoir-parser avec "sudo ./setup.py install")
Le script swf_deflate.py sert à décompresser les SWF compressés (car Hachoir ne sait pas les lire). Le script swf_extractor.py extrait toutes les images et tous les sons (uniquement au format MP3) d'un fichier SWF.
Merci de me rapporter tous les bugs (avec fichier posant problème en pièce jointe ou en url).
--
Au passage, j'ai aussi continué le parseur FLV qui lit maintenant l'essentiel du format. Pour le fun, j'ai écrit un script qui extrait la piste sonore d'un fichier FLV :-) (flv_extractor.py, aussi dans hachoir-tools)
Haypo
> Lire le journal (5 commentaires, moyenne: 4,2).
Déshabillez Flash
Posté le 05 novembre 2006Par contre, les fichiers SWF sont déjà plus intéressants :-) On peut y trouver des images JPEG (avec transparence pour certaine, si si, enfin c'est stocké à part), du son et de la vidéo. Je me suis surtout concentré sur les images JPEG. Après quelques heures de codage j'ai écrit un outil pour extraites toutes les images d'une animation Flash. Et le pire c'est que ça marche :-)
J'ai préparé un tarball clé-en-main, utilisez le script jpg_extractor.py :
http://www.haypocalc.com/tmp/hachoir-flash-5nov.tar.gz
(rien besoin d'installer)
Ca ne fonctionne que sur les SWF non-compressés. Mais un outil de décompression (deflate_swf.py) est livré avec.
Hachoir a besoin de Python 2.4 ou supérieur. Sous Debian Sarge, utilisez explicitement Python 2.4 : python2.4 jpg_extractor.py fichier.swf
Tout ce que je raconte concerne le projet Hachoir en version de développement (trunk), accessible via Subversion. Plus d'info : http://hachoir.org
> Lire le journal (21 commentaires, moyenne: 2,3).
Rejouez chez vous les plus grandes batailles de la guerre du libre
Posté le 25 octobre 2006Dans un moment de démence, yekcim et lodesi se sont laissés aller à démembrer littéralement les avatars ! Un avatar est maintenant défini par un squelette et des animations en fonction de la position des membres. Les avatars les plus anciens tirent leur révérence, et OpenOffice, SPIP et BSD font leur apparition pour des parties encore plus endiablées.
Cette version préliminaire (0.8alpha1) de Wormux ne demande qu'à être testée en réseau. Pour y jouer, il faut saisir l'adresse IP de celui qui héberge la partie. Vous pouvez aller sur le salon IRC #wormux-fr du serveur Freenode (irc.freenode.net) pour proposer ou rejoindre une partie :-) Le jeu en solo reste, quand à lui, tout à fait jouable.
Nous avons de besoin de toi, oui toi là-bas ! Bruitage, traduction, graphisme, programmation, rapport de bug (oui on adore ça !), tests, critiques, (...) : n'hésitez pas à nous contacter, vous nous intéressez !
Site officiel de Wormux :
http://www.wormux.org/wiki/fr/index.php
Billet de yekcim sur Wormux 0.8 :
http://yeknan.free.fr/blog/index.php?2006/10/25/146-wormux-b(...)
(propose de nombreux fonds d'écran et donne des détails sur le travail réalisé sur la partie graphisme)
Instructions pour compiler à la main :
http://www.wormux.org/wiki/Instructions_to_compile_Wormux_so(...)
(des paquets seraient très appréciés bien que ça soit du "alpha1")
Gros big up à gentildemon, drayan et Ziolive sans qui Wormux ne serait pas là où il en est aujourd'hui. Merci aussi à tous les gens listés ici :
http://www.wormux.org/wiki/en/authors.php
> Lire le journal (15 commentaires, moyenne: 2,9).
Les hommes sont des fourmis (Men are ants)
Posté le 24 septembre 2006Le jeu prend d'ailleurs tout son intérêt dans le jeu en réseau qui est déjà tout à fait fonctionnel. Un serveur de jeu est d'ailleurs disponible par défaut et peut héberger plusieurs parties simultanées. Mais vous pouvez également choisir de compiler le jeu avec le serveur pour le lancer chez vous. Le jeu se joue au tour par tour (chacun prépare son tour puis quand tout le monde cliqué sur « prêt », ou que le temps limite est atteint, le tour est joué) et une intelligence artificielle est disponible.
L'idée du jeu est d'abord née sur papier, jeu inventé durant un cours d'espagnol (comme se tient à le rappeler les crédits du jeu), et la version électronique existe depuis 6 mois. Cette dernière est encore très jeune mais parfaitement fonctionnelle. Vous excuserez de légers bugs (par contre, remontez-les aux développeurs !) et les graphismes minimalistes.
Le programme est développé en C++ avec la bibliothèque SDL et fonctionne sur Intel 32 bits sous Linux et Windows. Des tests sur d'autres architectures et systèmes d'exploitation seraient appréciés. Le code source et les données sont sous licence GNU GPL, mais j'ai noté plusieurs points qui sont loin d'être libres (musique dans le menu, mac donald et la tour laser du NOD). Je pense que ceci va être rapidement corrigé ;-)
Le projet a besoin de testeurs, graphistes, musiciens et codeurs alors n'hésitez pas à contacter ses auteurs sur la liste de diffusion (menareants-ml ZUT gna.org) ou directement Progs, programmeur principal, sur IRC (salon #wormux-fr sur Freenode).
Site internet du jeu où vous trouverez la procédure pour l'installer :
http://coderz.info/wiki/index.php?title=Men_Are_Ants
> Lire le journal (15 commentaires, moyenne: 2,8).
Dernière avancées du Hachoir (il peut écrire !!!)
Posté le 11 septembre 2006Changements en résumé
* support de l'édition de fichier, encore en développement : voir http://hachoir.org/wiki/HachoirEditor
* supporte les pipes en entrée (cat fichier | hachoir-urwid)
* passage de toutes les chaînes de texte en Unicode, utilisation de gettext et traduction en français
* automatisation des mesures de performance
* support des chaînes l'UTF-16 et UTF-32
* tourne sur CPython 2.2 à 2.5, IronPython 1.0, pypy (svn) et Jython 2.2, certains ayant besoin de patch
* plein de corrections de bugs (MP3, ID3v2, méta-données, etc.)
Idées pour l'édition
J'ai écrit ce journal pour recueillir des idées (vos idées) maintenant que Hachoir supporte l'édition (je rappelle : encore dans un stage préliminaire). J'avais déjà pensé à écrire un fuzzer basé sur Hachoir. J'ai aussi pensé à l'inverse : utiliser Hachoir pour valider un fichier (comme un document XML via une DTD). Voir pour les deux :
http://hachoir.org/wiki/Notepad
Autre idée : écrire un programme qui supprime les "espions" d'un fichier (données pouvant aider à identifier son auteur), tel que les coordonnées GPS des méta-données EXIF, les noms de fichier, commentaires (utilisateur ou signature du logiciel utilisé pour générer le fichier).
Comme pour la lecture, l'API pour édition est très simple. Exemple : « editor["end_central_directory/comment"].value = "new comment" » pour modifier le commentaire d'une archive ZIP, ou encore « del editor["filename"]; editor["has_filename"].value = False » pour supprimer le nom de fichier d'une archive gzip.
Installation
Si vous voulez tester Hachoir : utilisez la version SVN. Si vous ne pouvez pas, utilisez un de ces fichiers (tarball de la version svn 996) :
http://www.haypocalc.com/tmp/hachoir-0.6alpha1-py2.4.egg (egg)
http://www.haypocalc.com/tmp/hachoir-0.6alpha1.tar.gz (tar.gz)
(voir aussi http://hachoir.org/wiki/Install )
Liens
Changements en long et en large, et toutes le infos sur le Hachoir :
http://hachoir.org/
Actualité linuxfr du 19 août dernier :
http://linuxfr.org/2006/08/19/21217.html
Haypo
> Lire le journal (22 commentaires, moyenne: 3,3).
MultiDeskOS et Jayce dans Wikipédia
Posté le 08 septembre 2006http://fr.wikipedia.org/wiki/MultiDeskOS
http://fr.wikipedia.org/wiki/Jayce
Je vous invite à compléter ces articles car je pense qu'ils ont largement leur place dans Wikipédia.
Voir également le journal de ploum :
http://linuxfr.org/~ploum/22382.html
(où vous trouverez le commentaire de Pierre Tramal)
Haypo
> Lire le journal (17 commentaires, moyenne: 3,1).
Hachoir 0.4
Posté le 10 juillet 2006De plus, Hachoir est maintenant capable de rattraper les erreurs des parseurs bogués ou des fichiers corrompus. Il peut extraire les méta-données d'une image, musique ou vidéo, même s'il n'a que les premiers kilo-octets du fichier et/ou si une partie des méta-données sont corrompues.
Au niveau des méta-données, cette version donne beaucoup plus d'informations (ex: durée d'un vidéo), et sait maintenant utiliser les informations EXIF et IPTC (Photoshop).
Les nouveaux parseurs sont IPTC, Ogg, Matroska, et les informations Photoshop (8BIM).
Plus d'informations sur le site internet :
http://hachoir.python-hosting.com/wiki/HachoirYield
--
Hachoir n'a que peu de similarité avec Beagle/Kat, à la limite il pourrait servir de source de méta-données tel que libextractor ou mmpython si la partie « extraction des méta-données » était plus développée.
Hachoir est avant-tout une bibliothèque. Il peut être utilisé pour faire des traitements à la chaîne. On pourrait imaginer extraire les images d'une présentation PowerPoint (si le parseur Microsoft Office était plus évolué :-)).
À terme, il permettra d'éditer des fichiers et pourra alors servir à modifier un champ ou supprimer des champs (l'ajout est plus hasardeux). Exemple d'application : supprimer les mouchards d'un fichier (logiciel utilisé pour créer un document, date de création, coordonnées GPS, etc.). Autre exemple : localiser les espaces inutilisés (ils sont légions dans les fichiers) et les utiliser comme espace de stockage discret.
Anciens journaux :
http://linuxfr.org/~haypo/21758.html (30 mai 2006, 16 commentaires)
http://linuxfr.org/~haypo/21556.html (5 mai 2006, 8 commentaires)
> Lire le journal (17 commentaires, moyenne: 2,7).
Progrès dans l'équipe de traduction du jeu Wormux
Posté le 16 juin 2006Je voulais parler un peu de traduction de logiciels, et en particulier du jeu Wormux. Je trouve ça super les traductions :-) Au début, le jeu était en français. Mais à la première annonce sur un site anglophone (happypenguin pour ne pas le citer), des gens ont criés "bouuuuh, le jeu n'est pas en anglais". C'est idiot car on choisit la langue de base qu'on veut ! na ! Mais bon, finalement on a pris l'anglais, pour que des francophobe puissent contribuer au code.
On est ensuite passé à gettext(). Depuis pas si longtemps (6 mois), on est passé à la bibliothèque SDL qui permet un rendu du texte avec des polices TTF (et non pas des polices bitmap). On active UTF-8, et là : pof, Wormux pour afficher des mélanges de russe, hongrois et français sans soucis !
Depuis qu'on est passé à gettext() (il y a un an ou deux), les traductions sont arrivées toutes seules ! C'est magique (le logiciel libre) ! La liste des langues est maintenant :
* bs: Bosnian
* ca: Catalan
* da: Danish
* de: German
* en: English (mother tongue of Wormux)
* eo: Esperanto
* es: Spanish
* fi: Finnish
* fr: French
* hu: Hungarian
* it: Italian
* nl: Dutch
* pl: Polish
* pt: Portuguese
* sk: Slovak
* ro: Romanian
* ru: Russian
* tr: Turkish
C'est fou, je serai incapable de prononcer un seul mot dans la majorité de ces langues, et j'ai presque découvert l'existence de certaines langues :-p
L'arrivé du russe nous a fait modifier les phrases avec du pluriel comme par exemple : pour la phrase "L'équipe %s a gagné %u bazooka(s)" (la phrase est en fait en anglais), elle devient : ngettext("L'équipe %s a gagné %u bazooka", "L'équipe %s a gagné %u bazookas", nombre). L'avantage est que l'écriture est plus jolie : plus de "(s)" à la fin, et on peut gérer les formes pluriels variées (en russe, il y a 3 formes, de 0 à 1, de 2 à 5, et de 6 à plus).
Il resterait encore à obtenir des traductions dans les langues asiatiques et le jeu serait vraiment polyglotte ;-) Si quelqu'un connait des chinois, coréens ou japonais, qu'il leur parle du jeu Wormux ! En plus, la version Windows fonctionne maintenant bien (en pariticulier, la traduction gettext() fonctionne).
Haypo
> Lire le journal (34 commentaires, moyenne: 3,3).
Hachoir 0.3 et les méta-données
Posté le 30 mai 2006La version 0.3 fait suite à la version 0.2 qui est réécriture complète du projet. L'API est plus homogène et plus simple à utiliser. Cette nouvelle version supporte les formats de fichiers les plus courants et sa fonction d'extraction de méta-données est tout à fait exploitable et très intéressante. Petit exemple :
$ hachoir --metadata TAMPOPO.AVI
Video:
- size: 608x336 pixels
- duration: 1 hour(s) 59 min
- depth: 24 bits/pixels
- codec: "divx"
- rate: 23 frame/sec
- producer: Nandub v1.0rc2
Audio:
- sample/sec: 48.0 KHz
- channel: 2
J'ai comparé les résultats aux programmes extract (qui utilise libextractor) et mminfo. Hé bien, Hachoir donne souvent de meilleures informations (plus nombreuses et plus précises). Mais Hachoir demeure lent et supporte encore peu de formats comparés aux deux outils cités.
Pour l'installation et l'utilisation, reportez-vous au site web :
http://hachoir.python-hosting.com/wiki/WikiStart
Les prochaines évolutions seront la reprise sur erreur lorsqu'on rencontre des données erronées (ou que le parseur est lui-même bogué), la détection automatique du charset du texte. Plus tard, viendra la possibilité d'éditer un fichier et une jolie interface graphique.
Un peu plus d'informations sur le Hachoir et la version 0.3 dans mon blog :
http://www.haypocalc.com/blog/index.php/2006/05/30/13-hachoi(...)
Haypo
> Lire le journal (16 commentaires, moyenne: 3,2).
Hachoir 0.2 en préparation
Posté le 04 mai 2006Après avoir bien ciblé les défauts du 1er prototype (version 0.1), j'ai décidé de recoder Hachoir depuis zéro. Les principaux changements sont :
* Séparation du projet en une bibliothèque (libhachoir) et plusieurs interfaces utilisateurs (curses et sortie texte brut)
* Un parseur est maintenant 100% "fainéant" : la taille d'un champ, le nombre de champs, la valeur ou la description d'un champ sont lus/crées uniquement à la demande
* Ce mécanisme "fainéant" rend Hachoir beaucoup plus rapide et plus économe en mémoire
* Nouvel outil : extracteur de méta-données
* Réécriture de l'API : noms mieux choisis pour les classes et fonctions, vraiment orienté objet (ex: une liste de champ est un champ)
* La syntaxe des parseurs est plus concise et claire
* Système d'évènement : il est possible de surveiller de nombreux évènements avec une porté locale ou globale
* Les tailles et adresses sont uniquement exprimées en bits et non plus en octets, et l'adresse d'un champ est relative à son parent
* API plus agréable pour accéder aux informations d'un champ et explorer l'arbre des champs (ex: "/header/width" ou "../size")
* Écriture d'une documentation et de tests unitaires
* Nouveau parseur : document Microsoft Office (uniquement la première couche, objet OLE). La version 0.1 a gagné des parseurs de flux réseaux (tcpdump) et de fichier Python compilé (.pyc)
Le projet est maintenant hébergé sur python-hosting.com pour être plus indépendent. Trac et SVN sont donc au rendez-vous.
Pour tester (partie "Download and test!") :
http://hachoir.python-hosting.com/wiki/HachoirYield
Commandes :
* ./hachoir.py fichier
* ./hachoir.py --max-depth=n fichier
* ./hachoir.py --metadata fichier
* ./hachoir.py --export=xml fichier
Pour ceux qui ne connaissent pas encore Hachoir (ou qui sont allergiques au mode texte) : testez la version 0.1 qui a une interface Gtk2 plus sexy.
Liens :
* http://linuxfr.org/2005/12/29/20131.html (sortie de la version 0.1)
* http://pyconstruct.wikispaces.com/ (pyConstruct, projet très similaire au Hachoir qui supporte la génération de nouveau fichier)
Reste à faire avant la sortie de la 0.2 finale : correction de bugs, portage des anciens parseurs, écriture d'une interface Gtk2. Et si j'ai la motivation : supporter la modification d'un fichier (marche partiellement).
N'hésitez pas à me contacer pour toute question, bug ou commentaire :
http://www.haypocalc.com/wiki/Victor_Stinner
Haypo
> Lire le journal (8 commentaires, moyenne: 5,8).
Nouvelles du programme Hachoir
Posté le 26 mars 2006J'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
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/
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 (29 décembre 2005)
http://linuxfr.org/~haypo/19974.html (15 novembre 2005)
Retrouvez plus d'informations sur le site web :
http://hachoir.python-hosting.com/
Haypo
> Lire le journal (6 commentaires, moyenne: 3).
Cette page donne des informations sur l'utilisateur haypo
telles que ses derniers commentaires, journaux, forums, date
de création, etc.
