Apprendre à jouer aux échecs autrement
Date de la dernière modification: 13 janvier 2024
EN TRAVAIL! J’ai commencé cet article le 17 décembre 2020. C’est avant tout pour l’instant un document de référence général personnel et qui part un peu dans tous les sens …! Janvier 2024: je dois vraiment ajouter un sujet sur les applications Smartphone hors-ligne!
En capahutant dans les bibliothèques (5 mai 2021) on y fait parfois des découvertes étonnantes: Bien débuter aux échecs (j’adore)!
On dira que cette page sous WordPress/Elementor va me prendre quelques mois de travail! Début 2021, j’ai commencé à scinder cet article en plusieurs parties, avec, en particulier:
Apprendre à jouer aux échecs pour les enfants (utilisation de chess.org sur smartphone);
Apprendre à jouer aux échecs avec des Exercices
Liens directs aux sujets dans cet article:
lichess.org — Arena — BanksiaGUI — FEN — PGN
Ouvertures — Stockfish — UCI — Stockfish ligne de commande
Les livres
La tombe du prodige et du plus contreversé Bobby Fischer à Selfoss – Islande.
Pas facile à trouver et nous avons fait le détour, évidemment (2014).
Moi-même je ne suis pas “vraiment” un joueur d’échec, je n’ai donc pas de points dans un quelconque Classement Elo. Mon intérêt est plus dans l’étude de ce jeu, ces stratégies et évidemment de ses outils informatiques et de ses références sur le Web. En 1977, j’ai commencé d’y jouer sur un Commodore PET et plus tard, à plusieurs occasions, sans trop de succès d’ailleurs, à programmer ce jeu (dernièrement en Java).
Vous pouvez sans-soucis me contacter par Email pour vos commentaires, d’autres idées ou suggestions, voire des erreurs de ma part. Un grand merci d’avance!
Je ne vais sans doute pas, dans un premier temps en tout cas, expliquer les règles de ce jeux. Déjà pour le premier exercice, il faudra les maitriser. Si jamais, on pourrait commencer par Apprendre à jouer aux échecs en jouant (lichess.org) voir le site Wikipédia dédié.
Les exemples donnés ici peuvent évidemment être déposés sur un vrai échiquier, soit pour y réfléchir ou alors les travailler avec un vrai partenaire … ou encore, comme moi, avec divers programmes sur PC et sur le Web, pour étudier mes coups en comparant leurs moteurs et stratégies.
Je ne donne pas non plus d’instructions précises pour les installations. Les sites d’installation de programmes sont souvent associés avec d’autres outils voire de la publicité. Il faudra se méfier.
En retrouvant un de mes bons vieux livres, datant de 1988, les ECHECS faciles pour tous de Noël Ramini, il m’est venu à l’idée de reprendre les échecs et de rafraîchir mes connaissances!
Mettre toutes ces investigations et recherches ici, sur mon site Web, c’est avant tout comme référence personnelle, mais aussi dans un but ludique pour les visiteurs potentiels, … mais c’est un gros travail!
Dans ces années-là, j’étais abonné à la revue Europe Echecs (pas sûr que c’était le même nom qu’aujourd’hui)! A cet époque, il n’y avait pas encore d’Internet, mais juste quelques programmes sur PC, comme le fameux GNU Chess, créé en 1984, sur lequel je pourrais revenir!
Lorsque j’ai feuilleté ce livre, vers la fin, une de mes habitude pour évaluer un ouvrage, j’ai trouvé ce problème à résoudre, Mat en deux coups, les blancs jouent:
Exercice1
Ce fut d’entrée un casse tête. J’ai analysé les solutions données dans le livre, sans l’aide d’un programme, repris le problème le jour suivant … et tous mes vieux réflexes sont plus ou moins revenus … avec un sérieux doute … s’il n’y avait pas d’autres solutions.
Le livre indique deux solutions:
Fh2-c7, Ta8xa1, Fh7-b1, échec à la découverte
Fh2-c7, TA8xh8, Ff1-f2, échec à la découverte
lichess.org (Web)
Le schéma ci-dessus est repris du site https://lichess.org/ , un serveur en ligne gratuit, où il est possible d’activer directement des parties, comme celle-ci avec un lien :
https://lichess.org/editor/r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1.
La définition FEN
C’est magnifique avec cette définition FEN (ici r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1), sur laquelle je reviendrai.
On utilisera les boutons CONTINUER DEPUIS CETTE POSITION et ensuite JOUER CONTRE L’ORDINATEUR. Nous mettrons ensuite le niveau 1 et avec le bouton en bas du roi blanc, nous pourrons jouer le Fh2-c7. Donc les noirs: c’est l’ordinateur!
Le livre n’indique d’ailleurs pas que le Fh2 doit absolument être déplacé, sinon il sera pris par le roi en h1.
Nous verrons que le licess.org ne joue pas comme le livre, évidemment, mais j’ai tout de même réussi le Mat rapidement:
Fh2-c7, Ta8-a4, Fb7-b1, Ta4-h4, Dh8xh4, Mat.
Est-ce le bouquin qui est trop vieux? Ou alors il ne donne pas les bonnes et toutes les solutions (impossible d’ailleurs)? Si je joue Fh2-c7, c’est clair, mon partenaire noir ne va pas forcément jouer Ta8-a4. Il peut faire mieux, voir faire tout faux. Un ordinateur aura des moteurs, des parties enregistrées, et un retour différent avec des attentes de réflexion variée. Un moteur qui n’est pas génial génial est aussi moins frustrant pour un débutant. On va y revenir!
Lorsqu’on https://lichess.org/editor/r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1 après avoir passé à la fenêtre JOUER CONTRE L’ORDINATEUR nous pouvons choisir les noirs (en bas à gauche). L’ordinateur, avec le niveau1, jouera immédiatement en choisissant Fh2-b8. Intéressant et avec l’échiquier retourné!
Exercice1
L’ordinateur joue!
On peut refaire le même exercice en lui mettant le niveau 8. Dans ce cas, il nous choisira notre premier choix Fh2-c7. Dans la fenêtre à droite, nous voyons un Stockfish niveau 1. Nous reviendrons sur ce moteur d’échec, mais pourquoi pas, déjà maintenant consulté, son site Wikipedia.
J’ai évidemment créé sur mon bureau de Windows un raccourci à l’éditeur de lichess.org: bouton droite de la souris sur le bureau, menu Nouveau / Raccourci, on entre https://lichess.org/editor suivi d’un nom comme “Lichess.org editor“.
Cela veut aussi dire, quant choisissant différents niveaux, différents moteurs ou programmes, différents côtés, nous aurons alors plein de ressources et de variations pour reprendre nos parties et avancer dans notre apprentissage des échecs.
Une de mes premières démarches a été de chercher comment réutiliser cette notation FEN (Forsyth-Edwards Notation), dont on on trouvera par exemple une bonne définition ici, et de l’utiliser pour initialiser une partie dans un programme d’échec sur PC. En d’autre terme, importer ici r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1). C’est clair qu’une entrée FEN ne fait pas de sens si nous commençons une partie tout au début!
Arena 3.5.1 (2015)
J’ai donc commencé avec la version 3.5.1 d’Arena (décembre 2015) qui va nous montrer qu’il commence par nous piquer la reine en h8 avec sa Tour, pour notre premier exercice! Ce joli programme gratuit pour PC (Windows ou Linux) peut se télécharger depuis Arena Chess GUI.
Le SOS 5.1 indiqué sur l’échiquier indique le nom du Chess engine (moteur) utilisé et préinstallé. Nous y reviendrons avec BanksiaGUI ci-dessous où il faudra installer les moteur (comme Stockfish) séparément.
Pour obtenir cet échiquier, pour notre exercice précédent, il faudra utiliser le menu (barre supérieure) avec son 4-ième onglet Position, ensuite Set-up a Position, l’onglet Load et pour terminer les boutons Load suivi de OK. La fenêtre FEN nous permettra de copier notre séquence FEN ci-dessus, c’est à dire r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1. Pour terminer nous utiliserons les boutons Load suivi de OK pour nous retrouver avec l’échiquier montré ci-dessus.
Si nous voulions inverser les joueurs, il suffirait d’indiquer b (black == noir) au lieu de w (white == blanc.)
Pour jouer la partie, étant le joueur blanc, nous cliquerons avec la souris sur la position h2 pour déplacer le Fou blanc en c7, comme indiqué dans la livre: Fh2-c7.
Avant de continuer, nous allons commencer par une sauvegarde dans un fichier PGN!
Nous trouverons une définition de PNG (Portable Game Notation) ici.
Avec Arena nous irons dans le menu File et ensuite Save As. J’ai nommé le fichier Exercices1.png et stocké dans un répertoire d’où je pourrai aussi l’utiliser pour d’autres programmes sur mon PC.
Il est possible de le consulter avec un éditeur de texte (notepad++ pour moi, mon favori).
Nous verrons qu’il ne contient aucun déplacement, mais juste l’échiquier de départ au format FEN. Nous pourrons évidemment recharger dans Arena, à tout moment, cette position avec le menu File et Open (voire Open Previous).
Pour jouer la partie, en tant que joueur blanc, nous cliquerons avec la souris sur la position h2 pour déplacer le Fou blanc en c7, comme indiqué dans la livre: Fh2-c7.
Ce n’est évidemment pas la seule possibilité et nous y reviendrons. La suite de la partie, pour les pièces noires, sera jouée par l’ordinateur. Vu le nombre de possibilités nous n’obtiendrons pas l’une des solutions du livre indiquées ci-dessus.
Au lieu de jouer les blancs, nous pouvons laisser le PC jouer lui-même en utilisant la touche Ctrl-Z.
Le titre de l’exercice dans le livre c’est Mat en deux coups, les blancs jouent. Ce n’est évidemment le cas que pour un départ avec Fh2-c7, et les deux coups noirs mentionnés. Les blancs doivent gagner, c’est évidant. Personnellement je préfèrerais un premier coup avec Fh2-c7 qui protège la reine et la tour blanche. Il faudrait aussi dire de ne pas attendre pour laisser le roi noir passer en h2. Ce serait alors une autre partie à gagner différemment.
Avant d’analyser différentes solutions de l’Exercice1 précédent, nous allons passer à un autre programme sur PC, BanksiaGUI, et ceci, évidemment, avec ce même échiquier!
BanksiaGUI aura besoin d’un moteur d’échec à installer séparément.
Nous avons choisi Stockfish 12 (Septembre 2020) comme moteur (engine), que nous trouverons sur le site https://stockfishchess.org/. Ce sont des exécutables (.exe sous Windows) que nous avons installé dans un répertoire faciliement reconnaissable. Nous avons installé la version stockfish_20090216_x64_bmi2.exe, indiquée comme la plus rapide, ainsi que la version stockfish_20090216_x64.exe.
Stockfish est un moteur d’échecs qui suit le protocole ouvert UCI (Universal Chess Interface). Ce dernier permet aux programmeurs de l’utiliser et de pouvoir se concentrer sur la construction de la partie GUI (Graphical User Interface, l’interface graphique).
La version de Stockfish installée ici peut aussi être utilisée dans Arena 3.5.1 précédemment exposé, et avec le menu Engines / Install New Engine….
Nous trouverons BanksiaGUI sur leur site https://banksiagui.com/. Comme Arena, il est gratuit. Nous le mettrons en français. Dès que le programme sera installé, nous irons dans le menu Fichier, Ouvrir partie et choisir notre fichier Exercices1.png.
Nous sommes bien avec Banksia! Le titre sur la barre supérieure vient du nom du fichier de sauvegarde Exercices1.png, faite à partir d’Arena et rechargée ici. Nous pouvons aussi définir un FEN (ici r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1) avec le menu Modifier et ensuite Modifier Echiquier avec le bouton OK pour terminer, sans oublier de positionner les blanc qui jouent.
Attention d’orienter juste l’échiquier: il m’est arrivé de cliquer par erreur sur le bouton qui ressemble à tasse! Sur certains PCs où la fenêtre est trop grande, il faudra la redimensionner pour voir le bouton OK. Sa présentation est magnifique comme celle de Banksia d’ailleurs:
La première configuration consiste à installer un moteur (chess engine). Nous avons choisi la version bmi1 de Stockfish 12, que nous venons d’installer. L’installation se fait avec le menu Fichier, Réglages et l’onglet Moteurs. Le bouton + nous permettra d’aller rechercher l’exécutable sous Fichier du moteur. Un OK terminera l’installation.
Pour ce même Exercice1 avec Banksia, et comme nous avons déjà analysé pas mal de combinaisons, nous laisserons donc la main des blancs à l’ordinateur.
La roue dentée dans le menu nous permettra de configurer la partie (ATTENTION de bien désactiver le v sous nouvel onglet pour garder notre échiquier et non refaire un nouveau) et indiquer Stockfish 12 pour les blancs en laissant Humain pour les noirs. Ce sont donc les noirs qui jouerons avec le bouton jouer >|| au milieu de la barre de menu supérieure.
Attention: L’échiquier sera dans l’autre sens et la vision est vraiment différente surtout si on joue les blancs régulièrement.
Stockfish nous donnera Fh2-c7 et nous serons satisfait!
Avec l’Exercice1, nous avions déjà constaté que le nombre de coup pour conduire au Mat, voire faire une grosse faute, était relativement limité! L’Exercice2 qui vient à présent est d’un autre gabarit! Il va demander plus d’attention. Un Mat assez rapide est possible, mais même un Pat accidentel serait envisageable!
Le FEN de cette partie, 8/8/8/5K1p/5p1k/5R2/7r/6R1_w_-_-_0_1, peut être visualisé avec lichess.org: https://lichess.org/editor/8/8/8/5K1p/5p1k/5R2/7r/6R1_w_-_-_0_1.
Les blancs jouent, et cet échiquier peut être défini dans notre BanksiaGUI comme décrit comme décrit ci-dessus.
Exercice2
Le premier coup avec Tg1-g5 semble évident.
A suivre …
Pour les Ouvertures aux échecs, il y aura du travail.
Il y a une quantité incroyable de livres et d’articles sur le Web, concernant les tactiques et les stratégies des premiers coups. Je ne pense qu’aucun va nous indiquer que sortir les pions des tours d’entrée est un bonne idée … voir même une mauvaise, évidemment! Par contre sortir au centre les pions, les cavaliers et les fous reste une règle qui revient comme reprendre une pièce immédiatement après une prise ainsi que le roque du roi.
J’aimerais bien pouvoir visionner le nom des ouvertures à titre ludique: le site Wikipedia sur les ouvertures pourrait être un départ! On pourrait commencer par l’ouverture classique e2-e4, et ensuite consulter la description des débuts ouverts et ensuite sa description spécifique. Lire tous ces documents est intéressant … mais quel travail! On se rappellera que les ouvertures traditionnelles sont e2-e4 et d2-d4, voire Cg1-f3.
Si on reprend le site lichess.org en mode analyse :
Cet échiquier avec cette partie à droite, le premier niveau de l’arborescence des ouverture, peut aussi s’obtenir à partir de https://lichess.org/editor et en cliquant ensuite sur le menu à droite ÉCHIQUIER D’ANALYSE.
Nous pourrons par exemple commencer par un des coups “standard”, le e4, un des plus fréquents. Nous cliquerons sur le e4 dans le tableau à droite en bas. Ce dernier nous montre les choix généralement joués. Pour le coup suivant, même topo, on cliquera sur le tableau des choix possibles pour les noirs.
C’est une méthode d’apprentissage intéressante. Si nous commencions par a4, c’est évident, personne ne jouerait un tel coup “stupéfiant”: aucun choix d’analyse ne nous sera retourné pour le coup suivant des noirs.
Si nous jouons maintenant 1. e4 e5 2. Nf3 d6 nous recevrons alors :
avec, dans la fenêtre à droite des choix, une indication que cette ouverture se nomme la défense Philidor, donc un moyen d’apprendre le nom des ouvertures! Magnifique, encore une fois.
Encore beaucoup de travail ….
Stockfish en ligne de commande
Il est tout à fait possible de démarrer le moteur Stockfish UCI en ligne de commande!
Moi même je l’ai installé, avec entre autres stockfish_20090216_x64_bmi2.exe, sur mon PC, et ceci avant d’installer BanksiaGUI qui l’utilise. Il suffit de double cliquer sur ce .exe (ou faire comme moi mettre un raccourci sur le bureau) pour le voir apparaître dans une console CMD sous Windows:
Il faudra alors utiliser une des commandes du protocole UCI (voir par exemple ici ou encore là).
Pour le premier exercice nous avions un FEN r6Q/7B/8/8/8/5p2/7B/R4K1k_w_-_-_0_1 dont nous remplacerons ici les _ par des espaces pour la commande de positionnement
position fen r6Q/7B/8/8/8/5p2/7B/R4K1k w – – 0 1.
La commande d nous montre l’échiquier et go nous cherche la meilleure solution :
Nous voyons qu’en profondeur 9, il a déjà trouvé la meilleure solution en h2c7. La huit premières recherches avec h2b8 nous permet de nous “imaginer” comment le moteur travaille
Les dernières lignes nous montrent :
info depth 244 seldepth 4 multipv 1 score mate 2 nodes 23743 nps 166034 tbhits 0 time 143 pv h2c7 a8h8 f1f2
info depth 245 seldepth 4 multipv 1 score mate 2 nodes 23840 nps 165555 tbhits 0 time 144 pv h2c7 a8h8 f1f2
bestmove h2c7 ponder a8h8
depth correspond aux nombres de nœuds recherchés. La meilleure solution trouvée est donnée par h2c7.
Il y aura encore du travail pour expliquer les différentes options! La commande go peut être utilisée avec un paramètre movetime qui permettrait de stopper la recherche après un certain temps en millisecondes, par exemple :
go movetime 2000
La puissance du CPU de la machine aura sans doute une impact sur le résultat et la profondeur de la recherche.
En jouant avec ce paramètre, cela permettrait d’obtenir des positions jouables, peut-être moins frustrantes pour les débutants. Je suis en train d’analyser ces options dans la cadre d’une interface en Java en travail (voir ci-dessous).
Une méthode d’analyse est d’utiliser l’éditeur de lichess.org pour mettre en place une partie, par exemple avec deux tours blanches restantes, et de copier le FEN indiqué en bas, sous l’échiquier en édition, 6k1/8/R7/1R6/8/8/8/3Q4 w – – 0 2. C’est d’ailleurs tout aussi simple avec Banksia, précédemment considéré, et où le FEN se trouve en haut de l’échiquier. Ne pas oublier d’indiquer qui joue!
Dans cet exemple, avec un roi bien trop isolé, le moteur nous retournera évidemment le seul choix raisonnable possible ici, b6b8!
Interface en Java pour Stockfish
J’ai repris le code de Rahul Aralikatte et téléchargé ses deux classes Java Stockfish et StockfishTest de GitHub (un service web d’hébergement de logiciels). Je l’ai installé sous Eclipse (IDE pour Java) et “interfacé” avec stockfish_20090216_x64_bmi2.exe précédemment considéré.
Ce code Java date de Mars 2014 et je dois encore corriger quelques erreurs! Bien que l’exe de Stockfish indique 2009, c’est bien une version de Septembre 2020. La réception des retours du moteur est pas toujours bien traitée.
La méthode startEngine() de la classe Java Stockfish nous montre comment le moteur est exécuté et que les classes OutputStreamWriter et BufferedReader sont utilisées pour envoyer les commandes UCI et recevoir les réponses pour les analyser.
Je vais beaucoup m’amuser avec le paramètre movetime de la commande go. Pour l’Exemple1 ci-dessus, avec un délai de 500 msecs pour la recherche, j’ai bien obtenu mon h2c7.
Les livres
C’est difficile de conseiller un livre, il faudrait le voir et travailler avec.
Moi-même, j’en ai quelques-uns dont un qui date de 2009 et avec 1700 pages: Le Nouveau Guide des échecs de Nicolas Giffard et Alain Biénabe. Nous le retrouvons sur le site Les meilleurs livres pour un débutant aux échecs et noté comme “… plus général et aussi un peu plus compliqué”. J’aime bien les références historiques, un moyen je pense de mémoriser par exemple les ouvertures.
Même le livre de 1988 dont je parle en début d’article, les ECHECS faciles pour tous de Noël Ramini, n’est pas si mal au niveau des ouvertures, où l’on retrouve des références historiques.
Il y a plein de références sur le Web, comme le TOP 5 des meilleurs livres pour apprendre la stratégie aux échecs.
Pour les enfants, il y a aussi plein de livres simples d’introduction, pour faire ces premiers pas. J’ai mentionné par exemple « Les échecs, un jeu d’enfant !« dans mon article Apprendre à jouer aux échecs pour les enfants. Dans cet article je parle aussi du livre Le cours d’échecs de Marie.
Robots et échecs
Étant familier avec des plateformes comme Arduino et Raspberry Pi, il me viendra peut-être à l’idée, un jour, de me lancer dans la construction d’un robot (voir absolument les vidéos).
La suite à très bientôt
A faire, à étudier et en travail:
Notation! Des erreurs sans doute!
PIF et PIFPIC!
https://www.chess.com/fr/analysis
https://www.sparkchess.com/ évidemment (https://www.sparkchess.com/chess-puzzles.html)
https://github.com/nguyenpham/Banksia pour compilation!
51 SparkChess Free Alternative Apps
Idée:
– faire une liste de parties simples au travers de lichess.org avec une petite description.
– même topo pour les fins de parties.
https://www.thechesswebsite.com/chess-puzzles/
https://www.chess.com/fr
https://chess24.com/fr
https://www.shredderchess.com/
Quelques références dans https://echecs-payerne.ch/liens-echecs/
Faire une liste de documents Wikipedia pour les ouvertures.
Exemple pour la défense Sicilienne Najdorf: Variante Najdorf
Interface UCI: en ligne de commande et en programmation (Java, C++, python, ?? à voir)!
https://github.com/tondeur-h/UCIChess
Voir aussi: https://www.chessprogramming.org/Texel
Police non proportionnel! Marche pas bien sous WordPress/Elementor
Police TTF Chess Alpha2 en cours d’installation avec l’extension WordPress Custom Fonts:
http://www.enpassant.dk/chess/fonteng.htm