Spip Ô Toulouse

Le plugin Echecs

mercredi 15 août 2007, par Jacques Bouthier, Sebbou

Cet article complète et met à jour l’article "Une partie d’échecs" proposé le 12 Juillet 2007 par Sebbou

Nous avions parlé il y a quelques semaines de la mise en place d’un plugin Echecs [1] . Aujourd’hui, nous sommes fiers de vous présenter notre dernière version qui contient pas mal d’améliorations.

A la base

La base a été extraite du site DHTMLGoodies qui proposait une solution pour afficher le contenu de fichiers PGN [2] à intégrer dans un site html ou php.

Il est basé sur des fichiers en PHP, JS et CSS.

Les inconvénients de l’intégration d’un tel fichier :
- difficultés pour rajouter des fichiers PGN (nécessité d’intervention d’un webmestre)
- l’intégration des langues est sans détection (modification manuelle)
- la mise en forme du plateau correspond à une page entière et large et n’est pas facilement exploitable pour la DIST.

Une première mouture

La première chose qui a été faite était un modèle qui était appelé par la balise <chessXX> où XX est le numéro de l’article contenant les fichiers PGN. Le modèle boucle sur tous les fichiers PGN et les affiche du plus récent au plus vieux en sélectionnant par défaut le plus récent. Un dossier CHESS reste à la racine du site et les appels des JS et CSS se font par le modèle. La taille restait celle d’origine et quelques adaptations du CSS étaient nécessaires afin d’exploiter correctement la visionneuse.

La mise en plugins

La première mouture ayant pas mal de problèmes, le passage à une version plugin complète s’est avérée indispensable. 2 avantages :
- l’appel des fichiers JS et CSS dans le Head
- les fichiers pouvant être appelés par SPIP et interprétés directement.

Nous avons donc pu déplacer tous les fichiers qui étaient dans /chess dans un dossier /plugins/chess et donc gagner en facilité de gestion. Quelques chemins relatifs sont peut-être changeable à l’heure actuelle.

Nous avons également rajouté les fichiers de Langue ainsi que leurs variables dans le modèle pour permettre une internationalisation plus aisée.

La mise en forme du modèle a été totalement remaniée par Jacques pour faire afficher le plugins sur la plus petite zone possible.

Nous avons donc ajouté les pipelines pour intégrer les fichiers CSS (3 fichiers à la base) qui n’en forment plus qu’un et les fichiers JS qui ont vu quelques modifications s’opérer.

Une petite cure d’amaigrissement s’est aussi opérée pour supprimer tous les fichiers inutiles à notre plugin par rapport à la version de base.

Une solution a été trouvée pour passer la variable d’environnement de langue en tant que javascript afin d’internationaliser le plugins au niveau des lettres définissant les pièces de l’échiquier dans le parseur.

Le dossier du cache par défaut a été placé sur le dossier /tmp/cache/1 afin de pouvoir vider ce cache en même temps que celui du site.

Une configuration plus aisée

L’idée du plugin est qu’il soit quand même facilement paramétrable. La meilleure solution est de se reposer sur le plugin CFG qui permet de créer une page de paramètres. Voir le très bon article sur Coder un plugin simple avec cfg qui m’a permis de réaliser la page de configuration nous laissant les choix suivant :
- taille de l’échiquier (petit/moyen/grand)
- vitesse de déplacement des pièces en secondes
- choix du design des pièces
- choix d’une solution pour traiter le passage des commentaires

Un petit contrôle permet de vérifier si la configuration a été validée pour afficher un message en amont du fichier.

Installation du plugin

  1. installer le plugin dans le dossier plugins
  2. également télécharger cfg
  3. les activer tous deux
  4. passer par configuration/cfg/voir des parties d’Echecs

Ensuite il ne reste plus qu’à :

- créer un article
- insérer la balise <chessXX> où XX est le numéro de l’article
- enfin télécharger le ou les fichiers pgn que l’on veut afficher

Si vous avez un problème de charset à l’affichage, une solution peut-être de rajouter dans le .htaccess la ligne
AddDefaultCharset on
testé sur certains serveurs (notamment free)

Affichage dans l’interface privée.

Nous avons réalisé qu’il apparait du code Javascript en rouge dans la prévisualisation de l’article dans l’interface privée. Pour parrer à ce problème, vous pouvez utiliser l’option "Gestion du javascript" du plugin "Couteau Suisse" et passer l’option à Toujours.

Il reste à faire...

Beaucoup de choses mais entre autres :

- trouver une solution pour la taille du fichier chess.js [3]
- permettre de choisir si on veut que le XX s’applique sur un article, une rubrique, un numéro de fichier ou encore à tout le site.
- donner la possibilité de désactiver le cache du lecteur de PGN.
- corriger une incompatibilité avec certains langues et peut-être quelques bugs entre commentaires et coups alternatifs des fichiers PGN.
- permettre l’affichage des sous-variantes.
- faire reconnaitre le déplacement au clavier avec les flèches de gauche et de droite pour faire défiler les parties.
- ...

... Et peut-être beaucoup d’autres choses auxquelles nous n’avons pas pensé. Donnez nous votre avis !

Une nouvelle version du plugin est maintenant disponible, il faut aller la chercher ainsi que la doc sur http://www.spip-contrib.net/Plugin-Chess

Portfolio

première version

Notes

[1] nécessite spip192 et le plugin cfg

[2] Portable Game Notation- format standard de notation des parties d’Echecs

[3] 130ko c’est un peu gros, mais le code est assez complexe

8 Messages de forum

  • Le plugin Echecs 18 février 2008 20:57, par jack

    l’installation auto ne marche pas

    Depuis qu’il est possible de télécharger le zip sur files.spip-zone il est également possible, en svn, de télécharger le plugin en auto... Or le plugin ne sait pas reconnaitre le chemin pour aller chercher les documents dans IMG/pgn à partir du dossier plugins/auto/chess...

    C’est en dur dans le modèle que j’ai essayé de trafiquer avec #CHEMIN... mais sans succès.

    Alors ce soir j’ai remis le dossier "chess" à la racine de "plugins"... Et après quelques vidages de cache et suppression de fichier récalcitrant, ouf, ça remarche !

    Mais bon. C’est dommage. Alors si quelqu’un à la soluce ??? A vot’bon coeur m’sieurs-dames :)

    La page config du plugins :
    Elle présente encore des options qui n’ont plus cours... Ces options avaient été envisagée puis abandonnées... Faudrait nettoyer ;)
    Bon ça je devrais pouvoir y arriver en me penchant un peu sur le sujet....

    des améliorations aux commentaires
    L’auteur du widget a introduit quelques améliorations qui permettraient de mieux voir les commentaires... J’ai essayé de les introduire en local... sans succès...

    Faut dire que en local je n’arrive même pas à faire fonctionner les flèches du clavier ??? Quelqu’un aurait une idée de où ça peut venir ? Une option de php ou de mon serveur apache ?

    Répondre à ce message

  • Le plugin Echecs 18 août 2011 18:12, par Fabrice

    Bonjour,
    J’ai essayé l’intallation automatique de ce plugin sur mon blog, mais ça ne fonctionne pas. Vous auriez des mises à jour concernant l’installation ?

    Fabrice, blogueur sur Lit et tiroir

    Répondre à ce message

  • Le plugin Echecs 18 octobre 2011 22:30

    Le plugin Echecs

    Répondre à ce message

  • Le plugin Echecs 26 novembre 2011 07:35, par ugg boots clearance8

    The famous brand Uggs boot on discount sales comes from Sydney. Australians love the outside lifestyle, and also Australians surfers and seashore lovers have been wearing winter season sheepskin footwear more than half a century on the seaside, as a way of keeping their particular feet cozy whilst out from the water Ugg footwear can be pricey ; however, you will find places you’ll findugg classic tall boots available for sale or for the best price.

    Répondre à ce message

  • ugg clearance 7 décembre 2011 10:14, par ugg clearance

    My own comparative experienced the cabability to determine high quality uggs clearance, footwear, bags in addition to garments by way of 100 paces soon after she was presented birth for you to. While the lady had been younger, it was form of pretty.

    Répondre à ce message

  • Lic 23 décembre 2011 07:52, par North face down jacket women

    Adding north face denali fleece a teaspoon to a tablespoon of oil to your dogs food may help his coat immeasurably. Vegetable and olive oils can help, but North face denali thermal omega 3 oils are of great benefit, not only to his coat, but to his overall health.

    Répondre à ce message

  • cheap uggs 5 janvier 02:25, par cheap uggs

    You are so awesome, man ! I cant believe I missed this blog for so long. Its just great stuff all round. Your design, man…too amazing ! I cant wait to read what youve got next. I love everything that youre saying and want more, more, MORE ! Keep this up, mcheap uggsan ! Its just too good.

    Répondre à ce message

  • Le plugin Echecs 26 janvier 13:02, par Trick worn

    I think in the world of chess the pug in chess is the chess that is stealing the heart of the chess players to do the best fun ever.

    touch screen monitor

    Répondre à ce message

Répondre à cet article

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0