SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 211 visiteurs en ce moment

Accueil > Interactivité, échanges > Jeux > Des jeux pour votre site > Afficher des parties d’échecs avec ChessViewerDeluxe

Afficher des parties d’échecs avec ChessViewerDeluxe

10 novembre 2011 – par fredjust, Patrice Vanneufville – commentaires

10 votes

Introduction

Cet article concerne l’utilisation du plugin « Jeux » qui permet d’insérer dans vos articles différents jeux. Vous pouvez trouver et télécharger ce plugin à cette adresse : Des jeux dans vos articles !.

Cette page concerne le viewer de partie d’échecs ChessViewerDeluxe (CVD) et son insertion dans un article via le plugin jeux.

ChessViewerDeluxe est une applet java développé par Nikolai Pilafov.
Vous pouvez trouver sur son blog de nombreuses explications sur la génèse de ce programme qui provient d’un autre viewer java MyChessViewer.

C’est actuellement, à mon sens, le meilleur viewer d’échecs gratuit.

  • il possède une interface intuitive
  • il gère les PGN contenants plusieurs centaines de parties
  • il gère les commentaires
  • il gère les variantes quasiment sans limitation
  • il possède un mode problème
  • il possible de modifier ses couleurs de bases

Et surtout chose rare dans pour les viewers, il est dynamique !
c’est à dire qu’il est possible de déplacer les pièces pour tester ses propres coups.

Le PGN est alors modifié et il est possible de le récupérer.

Pages de démonstration :

Voila une aide rapide pour l’utiliser en ligne :

PNG - 21.5 ko

Trois modes d’utilisation du plugin

  • Du code PGN en clair, directement dans vos articles
  • Un jeu créé grâce à l’interface du plugin et que l’on peut afficher à divers endroits du site grâce au modèle <jeuXXX>
  • Un fichier PGN joint à l’article que l’on peut décoder grâce au modèle <chesstuffXXX> (visualisable qu’en partie publique, question d’url relative...)

Dépendances

Le viewer est une applet JAVA qui nécessite donc une machine virtuel Java correctement installée pour son bon fonctionnement.

Navigateurs compatibles : tous (?)

La syntaxe du jeu

-  module : jeux/chesstuff.php
-  séparateur obligatoire : [chesstuff]
-  séparateur optionnel : [config]
-  plusieurs échiquiers entre <jeux> et </jeux> : non
-  paramètres de configuration par défaut :

LightSquares = F3DCC2
DarkSquares = DDA37B
Background = CCCCCC
PuzzleMode = "off"

Un exemple simple :

En placant une partie au format PGN dans le texte de l’article :

<jeux>[chesstuff]
[Event "Le mat du berger"]
[Site "CPE95"]
[Date "-"]
[Round "1"]
[White "Blancs"]
[Black "Noirs"]
[Result "1-0"]
1.e4 e5
2.Qh5 Nc6
3.Bc4 Nf6
4.Qxf7#
1-0
</jeux>

Vous obtenez directement cela :

PNG - 18 ko

Autre solution pour obtenir le même résultat : joindre à l’article le fichier PGN qui contient le même code, puis en utilisant le modèle chesstuff (XX est le numéro du fichier joint) :

<chesstuffXX>

Pour changer les couleurs, il faut le faire dans l’espace de configuration placé après le séparateur [config] :

<jeux>[chesstuff]
(...)
[config]
LightSquares = CDCDCD
DarkSquares = AAAAAA
Background = 808080
</jeux>

Ou avec le modèle, à l’aide d’arguments :

<chesstuffXX|LightSquares=CDCDCD|DarkSquares=AAAAAA|Background=808080>

Voici ce que cette nouvelle config donne :

PNG - 16.6 ko

Il est possible de placer plusieurs parties en PGN dans un seul lecteur :

<jeux>[chesstuff]
[Event "Le mat du berger"]
[Site "CPE95"]
[Date "-"]
[Round "1"]
[White "Blancs"]
[Black "Noirs"]
[Result "1-0"]
1.e4 e5 2.Qh5 Nc6 3.Bc4 Nf6 4.Qxf7#
1-0

[Event "Le mat du sot"]
[Site "CPE95"]
[Date "-"]
[Round "1"]
[White "Blancs"]
[Black "Noirs"]
[Result "1-0"]
1.f3 e5 2.g4 Qh4#
1-0
</jeux>

Il y a 7 tags obligatoires dans le format PGN :

[Event ""]  le nom de l’évènement
[Site ""]  Lieu de la partie
[Date ""]  date de l’évènement ( AAAA.MM.JJ )
[Round ""]  numéro de la ronde
[White ""]  nom du joueur avec les blancs
[Black ""]  nom du joueur avec les noirs
[Result ""]  résultat de la partie : 1-0, 0-1, 1/2-1/2 ou *

S’il en manque, CVD affichera un message d’erreur, mais sans forcement bloquer le lecteur.

Autres tags affichés par ChessViewerDeluxe :

[WhiteElo ""] classement ELO des blancs
[BlackElo ""] classement ELO des noirs
[ECO ""] code ECO de l'ouverture

Tags pour spécifier une position de départ :

[SetUp ""] : 0 ou 1
[FEN ""] : position au format FEN

Le tag FEN sera utilisé pour créer un problème. il faut alors activer le mode puzzle pour masquer les coups. Notez que le plugin jeux exige les guillemets "on", car le mot on sans les guillemets est un booléen (vrai/faux) oppsé à off.

Un exemple complexe :

Pour un fichier joint, l’utilisation du modèle ne requiert pas de guillemets :

<chesstuffXX|PuzzleMode=on>

Le modèle utilisé

Voici le modèle (éventuellement surchargeable) utilisé par le plugin. Il gère à la fois la rédaction inline en format PGN, et l’insertion d’un document si #ENV{id} est renseigné.

  1. <script src='http://chesstuff.googlecode.com/svn/deployChessViewer.js' type='text/javascript'></script>
  2. <script id="oChessViewer" type="text/javascript">
  3. /*
  4. <BOUCLE_pgn(DOCUMENTS){id_document=#ENV{id}}{doublons}>
  5. [(#URL_DOCUMENT|spip_file_get_contents)]
  6. </BOUCLE_pgn>
  7. #ENV**{PGN}
  8. <//B_pgn>
  9. */
  10. makeChessApplet ( null, {LightSquares: "#ENV{LightSquares,F3DCC2}",DarkSquares: "#ENV{DarkSquares,DDA37B}",Background: "#ENV{Background,CCCCCC}",PuzzleMode: "#ENV{PuzzleMode,off}" } );
  11. </script>

Télécharger

Ajouter un bouton d’insert grâce au Couteau Suisse

Les rédacteurs peuvent avoir besoin d’un bouton pour simplifier la rédaction. Ainsi, il ne leur sera pas nécessaire de retenir la syntaxe mais seulement de coller leur PGN au bon endroit.

Voici comment créer rapidement une lame personnalisée et profiter facilement des pipelines du plugin [1] « porte-plume ».

Doc : [dev] Le Couteau Suisse à piloter

Le bouton dans l’interface :

PNG - 4.2 ko

Code de la lame outils/chesstuff_config.php à placer dans le dossier de votre squelette :

  1. <?php
  2. if (!defined("_ECRIRE_INC_VERSION")) return;
  3.  
  4. # Fichier de configuration pris en compte par config_outils.php
  5. # et specialement dedie a l'affichage d'un bouton chesstuff
  6. # ------------------------------------------------------------------------------
  7.  
  8. function outils_chesstuff_config_dist() {
  9.  
  10. // Ajout de l'outil perso 'chesstuff'
  11. add_outil(array(
  12. 'id' =>'chesstuff',
  13. 'categorie' => 'typo-racc',
  14. 'nom' => 'Un bouton pour chesstuff',
  15. 'description' => 'Ajoute un bouton au porte-plume afin de faciliter l\'insertion directe de code PGN au sein des articles.',
  16. 'pipelinecode:porte_plume_cs_pre_charger' => '
  17. $r = array(array(
  18. "id" => "chesstuff",
  19. "name" => "Insérer du code PGN",
  20. "className" => "chesstuff",
  21. "replaceWith" => "\n<jeux>[chesstuff]\n\n</jeux>\n",
  22. "display" => true));
  23. foreach(cs_pp_liste_barres("blocs") as $b)
  24. $flux[$b] = isset($flux[$b])?array_merge($flux[$b], $r):$r;',
  25. 'pipelinecode:porte_plume_lien_classe_vers_icone' => '$flux["chesstuff"] = "jeu-16.png";',
  26. ));}
  27. ?>

Télécharger

Cet outil du Couteau Suisse a besoin du plugin jeux :
-  utilise sa syntaxe
-  utilise son image icones_barre/jeu-16.png

Remarques

  • Le code ne réponds actuellement pas aux modifications instantanées du plugin crayon. Il faut recalculer la page dans son ensemble.

Archive des fichiers

Pour éviter toute perte en cas de disparition du site de l’auteur, voila l’applet Java compilée ainsi que le code JavaScript nécessaire au modèle SPIP.

Tant que l’auteur ne modifie pas ses liens, ces fichiers ne sont pas nécessaires au bon fonctionnement du plugin.

Zip - 45.9 ko
viewer-deluxe.jar
Archive de L’applet JAVA compilée version 3.5a
Zip - 4.1 ko
deploychessviewer.js
Archive du code javascript utilisé dans le modèle

Notes

[1ou extension à partir de SPIP 3.0

Dernière modification de cette page le 26 novembre 2011

Retour en haut de la page

Vos commentaires

Répondre à cet article

Qui êtes-vous ?
  • [Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Acces Restreint 3.0

    11 décembre 2008 – 784 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Champs Extras 3

    16 janvier 2012 – 538 commentaires

    Ce plugin permet de créer et/ou de gérer des champs supplémentaires dans les objets éditoriaux de SPIP. Il permet donc de prendre en compte et d’afficher de nouveaux éléments dans n’importe quel objet éditorial de SPIP. Screencast Vous n’aimez pas (...)

  • Réservation d’événements

    16 mars 2015 – 190 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • Les crayons

    23 avril 2008 – 815 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • LESS pour SPIP : Less-CSS (anciennement LESSpip)

    5 novembre 2010 – 43 commentaires

    Less-CSS (Anciennement LESSpip) est un plugin intégrant facilement le logiciel LESS dans SPIP. LESS est une extension de CSS ajoutant les variables, les classes, les opérations, les imbrications au langage. Facilitant ainsi l’écriture de (...)

Ça spipe par là