[DE |
EN |
FR |
JA |
ES]
Bienvenue au Brave GNU World de Georg. Ce mois-ci nous examinerons
plusieurs petits projets qui couvrent un large éventail d'applications.
Je vais commencer par un éditeur de message intéressant.
Les lecteurs basés sur Emacs ont des problèmes pour traiter correctement les fichiers attachés, sont lourds et vous obligent à lancer emacs pour lire votre courrier. Les autres lecteurs de courrier, orientés environnement graphique, ont des interfaces auxquels l'auteur ne parvenait pas à s'habituer. Parfois ils ne supportent pas les threads, ne connaissent pas l'existence d'autres lecteurs, ou ont des caractéristiques difficiles à contrôler via le clavier. Quiconque a déjà pensé cela dans le passé voudra certainement essayer Sylpheed.
Les avantages de Sylpheed sont assez impressionants. Basé sur le kit GTK+, son interface est très intuitive. Sa capacité à filtrer le courrier et à l'afficher dans des threads est importante pour ne pas perdre de vue l'essentiel. Bien entendu, il supporte les messages MIME en plusieurs parties et dispose d'un visualisateur d'image intégré. Les X-Faces sont honorés, comme les "URLs cliquables". Mais malgré sa dépendance profonde de l'environnement graphique, tout peut être fait aussi avec le clavier.
Un point extrèmement positif: le carnet d'adresse XML.C'est la garantie de portabilité pour d'autres applications. Les dossiers courriers sont également portables. Comme ils sont sauvegardés au format MH, ils peuvent être utilisés par d'autres lecteurs comme Mew.
En plus, Sylpheed peut lire (mais pas écrire) les news et il permet également d'appeller les programmes externes fetchmail et procmail pour aller chercher le courrier. Le courrier sortant peut être envoyé dans une queue d'attente avant l'envoi.
Sylpheed est assez jeune, donc la liste des choses à faire est encore longue: IMAP4, LDAP, support PGP/GPG, SSL, compression des dossiers courrier, etc. La localisation en anglais pourrait être améliorée, mais comme il utilise gettext, cela ne devrait pas être un problème. Les utilisateurs Debian peuvent installer Sylpheed directement depuis l'adresse donnée; pour les autres ce n'est pas beaucoup plus difficile puisque qu'il supporte autoconf/automake.
Si vous n'êtes pas satisfait de votre lecteur de courrier actuel, pensez à jeter un oeil sur Sylpheed.
Xzgv est totallement contrôlable soit à la souris soit au clavier, et il n'utilise qu'une seule fenêtre pour choisir et afficher les images. Plus de "jungle des fenêtres" que certains visualisateurs ont tendance à créer. Le programme se fonde sur le kit GTK+ et il n'est pas conscient de la présence de GNOME ou KDE. Il peut donc être utilisé n'importe où sans problème. Il répond vite et est très facile à utiliser.
L'auteur m'a demandé de souligner qu'écrire un bon visualisateur d'image n'st pas aussi trivial que certains veulent le penser. Bien sûr, ce n'est pas très compliqué "d'afficher simplement une image". Mais écrire un visualisateur général qui fait les choses "comme elle doivent" implique la résolution de quelques problèmes moins évidents.
Xzgv est déjà très fini - les plans d'avenir sont limités à s'éloigner de la bibliothèque Imlib 1.x et optimiser le rendu des images très grosses.
Comme la license est la LPG GNU, je peux le recommander sans arrière pensée.
Je vais maintenant passer à un programme spécial qui a rejoint le projet GNU récemment.
Une caractéristique intéressante est que le système est extensible via des "fichiers leçons" au format ASCII, et donc les musiciens peuvent facilement ajouter leur propres leçons. Ecrire plus de leçons est d'ailleurs un des tâches les plus urgentes à faire.
A long terme, l'auteur voudrait ré-écrire de larges pans du programme car les solutions choisies ne se sont pas avérées satisfaisantes. Pour ce faire, l'aide de personne ayant l'expérience de la programmation Open Source est la bienvenue.
Il faut également dire que le public concerné, à savoir les étudiants en musique et tous ceux voulant entraîner leur oreille, ne doit pas attendre trop de ce programme pour le moment, car Solfege V1.0 est encore loin.
Le projet suivant vient également de rejoindre le projet GNU et nous vient également du monde scolaire.
Il se fonde sur le kit de développement GTK+ et peut être compilé avec en option le support GNOME. Ggradebook gère les notes scolaires en pourcentages, ou en forme abstraite, numérique ou alphabétique; ces derniers peuvent être convertis automatiquement en pourcentage selon une échelle définissable.
Un des problèmes actuel est qu'il n'est pas encore possible d'utiliser un "+" ou "-" pour augmenter ou diminuer la note exprimée en pourcentage ou sous forme de lettre. C'est possible uniquement pour les notes numériques. Les plans de développement incluent des filtres d'import/export vers d'autres programmes similaires, l'internationalisation et l'ajout de fonctionnalités. De plus, bien que l'interface permette l'accès à toutesles fonctions, il pourrait certainement être amélioré en termes de convivialité.
Le plus grand problème des auteurs pour le moment est le manque de retour des utilisateurs. Il ont besoin de plus de remarques. J'encourage donc tous les lecteurs qui pourraient utiliser un programme similaire à l'essayer et à leur dire ce que vous en pensez.
Les trois projets suivants concernent plus particulièrement les developpeurs.
En fait, Common C++ commence là où la bibliothèque ANSI Std C++ s'arrête. Le but est de créer une bibliothèque de classes portable qui gère des tâches comme les sockets, les entrées-sorties séries, l'abstract threading, ou une classe persistente de sérialisation pour les systèmes Posix et Win32.
La plupart de ces functionalités existent déjà, dans des bibliothèques isolées et dispersées. Pour David Sugar, l'avantage de Common C++ est de présenter une structure cohérente pour toutes ces tâches. C'est également très portable et au lieu de tout mettre dans une grande bibliothèque, Common C++ utilise une bibliothèque par système. Ainsi, on peut faire une bibliothèque sur mesure pour une machine ou un système, ce qui augmente la performance. Dans un même temps, les applications Common C++ tournent sur toutes les architectures.
En ce qui concerne les compilateurs, il est très tolérant et supporte plusieurs des compilateurs C++ ne respectant pas les standards - bien que l'auteur pense qu'avec l'augmentation de la standardisation, ce problème devient négligeable.
Comme la plupart des programmeurs le sait, presque chaque Unix a sa propre version des threads qui en général ne respecte pas le standard. Pour eux, Common C++ prévoit à l'installation une batterie de tests extentive pour s'assurer que l'abstraction est faite correctement. Bien que ne coopérant pas encore directement avec GNU Pth (GNU Portable Threads, voir Brave GNU World #1), il devrait déjà pouvoir travailler avec l'émulation pthread. A l'avenir, on prévoit le support GNU Pth en natif.
Cette automne devrait voir une ré-écriture pour la version 2, afin de supprimer certains anachronismes dûs à d'ancien compilateurs C++. Il devrait également supporter plus de platteformes (BeOS) et ajouter des fonctionnalités, entre autre une bibliothèque pour les protocoles réseau. Ce manque de bibliothèque de protocoles de réseau est, selon David Sugar, la plus grande faiblesse actuelle de Common C++. A long terme, il espère prendre un rôle plus administratif car il y a déjà une communauté très active de développeurs pour le projet. Parmi elle, l'auteur insiste pour que l'on mentionne Henner Zeller et Gianni Marianni qui ont beaucoup travaillé à la dernière version.
La licence choisie pour le projet est la GPL GNU avec quelques termes supplémentaires, un peu comme la licence de Guile. Cela met le projet entre la GPL et la lGPL du point de vue des droits et libertés accordés. Comme cela a déjà mené à une certaine confusion dans le passé, la version 2.0 sera probablement distribuée sous LGPL.
Depuis April 2000, Common C++ est un Projet GNU officiel, ce qui n'est guère étonnant vu qu'il sert déjà de base à plusieurs projets comme Bayonne (voir Brave GNU World #16).
Le projet implemente le langage de programmation Algol 60 dans sa totalité, tel que spécifié dans "Modified Report on the algorithmic Language Algol 60" [11]. Comme ce langage n'évolue pas beaucoup, la tâche actuelle de l'auteur est de faire une interface qui facilite l'utilisation. Si vous avez des programmes libres en Algol, l'auteur en cherche pour le moment.
C'est un outil très utile pour les programmeurs C/C++, puisqu'il se charge du travail fastidieux mais important de l'analyse de la ligne de commande. Le programmeur spécifie simplement les options désirées, si elles sont optionelles ou obligatoires, et s'il leur faut un paramètre. Le code C généré par gengetopt est ajouté au programme et un simple appel à la fonction valide et évalue la ligne de commande.
Comme c'est maintenant la tradition dans Brave GNU World, j'aimerai maintenant aborder, comme dernier projet, quelque chose qui n'est pas directement lié aux logiciels.
Le site principal [13] offre un centre de coordination basé sur des outils web qui permette l'échange de vues et d'idées. Les projets peuvent démarrer en ligne, et les documents peuvent être rendus disponibles pour discussion. Tous les textes sont transmis au format ASCII et stoqués dans une base MySQL. Les pages sont générées dynamiquement en PHP3.
Chaque projet a sa propre liste de distribution à laquelle on peut contribuer depuis l'interface web. De plus, on peut créer un lien vers des projets similaires et partager leurs listes.
La seule chose qui manque à Stefan Meretz pour le moment est une interface courrier pour contrôler les fonctions OpenTheory: pour le moment, les documents ne peuvent pas être soumis par courrier.
Le projet a déjà été appliqué à certaines tâches intéressantes: le projet Oekonux (Brave GNU World, issue #18) y a vu le jour, mais il a aussi été utilisé pour discuter et améliorer par exemple le LinuxTag de Stuttgart (Allemagne).
Le projet OpenTheory lui-même - c'est à dire le logiciel qui offre ces fonctionalités - est sous LPG GNU. Il en est à la version 0.4 et les développeurs intéressés sont les bienvenus.
Comme d'habitude, je vous engage à me contacter avec de nouveau projets, idées, question et suggestions [1].
Info
|
[1] Send ideas, comments and questions to Brave GNU World <column@gnu.org>
[2] Homepage of the GNU Project http://www.gnu.org/ [3] Homepage of Georg's Brave GNU World http://www.gnu.org/brave-gnu-worl d/ [4] "We run GNU" initiative http://www.gnu. org/brave-gnu-world/rungnu/rungnu.en.html [5] Sylpheed home page http://members.linuxstart.com/~sunnyone/mylinux/sylpheed.en.html [6] Xzgv home page http://rus.members.beeb.net/xzgv.h tml [7] Solfege home page http://www.gnu.org/software/solfege / [8] Ggradebook home page http://www.gnu.org/software/ggra debook/ [9] Common C++ home page http://www.commoncpp.cx/ [10] GNU marst home page http://www.gnu.org/software/marst/ [11] Modified Report on the Algorithmic Language Algol 60. The Computer Journal, Vol. 19, No. 4, Nov. 1976, pp. 364-79 [12] Gengetopt home page http://www.gnu.org/software/genge topt/ [13] OpenTheory home page (partially German) http://www.opentheory.org |
Envoyez vos questions sur GNU et FSF à
gnu@gnu.org.
Il y a aussi d'autres manières de contacter
la FSF.
Envoyez vos commentaires sur "Brave GNU World" (anglais ou allemand) à
column@gnu.org,
et les commentaires sur cette page à
webmasters@www.gnu.org,
les autres questions à
gnu@gnu.org.
Copyright (C) 2000 Georg C. F. Greve
Traduction [FR]: Thunus F.
Permission vous est donnée de distribuer des copies exactes de cette page tant que cette note de permission et le copyright apparaissent clairement.
Last modified : $Date: 2002/02/13 17:52:13 $ $Author: r4f $