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.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |