[image of a Brave GNU World]
Brave GNU World - numéro 39
Copyright © 2002 Georg C. F. Greve <greve@gnu.org>
Traduction [FR] : Valéry Beaud <vbeaud@free.fr>
Permission ci-dessous.

[DE | EN | FR | IT | JA | ES | KO | PT]

Bienvenue pour un autre numéro du Brave GNU World qui va vous présenter de nouvelles façons de vous débarrasser de votre temps libre de façon créative.

Rocks'n'Diamonds

"Rocks'n'Diamonds" de Holger Schemel est un jeu qui ressemble de façon frappante aux classiques comme "Boulder Dash" (Commodore 64), "Emerald Mine" (Amiga) ou "Supaplex" (PC). Cela n'est pas du tout surprenant puisqu'il a été écrit par un fan de ces jeux pour les autres fans.

Pour les non avertis, le but de ce jeu d'arcade classique en 2D est de récolter des diamants sans être détruit. Pour y arriver, vous pouvez déplacer des rochers, larguer des bombes, duper des monstres et bien d'autres choses.

Le jeu a été écrit en C tout en faisant attention à la portabilité. Il fonctionne sur quasiment tous les Unix qui supportent X11 et aussi sur Mac OS X, DOS et Windows. En proposant le défilement agréable des tableaux, le support de la manette de jeu et la configuration des touches du clavier, il garantit la prise en compte des préférences de ses utilisateurs.

En plus des graphismes plutôt originaux, les effets sonores et la musique rendent le jeu plaisant sur tous les systèmes d'exploitation qui le permettent.

Le jeu gagne encore en attrait grâce à son support réseau sous Unix qui permet à quatre joueurs au maximum de jouer ensemble. Il a également un mode multi-joueurs avec lequel on peut résoudre les tableaux en équipe sur une seule machine.

Afin de ne jamais lasser, le jeu a des milliers de tableaux à résoudre, et quand vous les aurez tous finis, vous pourrez encore utiliser l'éditeur de tableau.

Le jeu a été publié entre 1994 et 1995 pour GNU/Linux et Solaris, avant la version MS-DOS en 1998 et la version Windows en 2001. Holger Schemel le publie sous forme de Logiciel Libre sous la Licence Publique Générale de GNU (GNU GPL).

Bien que le jeu ait déjà atteint sa maturité, le développement est toujours actif. Tout particulièrement d'après Holger, l'émulation des moteurs de jeu de Boulder Dash, Emerald Mine, Supaplex & Sokoban pose encore problème car elle n'est pas assez fidèle aux tableaux d'origine.

Si vous désirez l'aider, vous êtes le bienvenu. Des contributions en graphisme, de l'aide pour le portage sur une autre plate-forme ou de nouveaux tableaux seront très appréciés.

Holger fit lui-même l'expérience des aspects parfois très intéressants d'une telle collaboration : au milieu des années 90, le centre de recherche nucléaire de Jülich en Allemagne l'informa que son jeu faisait planter un de leurs serveurs AIX.

Comme il n'arrivait pas à reproduire ce bogue, on lui fournit un accès telnet au système mis en cause et il put trouver l'origine du problème : un appel système X11 erroné. Cela lui permit de corriger le bogue en espérant ne pas avoir trop perturbé un quelconque mécanisme nucléaire.

Heureusement cela n'arrive pas souvent, mais cette petite histoire montre bien que l'esprit ouvert et coopératif du Logiciel Libre peut parfois vous conduire dans des endroits intéressants.

Mirror Magic

Comme le jeu précédent, Mirror Magic [6] a été écrit par Holger Schemel. Pour rendre justice à ce jeu, il faut dire qu'il a été écrit en 1988 et distribué commercialement pour Amiga en tant que logiciel propriétaire sous le nom "Mindbender". Holger l'a ensuite porté sur Unix aux environs de 1994 et publié comme Logiciel Libre sous la Licence Publique Générale de GNU.

Le but du jeu est de guider un rayon laser depuis son émetteur jusqu'à un récepteur. Avec des miroirs orientables, cela semble facile, mais toutes sortes d'obstacles qui peuvent être contournés ou détruits par le laser rendent cela de plus en plus difficile. Dans certaines positions, les miroirs vont renvoyer le laser vers l'émetteur, ce qui va surchauffer celui-ci et finalement le faire exploser, ce qui est une fin assez peu souhaitable.

Des principes simples peuvent engendrer beaucoup d'amusement et Mirror Magic ne déroge pas à la règle. Et tout comme Rocks'n'Diamonds, Mirror Magic contient de beaux graphismes, des effets sonores et de la musique.

En fait les deux jeux ont un aspect identique, ce que l'on pouvait soupçonner puisque Rocks'n'Diamonds est développé à partir du moteur de Mirror Magic.

Leur similitude est poussée jusqu'au numéro de version, qui - au moment où cette chronique a été écrite - est le 2.0.1 publié le 19 mars 2002 pour les deux jeux.

Au fait, les lecteurs du Brave GNU World doivent remercier Glenn Alexander pour ces deux présentations de projet. Il était convaincu que d'autres lecteurs aimeraient aussi les connaître et après m'en avoir parlé, il demanda à Holger Schemel de remplir le questionnaire du Brave GNU World.

Le passé a montré que cette approche est très bonne et fonctionne ; elle devrait décidément être adoptée par plus de personnes.

T.E.G.

Bien des choses qui seraient inacceptables dans le monde réel sont librement appréciables dans un monde virtuel. Il en va ainsi de vouloir dominer le monde.

Démarré en 1996 par Ricardo Quesada, T.E.G. ("Tenes Empanadas Graciela") [7] est un clone du jeu bien connu "Risk".

Le concept du jeu Risk ne devrait pas nécessiter plus d'explication, mais au cas où des lecteurs n'y auraient pas encore joué, Risk est un jeu de plateau dans lequel les joueurs s'affrontent avec leurs armées pour prendre le contrôle de certaines régions, voire du monde entier. La victoire dépend de l'habileté tactique et d'un peu de chance aux dés.

Bien que le projet ait été déclaré mort de nombreuses fois au cours de son développement, celui-ci est continu depuis début 2000. Le jeu contient actuellement trois cartes, peut se jouer en réseau et est traduit en espagnol, français, allemand et polonais.

Le manque de cartes et la procédure assez complexe pour en fabriquer de nouvelles est l'une des plus grandes faiblesses selon Thomas R. Koll, qui contribue à T.E.G. comme traducteur et a répondu aux questions du Brave GNU World. Mais malgré ces faiblesses T.E.G est parfaitement jouable et les graphismes sont plutôt beaux.

Les plans futurs prévoient la génération d'autres ensembles de règles, des meilleures cartes, des robots à l'intelligence accrue et un méta-serveur. De l'aide dans ces tâches de la part de graphistes ou de développeurs intéressés est certainement la bienvenue.

T.E.G. a été écrit en C en utilisant les bibliothèques GTK+/GNOME et est publié sous la Licence Publique Générale de GNU.

JTEG

Si le choix du C et de GTK+ ne vous convient pas, vous pouvez essayer JTEG [8] de Jef De Geeter and Yves Vandewoude. Il s'agit d'une implémentation Java inspirée de TEG, bien que le code et le développement soient complètement indépendants.

Ce projet est également publié sous la Licence Publique Générale de GNU et comme il utilise le même protocole réseau que TEG les deux jeux peuvent communiquer ensemble.

JTEG est actuellement traduit en hollandais, français, allemand et italien.

Grâce à l'utilisation de Java, JTEG doit pouvoir fonctionner sur quasiment toutes les plates-formes supportant Java 1.3 ou plus. Mais bien sûr cela signifie aussi qu'il posera les problèmes relatifs à Java.

On souhairerait que Sun montre plus d'intérêt à faire de Java un langage complètement ouvert et à encourager les implémentations libres.

GNU Chess

GNU Chess [9] est l'un des plus anciens projets du système GNU, son développement commença en 1984 et a continué jusqu'à aujourd'hui. C'est pourquoi GNU Chess devait prendre place dans le Brave GNU World.

Les échecs eux-mêmes ne devraient pas nécessiter d'explication. Souvent même ceux qui n'y ont jamais joué connaissent les règles et beaucoup les ont appréhendées à l'école pour expliquer comment élever un nombre à la puissance n avec un échiquier et des grains de riz.

Étant donnés l'origine et l'âge du projet, les choix de la Licence Publique Générale de GNU et du langage de programmation C ne surprendront personne.

Les développeurs actuellement les plus actifs de GNU Chess sont Simon Waters, qui a répondu au questionnaire du Brave GNU World, et Lukas Geyer. Stuart Cracraft, qui coordonne le projet depuis de nombreuses années, les aide toujours de ses conseils et en répondant occasionnellement à des rapports de bug, même s'il s'éloigne lentement de GNU Chess.

Beaucoup de gens ont contribué à GNU Chess au cours de ces années et il est impossible de tous les nommer, mais il faut au moins citer Chua Kong-Sian qui a contribué aux parties principales du code de GNU Chess version 5.

Simon envisage que le développement actuel se concentre sur la maintenance, l'élargissement de la déjà grande portabilité et l'implémentation d'une base de coups de fin de partie et d'un "mode d'analyse".

Le mode d'analyse est un point qu'il considère comme particulièrement important, car d'après son expérience des programmes complexes peuvent bénéficier énormément d'un tel mode. Il cite en exemple un programme de l'unité de recherche sur le feu du Royaume-Uni dans lequel l'ajout de facultés de visualisation permit alors de découvrir qu'il manquait une marche à l'escalier pour toucher le sol dans la modélisation de l'incendie d'un bâtiment.

Avec le nettoyage déjà terminé du code, le mode d'analyse devrait aider à encore augmenter le niveau de jeu de GNU Chess.

Même s'il y a de nombreux jeux d'échecs gratuits, certains étant même fournis avec les sources, GNU Chess semble très populaire chez les coordinateurs de sites Internet et les auteurs de programmes d'échecs graphiques qui ont besoin d'un moteur d'échecs leur apportant facilement et efficacement les libertés de portage et d'intégration nécessaires.

D'après l'expérience de Simon, cette liberté offerte par GNU Chess est un avantage majeur qui est très apprécié, ce qu'il a pu découvrir par la grande quantité de rustines envoyées.

Si vous voulez simplement jouer à GNU Chess, vous pouvez le faire, mais une interface graphique sera sans doute utile. XBoard [10] de Tim Mann, logiciel sous GNU GPL, est probablement la meilleure interface graphique.

Scid

Ceux qui savent jouer aux échecs mesurent certainement la valeur d'une bonne base de données d'échecs - au moins une fois que l'on a atteint un certain niveau de jeu.

Scid ("Shane's chess information database") [11] est une telle base de données, développée par Shane Hudson sous la Licence Publique Générale de GNU.

Les parties peuvent facilement et rapidement être saisies dans Scid afin de les retrouver plus tard dans la base de données avec certains critères de recherche. Puisque l'utilité de toute base de données dépend fortement des possibilités de l'enrichir, cette fonctionnalité a fait l'objet d'une grande attention.

La possibilité d'améliorer son propre niveau de jeu étant si importante pour Shane, vous pouvez utiliser GNU Chess pour analyser vos parties à l'aide du moteur d'échecs compatible WinBoard .

À la différence des programmes propriétaires, parfois très chers, qui prédominent dans ce domaine, Scid ne fonctionne pas seulement sous Windows, mais aussi sous Unix et a - d'après son auteur - une interface beaucoup plus propre et plus simple.

Bien sûr, une telle base de données est d'autant plus utile que sa taille est importante. Certains programmes propriétaires ont plus d'un million de parties dans leur base de données. Depuis le site Internet de Scid, vous pouvez télécharger une base de données de grande qualité, avec plus de 500 000 parties de maîtres et ayant peu de doublons.

Le développement de Scid a commencé en 1999. Aujourd'hui c'est clairement un projet stable traduit en 12 langues. Shane utilise comme langage de programmation le C++ et Tcl/Tk pour l'interface graphique.

C'est pourquoi les principales tâches sont la maintenance des pages d'aide et la création d'un didacticiel pour les nouveaux utilisateurs. Ainsi, si vous aimez passer du temps à étudier un échiquier, vous devriez jeter un oeil à Scid.

GNU oSIP Library

La RFC2543 [12] décrit le "Protocole d'Initiation de Session" (SIP), un protocole pour démarrer, modifier et terminer des sessions multimédias. SIP a été conçu comme un ersatz de H.323 afin surtout de concrétiser le matériel et le logiciel de téléphonie sur Internet. Il permet entre autres aux proxies de jouer le rôle de passerelles entre les réseaux et les registres pour localiser dynamiquement les utilisateurs.

Le protocole a une ressemblance - voulue - avec les protocoles MAIL et HTTP et de la même façon qu'il est possible de m'écrire à "mailto:greve@gnu.org", SIP permettra un jour de me téléphoner à l'adresse "sip:greve@gnu.org".

Étant donné que de plus en plus d'entreprises passent de H.323 à SIP et que la version 5 du protocole UMTS est basée sur SIP, il devient de plus en plus important de réaliser une implémentation libre de ce protocole.

La bibliothèque GNU oSIP ("Omnibus SIP") [13] de Aymeric Moizard est une telle implémentation libre sous la Licence Publique Générale Amoindrie de GNU (GNU LGPL) et a rejoint récemment le Projet GNU.

oSIP a été écrit en C, en limitant délibérément les dépendances avec la libc6 dans le seul but de la rendre utilisable sur le plus grand nombre de systèmes possibles. Cela permet d'utiliser oSIP dans les systèmes embarqués et crée un fondement à base de Logiciel Libre pour les téléphones Internet mobiles.

Comparé aux projets propriétaires, l'avantage majeur de oSIP est qu'il est petit, souple et Libre. Mais à la connaissance d'Aymeric, il n'y a pas d'autre Logiciel Libre comparable à oSIP qui implémente la pile C SIP.

Il est tout à fait possible que le téléphone Internet basé sur SIP remplacera complètement la téléphonie actuelle et ses acteurs bien connus.

Si l'on associe l'importance économique et sociale de la communication par téléphone et la tendance des logiciels propriétaires à créer des monopoles, il apparaît immédiatement que la communication doit être possible avec des Logiciels Libres afin d'aider à empêcher un monopole global des télécommunications.

Il est ainsi aisé de comprendre pourquoi, avec oSIP, Aymeric contribue fructueusement au projet GNUCOMM [14].

Libferris

Comme le projet précédent, la bibliothèque Ferris [15] est aussi un composant avec lequel la plupart des "utilisateurs normaux" n'entreront jamais en contact direct. Mais même si ces fonctionnalités ne sont utiles qu'aux développeurs, je pense qu'il est utile d'avoir une certaine compréhension de ce qui se passe "derrière le miroir" - même pour les seuls utilisateurs.

Libferris est un "Système de Fichiers Virtuel" (VFS) exécuté dans l'espace utilisateur. Sa fonction est de fournir aux programmes - et donc aux utilisateurs - un accès transparent, facile et cohérent à différentes sources de données.

Libferris permet de faire des bases de données, relationnelles ou non, du XML, des boîtes aux lettres, des comptes FTP, des sockets, des archives compressées et RPM ainsi que des serveurs SSH2, accessibles de façon transparente comme des arborescences de répertoires. Il permet aussi l'extraction directe de certaines données ou informations à partir de différents formats tels que ID3, MPEG2 et tous les formats d'image supportés par les bibliothèques Imlib2 ou ImageMagick.

L'avantage pour les utilisateurs est que la connaissance de l'emplacement ou du format d'enregistrement devient inutile, Libferris s'occupant de ces détails.

Les développeurs n'ont plus à se soucier de supporter des douzaines de formats de fichiers et de couches de transport - tout ce qu'ils ont besoin d'écrire est la relation avec Libferris.

Ben Martin a commencé à travailler sur Libferris en avril/mai 2001 et a publié la première version dès juin 2001.

Il a choisi le C++ comme langage de programmation pour le projet, car il voulait employer largement la bibliothèque C++ "Standard Template Library" (STL), ce qui est aussi la raison pour laquelle il n'a pas choisi de compléter gnome-vfs pour ses objectifs.

L'orientation objet et en flux de Libferris rend son extension vraiment facile et vous permet d'écrire vos propres modules pour rendre d'autres sources ou formats accessibles par Libferris.

Ben cherche principalement de l'aide sous forme de modules permettant de supporter d'autres protocoles ou d'extraire l'information de nouveaux formats de fichiers. Mais il fait remarquer que cela ne l'ennuierait pas non plus de recevoir du matériel beau et rapide.

Même si les détails techniques n'ont pas pu être exposés ici, j'espère tout de même que vous avez pris connaissance des concepts de base et des fonctionnalités clés. Les développeurs intéressés doivent décidément y jeter un oeil.

À la prochaine fois

Assez de Brave GNU World ce mois-ci. Comme à chaque numéro, je souhaite vous encourager à me faire part de vos idées, impressions, commentaires et de projets intéressants - à l'adresse habituelle [1]. C'est très souvent les idées des lecteurs qui m'ont conduit à des sujets intéressants, alors n'hésitez pas.

Info
[1] Idées, suggestions, commentaires à l'adresse du 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] Initiative « GNU C'est Nous » http://www.gnu.org/brave-gnu-world/rungnu/rungnu.fr.html
[5] Page d'accueil de Rocks'n'Diamonds http://www.artsoft.org/rocksndiamonds/
[6] Page d'accueil de Mirror Magic http://www.artsoft.org/mirrormagic/
[7] Page d'accueil de T.E.G. ("Tenes Empanadas Graciela") http://teg.sourceforge.net
[8] Page d'accueil de JTEG http://jteg.sourceforge.net
[9] Page d'accueil de GNU Chess http://www.gnu.org/software/chess
[10] Page d'accueil de XBoard & WinBoard http://www.tim-mann.org/xboard.html
[11] Page d'accueil de SCID http://scid.sourceforge.net
[12] RFC2543 http://www.ietf.org/rfc/rfc2543.txt
[13] Page d'accueil de la bibliothèque GNU oSIP http://www.gnu.org/software/osip/
[14] Page d'accueil de GNUCOMM http://www.gnu.org/software/gnucomm/
[15] Page d'accueil de Libferris http://witme.sourceforge.net/libferris.web

[ Numéro précédent | Page d'accueil du Brave GNU World | Numéro suivant ]

Retour au site GNU.

Envoyez vos questions sur GNU et la FSF à gnu@gnu.org.
Il y a aussi d'autres façons 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] : Valéry Beaud

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/12/06 16:07:01 $ $Author: marco_p $