P
'
t
i
t
e
C
h
a
t
t
e
 
spacer~ CONFUCIUS SAY: MAN WITH HOLE IN POCKET FEEL COCKY ALL DAY Articles | Connexion
 
~Jext

Précédent  
  Open Source  
  Suivant
 Présentation

L'administration d'un projet libre n'est pas toujours chose facile. Outre le développement du logiciel même, la personne en charge d'un tel projet se doit de gérer les équipes de développeurs, la diffusion du logiciel, sa promotion, la coordination des tâches, et ainsi de suite. C'est pourquoi la rédaction de Login:, suite à une idée émise sur le site linuxfr, a décidé de lancer l'étude d'un projet soumis à une licence libre : la GNU/GPL. Ce projet, nommé Jext, est un éditeur de texte pour programmeurs écrit en Java. Les lecteurs réguliers de Login: l'auront sûrement déjà croisé au détour d'une page de cette rubrique.
 Sommaire


 Un projet, Jext

De nombreux projets libres existent déjà sur Internet, alors pourquoi avoir choisi celui-ci ? Premièrement, parce que Jext est un éditeur de texte. Il n'existe pas d'application plus banale. Ainsi, le fonctionnement du logiciel sera plus simple à appréhender. De plus, cette base nous permettra de découvrir quel genre d'originalités peuvent surgir dans le cadre d'un développement regroupant des programmeurs venant des autres coins du globe. Ensuite, Jext n'est pas un énorme projet. Cela signifie que la liste de diffusion génère peu de trafic et qu'il sera ainsi plus aisé pour le lecteur de se joindre au projet. Enfin, cet outil a été créé par un auteur français. Un peu de chauvinisme ne fait jamais de mal à personne.

Le projet Jext, acronyme boiteux de Java Text Editor, est né il y a environ deux ans, au début de l'année 1999. A l'origine, ce projet se destinait principalement à être un petit éditeur de texte simple d'emploi pour servir un débutant en mal d'outil attractif. Puis le projet a grandi, s'est enrichi de nombreuses fonctions, des plus classiques comme la coloration syntaxique aux plus originales comme la récente « One Click ! ». Aujourd'hui, la distribution de Jext regroupe 419 fichiers source Java pour un total d'environ 50 000 lignes de code réel. De plus en plus, Jext a tendance à devenir un IDE léger pour plusieurs langages. Au cours de son développement, Jext a suivi quelques « vagues technologiques ». C'est ainsi qu'au début de l'été 1999, le cour du logiciel employait le XML pour diverses tâches (créations de menus par exemple). Vint ensuite l'utilisation de XSL pour générer la documentation. Ou encore le support, au cours de l'année 2000, de la nouvelle technologie Java WebStart de Sun Microsystems.

Les services proposés par le projet aux développeurs sont les suivants : liste de diffusion, site Internet (jext.org), gestion du projet sur SourceForge, CVS, FTP, système de plugins, possibilités de traductions. Certains de ces services, comme le CVS, sont relativement récents et demandent encore un peu de travail pour les rendre totalement utilisables. Le CVS par exemple n'est pas tout le temps mis à jour. Normalement, un nouveau service devrait bientôt faire son apparition pour permettre aux développeurs d'ajouter eux-mêmes leurs plugins sur le site Web.


 Le logiciel

Nul n'est besoin de s'étendre inutilement sur cet outil. Vous en aurez bien assez l'occasion. Jext est disponible sur son site Internet ou sur le CD accompagnant le magazine. Il existe deux sortes de distributions de Jext. Les versions finales sont numérotées xx.xx.xx.xx (version majeure, mineure, révision, correction). La version actuelle est la 2.10.1.0. Le dernier numéro n'est utile qu'aux développeurs pour leur permettre de forcer certains changements lors d'une correction de bug. Les versions de développement quant à elles sont numérotées sous la forme : xx.xx.xx.xx preX. Le chiffre supplémentaire, précédé de la mention « pre » indique le numéro de la version de développement. Les autres chiffres sont fixés définitivement (hormis le dernier numéro qui peut lui varier d'une version de développement à l'autre). Ainsi, la version de développement 2.11pre7 correspond à la septième diffusion d'une version beta de Jext 2.11.0.0. Chaque version, quelle qu'elle soit, possède enfin un nom de code, comme par exemple. Ce nom de code permet de différencier plus aisément deux versions de développement et facilite la compréhension des rapports concernant d'éventuels bugs.

Dans la distribution de Jext, vous trouverez une documentation en anglais et en français décrivant les fonctions du logiciel ainsi que les méthodes principales de l'API pour développer des plugins. En outre, la distribution de Jext contient des scripts de lancement pour divers systèmes d'exploitation, quelques plugins intéressants - voir vitaux, des modèles de documents, des icônes pour systèmes Unix et Windows et enfin un assortiment de quelques thèmes (ces thèmes étant basés sur ceux de KDE ou de GTK). L'installation de Jext, se limitant à la décompression de l'archive et à la déclaration d'une ou deux variables d'environnement pour les scripts de démarrage, ne devrait poser aucun problème.


 Le développement

Afin de suivre les prochains articles dans les meilleures conditions, il est vivement recommandé de se pencher un minimum sur le code source de Jext. Pour commencer, une simple compréhension de sa structure générale suffira amplement. Tout le code source servant à générer Jext se trouve dans le répertoire « src/ » de l'archive jext-sources-xx.tar.gz. Ce répertoire contient plusieurs sous-répertoires ainsi que divers fichiers. Outre le répertoire « doc/ » contenant les fichiers XML et XSL utilisés pour créer la documentation, vous trouverez les répertoires « lib », contenant le code source du logiciel même, et « plugins ». A vous de comprendre ce que ce dernier contient. Parmi les fichiers présents dans les sources se trouve un fichier très important nommé « build.xml ». Celui-ci fait office de Makefile pour le projet. Jext utilise en effet l'outil Ant pour gérer les phases de compilation et de distribution. Si vous pouvez vous en passer, son utilisation est plus que recommandée. Vous trouverez Ant sur le CD-Rom de ce mois-ci ou sur le site Internet du projet Jakarta : ant . L'atout majeur de Ant est sa capacité à fonctionner de la même manière indépendamment du système d'exploitation. Finalement, sachez que la compilation du code source nécessite impérativement un JDK 1.2 ou ultérieur.

Pour vous joindre au développement, il vous suffira de visiter la page projet hébergée par SourceForge, Jext sur SourceForge, ou de vous abonner à la liste de diffusion. Vous trouverez les liens pour vous inscrire à ladite liste en bas de chacune des pages de Jext.


 L'analyse

Le présent cahier Coding accueillera chaque mois quatre pages en relation avec la gestion d'un projet libre. Deux de ces pages seront consacrées à la gestion d'un tel projet. Ceci inclura le choix des outils, les relations entre les développeurs, les difficultés inhérentes à de tels développement, les relations avec les entreprises. Les deux autres pages seront entièrement dédiées à la pratique. Au début, nous ne verrons que très peu de code source, mais beaucoup de théorie sur la structure du projet. Par la suite nous étudierons certains aspects précis du code source.

Tout au long de cette expérience, les lecteurs sont invités à participer à la vie du projet et même d'y contribuer. Les idées les plus intéressantes, les modifications les plus impressionnantes seront discutées dans ces pages. Cette série d'article se veut vivante et dynamique et vous avez le pouvoir de la diriger. Ainsi, si d'aventure vous tenez réellement à voir un certain sujet abordé, n'hésitez pas à nous en faire part.



par Romain Guy
romain.guy@jext.org
http://www.jext.org
Dernière mise à jour : 14/10/2006


Précédent  
  Open Source  
  Suivant

 
#ProgX©2005 Mathieu GINOD - Romain GUY - Erik LOUISE