[Logo Brave GNU World]
Brave GNU World - Numéro 19
Copyright © 2000 Georg C. F. Greve <greve@gnu.org>
Traduction [FR]: Libotte P.
Permission ci-dessous.

[DE | EN | FR JA | ES]

Bienvenue encore une fois dans le Brave Gnu World de Georg. Je commence par un projet qui, s'il est d'une ampleur réduite, n'en est pas moins extrêmement utile.

Sel

Sel [5], de Thomas Kluge, est un gestionnaire de données bien commode pour scripts de shell. Sel permet de sélectionner des fichiers ou des répertoires afin d'y exécuter certaines commandes. Si la commande se limite à un simple écho de la sélection, il est possible de sortir de façon traditionnelle et d'utiliser comme on le souhaite les noms des fichiers et répertoires sélectionnés.

Cette fonctionnalité était jusqu'ici soit absente des scripts de shell, soit disponible uniquement via des dialogues de scripts relativement compliqués et peu stables. Sel nous offre désormais un outil léger (l'archive contenant le code-source en C ne pèse que 20k), basé sur la bibliothèque curses.

L'utilisation de cette dernière constitue pour l'instant son seul point faible. Sel étant soumis à la GNU GPL, il s'agit donc d'un logiciel libre, et l'auteur incite expressément à la poursuite de son développement suivant les besoins de chacun.

Je me permettrais d'ailleurs à ce stade une observation personnelle. Bien souvent, les auteurs de tels petits projets ont omis de s'adresser à moi, estimant que leur oeuvre n'en valait pas la peine. Je suis d'un tout autre avis. Pour moi, ces travaux représentent justement une composante essentielle du mouvement, même si ils ont tendance à passer inaperçus dans le flot continu des nouveautés.

Or, cette chronique me semble l'endroit rêvé pour offrir à ces démarches un forum approprié. J'aurais cependant du mal à tout remarquer, et ne possède pas non plus le don d'ubiquité; je ne puis donc que m'en remettre à votre bonne volonté. Dès lors, si vous êtes à la base d'un projet intéressant, ou que vous en rencontriez un au hasard de vos tribulations, faites-moi signe. L'adresse-courriel [1] devrait maintenant être bien connue.

LinCVS

LinCVS [6,7] est un projet qui a déjà atteint une ampleur considérable. Il s'agit d'un frontal pour le client du Concurrent Version System (CVS). Les travaux ont été entamés début 1999, lorsque Tilo Riemer a constaté qu'il n'existait sous GNU/Linux aucun frontal CVS qui réponde à ses attentes en matière de fonctionnalité et de stabilité. Voici donc un projet de plus qui débute par le souhait de résoudre un problème personnel.

Le point de départ: WinCVS, dont Tilo Riemer pensait qu'il demandait beaucoup trop d'informations de la part de l'utilisateur, bien que toutes les données se trouvent déjà dans les fichiers d'administration de CVS. En outre, nombre de frontaux ne prévoient pas la gestion simultanée de plusieurs projets. Au début de son travail, Tilo Riemer était lui-même un nouveau venu dans le monde de CVS; il a donc lui-même défini les exigences de simplicité et d'extrême stabilité de LinCVS.

Et effectivement, LinCVS est d'un maniement très aisé, et son grand avantage est de ne demander la saisie de données qu'à l'importation ou le checkout de projets. De nombreux utilisateurs de CVS apprécieront la possibilité offerte par LinCVS de rechercher les projets CVS dans l'arborescence et de les ajouter automatiquement au poste de travail, sans imposer de limite au nombre de projets gérés. La présentation permet de distinguer clairement des autres les fichiers contrôlés par CVS, et les menus contextuels des différentes fenêtres peuvent comme d'habitude être appelés par un clic droit.

Les auteurs de LinCVS, distribué sous GNU General Public License, sont Tilo Riemer, Wim Delvaux, Helmut Koll et Sven Trogisch. Leur principale difficulté du moment est l'amélioration de l'autodétection des modifications de fichiers contrôlés par des programmes extérieurs à LinCVS, ce qui, pour l'instant, exige un temps de calcul encore trop long. Il reste encore également à réaliser le support complet de ssh, la simplification du checkout d'anciennes révisions et de la fusion des branches, ainsi que le port Win-XX. Comme aucun des auteurs n'a fait de LinCVS son activité principale, l'on recherche encore des développeurs, mais aussi et surtout des rédacteurs pour la documentation.

Globalement, LinCVS me plaît beaucoup. Les seules choses que l'on pourra regretter sont le choix du toolkit (c'est Qt qui a été retenu), ainsi que le manque de configurabilité d'Autoconf/Automake.

Dia

Dia [8] sera certainement très utile à ceux qui, dans leur profession, usent et abusent de diagrammes structurés. Le projet, lancé par Alexander Larsson, repose depuis la fin de l'année dernière entre les mains de James Henstridge. D'autres ont bien sûr oeuvré à son développement, que l'on ne pourra citer ici faute de place.

Les fonctionnalités de Dia sont comparables à celles du programme propriétaire "Visio". Il sert à construire des diagrammes structurés constitués d'objets standard. On y trouve des modes flowcharts, diagrammes en réseaux et UML. Mais il comporte également quelques fonctions génériques grâce auxquelles il est possible d'exécuter des dessins simples.

Le programme dispose d'un nombre impressionnant de formats de sortie, dont EPS, SVG, CGM et PNG. Grâce au port win32 du toolkit GTK+ sur lequel il repose, il est également utilisable sous win32. Il ne faut donc craindre aucun problème de communication.

Son extensibilité est excellente. Au cas où un type de diagramme bien précis n'est pas supporté, de nouveaux types d'objets peuvent être ajoutés par le biais de simples fichiers XML, la plupart du temps sans aucune connaissance particulière en programmation. Les filtres d'importation de formats externes sont cependant encore peu conviviaux; l'on y travaille pour l'instant.

De nombreux utilisateurs déplorent tout spécialement l'absence d'un filtre d'importation de diagrammes Visio, dont la réalisation s'annonce difficile, puisque qui dit application propriétaire, dit format propriétaire. Il s'agit ici d'un cas typique d'"enfermement" des données de l'utilisateur dans un format qui lui est totalement opaque.

Les auteurs de Dia n'ont aucune possibilité de percer ce format à jour, une récompense est cependant promise sous le numéro ID 990524A du Free Software Bazaar à qui parviendra à proposer une bibliothèque libre capable de lire et d'écrire des fichiers Visio [9]. Au moment où j'écris ces lignes, elle s'élève à 3000 USD; si vous avez un peu de temps devant vous, quelqu'intérêt pour la chose et l'usage de cette menue monnaie, allez donc y jeter un coup d'oeil.

Les intentions pour la suite sont d'implémenter davantage de types de diagrammes et d'achever l'intégration à Python. En outre, le besoin de documentation est urgent: avis aux amateurs. Pour de plus amples informations, je vous suggère la liste de diffusion dia [10].

Les deux projets suivants étant intimement liés, je les présenterai ensemble. Même si ce qui va suivre relève davantage de technologies à venir, je pense que cela en intéressera plus d'un.

libCIM & PaulA

libCIM & PaulA [11] sont des projets de démonstration actuels de la firme allemande iD-PRO, l'un et l'autre sous licence GNU GPL et dans l'esprit de la FSF.

Pour que tout soit bien clair, je commence par un bref historique. CIM signifie Common Information Model. Il s'agit d'une approche orientée-objet à la modélisation d'informations-système. Elle trouve son origine dans ce qu'il est convenu d'appeler les "Network Management Systems" (NMS) tels Tivoli, OpenView ou autres. Leur but est d'échanger au sein de grands réseaux des informations sur les systèmes et d'administrer ceux-ci.

Afin de permettre l'échange de données entre différents NMS, il fallait définir un protocole commun. C'est de là qu'est née l'initiative "Web-Based Enterprise Management" (WBEM), qui a défini les normes CIM, leur représentation en XML ainsi que leur transfert par HTTP. Ces normes sont publiées par le truchement de la "Distributed Management Task Force" (DMTF) [12]. Voilà pour la toile de fond.

Lorsque deux systèmes de gestion de réseau (NMS) échangent des informations, l'un est le client et l'autre le serveur, que l'on appelle "CIM Object Manager" (CIMOM). Dès qu'il dispose de l'accès au serveur, le client peut l'interroger sur les informations système et les modifier. Puisqu'il doit pouvoir représenter quasiment n'importe quel réseau, le CIM est trop compliqué pour être disséqué plus avant dans ces lignes. Ce qui importe pour la compréhension du principe, c'est simplement que certaines classes de base et dérivées sont définies dans le CIM. Ce sont les objets instances de ces classes qui sont consultés et manipulés par le client.

Pour ceux à qui cela paraîtrait un peu trop technique, il suffit de savoir que ce principe permet d'administrer des réseaux sans pour autant devoir connaître leurs spécificités en terme de matériel ou de système d'exploitation.

libCIM est une bibliothèque Perl qui autorise la programmation en objets CIM. Elle dispose en outre de fonctions de sérialisation en XML et d'acheminement. libCIM peut donc être utilisée pour le développement de clients et serveurs CIM (CIMOM).

PaulA est un serveur CIMOM, qui utilise libCIM pour l'implémentation des objets CIM. Par le biais de PaulA, des systèmes GNU/Linux, par exemple, peuvent être administrés sans qu'on sache quelle distribution est à la base, ce qui devrait faciliter la vie de pas mal d'administrateurs.

Le statut actuel est celui de "pre-alpha", nous sommes donc encore éloignés d'une utilisation quotidienne. Les développeurs de libCIM & PaulA: Axel Miesen, Volker Moell, Eva Bolten, Friedrich Fox et Marcel Hild, espèrent atteindre dans quelques mois un système de production stable, sur lequel il sera possible de tester l'interopérabilité avec d'autres systèmes CIM. Pour le moment, une grosse partie du "provider" (le code qui fait tout le boulot) reste encore à écrire.

Ici, on s'avance en terrain délicat. Les licences de logiciels tels que Tivoli sont extêmement coûteuses et les experts se comptent sur les doigts d'une main. Les développeurs qui auraient envie de participer y sont cordialement invités.

Je voudrais consacrer les dernières lignes à une question de Hans Fuchs, qui n'est d'ailleurs pas le seul à se la poser.

Que penser de Sourceforge?

Dans un courrier électronique, Hans Fuchs m'écrit sa préoccupation devant le succès de l'initiative Sourceforge [13], et de l'offre faite à de nombreux développeurs de logiciels libres d'infrastructures telles qu'espace sur la toile, serveurs ftp, listes de diffusion ou domaine "nom_du_projet.sourceforge.net". Son malaise est dû à l'appartenance desdits serveurs à la société VA Linux, qui les exploite.

De mon côté, j'ai toujours tendance au scepticisme dès qu'on me parle d'une entreprise altruiste - même si dans le domaine GNU/Linux, elles sont souvent animées du désir de "rendre quelque chose en retour". Comme les autres du même acabit, VA Linux vit finalement de la bonne santé et de la vivacité du développement de logiciels libres. Le service Sourceforge aide donc à consolider ces bases. Il ne faut pas non plus négliger l'effet publicitaire que peut avoir cette démarche permettant de ne pas perdre de vue toute une série de projets intéressants.

Mais cette offre représente-t-elle une menace qu'il conviendrait de contourner en proposant une réplique des projets sur d'autres serveurs?

Ce risque me semble très faible. Tout d'abord, VA Linux ne gagnera pas grand-chose à tenter d'abuser de l'accès aux projets dont elle dispose. Cela lui ferait à mon avis une contre-publicité bien plus lourde que les gains potentiels.

En outre, les auteurs disposent toujours d'une copie de leur code-source en local (sans parler des versions disponibles sur le Net), dont ils n'auront aucun mal à poursuivre le développement ailleurs.

Tout cela fait que Sourceforge m'apparaît en fin de compte comme un service qui trouve sa pleine justification dans l'assistance qu'il apporte aux développeurs de logiciels libres. Il ne ferait cependant aucun tort de pouvoir mettre en oeuvre ce concept ailleurs, afin d'en assurer une plus large diffusion.

...en avion, Simon!

Voilà, c'est tout pour cette fois; dans quelques heures, je serai assis dans le zinc qui m'emmènera en Californie. Les courriels [1] contenant vos propositions de sujets, idées, suggestions, questions et présentations de projets m'atteindront tout de même. Alors allez-y!

Info
[1] Vos idées, commentaires et questions à mailto:column@gnu.org
[2] Page d'accueil du projet GNU http://www.gnu.org/
[3] Page d'accueil de Georg's Brave GNU World http://www.gnu.org/brave-gnu-world/
[4] Initiative "GNU C'est Nous"http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html
[5] Sel Homepage http://www.rhein-neckar.de/~darkstar/sel.html
[6] LinCVS Homepage http://www.lincvs.de/
[7] LinCVS auf Sourceforge http://lincvs.sourceforge.net
[8] Dia Homepage http://www.lysator.liu.se/~alla/dia/
[9] Free Software Bazaar http://visar.csustan.edu/bazaar/bazaar_catoffers.html#graphics
[10] Dia Mailingliste - eintragen via Mail an <dia-list-request@lysator.liu.se>
[11] PaulA Homepage http://paula.id-pro.de
[12] Distributed Management Task Force http://dtmf.org
[13] Sourceforge http://sourceforge.net

[ Numéro précédent | Brave GNU World home | Numéro suivant]

Retour à la page d'accueil de GNU.

Questions à propos de la FSF et de GNU à gnu@gnu.org.
Il y a également d'autres moyens de contacter la FSF.

Envoyez vos commentaires sur le Brave GNU World de Georg (en anglais ou en allemand) à column@gnu.org,
envoyez vos commentaires sur ces pages à webmasters@www.gnu.org,
envoyez vos autres questions à
gnu@gnu.org.

Copyright (C) 2000 Georg C. F. Greve
Traduction [FR]: Pierre Libotte

Permission vous est accordée de faire et de distribuer des copies de cet article pour autant que le copyright ainsi que cet avis l'accompagnent.

Dernière modification : $Date: 2002/02/13 17:52:13 $ $Author: r4f $