Bonjour,
Je cherche à améliorer le plugin pgn4spip, qui intègre la librairie pgn4web.
Il y a deux façons pour intégrer un contenu pgn (=une partie d'échecs)
- Soit on télécharge le fichier pgn et on insère le modèle dans l'article avec le numéro de document <pgn3> par exemple
- soit on saisit directement le contenu du fichier pgn (en fait les fichiers pgn sont des fichiers texte) entre deux balises [pgn] contenu du fichier[/pgn]
Ton fichier http://test.jack31.org/IMG/pgn/cours2014-2015.pgn est visiblement encodé en iso-8859-1 alors que ton site est en utf8. Puisque le fichier ne comporte pas d’indication de charset, il faut faire l’hypothèse qu’ils sont tous dans cet encodage.
Ma suggestion serait d’appliquer |importer_charset au moment de la lecture du fichier, ou explicitement |importer_charset{iso-8859-1}. Je n’ai pas regardé dans le plugin pour voir comment c’est importé, si c’est en PHP il faudra passer par importer_charset($x, ‹ iso-8859-1 ›)
Merci Fil !
C’est une très bonne piste. J’ai converti le fichier en utf-8 sans BOm et c’est impec !
Maintenant j’ai fait des essais mais je ne sais pas où insérer les codes que tu donnes pour que ça fonctionne avec un fichier en iso-8859-1… je continue de chercher… Jacques
Fil, tu confirmes ce que je pense du code que j’ai vu dans ce plugin. On ne pourrait pas le réécrire?
Je n’ai pas vu précisément le code de l’API mais au cas où j’ai vu celui là https://github.com/amyboyd/pgn-parser
On pourrait voir ce qu’il y a de mieux en terme d’implémentation.
Et merci pour l’intérêt porté à ce plugin
Merci encore à Fil pour la correction apporté sur le souci de charset. En fait comme Fil me l’a démontré il ne s’agissait pas d’un problème de SPIP mais plutôt lié à la façon de créer les fichiers pgn qui étaient une fois créés en iso 8859-1, d’autres fois en utf8 avec BOM. En convertissant le même fichier en utf8 sans BOM le problème disparaissait ! La solution de Fil de télécharger le contenu du fichier et non pas le fichier lui-même est très élégante.
Je suis allé jeter un oeil sur amyboyd/pgnparser. Pourquoi pas, mais pgn4web a fait ses preuves et présente un nombre de possibilité absolument incroyables. Je vous invite à aller faire un tour sur le blog : pour avoir une vue de l’ensemble des possibilités. Maintenant le code de l’adaptation à SPIP mérite d’être amélioré. Je suis déjà très content des deux premiers points depuis le passage en dev sur le trunk : - la mise à jour auto est maintenant possible avec pgn4web chargé dans un répertoire lib (et ça fonctionne ^^) - le charset réglé, ça faisait longtemps que ça me posait souci. Reste à faire : - corriger en ligne quelques « find_in_path » sur lesquels je me suis trompé. J’ai corrigé en local, me reste à reporter (et vérifier que c’est bien ça) - améliorer la configuration qui a toujours été capricieuse et… qui est cassée pour l’instant. la reprise des données stockées dans la table spip_meta, champ pgn4spip ne se fait pas bien à travers le fichier pgn4spip_conf.php - vérifier que les options que l’on peut mettre dans un article sur le modèle pgn.html fonctionnent toujours, je n’ai pas encore eu le temps de vérifier… - voir comment télécharger la lib directement sur le site du projet. J’ai essayé sur le lien proposé et ça ne fonctionne pas (il y a peut-être une astuce ?) - Peut-être aussi ce serait sympa de permettre le téléchargement de pgn4spip sur la page de téléchargement comme d’autres CMS : les gens du projet semblent y être maintenant favorables. Voilà ce que je voudrais essayer de faire dans les prochaines semaines, Merci encore et à bientôt, Jacques