Afficher des diagrammes d’échecs dans SPIP

Objectif

L’objet de la présente contrib (qui consiste en une adaptation du script DIAGOL, écrit par Olivier Bouverot et disponible sous licence GPL) est de permettre l’affichage dans SPIP de diagrammes représentant des positions d’échecs (par exemple comme ici).

Une fois les quelques ficiers nécessaires installés, il suffira aux rédacteurs de noter entre les balises <echecs></echecs> la position d’une partie en notation « habituelle » ou en notation FEN pour générer une image représentant cette position.

Par exemple, en écrivant ceci dans un champ SPIP :

<echecs>r1bqkbnr/pp2pppp/2n5/2p1P3/3p4/2P2N2/PP1P1PPP/RNBQKB1R</echecs>

Vous obtiendrez le résultat suivant :

Configuration nécessaire

La librairie GD doit être installée sur le serveur.

Installation

1. Décompresser l’archive suivante et placez son contenu (un répertoire nommé diagol) à la racine de votre domaine.

Configurez le script en éditant le fichier config.inc.php fourni dans l’archive [1].

2. Ajoutez ensuite les lignes suivantes dans la fonction apres_propre() (si cette fonction n’existe pas encore, créez-la simplement) dans le fichier ecrire/mes_options.php3 (à créer, le cas échant).

function apres_propre($texte) {
	$pattern = "/<echecs>(.*?)<\/echecs>/";
	$remplace = "<p align='center'><img src='/diagol/diagol.php?position=$1'></p>";
	return preg_replace($pattern, $remplace, $texte);
}

En, principe, ça fonctionne dès à présent.


NB : Ceci est un tout premier hack, juste pour essayer l’implémentation de Diagol dans SPIP. Avant la mise en production, il reste l’une ou l’autre chose à faire et notamment 1° passer le code de DIAGOL sous forme de fonctions et 2° créer un petit cache pour éviter de recalculer les images à chaque affichage, ce qui est le cas pour le moment.

Notes

[1Les options disponibles permettent notamment de choisir la taille de l’échiquier, les couleurs de fond, la présence ou non des barres latérales, le sens de l’équichier,...

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom