France Echecs Bandeau France Echecs |  
---- jeudi 14 décembre 2017
--- ---- --- Ecrire au webmaster
Nom d’utilisateur   Code d’accès 
--- --- ---
Forums  | Devenir membre | Mot de passe oublié ? | Charte | A propos |  Utilisation des cookies |  Contacter France-Echecs
Actualités   Actualités
Tournois   Tournois
Théorie   Théorie
Ouvertures   Ouvertures
Clubs   Clubs
Informatique   Informatique
Arbitrage   Arbitrage
Problèmes   Problèmes
Etudes   Etudes
Finales   Finales
FAQ   FAQ

 Rechercher sur le site  



Abonnez-vous à la revue Europe-Echecs

Convertisseur PGN->XML par kafka le 28 juillet 2002  [Aller à la fin] | Informatique |
Bonjour, je viens d'écrire un petit convertisseur de fichiers PGN vers XML.

Je l'ai rédigé en perl, si vous êtes intéressés, je vous invite à télécharger l'interpréteur perl sur Activestate (pour Windows), les Unixien devraient déjà le posséder sur leur machine.

Les programmeurs constateront que le script n'est pas d'une élégance folle, mais je l'ai écrit en trois minutes, donc bon... :)

Si vous avez d'autres besoins, n'hésitez pas à me demander !

#!/usr/local/bin/perl

foreach $file (@ARGV)
{
print "Fichier : $file...";
local $/=undef;
open(PGN,";
$lignes=~s/[([^s]+)s+"([^"]
+)"]//g;
$lignes=~s/d+.s+([^s]+)s+
([^s]+)s+//g;
$lignes=~s/d(/d)?-d(/d)?
s*$//;

$file=~s/.pgn/.xml/;

open(XML,">$file") or die "pb
open 2";
print XML "" . $lignes . "";
close XML;

print " OKn";
}

Copiez-collez vers le bloc note et enregristrez sous "convertisseur.pl".

Invoquez-le :
perl convertisseur.pl etc.



kafka, le 28/07/2002 - 11:19:50
zut... La moulinette infernale du forum a du manger une partie de la ligne de commande. Pour l'invoquer, il faut donc faire : perl convertisseur.pl fichier1.pgn fichier2.pgn etc.


kafka, le 28/07/2002 - 11:20:14
mangé pas manger 


Kaspalabarak, le 28/07/2002 - 13:44:52
salut Kafka,
Comment réutiliser un fichier XML ensuite en HTML?
Peux tu me présenter l'intérêt de ton convertisseur et comment tu utilises le résultat? un exemple?
Je connais le principe des DTD et du XML mais je n'ai guère qu'un apercçu très théorique.Merci!


kafka, le 28/07/2002 - 14:44:39
L'idée du convertisseur Est de faciliter la constitution de bases de données personnelles. En fait, je reste bien frustré devant les capacités d'extension très limitées de ChessBase (1000 francs pour un logiciel aussi peu souple, ça me fait mal...) aussi j'ai en projet l'écriture d'un logiciel de base de données échiquéenne.Pour répondre à ta question, afin de convertir le XML en HTML, il faut passer par des templates XSL, lesquels décrivent quelle représentation les données contenues dans le fichier XML doivent avoir.Je vais donc de ce pas m'y atteler :)


kafka, le 28/07/2002 - 14:47:08
Et je m'aperçois... Que la fameuse moulinette a aussi dégusté une partie du code... qui devient donc inutilisable tel quel...Bon, les gens intéressés peuvent donc me le demander directement...Et si certaines personnes sont également intéressées par l'écriture d'un logiciel de base de données échiquéennes, qu'elles n'hésitent pas non plus :)


Reyes, le 28/07/2002 - 14:52:47
Quelle moulinette ? Tu as fait un copier-coller de ton code. Si tu veux conserver une mise en page, va voir la rubrique FAQ.

Il existe aussi chessbase light, gratuit pour des base jusqu'à 8000 parties et surtout, le logiciel Scid, totalement gratuit:
http://scid.sourceforge.net/


kafka, le 28/07/2002 - 17:29:49
Je pense Qu'il doit y avoir une fonction de nettoyage du texte, qui supprime tous les tags non autorisés. Or, dans mon source, une ligne comporte un chevron que la fonction doit prendre pour un tag ouvrant. Résultat : une partie de la ligne a disparu.Bref, je disais simplement ça à titre informatif... et ça n'est pas très important.Je ne connais pas Scid, je vais y jeter un oeil, merci.Cela dit,je pense quand même poursuivre mon projet, tout du moins si il est suceptible d'intéresser quelqu'un.


Rachmani, le 31/08/2015 - 16:05:15
Bonjour.

Quelqu'un aurait un script perl pour generer un fichier pgn avec que la position ?

Je souhaite remplacer les coups de la partie par *.
Vu qu'il y a des accolades ca peut se corser un peu.
apres je verrai pour modifier mes entetes et ecrire "position xx".

A terme ce sera generer aussi un texte avec uniquement la solution.


gurtu, le 31/08/2015 - 16:27:16
Où est-ce que j'ai foutu l'Aspirine?


GambiFou, le 31/08/2015 - 18:33:27
y'en n'a pu, j'ai tout bouloté !


PhilippeJoussim, le 31/08/2015 - 19:46:24
Salut Kafka

Je cherche de mon coté aussi à développer des outils plus conviviaux. Mais je suis pas programmeur, je suis utilisateur, et je constate que effectivement beaucoup de choses avec ce qui existe ne sont pas très souples.

Avec un ami programmeur, on a conçu un convertisseur pgn vers pdf pour faire des planches de diagrammes.

En ce qui concerne cette fonction, il faut avec ChessBase pour sortir un diagramme sans les coups joués utiliser les fonction "insérer dans la liste de diagramme" puis imprimmer la liste de diagramme. Quand on en a plusieurs centaines... no comment...

Cet outil m'a permit de réaliser les Cahiers de l'animateur, et il va sans dire que si je m'étais tapé la mise en page des 3000 diagrammes, je ne l'aurais surement pas distribué sous licence Creative Commons.

Cet outil aurait besoin d'être encore développé mais le programmeur qui l'a mit au point n'a plus le temps de continuer ce travail.

Je pense aussi qu'en terme de base de donnée de partie d'échecs, il y a la place pour des produits qui proposent autre chose que ce qui existe. Je travaille avec ChessBase, je le trouve très bien, mais c'est un produit compliqué difficile à prendre en main pour nombreux. Il faudrait quelque chose avec moins de fonctions, et plus simple et plus souple.





© 2000-2017 - France Echecs