chess.database
Fonction (Function)
Cette applet a pour but d'afficher des parties commentées
dans un seul échiquier. Ce dernier est associé à :
- des boutons de commandes en dessous,
- une zone de texte au dessus qui rappelle le dernier coup joué,
- une zone de texte sur la droite qui affiche tous les coups et commentaires de cette partie,
- un menu en haut à gauche permettant de sélectionner une partie particulière dans un
ensemble de parties,
- un menu en haut au centre permettant de sélectionner une ensemble de parties (base de données),
This applet allows you to display commented games on
a single chess board. This one is associated to :
- command buttons,
- a short text area above showing the last move,
- a larger text zone on the right displaying the whole game,
- an upper left menu to select a particular game,
- an upper center menu to select a game data base,
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 :
- des parties rangées dans un ou plusieurs répertoires (plus ou moins en vrac ou rangées par joueur,
par tournoi, par année ...)
- un répertoire contenant exclusivement des fichiers menus, un même nom de partie pouvant être mentionné
dans plusieurs menus différents.
de cette manière, l'ajout d'une partie commentée se fera de la manière suivante :
- choix d'un répertoire + nom de fichier
- téléchargement du fichier PGN à l'emplacement choisi sur le site WEB
- modification du ou des fichiers menus devant référencer cette partie.
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 :
- putting PGN games in one or several directories (internal arbitrary organisation : by player, by tournment, by year ...),
- creating a directory containing exclusively menu files, a same game being possibly mentioned
in several different menus,
- maintaining the root menu (data base menu) referencing all sub-menus.
Fichiers au format PGN (PGN files)
Le format PGN doit être strictement appliqué. Une partie ou un exercice est constituée :
- 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).
- de la partie proprement dite contenant lle-même plusieurs types d'éléments :
- les numéros des coups sont facultatifs : ils se terminent toujours par un ou plusieurs points.
- Les coups sont indiqués dans le format court ou le format long en utilisant les symbols anglais
pour la désignation des pièces. Le symbol du pion est facultatif,
- les variantes sont placées entre parenthèses,
- les commentaires éventuels sont placés entre accolades,
- les marques (! ? !! ?? ...) sont des glyphs qui suivent un format spécial commençant par le caractères $
($1 = ! $2 = ? $3=!! $4=?? $5=!? $6=?! ... )
- 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 :
- 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).
- 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=?! ...
- 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 :
- si vous ajoutez des parties ou exercices dans un fichier PGN déjà publié, alors vous avez
simplement à remplacer l'ancienne version du fichier PGN par la nouvelle.
- si vous voulez ajouter une catégorie, alors vous devez :
- modifier le fichier menu en joutant une ligne,
- installer le nouveau fichier PGN à l'emplacement indiqué par le fichier menu.
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 :
- if you add games or exercices in a PGN file already published, than you have just to update this
file on your web site,
- if you want to add a category, then you have to :
- modify the menu file in adding a line,
- installing the new PGN file at the location indicated in the menu file.
In any case, you don't have to update you Html page.