Hachoir est un outil écrit en Python permettant de visualiser le contenu d'un fichier binaire de manière intelligible. Son objectif n'est pas de reconnaître tous les formats, mais d'avoir une boîte à outils très complète pour supporter rapidement de nouveaux formats. De nombreux formats sont déjà supportés de base (musique mp3, partition ext2, vidéo avi, exécutable elf, archive rpm, image xcf, etc.).
Les données ne sont réellement lues que lorsqu'elles sont accédées. Ceci permet de traiter de très gros fichiers sans problème (ex: partition de 9 Go contenant plusieurs centaine de milliers d'objets), et le chargement d'un fichier prend rarement plus d'une seconde.
Le projet est encore jeune, mais n'hésitez pas à le tester et m'envoyer vos retours d'expérience.
Disponibilité de Qt4.1
Trolltech vient d'annoncer la disponibilité de la première révision mineure de Qt4, qui apporte son lot de nouvelles fonctionnalités :
QtDesigner a aussi été mis à jour.
- support du rendu des graphiques Tiny SVG 1.2 ;
- support du PDF par le sous-système d'impression ;
- un framework de tests unitaires léger et thread-safe ;
- support des proxy SOCKS 5 ;
- amélioration de la gestion de l'OpenGL ;
- support de la coloration syntaxique dans le moteur de rendu de texte.
QtDesigner a aussi été mis à jour.
Nouveau gestionnaire de profils réseaux: netswitch
Un nouveau gestionnaire de profils réseaux vient de paraître, Netswitch en version 0.2 (pas encore stable), votre contribution est demandée pour la correction de bugs.
Seule la version source est disponible pour le moment, nous recherchons d'ailleurs des mainteneurs de paquets. Nous avons contacté Gentoo, mais pour l'instant, l'ebuild n'est pas dans portage. (NdM : d'autres distributions annoncées compatibles et qui pourraient profiter de ce logiciel sont Debian, *buntu, OpenSuse et Fedora Core.)
Parmi les fonctionnalités, on peut citer le support filaire (IP fixe/DHCP), et wifi, la gestion de 4 clés WEP, une interface GTK (la version Qt est en développement intensif). Merci de nous aider à améliorer ce programme qui se veut indépendant de la distribution.
Seule la version source est disponible pour le moment, nous recherchons d'ailleurs des mainteneurs de paquets. Nous avons contacté Gentoo, mais pour l'instant, l'ebuild n'est pas dans portage. (NdM : d'autres distributions annoncées compatibles et qui pourraient profiter de ce logiciel sont Debian, *buntu, OpenSuse et Fedora Core.)
Parmi les fonctionnalités, on peut citer le support filaire (IP fixe/DHCP), et wifi, la gestion de 4 clés WEP, une interface GTK (la version Qt est en développement intensif). Merci de nous aider à améliorer ce programme qui se veut indépendant de la distribution.
Lisaac 0.84 est sorti
Une nouvelle version du compilateur Lisaac est disponible.
Lisaac est le premier langage objet à prototype compilé. Digne héritier de Self et Eiffel (il a été conçu au sein du laboratoire où a été écrit GNU/SmartEiffel, sous la férule de Dominique Colnet), il améliore grandement les techniques utilisées dans SmartEiffel afin de produire un code aussi rapide que du C. Lisaac a été conçu dans le cadre du projet "IsaacOS" afin de disposer d'un langage objet de haut niveau, suffisamment performant pour écrire un système d'exploitation.
Pour cette version, la bibliothèque standard du compilateur passe en LGPL et l'ensemble du code fourni en exemple passe en GPL. En effet, Lisaac est fourni avec une bibliothèque complète, incluant depuis cette version des fonctionnalités permettant d'écrire des interfaces utilisateurs. Un gros effort a été fourni pour rendre le code totalement portable sous GNU/Linux, DOS et Windows (Lisaac produit du C ANSI).
Notez que le versionning est à rapporter aux spécifications originales du langages : le compilateur est stable et fonctionnel.
Lisaac est le premier langage objet à prototype compilé. Digne héritier de Self et Eiffel (il a été conçu au sein du laboratoire où a été écrit GNU/SmartEiffel, sous la férule de Dominique Colnet), il améliore grandement les techniques utilisées dans SmartEiffel afin de produire un code aussi rapide que du C. Lisaac a été conçu dans le cadre du projet "IsaacOS" afin de disposer d'un langage objet de haut niveau, suffisamment performant pour écrire un système d'exploitation.
Pour cette version, la bibliothèque standard du compilateur passe en LGPL et l'ensemble du code fourni en exemple passe en GPL. En effet, Lisaac est fourni avec une bibliothèque complète, incluant depuis cette version des fonctionnalités permettant d'écrire des interfaces utilisateurs. Un gros effort a été fourni pour rendre le code totalement portable sous GNU/Linux, DOS et Windows (Lisaac produit du C ANSI).
Notez que le versionning est à rapporter aux spécifications originales du langages : le compilateur est stable et fonctionnel.
Sortie PHP 5.1.0
La version 5.1.0 de PHP est sortie le 23 novembre. Après la mini révolution de la version 5.0 sortie il y a presque un an et demi, cette version apporte une nouvelle fois de nouvelles fonctionnalités importantes.
Outre les habituelles corrections de bugs (environ 400 !), les nouveautés du moteur Zend2 devrait permettre d'obtenir encore de meilleures performances grâce entre autre à une gestion plus fine de la mémoire. Le ChangeLog nous apprend aussi que beaucoup de modules ont été mis à jour dont MySQLi, PostgreSQL, le module de manipulation des tableaux, SOAP ou encore SPL (Standard PHP Library).
Autre grosse nouveauté de PHP 5.1 est (enfin!) l'introduction d'une nouvelle interface objet appelée PDO (PHP Data Object) permettant d'accéder de manière unifiée aux systèmes de bases de données les plus utilisés avec PHP (MySQL, PostgreSQL, SQLServer, Firebird, Sybase, SQLite, DB2, ODBC) sans avoir à passer par des classes d'abstraction écrites en PHP tel que PearDB ou AdoDB.
Mise à jour : Une version 5.1.1 est déjà disponible. Pas de grandes nouveautés à part quelques correctifs d'anomalies et de régressions, ainsi que la suppression de la classe native Date pour ne pas rentrer en conflit avec le paquet PEAR du même nom. Il est fortement recommandé de migrer rapidement en 5.1.1. Merci à J.Smith pour l'information
Outre les habituelles corrections de bugs (environ 400 !), les nouveautés du moteur Zend2 devrait permettre d'obtenir encore de meilleures performances grâce entre autre à une gestion plus fine de la mémoire. Le ChangeLog nous apprend aussi que beaucoup de modules ont été mis à jour dont MySQLi, PostgreSQL, le module de manipulation des tableaux, SOAP ou encore SPL (Standard PHP Library).
Autre grosse nouveauté de PHP 5.1 est (enfin!) l'introduction d'une nouvelle interface objet appelée PDO (PHP Data Object) permettant d'accéder de manière unifiée aux systèmes de bases de données les plus utilisés avec PHP (MySQL, PostgreSQL, SQLServer, Firebird, Sybase, SQLite, DB2, ODBC) sans avoir à passer par des classes d'abstraction écrites en PHP tel que PearDB ou AdoDB.
Mise à jour : Une version 5.1.1 est déjà disponible. Pas de grandes nouveautés à part quelques correctifs d'anomalies et de régressions, ainsi que la suppression de la classe native Date pour ne pas rentrer en conflit avec le paquet PEAR du même nom. Il est fortement recommandé de migrer rapidement en 5.1.1. Merci à J.Smith pour l'information
CamelBones 1.0.0b5
Comme beaucoup de libristes ayant rejoint le club des macounets pervers, je me suis posé la question de savoir comment faire des applications ayant des GUI sans passer par la couche d'émulation X11 de Mac OS X.
Lors de mes différentes recherches, j'avais trouvé diverses choses plus ou moins laissées à l'abandon. Depuis quelques semaines déjà, l'activité semble avoir repris autour de ce projet assez peu orthodoxe, j'ai nommé CamelBones.
CamelBones est un framework permettant de faire entre autre des applications utilisant Cocoa en Perl. Ce framework est distribué sous licence LGPL. Il existe déjà quelques applications utilisant CamelBones tel que Perl Pad permettant d'écrire des services OS X en perl.
Lors de mes différentes recherches, j'avais trouvé diverses choses plus ou moins laissées à l'abandon. Depuis quelques semaines déjà, l'activité semble avoir repris autour de ce projet assez peu orthodoxe, j'ai nommé CamelBones.
CamelBones est un framework permettant de faire entre autre des applications utilisant Cocoa en Perl. Ce framework est distribué sous licence LGPL. Il existe déjà quelques applications utilisant CamelBones tel que Perl Pad permettant d'écrire des services OS X en perl.
Gorm 1.0 est disponible
Gregory John Casamento, le mainteneur de Gorm, vient d'annoncer ce samedi la version 1.0.
Qu'est-ce que Gorm ? Il s'agit d'un "constructeur d'interface" permettant facilement de créer des applications graphiques avec GNUstep.
GNUstep est un ensemble de bibliothèques implémentant la spécification OpenStep (ce qui assure une large compatibilité entre GNUstep et Cocoa sous MacOSX), et fonctionnant sous Linux, BSD, Windows.
Des vidéos (en Flash) montrant comment utiliser Gorm sont disponibles.
Qu'est-ce que Gorm ? Il s'agit d'un "constructeur d'interface" permettant facilement de créer des applications graphiques avec GNUstep.
GNUstep est un ensemble de bibliothèques implémentant la spécification OpenStep (ce qui assure une large compatibilité entre GNUstep et Cocoa sous MacOSX), et fonctionnant sous Linux, BSD, Windows.
Des vidéos (en Flash) montrant comment utiliser Gorm sont disponibles.
Sortie du noyau 2.6.14
La version 2.6.14 du noyau vient de sortir
Au menu :
On peut aussi noter la création d'un flux RSS pour suivre le développement du noyau.
Au menu :
- L'intégration de FUSE, permettant de disposer de systèmes de fichiers implémentés en espace utilisateur;
- L'intégration de V9FS, un pilote pour le système de fichiers distribué de Plan9;
- L'intégration de RelayFS, un pseudo-système de fichiers permettant le transfert rapide de données entre le noyau et l'espace utilisateur;
- L'intégration du support pour DCCP, un nouveau protocole réseau, situé au même niveau qu'UDP et TCP. Il est orienté datagrammes, comme UDP, mais gère la congestion, comme TCP. Un document de l'IETF apporte de nombreuses précisions sur le sujet;
- Un meilleur mapping des claviers USB pour Apple PowerBook;
- Beaucoup de modifications d'usbnet qui vont ravir tous les utilisateurs de PocketPC. Maintenant, "Linux peux discuter avec divers matériel basé sur WinCE";
- Une correction permettant d'éviter les crashs sur les systèmes NFS à forte charge (meilleur gestion des inodes);
- On peut maintenant accéder à des Cartes CF (en PCMCIA sur ARM) lors du boot;
- Une meilleure gestion des cartes son en USB;
- Des mises à jour sur l'ACPI
- Ajout du pilote HostAP et du pilote ipw2100 et ipw2200;
- Un nettoyage du code;
On peut aussi noter la création d'un flux RSS pour suivre le développement du noyau.
Rendre GNOME rapide
C'est le titre d'un diaporama présenté par Federico Mena-Quintero lors du GNOME Summit 2005 qui a eu lieu à Boston du 8 au 10 octobre dernier.
Au menu, des explications sur les raisons de certaines lenteurs de Gtk, et sur les multiples façons d'améliorer le tout.
En seulement deux jours de travail, l'auteur (aidé par Billy Biggs, Owen Taylor, Carl Worth et Keith Packard) a déjà réussi à gagner 24% de vitesse sur Pango.
Je vous laisse lire le reste et si certains d'entre vous sont des programmeurs/étudiants/professionnels/passionnés chevronnés disposant d'un peu de temps, n'hésitez pas à participer à cet effort d'optimisation et de profiling, car tout le bureau Gnome et toutes les applications GTK vont en bénéficier d'un coup !
Au menu, des explications sur les raisons de certaines lenteurs de Gtk, et sur les multiples façons d'améliorer le tout.
En seulement deux jours de travail, l'auteur (aidé par Billy Biggs, Owen Taylor, Carl Worth et Keith Packard) a déjà réussi à gagner 24% de vitesse sur Pango.
Je vous laisse lire le reste et si certains d'entre vous sont des programmeurs/étudiants/professionnels/passionnés chevronnés disposant d'un peu de temps, n'hésitez pas à participer à cet effort d'optimisation et de profiling, car tout le bureau Gnome et toutes les applications GTK vont en bénéficier d'un coup !
Flash player 8 recherche son ingénieur linux
Le Flash Player 8 est disponible depuis cet été, mais pas encore pour linux : Macromedia cherche encore le développeur qui sera chargé du portage de l'application.
Tinic Uro, le développeur principal du Flash Player explique dans son blog son ambition de faire un portage propre de l'application, et toute la complexité que représentera ce travail ; pour résumer, il faut prendre en compte les différentes bibliothèques pour le son, l'affichage, les fontes, la multiplicité des plateformes (x86, mais aussi PPC, x86-64), tenir compte de la différence des compilateurs gcc et Intel, etc. Le blog de Tinic Uro rentre dans les détails et propose même des bouts de code pour mieux comprendre la problématique.
Tinic Uro, le développeur principal du Flash Player explique dans son blog son ambition de faire un portage propre de l'application, et toute la complexité que représentera ce travail ; pour résumer, il faut prendre en compte les différentes bibliothèques pour le son, l'affichage, les fontes, la multiplicité des plateformes (x86, mais aussi PPC, x86-64), tenir compte de la différence des compilateurs gcc et Intel, etc. Le blog de Tinic Uro rentre dans les détails et propose même des bouts de code pour mieux comprendre la problématique.
Le projet BBClone cherche un repreneur
BBClone est un script PHP populaire permettant d'effectuer des statistiques simples d'un site web mais avec un rendu très agréable. Après plusieurs mois d'inactivité, l'équipe de développement jette l'éponge. Il s'agit plutôt d'une mauvaise nouvelle car en plus d'avoir un look agréable, le script est plutôt performant, simple à utiliser, traduit en 30 langues et propre (XHTML 1.0 et CSS).
BBClone est utilisé par de nombreux sites et il est probable qu'il soit repris. Si vous voulez aider, il suffit de contacter l'équipe BBClone à partir du formulaire disponible sur le site.
BBClone est utilisé par de nombreux sites et il est probable qu'il soit repris. Si vous voulez aider, il suffit de contacter l'équipe BBClone à partir du formulaire disponible sur le site.
Préparation de l'atelier Netfilter 2005
NFWS2005, le Netfilter Workshop aura lieu cette année du 3 au 8 octobre à Séville.
Cet événement comportera :
- L'atelier des développeurs avec un programme impressionnant : support IPv6, support de nouveaux protocoles (VoIP, H.323, PPTP), support de la Haute Disponibilité...
- Une conférence des utilisateurs : outils d'aide au déploiement, projets tiers (avec notamment une présentation de NuFW, le pare-feu authentifiant), et bien sûr quelques mots sur les violations récentes de la GPL par des fabricants de boîtes noires.
- Et deux jours supplémentaires de codage intensif.
Événement incontournable pour ceux qui s'intéressent de près au filtrage IP sous Linux, l'atelier Netfilter est avant tout un lieu de rencontre et de partage, qui permettra aux développeurs, comme les années précédentes, de faire connaissance avec les "nouveaux" et de définir les développements à venir.
Cet événement comportera :
- L'atelier des développeurs avec un programme impressionnant : support IPv6, support de nouveaux protocoles (VoIP, H.323, PPTP), support de la Haute Disponibilité...
- Une conférence des utilisateurs : outils d'aide au déploiement, projets tiers (avec notamment une présentation de NuFW, le pare-feu authentifiant), et bien sûr quelques mots sur les violations récentes de la GPL par des fabricants de boîtes noires.
- Et deux jours supplémentaires de codage intensif.
Événement incontournable pour ceux qui s'intéressent de près au filtrage IP sous Linux, l'atelier Netfilter est avant tout un lieu de rencontre et de partage, qui permettra aux développeurs, comme les années précédentes, de faire connaissance avec les "nouveaux" et de définir les développements à venir.
Nouvelles du noyau : Git et modèle de développement
LinuxFr a largement couvert l'affaire qui avait conduit à l'abandon de la version gratuite de BitKeeper par BitMover. BitKeeper était alors utilisé par les développeurs du noyau pour gérer les sources de ce dernier. Ceux-ci, autour d'un prototype développé par Linus Torvalds ont créé leur propre système de gestion des sources, adapté à leurs besoins : Git.
Depuis, le développement de cet outil a suivi son cours, s'améliorant, se voyant doté d'interfaces graphiques ou de scripts évolués. Linus Torvalds a décidé fin juillet de passer la main pour la maintenance et l'évolution de cet outil à Junio Hamano. En effet, Linus a expliqué qu'il avait « toujours dit qu'il ne voulait pas vraiment le maintenir sur le long terme ». Ceux qui s'intéressent à Git pourront lire le Kernel Hackers' Guide to git, suivre la liste de discussion, ou même consulter la toute nouvelle homepage du projet.
Par ailleurs, depuis le Kernel Summit, également couvert sur LinuxFr, Linus a décidé de modifier sensiblement le modèle de développement du noyau. Désormais, suite à la sortie d'une version du noyau, des ajouts de fonctionnalités et modifications importantes ne seront acceptés que pendant deux semaines. Au delà de ce délai, et jusqu'à la sortie de la prochaine version, le travail des développeurs sera consacré à la correction de bugs.
Enfin, toujours suite aux discussions ayant eu lieu durant le Kernel Summit, Andrew Morton, mainteneur de la branche -mm, a publié son weekly report. Dans celui-ci, il liste les grands changements qui sont intégrés pour la prochaine version du noyau, ainsi qu'une estimation de la date de sortie de ce dernier. Il doit permettre aux mainteneurs des différents sous-systèmes du noyau d'être mieux tenus au courant des évolutions en cours.
Depuis, le développement de cet outil a suivi son cours, s'améliorant, se voyant doté d'interfaces graphiques ou de scripts évolués. Linus Torvalds a décidé fin juillet de passer la main pour la maintenance et l'évolution de cet outil à Junio Hamano. En effet, Linus a expliqué qu'il avait « toujours dit qu'il ne voulait pas vraiment le maintenir sur le long terme ». Ceux qui s'intéressent à Git pourront lire le Kernel Hackers' Guide to git, suivre la liste de discussion, ou même consulter la toute nouvelle homepage du projet.
Par ailleurs, depuis le Kernel Summit, également couvert sur LinuxFr, Linus a décidé de modifier sensiblement le modèle de développement du noyau. Désormais, suite à la sortie d'une version du noyau, des ajouts de fonctionnalités et modifications importantes ne seront acceptés que pendant deux semaines. Au delà de ce délai, et jusqu'à la sortie de la prochaine version, le travail des développeurs sera consacré à la correction de bugs.
Enfin, toujours suite aux discussions ayant eu lieu durant le Kernel Summit, Andrew Morton, mainteneur de la branche -mm, a publié son weekly report. Dans celui-ci, il liste les grands changements qui sont intégrés pour la prochaine version du noyau, ainsi qu'une estimation de la date de sortie de ce dernier. Il doit permettre aux mainteneurs des différents sous-systèmes du noyau d'être mieux tenus au courant des évolutions en cours.
FFmpeg et MPlayer : Appel au dons pour un nouveau serveur
Une panne de l'air climatisé dans la salle hébergeant le serveur des projets MPlayer[1] et FFmpeg[2] a causé une corruption d'une partie de l'arborescence du CVS.
L'équipe de développement est à présent à la recherche d'un nouveau serveur dédié pouvant être installé dans de meilleures conditions dans une salle serveur d'un FAI qui reste à trouver.
Le serveur devrait avoir un boîtier 1U, disposer de 512 Mo de RAM, 1 CPU à 2Ghz ou 2x1Ghz et 2x 200Go d'espace disque[3] (de préférence SATA) en RAID-1.
Ajoutez à cela une solution de sauvegarde fiable avec 3 disques de 300Go destinés à être installés sur les miroirs.
Il faudrait aussi un FAI pour ce serveur.
[1] MPlayer: lecteur de vidéos multi-plateforme
[2] FFmpeg: bibliothèques de codeurs et décodeurs vidéo et audio utilisé par la plupart des lecteurs multimédias sous Linux, *BSD,... et même dans certains projets sous Windows
[3] La plupart de l'espace disque est utilisé pour télécharger des bouts de vidéos ou de sons qui ne peuvent pas être, ou mal, décodés.
L'équipe de développement est à présent à la recherche d'un nouveau serveur dédié pouvant être installé dans de meilleures conditions dans une salle serveur d'un FAI qui reste à trouver.
Le serveur devrait avoir un boîtier 1U, disposer de 512 Mo de RAM, 1 CPU à 2Ghz ou 2x1Ghz et 2x 200Go d'espace disque[3] (de préférence SATA) en RAID-1.
Ajoutez à cela une solution de sauvegarde fiable avec 3 disques de 300Go destinés à être installés sur les miroirs.
Il faudrait aussi un FAI pour ce serveur.
[1] MPlayer: lecteur de vidéos multi-plateforme
[2] FFmpeg: bibliothèques de codeurs et décodeurs vidéo et audio utilisé par la plupart des lecteurs multimédias sous Linux, *BSD,... et même dans certains projets sous Windows
[3] La plupart de l'espace disque est utilisé pour télécharger des bouts de vidéos ou de sons qui ne peuvent pas être, ou mal, décodés.
Bilan du sommet 2005 des développeurs du noyau Linux
Le site Linux Weekly News vient de rendre disponible son compte rendu complet du sommet 2005 des développeurs du noyau Linux qui a eu lieu les 18 et 19 juillet à Ottawa.
Cette réunion (exclusivement sur invitation) est conçue pour permettre de décider les futures orientations de Linux et pour présenter les travaux en cours. Jonathan Corbet qui dirige le site LWN a suivi de bout en bout ce sommet annuel et nous propose des articles succints sur chaque session ayant eu lieu lors de ces deux jours. En outre il a lui-même animé une session généraliste spéciale sur la feuille de route (roadmap) du noyau dont la présentation est disponible. Cela permet aux utilisateurs lambda de se faire une idée de l'orientation générale du développement du noyau Linux.
Cette réunion (exclusivement sur invitation) est conçue pour permettre de décider les futures orientations de Linux et pour présenter les travaux en cours. Jonathan Corbet qui dirige le site LWN a suivi de bout en bout ce sommet annuel et nous propose des articles succints sur chaque session ayant eu lieu lors de ces deux jours. En outre il a lui-même animé une session généraliste spéciale sur la feuille de route (roadmap) du noyau dont la présentation est disponible. Cela permet aux utilisateurs lambda de se faire une idée de l'orientation générale du développement du noyau Linux.