[DE |
EN |
FR |
JA |
ES |
KO |
PT]
Bienvenue pour une nouvelle édition du Brave GNU World de Georg.
Celle-ci couvrira un spectre d'applications plutôt large qui devraient
ne pas concerner la plupart d'entre vous, mais qu'il pourrait vous
intéresser d'apprendre.
GCompris [5] de Bruno Coudoin est un nouveau venu dans la cour du projet GNU, dans le domaine «Logiciel libre et éducation».
Les enfants ont tendance à apprendre en jouant avec ce qui les entoure, ce qui explique pourquoi beaucoup de programmes essaient de donner des cours sous forme ludique. Malheureusement ces programmes sont souvent propriétaires. Combler ce manque en logiciels pédagogiques est l'objet de GCompris.
Le programme en lui-même est basé sur des «tableaux». Bruno considère le tableau comme une unité qui présente ou permet de s'exercer sur un concept. Le but n'est pas tant d'approfondir les connaissances mais plutôt de rendre l'exercice amusant.
Bruno considère qu'un certain nombre de programmes sont basés sur la notion de tableaux, mais ils utilisent tous des bibliothèques différentes, ont des interfaces utilisateur différentes, et leurs vitesses de développement respectives varient énormément. Cet ensemble de facteurs complique leur recherche et leur usage.
Pour éviter ces désagréments, GCompris a deux parties essentielles : le moteur pour créer, modifier et exécuter les tableaux, et un ensemble de tableaux qui illustrent différents concepts.
Le moteur a été écrit en C, en utilisant les bibliothèques de GNOME, et est doté d'une interface utilisateur très simple, spécialement conçue à destination des enfants. Le programme est disponible en 7 langues et déjà utilisé dans des écoles et des foyers de par le monde. Ceci représente beaucoup pour Bruno et c'est d'autant plus remarquable que le programme n'a qu'un an d'existence.
Le côté graphique de GCompris n'est pas encore satisfaisant pour lui, mais maintenant Linuxgraphic [6] prend en charge cette partie. Si vous êtes désireux de prendre part à l'aspect graphique, c'est à eux qu'il faut s'adresser.
La prochaine tâche de programmation sera la création d'un éditeur de tableaux qui puisse être également utilisé par les béotiens en informatique. Pour le moment, les tableaux sont écrits comme des plug-ins en C avec XML comme format de données, ce qui est un peu trop demander à bien des enseignants. De l'aide serait appréciée pour créer un éditeur de tableaux simple d'emploi.
Cependant, même si l'éditeur de tableaux n'est pas encore prêt, il existe déjà plusieurs tableaux disponibles. Parmi ces derniers, des cours pour l'usage du clavier et de la souris, lire l'heure sur une montre, un puzzle avec des tableaux connus et des calculs simples.
Pour que le programme reste simple, seul le canevas GNOME est utilisé jusqu'à présent pour implémenter les tableaux. L'extension à d'autres éléments graphiques est une des tâches techniques prévues pour le futur.
Ce programme français a été écrit initialement par Bruno Coudoin pour ses propres enfants. Il aimerait particulièrement les remercier pour leur patience, car le programme n'évolue pas assez vite à leur goût.
À ce sujet, j'aimerais mettre en avant le fait que la FSF Europe [7] a fait du support de l'enseignement dans les logiciels libres un de ses buts lors de son assemblée générale cette année.
Ce but est poursuivi via l'«Organization for Free Software in Education and Teaching» (NdT : association française, malgré son nom)[8], qui est devenue récemment une organisation associée de la FSF Europe.
Afin de mettre en commun toutes les initiatives des individus et des organisations actifs sur ces problématiques, une liste de diffusion spécifique [9,10] a été créée. Sur cette liste, il y a déjà plusieurs personnes capables de se présenter. La prochaine étape sera d'organiser une rencontre de toutes les personnes qui sont engagées dans ce domaine.
Donc, maintenant nous pouvons nous entretenir des mesures concrètes qui permettent de soutenir efficacement le logiciel libre et l'enseignement. Si vous êtes intéressé(e)s à vous joindre à cette aventure, vous serez les bienvenu(e)s.
Dans un certain sens, cet outil vient à la suite de la fonction «Jude» du numéro 27 [11], qui présentait l'utilisation de Jude dans le Laboratoire de Cristallographie de Ciamician, le département Chimie de l'Université de Bologne, en Italie. Dans cet outil, nous n'avons pas abordé les fonctionnalités de «chimie pure», ce que nous allons faire maintenant.
Je ne parlerai pas seulement du Kit de Développement de Chimie (CDK) [12], mais également de Jmol [13] et JChemPaint [14], dont les mainteneurs Christoph Steinbeck et Dan Gezelter ont lancé le CDK avec Egon Willighagen il y a environ 6 mois.
Le Kit de Développement de Chimie (CDK) est une bibliothèque Java visant à fournir, sous Licence Publique Générale GNU, tous les outils et classes de base pour des logiciels de chimie. Sa conception est basée en particulier sur l'expérience qu'Egon Willighagen a pu acquérir sur sa bibliothèque CompChem/CDK, qui contenait quelques imperfections au niveau de son API.
Le projet lui-même en est encore aux premières phases, donc il n'est pas encore question de parler de classes ou de fonctionnalités déjà implémentées. Vous pourrez trouver des informations à la fois plus nombreuses et plus récentes dans la documentation de l'API sur la page d'accueil du CDK [12].
À l'origine, Jmol [13] est une alternative à XMol, destiné à la visualisation en 3 dimensions de structures chimiques. Des fonctionnalités additionnelles sont prévues telles que l'édition des molécules, de simples «minimalisations» basées sur des champs de force, la dynamique moléculaire et la dynamique de Langevin (ensemble canonique).
Jmol utilise également Java et le kit SWING pour son interface utilisateur graphique. Tout comme le CDK, il est sous Licence Publique Générale GNU. Le gros avantage des applications écrites en Java est certainement leur haute portabilité. De plus Jmol peut également être utilisé dans une appliquette (applet) Java et est utilisable dans des scripts.
JChemPaint [14] est un éditeur en 2 dimensions pour les structures chimiques dont la finalité est de fournir des extensions 2D pour Jmol. Il supporte déjà un grand nombre des fonctionnalités des programmes propriétaires et peut générer des sorties aux formats bitmap, PostScript et Scalable Vector Graphics (SVG).
Comme les deux autres, JChemPaint est écrit en Java, mais est sous Licence Publique Générale Amoindrie (LGPL) GNU. Il est aussi portable que Jmol et peut également être utilisé en appliquette sur une page Web.
Le langage à balises destiné à la chimie (CML pour «Chemical Markup Language» [15] est supporté par ces programmes.
En terme de perspectives, Jmol et JChemPaint devraient utiliser le CDK et s'unifier à long terme.
Ces projets fournissent déjà aux chimistes, biologistes, et à tous ceux qui travaillent au niveau moléculaire, un ensemble impressionnant de fonctionnalités basées sur des logiciels libres. Bien que certaines fonctionnalités ne soient pas encore supportées, je recommande plutôt d'aider ces projets plutôt que d'investir dans du logiciel propriétaire.
Même si, à première vue, cela parait plus compliqué, cela offre bien des avantages à moyen et long terme.
De nouvelles idées peuvent naître, sans être arrêtées par les limites inhérentes aux logiciels propriétaires. Ceci provient directement de la philosophie du Logiciel Libre, basée sur les principes de fonctionnement des scientifiques. De plus, seuls les logiciels libres peuvent garantir la traçabilité des résultats.
Les logiciels scientifiques devraient systématiquement faire usage de logiciels libres.
Guillaume Desnoix est l'auteur d'Alma [16], qui est l'acronyme d'«Atelier Logiciel de Modélisation et d'Analyse».
Alma lit différentes sources (modèles, code source), aide l'utilisateur à concevoir et modifier le modèle orienté-objet, modifie la structure et le code et enfin génère une nouvelle sortie.
Ceci peut être fait sur différents formats. En entrée, Alma supporte Java, IDL, XMI, C, C++, Fortran, Rose, MDL, Class, JavaP, Taglip et JSP ; les sorties peuvent être sous forme de code source, de documentation, de diagrammes ou en langage naturel.Alma offre la possibilité de déclarer et modifier des classes. Ceci est particulièrement utile aux développeurs qui cherchent à incorporer un code existant à un nouveau projet, ou qui veulent traduire un projet dans un autre langage de programmation. Ceci peut également s'avérer utile pour des portages ou de l'encapsulation.
Selon Guillaume, l'avantage indéniable d'Alma est sa véritable concordance NxN comprenant un modèle commun modifiable. Il y a d'autres projets pour analyser, traduire ou embellir du code source, mais habituellement ils ne travaillent que d'une façon unidirectionnelle entre deux langages.
Mais Alma est un très gros projet. C'est pourquoi la moitié des interpréteurs et des générateurs pour les différents langages sont encore à l'état alpha. Cela permet aux programmes spécialisés cités plus haut d'être toujours meilleurs quant à leurs tâches respectives, mais leur conception a de graves limitations.
Alma est écrit en Java 1.1 et peut être utilisé sur quasiment n'importe quel ordinateur, en ligne de commande ou au moyen d'une interface graphique. La partie console peut même être compilée avec GCJ ou s'exécuter avec Kaffe.
Actuellement, il a environ une livraison par mois, qui incrémente le numéro de version par 0.01. Cela signifie qu'à partir de cette base la version 1.0 serait prête en juillet 2006. Cependant, les développeurs intéressés peuvent tenter un coup d'oeil avant cette date.
Alma est publié sous la Licence Publique Générale de GNU version 2 ; il s'agit donc d'un logiciel libre. Habituellement, un logiciel est sous licence LPG version 2 ou - à la discrétion des utilisateurs - n'importe quelle version ultérieure. On rencontre parfois ce choix de limitation à la version 2, c'est pourquoi je voudrais en dire quelques mots.
La raison de cette limite est le plus souvent que les versions ultérieures de la LPG ne sont pas encore connues. À cause de cela on ne peut pas savoir si les versions futures seront bonnes. Cela peut sembler logique, mais cela crée à terme une faiblesse.
Au cas où une version plus récente de la LPG n'est pas acceptée par l'auteur ou les utilisateurs, on peut toujours utiliser le logiciel sous la version 2 de la LPG, il n'y a aucune contrainte à utiliser la licence plus récente.
Mais dans le cas où une mise à jour de la LPG devient nécessaire parce que les lois ont changé et que la version 2 a maintenant des problèmes avec la loi, la restreindre à la version 2 laissera le logiciel sans licence valide. Si tous les auteurs peuvent être contactés, on peut résoudre cela facilement. Mais très souvent les auteurs disparaissent ou ne suivent plus le projet.
Ainsi limiter la licence à sa version 2 n'apporte aucun bénéfice et engendre des problèmes potentiels.
Une autre chose doit être dite. L'auteur d'Alma est très heureux que beaucoup de personnes comprennent clairement la différence entre une bière gratuite et un Logiciel Libre. Sur sa page, vous trouverez un questionnaire et la possibilité d'acquérir le logiciel pour 10 dollars US.
Il n'y a pas d'obligation de payer, mais l'utilisateur se voit demander de le faire s'il utilise l'un des nombreux programmes d'installation automatique pour les différentes plates-formes. Il s'agit de l'une des possibilités de «vendre» du logiciel sous LPG en harmonie avec la LPG et nous ne pouvons qu'espérer que cela se généralisera avec les systèmes de paiement actuels.
Grâce au travail de Werner Koch, nous disposons aujourd'hui de libgcrypt, une bibliothèque de fonctions cryptographiques sous LPG GNU. Cette bibliothèque fait partie du projet GPG (GNU Privacy Guard) et se trouve sur sa page d'accueil [17].
Les autres bibliothèques cryptographiques sont soit non libres, soit sous des licences incompatibles avec la LPG, comme OpenSSL. Comme une majorité de logiciels libres est sous licence publique générale GNU, libgcrypt comble un vide important.
Libgcrypt se retrouve sur les solides bases du projet GnuPG, de telle sorte que les routines cryptographiques sont déjà complètement testées. Toutefois le projet doit être considéré en phase alpha selon Werner, car l'interface programmeur (API) vient juste d'être finalisée.
Malgré cela, libgcrypt peut être utilisée, et c'est déjà le cas. Nikos Mavroyanopoulos, qui a assisté Werner dans le développement de libgcrypt, l'utilise dans la bibliothèque GNUTLS qui a été abordée dans notre édition n°25. [18].
Les atouts majeurs de libgcrypt sont d'une part son interface programmeur (API) extensible pour les fonctions sur les clefs publiques et d'autre part l'accès aux fonctions internes pour les grands entiers. De plus, des modules d'extension peuvent être chargés dynamiquement.
La bibliothèque peut s'utiliser sur des plates-formes de type Unix et Win32. Les développements futurs prévoient la production d'une version stable et une amélioration des implémentations internes, ainsi que l'ajout de fonctions de haut-niveau pour interagir avec les structures de données d'OpenPGP. Et bien sûr GnuPG sera porté pour utiliser libgcrypt.
Werner voudrait mentionner que l'usage de libgcrypt nécessite une certaine maîtrise des notions de chiffrement. Le simple usage de quelques algorithmes dans un programme n'aboutirait pas à quelque chose de souhaitable si la conception associée n'était pas saine.
Cela semble un conseil de bon aloi, vue la tendance actuelle des développeurs à mettre des portes en acier sur des maisons en carton.
Bon. Voilà tout pour l'édition de Brave GNU World de ce mois. Idées, critiques et questions sont les bienvenues.
Concernant les nouveaux projets, j'aimerais mettre l'accent sur l'importance des contributions de lecteurs du Brave GNU World. Très souvent, ils font un beau geste en pensant à m'envoyer un e-mail [1] lorsqu'ils tombent sur un projet intéressant.
Info
|
[1]Envoyez vos idées, commentaires et questions (en anglais ou en allemand) à Brave GNU World <column@brave-gnu-world.org>
[2]Page d'accueil du projet GNU http://www.gnu.org/home.fr.html [3]Page d'accueil du Brave GNU World de Georg http://brave-gnu-world.org [4]L'initiative "GNU C'est Nous" http://www.gnu.org/brave-gnu-world/rungnu/rungnu.fr.html [5]Page d'accueil de GCompris http://savannah.gnu.org/projects/gcompris [6]Page d'accueil de Linuxgraphic http://www.linuxgraphic.org [7]Page d'accueil de la Free Software Foundation Europe http://fsfeurope.org [8]Page d'accueil d'Ofset http://www.ofset.org [9]La liste de diffusion "Logiciel libre et éducation" <edu@fsfeurope.org> [10]Page d'accueil de la liste de diffusion "Logiciel libre et Education" http://mailman.fsfeurope.org/cgi-bin/mailman/listinfo/edu [11]Numéro 27 du Brave GNU World http://www.gnu.org/brave-gnu-world/issue-27.fr.html [12]Page d'accueil du CDK (Chemical Development Kit) http://cdk.sourceforge.net [13]Page d'accueil de Jmol http://jmol.sourceforge.net [14]Page d'accueil de JChemPaint http://jchempaint.sourceforge.net [15]Page d'accueil du langage à balises destiné à la chimie (Chemical Markup Language) http://www.xml-cml.org [16]Page d'accueil d'Alma http://www.memoire.com/guillaume-desnoix/alma/ [17]Page d'accueil de GNU Privacy Guard http://www.gnupg.org/fr/gnupg.html [18]Numéro 25 du Brave GNU World http://www.gnu.org/brave-gnu-world/issue-25.fr.html |
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) 2001 Georg C. F. Greve
Traduction [FR] par Raphaël Rousseau
Permission vous est donnée de distribuer des copies exactes de cette page tant que cette note de permission et le copyright apparaissent clairement.
Dernière modification : $Date: 2002/02/13 17:52:13 $ $Author: r4f $