Quels logiciels pour le jeu d’échecs ?

Nous le savons : la communauté des utilisateurs de systèmes d’exploitation libres, bien qu’en expansion, est relativement réduite. Mais il en est une qui l’est peut-être encore plus : celle des joueurs d’échecs de compétition. La Fédération Française des Échecs compte presque 50 000 licenciés, et parmi eux très peu doivent faire un usage exclusif de logiciels libres.

Et pour cause ! Pourtant, l’outil informatique est devenu au fil des années un élément indispensable de la panoplie du joueur d’échecs. D’abord, le compétiteur moderne dispose d’une base de données de plusieurs millions de parties, jouées par des milliers de personnes de tous les niveaux, qu’il peut exploiter à sa guise grâce à un logiciel spécifique. Elle lui permet de se préparer contre ses futurs adversaires, de peaufiner son répertoire d’ouverture ou encore de rejouer religieusement des parties classiques de grand-maîtres.

Ensuite, il a également besoin d’un moteur d’analyse, c’est-à-dire d’un logiciel capable de générer d’assez bons coups dans une position donnée. Comme ces logiciels sont en général très forts (disons-le clairement, les meilleurs d’entre eux peuvent battre n’importe quel humain dans une partie en temps limité), le pousseur de bois aguerri s’en sert souvent pour étudier ses propres parties et y repérer les fautes tactiques les plus grossières.

Enfin le joueur d’échecs, même occasionnel, aime jouer en ligne contre des adversaires du monde entier. Pour enchaîner les « blitz » (parties où chaque joueur dispose d’un temps de réflexion très réduit, en général inférieur à cinq minutes pour l’ensemble de l’exercice), il a besoin d’un client qui lui permette de se connecter à son serveur préféré.

Cependant, il y a un gros hic. L’entreprise qui détient le quasi-monopole de l’équipement informatique pour le joueur d’échecs s’appelle Chessbase. Et évidemment, elle ne développe ses outils que pour la plateforme Microsoft Windows (et entre nous, cela fait un moment que Chessbase est entré en mode tiroir caisse)…

Peu importe. De toute façon, le nouvel adorateur de GNU et Linux va s’évertuer à chercher des alternatives libres, quitte à perdre un peu en confort et en fonctionnalités. N’ai-je pas raison ?

Par conséquent, je voudrais ici faciliter la tâche des joueurs d’échecs souhaitant se séparer définitivement de l’OS de Redmond, en leur fournissant quelques pistes vers des solutions intéressantes. J’espère pouvoir dégrossir un peu le terrain.

1 – Gérer sa base de données avec Scid.

Scid est une application pour gérer des bases de données, créée par Shane Hudson. Elle dispose de toutes les fonctions que l’on attend d’un tel outil. Scid peut servir de simple lecteur PGN (Portable Game Notation, le format standard des parties d’échecs), dispose de fonctions de maintenance puissantes (on peut par exemple purger automatiquement les doublons d’une base) et, bien sûr, sait générer des rapports d’ouverture ou fournir des statistiques variées à partir de quelques parties. Son interface, bien qu’un peu austère, est propre et efficace.

Il faut noter que le développement de Scid s’est brusquement arrêté en 2004, lors de la mort de son créateur. Mais comme Scid est un logiciel libre, il a pu être repris par des volontaires motivés ! Ainsi, la dernière version stable de l’application date du 22 juin dernier, et de nombreuses nouvelles fonctions sont venues progressivement enrichir un outil qui était déjà d’excellente facture.

Une vieille version de Scid est disponible dans les dépôts Debian. Vous pouvez, si vous le voulez, compiler la dernière version depuis les sources.

Enfin, j’attire votre attention sur la disponibilité d’une base gratuite de plusieurs millions de parties sur Internet : Icofy. Complète et régulièrement mise à jour, elle constitue un assez bon choix par défaut.

2 – Un très fort moteur d’analyse : Toga.

Toga II est certainement le plus fort moteur d’analyse libre. C’est un module UCI (Universal Chess Interface, protocole ouvert de communication entre moteur et interface). Il est basé sur le moteur Fruit 2.1, lui aussi sous license GPL. Ce dernier a connu son heure de gloire il y a environ deux ans, quand il parvenait à rivaliser avec les meilleurs programmes commerciaux de l’époque ; on lui reconnaissait un style de jeu assez humain, ce qui a fait une partie de son succès. Toga conserve certaines de ses qualités.

Vous pouvez utiliser Toga dans Scid. Mais comme ce dernier ne gère pas nativement le protocole UCI, en tout cas pas dans la version présente dans les dépôts, il nous faudra installer un paquet supplémentaire : polyglot. Ce programme permet de rendre Scid compatible avec les modules UCI. J’ai toujours trouvé la procédure un peu obscure, c’est pourquoi je vais la détailler ici.

D’abord, téléchargez les paquets toga et polyglot avec votre gestionnaire de paquets préféré.

Nous allons maintenant créer un fichier toga.ini, qui sera ensuite pris en argument par polyglot. Créez par exemple le fichier suivant, puis placez le dans le répertoire qui contient toga et polyglot ; chez moi c’est /usr/games (pour plus de précisions, les spécifications du protocole UCI sont disponibles ici) :

[PolyGlot]

EngineName = Toga
EngineDir = /usr/games
EngineCommand = /usr/games/toga2

Log = false # Mettre à true pour des rapports de bogues
LogFile = toga.log

Resign = true
ResignMoves = 1

[Engine]

# Options standards UCI

Hash = 256

NalimovPath = /home/zitrouille/Nalimov-TB # Tables de Nalimov ici
NalimovCache = 16

OwnBook = false

Ouvrez Scid. Cliquez sur Outils, puis Moteur d’analyse. Une fenêtre s’ouvre, avec les moteurs déjà installés. Nous voulons installer un nouveau moteur. Par conséquent, nous allons cliquer sur Nouvelle.

Une nouvelle fenêtre apparaît, avec plusieurs champs à remplir. Devant Nom, écrivez par exemple Toga. Devant Commande, il va falloir indiquer l’emplacement de polyglot : c’est /usr/games/polyglot. Devant Paramètres, inscrivez toga.ini. Devant Répertoire, il faut indiquer le répertoire dans lequel se trouvent toga et polyglot, c’est-à-dire : /usr/games. Vous pouvez sans incidence laisser les derniers champs vides. Cliquez sur OK : Toga est désormais disponible pour vos analyses !

3 – Jouer sur Internet avec Eboard.

Cette partie peut intéresser les joueurs occasionnels. Le jeu sur Internet, bien qu’il puisse difficilement remplacer le jeu en club, possède un charme tout particulier. Il existe plusieurs serveurs : les plus connus sont Playchess (qui appartient à Chessbase, payant), ICC (Internet Chess Club, le plus populaire et le plus fréquenté par les grands maîtres, payant) et enfin FICS (Free Internet Chess Club, gratuit : « We do it for the game, not the money »).

Vous pouvez d’ores et déjà enterrer le premier choix, puisque l’unique client permettant d’accéder à Playchess n’est pas compatible avec GNU/Linux. En revanche il existe plusieurs applications libres permettant d’accéder à FICS. Eboard, même s’il est bien loin d’être parfait, constitue un compromis honnête entre convivialité et efficacité. En tout cas, il conviendra bien aux débutants, et possède l’avantage non négligeable d’être présent dans les dépôts de Debian.

Un autre programme libre fournit la possibilité de jouer sur ICC ou FICS : il s’agit de Jin. Pas vraiment meilleur que Eboard, il assure également l’essentiel.

4 – Une ultime expérience à but scientifique et castratrice de libertés : les solutions propriétaires existantes.

Plutôt que de jeter un voile pudique sur la scène, faisons discrètement le tour des solutions privatrices disponibles. À ma connaissance, il n’y a que l’honnête Shredder 11 qui puisse être utilisé nativement. Ainsi, notre promenade semble tourner court.

Et pourtant, nous disposons d’un outil « merveilleux » en l’objet de Wine. Et si les logiciels de Chessbase (encore eux) échouent pour la plupart lamentablement (cliquer sur les menus de mon Fritz 9 faisait invariablement planter l’application), il est un programme qui, lui, fonctionne impeccablement. C’est le déjà légendaire module d’analyse de Vasik Rajlich… Rybka ! Le meilleur des moteurs est donc parfaitement fonctionnel sur notre OS. Pour l’utiliser avec Scid il suffit d’adapter le fichier .ini précédent en écrivant notamment en face de EngineCommand quelque chose comme wine /usr/games/rybka.exe.

Notons également que le tout récent Aquarium (interface graphique créée pour Rybka par Convekta) fonctionne aussi bien avec Wine, et est donc exploitable sur GNU/Linux. De même, le bon client Babaschess peut être utilisé pour jouer en ligne. Je ne l’ai pas testé personnellement, mais il semble que les retours sont assez positifs.

Ainsi, la situation du jeu d’échecs sur GNU/Linux est finalement loin d’être catastrophique, contrairement à ce que l’on aurait pu penser au premier abord. Malgré les faiblesses évidentes de certaines des solutions proposées, nous pouvons être satisfaits car l’essentiel est préservé : le tryptique Scid/Toga/Eboard présente un réel interêt pour n’importe quel joueur d’échecs (mention spéciale pour Scid, véritable couteau suisse à l’efficacité remarquable). Courage, vous ne devriez pas voir la courbe de progression de votre classement Elo s’infléchir !

Vus : 1800
Publié par Zitrouille : 9