
Cette documentation présente une vue d’ensemble détaillée du projet Échecs Mentor, une application de bureau interactive conçue pour l’apprentissage du jeu d’échecs, de la maîtrise des pièces aux ouvertures complexes.
1. Objectifs du Projet
Échecs Mentor a été conçu avec trois piliers fondamentaux :
1. Pédagogie Interactive : Transformer la théorie (ouvertures, tactiques) en exercices pratiques où l’utilisateur doit jouer les coups corrects.
2. Entraînement Réaliste : Intégrer un moteur d’analyse professionnel (Stockfish) pour permettre au joueur de pratiquer n’importe quelle position après une leçon.
3. Suivi Personnalisé : Offrir un système de progression persistant et une estimation de niveau (Elo) qui évolue en fonction des performances contre l’IA.
2. Architecture et Structure des Fichiers
Le projet suit une architecture modulaire pour faciliter sa maintenance et son extension.
Fichiers Racines
– main.py : Point d’entrée de l’application. Gère la boucle principale Pygame, les états du jeu (Menu, Leçon, Pratique, Paramètres), ainsi que le rendu de l’interface utilisateur (boutons, barres de recherche, overlays).
Répertoire src(Logique Métier)
– board_view.py : Composant de présentation. Gère l’affichage graphique de l’échiquier, les étiquettes de coordonnées, les sprites des pièces et les animations de mouvement.
– game_logic.py : Wrapper autour de la bibliothèque `python-chess`. Il valide la légalité des coups selon les règles de la FIDE.
– stockfish_analyzer.py : Interface avec le moteur Stockfish. Calcule les évaluations de position, suggère les meilleurs coups et gère le système de calcul Elo K-Factor.
– lesson_manager.py : Moteur de leçons. Charge les fichiers JSON, suit les étapes des ouvertures et enregistre la progression de l’utilisateur.
– practice_manager.py : Générateur procédural de défis (ex: « Déplacez le cavalier pour capturer l’étoile ») pour la pratique des pièces.
– settings_manager.py : Gère la persistance des préférences utilisateur et de l’état global.
– import_openings.py : Script utilitaire pour importer plus de 3000 ouvertures depuis les dépôts standard (Lichess).
Répertoires data et assets
– data/lessons : Contient les définitions des leçons au format JSON.
– assets/pieces : Images haute résolution des pièces de jeu.
3. Dépendances
L’application repose sur des bibliothèques robustes de l’écosystème Python :
Python 3.10+ Langage de programmation de base.
Pygame 2.6+ Moteur graphique pour le rendu 2D et la gestion des événements.
python-chess Moteur de règles, validation des coups et gestion des FEN/PGN.
Stockfish Moteur d’échecs externe pour l’IA et l’analyse. |
4. Mode Opératoire
Installation
1. Assurez-vous que Python et Pip sont installés.
2. Installez les dépendances : pip install pygame chess
3. Placez l’exécutable Stockfish dans votre chemin système ou à la racine du projet.
Utilisation Quotidienne
– Lancer l’application : python main.py
– Apprendre une ouverture : Allez dans « Apprendre », utilisez la barre de recherche pour filtrer parmi les 3000 variantes, et suivez les instructions à l’écran.
– Pratiquer contre l’IA : Démarrez une « Nouvelle Partie » sur l’accueil ou terminez une leçon pour passer en mode jeu libre.
Maintenance et Évolutions
– Ajouter une leçon : Créez un fichier .json dans data/lessons suivant la structure existante (FEN de départ, liste des coups attendus).
– Mettre à jour les ouvertures : Relancez python src/import_openings.py pour synchroniser la base de données locale avec les dernières ressources Lichess.
5. Améliorations Possibles (Roadmap)
Pour les futures versions, les axes suivants sont recommandés :
– Aide Visuelle Avancée : Implémenter le tracé de flèches (Arrows) sur l’échiquier pour illustrer les menaces et les plans tactiques.
– Environnement Sonore : Ajout de retours audios pour les captures et les échecs au roi afin d’améliorer l’immersion.
– Thématisation : Permettre à l’utilisateur de changer le style visuel de l’échiquier (thèmes bois, néon, etc.).
– Analyse Post-Game : Ajout d’un mode « Revue de partie » détaillant chaque coup avec les recommandations précises du moteur.
Sources
Exécutable Windows
Dézipper dans un répertoire et double-cliquer sur l’exécutable EchecsMentor.exe
L’exécutable EchecsMentor.exe) est spécifiquement conçu pour Windows 64-bit. Voici les détails précis de sa compatibilité :
1. Systèmes d’Exploitation supportés
- Windows 10 et Windows 11 : Compatibilité totale et optimale.
- Windows Server (2016 et +) : Fonctionne également sans problème.
- Versions plus anciennes (Windows 7/8) : Le support n’est pas garanti car les versions récentes de Python (3.10+) et de Pygame ont abandonné la compatibilité avec ces OS obsolètes.
2. Architecture Matérielle (CPU)
- Processeur 64-bit (x64) : Indispensable. L’application ne tournera pas sur un Windows 32-bit.
- Support AVX2 : Le moteur Stockfish qui est inclus est la version AVX2. Cela concerne la quasi-totalité des processeurs Intel et AMD produits depuis 2013 (Haswell pour Intel, Excavator pour AMD).
- Note : Si vous essayez de lancer le jeu sur un processeur très ancien (plus de 12 ans), Stockfish pourrait ne pas démarrer, bien que l’interface du jeu s’ouvrira quand même.
3. Ce qui n’est pas supporté (nativement)
- macOS / Linux : Cet exécutable ne fonctionnera pas directement sur ces systèmes. Il faudrait recompiler l’application spécifiquement pour eux ou utiliser un émulateur comme Wine ou Proton (sur Linux).
- Android / iOS : Incompatible, car ce sont des architectures et des systèmes radicalement différents.
Points forts de cet exécutable :
- Zéro Dépendance : Vous pouvez copier ce fichier .exe sur une clé USB et le donner à un ami qui est sous Windows ; il pourra jouer sans avoir besoin d’installer Python, Pygame ou quoi que ce soit d’autre. Tout est « auto-contenu ».
- Portable : L’application n’a pas besoin d’être « installée » via un installeur complexe, elle se lance directement.
En résumé, tant que vous restez sur un PC Windows moderne (64-bit), vous pouvez l’utiliser et le distribuer librement !
Exécutable Linux
Voici les détails concernant sa compatibilité. Comme l’exécutable a été compilé sous un environnement linux mint, ses caractéristiques techniques sont les suivantes :
1. Architecture
- x86_64 (64 bits) uniquement. Il ne fonctionnera pas sur des systèmes 32 bits ou sur des processeurs ARM (comme les Raspberry Pi ou les nouveaux Mac Apple Silicon via une VM, sauf émulation).
2. Version de la GLIBC (Le point critique)
L’exécutable a été généré avec la GLIBC 2.39.
- Compatibilité : Il fonctionnera sur tous les systèmes Linux ayant une version de la GLIBC égale ou supérieure à 2.39.
- Exemples de distributions compatibles :
- Ubuntu 24.04 (Noble Numbat) et versions ultérieures.
- Linux Mint 22 (basée sur Ubuntu 24.04).
- Fedora 40 et versions ultérieures.
- Arch Linux (toujours à jour).
- Debian 13 (Trixie) et versions ultérieures.
3. Limitations (Systèmes plus anciens)
Il risque de ne pas fonctionner sur des distributions plus anciennes (ex: Ubuntu 22.04 LTS ou Debian 12) car elles utilisent des versions de la GLIBC antérieures (ex: 2.35). L’erreur affichée serait alors du type : version 'GLIBC_2.39' not found.