chess.database


Fonction (Function)

Cette applet a pour but d'afficher des parties commentées dans un seul échiquier. Ce dernier est associé à :

This applet allows you to display commented games on a single chess board. This one is associated to :

Exemple (Example)

  <applet code="chess.exobase" archive="chess.jar" width=550 height=375>
     <PARAM NAME="list"   VALUE="databases.lst">
  </applet>

Paramètres principaux (Main parameters)

list
fichier menu décrivant la liste des bases de données et les noms des fichiers de configuration associés (sous-menus)
menu file describing the list of data bases and the associated configuration file names (sub-menus)

Paramètres optionnels (Optional parameters)

textheight
hauteur du texte juste au dessus de l'échiquier. Par défaut, elle est égale à 20 pixels ce qui représente une ligne.
height of the text area just above the chessboard. By default, it is equal to 20 which means one line.
textwidth
largeur de la zone de texte à droite de l'échiquier. Par défaut, elle est égale à 4/9 de la largeur de l'applet
width of the text zone on the right. By default, it is equal to 4/9 of applet width.

Fichier "menu des bases de données" (data base menu file)

Le fichier menu est constitué d'un ensemble de lignes dont le format est le suivant :
    nom d'un fichier de configuration=titre associé

The menu file is composed of a set of lines in the following format :

    data base menu file name=data base title

Voici un exemple pratique : c'est le contenu mon fichier database.lst :
Here is an actual example : the contents of my file database.lst :

    miniatures/index.lst=Parties miniatures
    parties_celebres/index.lst=Parties célèbres
    ordinateur/index.lst=Gagner contre un ordinateur
    mes_parties/index.lst=Mes meilleures parties

Sous-menus (sub-menus)

Le menu "bases de données" fait référence à des sous-menus répresentés par des fichiers dont chaque ligne suit le format suivant :
    nom de fichier PGN=titre de la partie

The data base menu contains the references to sub-menus stored in files. These files contains lines under the following format :

  PGN file name=game title

Voici un exemple pratique ( Here is an actual example)) : miniatures/index.lst

   miniatures/mat_du_sot.pgn=La partie la plus courte
   miniatures/mat_du_sot2.pgn=La même ... avec les blancs
   miniatures/mat_en_3.pgn=Un mat en 3 coups
   miniatures/mat_du_berger.pgn=Le mat du berger
   miniatures/anti_berger.pgn=Comment contrer le mat du berger
   miniatures/mat_de_legal.pgn=Le mat de Legal
   miniatures/mat_de_legal_noir.pgn=Un mat de Legal ... avec les noirs

Organisation des bases de données (data base organisation)

Les bases de données sont généralement constituées d'un seul gros fichier éventuellement accompagné de fichiers de configuration pour accélérer les recherches. Dans le cas d'une publication directe sur internet, ce n'est pas une bonne structure car les temps de téléchargement augmentent de manière exponentielle avec la taille des fichiers.

The data bases are generally composed of a big files plus several configuration files. In the case of direct publication on the WEB, this structure is wrong because the delay for download increases exponentially with the file size.

C'est la raison pour laquelle j'ai choisi de morceler chaque base de données en petits fichiers, un par partie. Dès que le nombre de parties commentées devient conséquent, il apparaît indispensable de les organiser en répertoires et sous-répertoires. Pour mon site, j'ai adopté une structure relativement simple : une base de données est un répertoire de fichiers PGN (une partie par fichier), plus un index (le fichier menu) qui permet de donner un titre à chaque partie.

This is the reason why I decided to split the big file into a lot of small files (on game per file). However, when the number of commented games is large, then it becomes mandatory to organize files in directories. For my web site, I chose a relatively simple structure : one directory by data base which contains all PGN file plus an index (the sub-menu) which provides a title for each game.

Ce n'est pas la seule manière de procéder. Par exemple, il est parfaitement possible de faire en sorte qu'une même partie puisse appartenir à plusieurs bases différentes. Voici une organisation que j'adopterai prochainement :

de cette manière, l'ajout d'une partie commentée se fera de la manière suivante :

This is not the only valid organisation. For example, it is possible to choose a structure which allow you to mention a same game in several menus without having to duplicate this game :

Fichiers au format PGN (PGN files)

Le format PGN doit être strictement appliqué. Une partie ou un exercice est constituée :
  1. d'une zone de tags entre crochets [nom_du_tag "valeur du tag"] (le tag FEN permet de définir la position initiale d'un problème, les autres tags servant simplement de commentaires).
  2. de la partie proprement dite contenant lle-même plusieurs types d'éléments :
  3. une marque de fin de partie. Voici les quatres marques autorisées : 1-0 (les blancs ont gagné) 0-1 (les noirs ont gagné) 1/2-1/2 (partie nulle) * (partie interrompue).
Un fichier PGN peut contenir un nombre quelconque de parties ou d'exercices.

The PGN format must be strickly applied. A game or exercise is composed of :

  1. a TAG zone, each tag following the format [tag_name "tag value"] (the tag FEN enables you to define a initial position, other tags being simply comments).
  2. the game itself composed of several kinds of elements :
    • facultative move numbers ending by one or several points,
    • the moves using the english pice symbols,
    • the variants enclosed between parentheses,
    • comments between { and },
    • glyphs starting by $ and ending by a space : $1=! $2=? $3=!! $4=?? $5=!? $6=?! ...
  3. a mark ending the game. Four marks are allowed : 1-0 (white wins) 0-1 (black wins) 1/2-1/-2 (draw) * (interrupted game)
A PGN file may contain as many games as you want.

Mise à jour des problèmes Updating problems

Si vous avez déjà publié des exercices sur votre site en utilisant chess.exobase, alors votre travail normal consiste maintenant à mettre à jour régulièrement les exercices en ajoutant de nouvelles catégories ou en complétant des catégories existantes : Dans aucun des deux cas vous n'avez à modifier votre page Html.

If you have already published games or studies using the applet chess.exobase, then your main work consists now in updating regularly the exercises in adding new categories or in completing existing categories :

In any case, you don't have to update you Html page.