{"id":195,"date":"2024-03-26T07:49:10","date_gmt":"2024-03-26T07:49:10","guid":{"rendered":"https:\/\/shatranj.ai\/?page_id=195"},"modified":"2026-02-27T03:28:27","modified_gmt":"2026-02-27T03:28:27","slug":"themes-du-programme-detudes","status":"publish","type":"page","link":"https:\/\/shatranj.ai\/fr\/themes-du-programme-detudes\/","title":{"rendered":"Th\u00e8mes du programme d'\u00e9tudes"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"195\" class=\"elementor elementor-195\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-pafe-particles=\"7ecab8f5\" data-pafe-particles-options=\"{&quot;quantity&quot;:300,&quot;particles_color&quot;:&quot;#FFFFFF&quot;,&quot;linked_color&quot;:&quot;#FFFFFF&quot;,&quot;hover_effect&quot;:&quot;&quot;,&quot;click_effect&quot;:&quot;&quot;,&quot;particles_shape&quot;:&quot;circle&quot;,&quot;particles_size&quot;:3,&quot;particles_speed&quot;:2,&quot;particles_image&quot;:&quot;https:\\\/\\\/shatranj.ai\\\/wp-content\\\/plugins\\\/elementor\\\/assets\\\/images\\\/placeholder.png&quot;,&quot;particles_opacity&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.3,&quot;sizes&quot;:[]},&quot;linked_opacity&quot;:0.3}\" class=\"elementor-element elementor-element-7ecab8f5 e-flex e-con-boxed e-con e-parent\" data-id=\"7ecab8f5\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6add0b83 elementor-widget elementor-widget-heading\" data-id=\"6add0b83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Th\u00e8mes du programme d'\u00e9tudes<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e077378 e-flex e-con-boxed e-con e-parent\" data-id=\"3e077378\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2e884890 elementor-widget elementor-widget-text-editor\" data-id=\"2e884890\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Le programme d'\u00e9tudes du projet Shatranj.ai peut \u00eatre consult\u00e9 \u00e0 l'adresse suivante <a href=\"http:\/\/lms.shatranj.ai\">lms.shatranj.ai<\/a><\/strong><\/p><p>Vous trouverez ci-dessous de brefs r\u00e9sum\u00e9s des th\u00e8mes abord\u00e9s dans le cadre du programme d'\u00e9tudes.<\/p><h1>Le\u00e7on 1 - Champ d'application et priorit\u00e9s du cours<\/h1><ul><li>Pr\u00e9sente le projet Shatranj.AI, ses fondations Erasmus+, ses organisations partenaires et ses plateformes num\u00e9riques.<\/li><li>Vision du projet, contexte Erasmus KA2<\/li><li>Institutions partenaires et patrimoine culturel<\/li><li>Aper\u00e7u des plateformes (\u00e9diteur, LMS, outils de codage)<\/li><li>R\u00f4le des enseignants et r\u00e9sultats des \u00e9l\u00e8ves<\/li><li>Vue d'ensemble de la structure du programme d'\u00e9tudes<\/li><li>Introduction \u00e0 Python\/Jupyter<\/li><\/ul><h1>Le\u00e7on 2 - Introduction \u00e0 l'informatique et \u00e0 la configuration de Python<\/h1><ul><li>Les \u00e9tudiants apprennent les concepts informatiques de base et installent Python\/Jupyter.<\/li><li>Les bases du CPU, de la RAM et des E\/S<\/li><li>Bits, octets, repr\u00e9sentation binaire<\/li><li>Installation de JupyterLab<\/li><li>Premi\u00e8re ex\u00e9cution d'un notebook Python<\/li><li>Variables, expressions simples<\/li><li>Acc\u00e8s aux dossiers du lecteur<\/li><\/ul><h1>Le\u00e7on 3 - Types de donn\u00e9es Python<\/h1><ul><li>Couvre les types de donn\u00e9es int\u00e9gr\u00e9s de Python et les op\u00e9rations de base.<\/li><li>Entiers, flottants, cha\u00eenes de caract\u00e8res, bool\u00e9ens<\/li><li>Conversion de type<\/li><li>Listes et indexation<\/li><li>Concepts de mutabilit\u00e9<\/li><li>Exercices sur les pi\u00e8ces d'\u00e9checs en tant que cordes<\/li><\/ul><h1>Le\u00e7on 4 - Conditionnelles, boucles, flux de contr\u00f4le<\/h1><ul><li>Introduction \u00e0 la logique, aux boucles et aux programmes interactifs.<\/li><li>Logique If\/elif\/else<\/li><li>Op\u00e9rations bool\u00e9ennes<\/li><li>Boucles For\/while<\/li><li>Pause\/poursuite<\/li><li>Programmes de saisie simples<\/li><\/ul><h1>Le\u00e7on 5 - Fonctions, port\u00e9e, param\u00e8tres<\/h1><ul><li>Enseigne le code modulaire avec des fonctions.<\/li><li>D\u00e9finition des fonctions<\/li><li>Param\u00e8tres et retours<\/li><li>Champ d'application local\/mondial<\/li><li>Lambdas<\/li><li>Petit projet fonctionnel (calculateur de valeur \u00e0 la pi\u00e8ce)<\/li><\/ul><h1>Le\u00e7on 6 - Fichiers, exceptions, biblioth\u00e8ques, tests<\/h1><ul><li>Travailler avec des fichiers et du code robuste.<\/li><li>Lecture\/\u00e9criture de fichiers<\/li><li>Essayer\/excepter<\/li><li>Importer des biblioth\u00e8ques<\/li><li>Tests simples<\/li><li>Traitement des entr\u00e9es non valides<\/li><\/ul><h1>Le\u00e7on 7 - OOP, Classes, TicTacToe<\/h1><ul><li>Premi\u00e8re exposition \u00e0 la POO.<\/li><li>Classes et objets<\/li><li>Attributs et m\u00e9thodes<\/li><li>Mod\u00e9lisation du jeu<\/li><li>Mise en \u0153uvre du TicTacToe<\/li><li>D\u00e9bogage du code OOP<\/li><\/ul><h1>Le\u00e7ons 8 - \u00c9checs et repr\u00e9sentation de l'\u00e9chiquier du Shatranj<\/h1><ul><li>Repr\u00e9sentations au conseil d'administration pour les \u00e9checs et Shatranj<\/li><li>Coordonner les syst\u00e8mes et les strat\u00e9gies d'indexation<\/li><li>Structures de donn\u00e9es internes pour l'\u00e9tat de la carte<\/li><li>UTF-8 et rendu symbolique des pi\u00e8ces<\/li><li>Int\u00e9gration avec les \u00e9diteurs de tableaux et les outils de visualisation<\/li><\/ul><h1>Le\u00e7ons 9 - Mouvement des pi\u00e8ces, mises \u00e0 jour de l'\u00e9tat du jeu et conditions terminales<\/h1><ul><li>R\u00e8gles de d\u00e9placement des pi\u00e8ces aux \u00e9checs et au Shatranj<\/li><li>G\u00e9n\u00e9ration de mouvements l\u00e9gaux ou pseudo-l\u00e9gaux<\/li><li>Mise \u00e0 jour de l'\u00e9tat du jeu apr\u00e8s un d\u00e9placement<\/li><li>D\u00e9tection des contr\u00f4les et des autocontr\u00f4les ill\u00e9gaux<\/li><li>D\u00e9tection des conditions terminales : \u00e9chec et mat<\/li><\/ul><h1>Le\u00e7on 10 - Probl\u00e8mes de recherche et parcours de graphes<\/h1><ul><li>Formulation d'un probl\u00e8me de recherche : \u00e9tats, actions, transitions et objectifs<\/li><li>Graphes et arbres de l'espace-\u00e9tat<\/li><li>Recherche en profondeur (DFS)<\/li><li>Recherche en largeur d'abord (BFS)<\/li><li>Recherche de co\u00fbts uniformes (UCS)<\/li><li>Exercices de tra\u00e7age de graphiques et de visualisation<\/li><li>Exemples simples de jeux d'\u00e9checs et de grilles<\/li><\/ul><h1>Le\u00e7on 11 - Recherche heuristique et arbres de jeux contradictoires<\/h1><ul><li>Fonctions heuristiques et recherche inform\u00e9e<\/li><li>Recevabilit\u00e9 et coh\u00e9rence<\/li><li>Recherche A*<\/li><li>Recherche contradictoire et arbres de jeu<\/li><li>Fonctions d'\u00e9valuation des \u00e9tats de jeu<\/li><li>Recherche minimax<\/li><li>Expectiminimax pour les environnements stochastiques et incertains<\/li><li>\u00c9lagage alpha-b\u00eata et am\u00e9lioration des performances<\/li><li>Fonctions d'\u00e9valuation des \u00e9tats de jeu<\/li><li>Exemples contradictoires bas\u00e9s sur les \u00e9checs<\/li><\/ul><h1>Le\u00e7on 12 - Tour \u00e0 cheval (Tour du chevalier)<\/h1><ul><li>Exploration de la Tourn\u00e9e du Chevalier avec r\u00e9cursion et heuristique.<\/li><li>Mouvement du graphe du chevalier<\/li><li>Visites ouvertes\/ferm\u00e9es<\/li><li>Retour en arri\u00e8re avec DFS<\/li><li>Heuristique de Warnsdorff<\/li><li>Connexion au TSP<\/li><\/ul><h1>Le\u00e7on 13 - Puzzle des huit reines<\/h1><ul><li>Satisfaction des contraintes avec backtracking.<\/li><li>Logique de l'attaque de la reine<\/li><li>Recherche r\u00e9cursive<\/li><li>Techniques d'optimisation<\/li><li>R\u00e9f\u00e9rences historiques sur les reines<\/li><li>Mise en \u0153uvre de l'ordinateur portable<\/li><\/ul><h1>Le\u00e7on 14 - Probl\u00e8me du bl\u00e9 et de l'\u00e9chiquier<\/h1><ul><li>Puzzles math\u00e9matiques et croissance exponentielle.<\/li><li>Doubler sur l'\u00e9chiquier<\/li><li>Puissances de 2<\/li><li>Casse-t\u00eate mobiles du type Mont Fuji utilis\u00e9s dans les entretiens, casse-t\u00eate math\u00e9matiques appliqu\u00e9s<\/li><li>Carr\u00e9s magiques<\/li><li>Puzzles logiques de Smullyan<\/li><li>Probl\u00e8mes de carreaux de chevalier et autres probl\u00e8mes de carreaux sur la grille<\/li><\/ul><h1>Le\u00e7on 15 - Logique du minimax, de l'alpha-b\u00eata et de l'\u00e9chec et mat<\/h1><ul><li>Recherche contradictoire profonde et parties finales d'\u00e9checs.<\/li><li>Calcul du minimax<\/li><li>Taille alpha-b\u00eata<\/li><li>Opposition, triangulation<\/li><li>Sources historiques (Al-Adli, Reti)<\/li><\/ul><h1>Le\u00e7on 16 - Le diamant de Suli (\u00e9tude historique de fin de partie)<\/h1><ul><li>Analyse historique des fins de parties d'\u00e9checs, bases de donn\u00e9es de fins de parties, programmation dynamique, hachage<\/li><li>Biographie d'Al-Suli<\/li><li>Reconstruction de la fin de partie<\/li><li>Opposition et triangulation<\/li><li>Th\u00e9orie des carr\u00e9s correspondants<\/li><li>Programmation dynamique : solution au dilemme des 1000 ans en C\/C++<\/li><li>Inspection de la solution sur play.shatranj.ai et aussi via notebooks ascii boards<\/li><\/ul><h1>Le\u00e7on 17 - Personnaliser Stockfish pour jouer \u00e0 Shatranj, Rybka-Deep Blue-Stockfish Story<\/h1><p>Explore comment les moteurs d'\u00e9checs modernes ont \u00e9volu\u00e9 et comment les moteurs open-source peuvent \u00eatre adapt\u00e9s aux variantes historiques.<\/p><ul><li>La recherche mat\u00e9rielle par force brute de Deep Blue<\/li><li>Rybka et l'essor des moteurs centr\u00e9s sur l'\u00e9valuation<\/li><li>Stockfish, un moteur ouvert, pilot\u00e9 par la communaut\u00e9<\/li><li>Comment Stockfish repr\u00e9sente les pi\u00e8ces, les mouvements et les r\u00e8gles<\/li><li>Modification du mouvement de la pi\u00e8ce (ferz, wazir), \u00e9valuation, r\u00e8gles de l\u00e9galit\u00e9<\/li><li>Construire une recherche et une \u00e9valuation compatibles avec Shatranj<\/li><\/ul><h1>Le\u00e7on 18 - Fondements de l'apprentissage par renforcement : Gridworld, programmation dynamique et complexit\u00e9<\/h1><p>Pr\u00e9sente l'apprentissage par renforcement (RL) en r\u00e9solvant un petit monde en grille exactement lorsque les r\u00e8gles sont connues, puis montre pourquoi cette approche \u201comnisciente\u201d ne fonctionne pas pour les grands jeux tels que les \u00e9checs.<\/p><ul><li>Boucle agent-environnement ; \u00e9tats, actions, r\u00e9compenses, \u00e9pisodes ; facteur d'actualisation \u03b3.<\/li><li>\u00c9valuation de la politique (\u201crobot \u00e0 la d\u00e9rive\u201d) et it\u00e9ration des valeurs (\u201cchasseur de tr\u00e9sors\u201d) \u00e0 l'aide de sauvegardes de Bellman.<\/li><li>Propagation visuelle de la valeur et d\u00e9rivation d'une politique optimale \u00e0 partir de la fonction de valeur.<\/li><li>La mal\u00e9diction de la dimensionnalit\u00e9 : complexit\u00e9 de l'espace d'\u00e9tat contre complexit\u00e9 de l'arbre de jeu ; motivation du nombre de Shannon.<\/li><li>Les \u201cjeux g\u00e9ants\u201d historiques (par exemple, les \u00e9checs de Tamerlane, le jeu de Go) comme contexte pour expliquer pourquoi l'apprentissage est n\u00e9cessaire.<\/li><\/ul><h1>Le\u00e7on 19 - La tour gel\u00e9e : Apprentissage Q tabulaire sur FrozenLake<\/h1><p>Passage de la planification \u00e0 l'apprentissage : l'agent commence sans carte et apprend une politique par essais et erreurs \u00e0 l'aide de l'apprentissage Q tabulaire.<\/p><ul><li>Formuler FrozenLake\/Frozen Rook comme un MDP : S, A, R, P, \u00e9tats terminaux, \u03b3.<\/li><li>R\u00e8gle de mise \u00e0 jour de l'apprentissage Q et exploration \u03b5-greedy (programme d'exploration\u2192exploitation).<\/li><li>Former un agent dans le Gymnase FrozenLake ; comparer les transitions d\u00e9terministes et les transitions glissantes.<\/li><li>Inspecter ce qui a \u00e9t\u00e9 appris via les cartes thermiques des tableaux Q \/ les fl\u00e8ches de politique ; accorder \u03b1, \u03b3, \u03b5 et les comptes d'\u00e9pisodes.<\/li><li>Le\u00e7ons sur le passage \u00e0 l'\u00e9chelle : r\u00e9compenses \u00e9parses, cr\u00e9dit diff\u00e9r\u00e9 et pourquoi les cartes plus grandes sont plus difficiles \u00e0 jouer.<\/li><\/ul><h1>Le\u00e7on 20 - \u00c9chec et mat pour deux tours contre un roi seul : L'apprentissage par diff\u00e9rence temporelle en pratique<\/h1><p>Applique l'apprentissage Q \u00e0 une petite fin de partie d'\u00e9checs et rend la base de code RL \u201cr\u00e9elle\u201d en s\u00e9parant le cahier d'exp\u00e9riences des modules d'apprentissage et de formation.<\/p><ul><li>Apprentissage par diff\u00e9rence temporelle (TD) : identification de l'erreur TD dans la mise \u00e0 jour de l'apprentissage Q ; pourquoi les mises \u00e0 jour TD pendant le jeu.<\/li><li>Pourquoi l'apprentissage de Monte Carlo est trop lent pour les jeux d'\u00e9checs \u00e0 r\u00e9compense diff\u00e9r\u00e9e.<\/li><li>Pile d'ing\u00e9nierie : rl.py (Q-memory + TD update), trainer.py (episode loop, exploration schedule), notebook comme laboratoire.<\/li><li>Coder les positions aux \u00e9checs sous forme d'\u00e9tat lisible par la machine (FEN) et former un agent tabulaire sur un espace d'\u00e9tat de fin de partie\/puzzle d\u00e9limit\u00e9.<\/li><li>Limites : pourquoi les m\u00e9thodes tabulaires \u00e9chouent pour les \u00e9checs complets (mal\u00e9diction de la dimensionnalit\u00e9) et la n\u00e9cessit\u00e9 d'une approximation de la fonction.<\/li><\/ul><h1>Le\u00e7on 21 - R\u00e9seaux Q profonds : Des tables Q aux r\u00e9seaux neuronaux<\/h1><p>Introduit l'approximation de fonction pour RL en rempla\u00e7ant la table Q par un r\u00e9seau neuronal (DQN) et en l'appliquant \u00e0 plusieurs petits jeux de soci\u00e9t\u00e9.<\/p><ul><li>Pourquoi les tables Q ne sont pas \u00e9volutives : trop d'\u00e9tats ; la g\u00e9n\u00e9ralisation n\u00e9cessite un mod\u00e8le capable de \u201cdeviner\u201d des valeurs pour des positions non vues.<\/li><li>Boucle d'apprentissage du Deep Q-Network (DQN) : tampon de relecture, r\u00e9seau cible, mises \u00e0 jour par mini-lots, \u03b5-decay.<\/li><li>Mettre en \u0153uvre et exp\u00e9rimenter le DQN sur des jeux tels que Connect-4 (4Connect), Fox &amp; Hounds, et Othello\/Reversi.<\/li><li>Diagnostics : courbes d'apprentissage, probl\u00e8mes de stabilit\u00e9 (surestimation, divergence) et solutions pratiques.<\/li><li>Comparer les approches : DQN contre \u00e9valuation de type NNUE et \u00e9valuation artisanale (HCE) pour discuter des compromis en mati\u00e8re d'architecture.<\/li><\/ul><h1>Le\u00e7on 22 - Les d\u00e9ploiements Monte Carlo et les SCTM sur Qirkat<\/h1><p>Construit un environnement Qirkat complet, puis passe de d\u00e9ploiements al\u00e9atoires \u00e0 une recherche arborescente Monte Carlo (MCTS) compl\u00e8te avec s\u00e9lection UCT.<\/p><ul><li>Mettre en \u0153uvre les r\u00e8gles de Qirkat backbone (plateau 5\u00d75, C3 vide) et la r\u00e8gle de capture maximale qui impose des s\u00e9quences de capture.<\/li><li>G\u00e9n\u00e9ration de mouvements qui \u00e9num\u00e8re les lignes de capture, applique la capture obligatoire et filtre les captures de longueur maximale.<\/li><li>Lignes de base Monte Carlo : d\u00e9ploiements al\u00e9atoires et \u00e9valuation des mouvements Monte Carlo \u00e0 plat avant l'ajout de la r\u00e9utilisation des arbres.<\/li><li>Pipeline des SCTM : s\u00e9lection, expansion, d\u00e9ploiement\/\u00e9valuation, r\u00e9tropropagation ; choix du mouvement final en fonction de l'UCT\/du nombre de visites.<\/li><li>Des journaux de jeu reproductibles et des outils d'audit pour une lecture \u00e9tape par \u00e9tape et un d\u00e9bogage.<\/li><\/ul><h1>Le\u00e7on 23 - AlphaZero sur Othello\/Reversi<\/h1><p>Am\u00e9lioration des SCTM en recherche de type AlphaZero par l'ajout d'un r\u00e9seau neuronal qui fournit une politique pr\u00e9alable et une estimation de la valeur, puis s'entra\u00eene par auto-apprentissage.<\/p><ul><li>Faites le lien entre l'intuition et une minuscule d\u00e9mo AlphaZero \u2018Connect2\u2019, puis transf\u00e9rez les id\u00e9es \u00e0 Othello.<\/li><li>Remplacer UCT par PUCT : combiner les statistiques de visite avec une politique apprise avant l'exploration du guide.<\/li><li>T\u00eates de r\u00e9seau neuronal : la politique (probabilit\u00e9s de mouvement) et la valeur (\u00e9valuation de la position) sont utilis\u00e9es \u00e0 la place des d\u00e9roulements al\u00e9atoires.<\/li><li>Boucle AlphaZero : auto-jeu \u2192 cibles d'entra\u00eenement (\u03c0, z) \u2192 mise \u00e0 jour du r\u00e9seau \u2192 r\u00e9p\u00e9tition ; \u00e9valuation par le biais de tournois\/logs.<\/li><li>Codage des d\u00e9placements en fonction du chemin pour les s\u00e9quences de capture de longueur variable, de sorte que les diff\u00e9rents chemins de capture restent distincts.<\/li><\/ul><h1>Le\u00e7on 24 - AlphaZero sur Qirkat : PUCT, Policy\/Value Nets, et Self-Play<\/h1><p>Am\u00e9lioration des SCTM en recherche de type AlphaZero par l'ajout d'un r\u00e9seau neuronal qui fournit une politique pr\u00e9alable et une estimation de la valeur, puis s'entra\u00eene par auto-apprentissage.<\/p><ul><li>Faites le lien entre l'intuition et une minuscule d\u00e9mo AlphaZero \u2018Connect2\u2019, puis transf\u00e9rez les id\u00e9es \u00e0 Qirkat.<\/li><li>Remplacer UCT par PUCT : combiner les statistiques de visite avec une politique apprise avant l'exploration du guide.<\/li><li>T\u00eates de r\u00e9seau neuronal : la politique (probabilit\u00e9s de mouvement) et la valeur (\u00e9valuation de la position) sont utilis\u00e9es \u00e0 la place des d\u00e9roulements al\u00e9atoires.<\/li><li>Boucle AlphaZero : auto-jeu \u2192 cibles d'entra\u00eenement (\u03c0, z) \u2192 mise \u00e0 jour du r\u00e9seau \u2192 r\u00e9p\u00e9tition ; \u00e9valuation par le biais de tournois\/logs.<\/li><li>Codage des d\u00e9placements en fonction du chemin pour les s\u00e9quences de capture de longueur variable, de sorte que les diff\u00e9rents chemins de capture restent distincts.<\/li><\/ul><h1>Le\u00e7on 25 - Dames turques (Dama) :<\/h1><h1>Alpha-Beta, MCTS guid\u00e9s par le PUCT, Alpha Zero<\/h1><p>Mise en \u0153uvre de Turkish Checkers et comparaison de la recherche classique (alpha-b\u00eata) avec MCTS \u00e0 l'aide d'un moteur de recherche r\u00e9utilisable et de journaux de simulation par lots.<\/p><ul><li>Moteur de jeu : repr\u00e9sentation du plateau, mouvements l\u00e9gaux avec captures multi-sauts et encodage du chemin de d\u00e9placement.<\/li><li>Fonction d'\u00e9valuation et agent de recherche Negamax\/Alpha-Beta ; compromis entre la profondeur et la force.<\/li><li>Agent MCTS pour le jeu de dames turc et comparaisons directes avec alpha-beta.<\/li><li>Utilitaires universels de simulation de match (play_game) et de simulation par lots pour des exp\u00e9riences reproductibles.<\/li><li>Journaux exportables (zipp\u00e9s) pour l'examen en classe et le d\u00e9bogage.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47eb09a2 elementor-widget elementor-widget-image\" data-id=\"47eb09a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"650\" src=\"https:\/\/shatranj.ai\/wp-content\/uploads\/2024\/03\/download-2.png\" class=\"attachment-full size-full wp-image-127\" alt=\"\" srcset=\"https:\/\/shatranj.ai\/wp-content\/uploads\/2024\/03\/download-2.png 1200w, https:\/\/shatranj.ai\/wp-content\/uploads\/2024\/03\/download-2-300x163.png 300w, https:\/\/shatranj.ai\/wp-content\/uploads\/2024\/03\/download-2-1024x555.png 1024w, https:\/\/shatranj.ai\/wp-content\/uploads\/2024\/03\/download-2-768x416.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Shatranj.ai project curriculum can be accessed through lms.shatranj.ai Below are the short summaries of topics within the curriculum. Lesson 1 \u2013 Course Scope and Priorities Introduces the Shatranj.AI project, its Erasmus+ foundations, partner organizations, and digital platforms. Project vision, Erasmus KA2 context Partner institutions and cultural heritage focus Overview of platforms (editor, LMS, code tools) [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-195","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/pages\/195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/comments?post=195"}],"version-history":[{"count":12,"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/pages\/195\/revisions"}],"predecessor-version":[{"id":820,"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/pages\/195\/revisions\/820"}],"wp:attachment":[{"href":"https:\/\/shatranj.ai\/fr\/wp-json\/wp\/v2\/media?parent=195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}