Lundi 25 Juin 2007

Un générateur de “Foire aux Questions”

J'ai dû dernièrement compiler quelques questions/réponses dans un fichier d'aide pour aider les étudiants du conservatoire sur les postes que j'ai installés sous GNU/Linux.
J'ai donc cherché sur la toile des générateurs de “faq” automatique afin de m'aider dans cette tâche.
À ma grande surprise, il ne semble pas y avoir grand-chose, je me souvenais pourtant d'avoir vu passer des logiciels il y a quelques années.
J'ai trouvé un script python, faqtor, qui fait des jolies faq, mais alors au niveau internationalisation et localisation, bonjour… J'ai commencé par faire un programme .c qui encodait les caractères en ascii puis les remettait ensuite, pour s'amuser un peu avec les fonctions dites “larges” de la bibliothèque C, mais ça ne m'allait toujours pas.
Si quelqu'un se souvient d'un autre programme, je suis preneur, je me souviens d'un “faq generator” ou je ne sais quoi.

En attendant, j'ai fait un petit script bash de mon cru, pas rapide bien sûr, bash oblige, mais me semble-t-il pas trop mal fait. Ce qui me plaît dans mon histoire c'est le format utilisé, pas de xml, on fait un fichier texte en mettant juste un marqueur configurable au début des lignes, genre “Q:”, “R:”, “S:” pour “section”, “question”, “réponse”, et on indente pour écrire sur plusieurs lignes.
En soumettant ceci on obtient ça.
J'ai repris le système de faqtor, c'est pas très joli, mais c'est efficace.

Je ne sais pas si ce script, qui répond au doux nom de “fakilo” (”outil à faq”, en espéranto), peut être utile à d'autres que moi, mais le cas échéant j'en ferai un paquet debian, si on me le demande.
Je me suis amusé à mettre tous les noms de variables en esperanto. Mon dieu ce que ça sonne plus honnête que l'anglais omniprésent. Je n'ai pas l'impression de me vendre à l'ennemi… Et du coup j'ai d'autant plus de plaisir à lire Faulkner dans le texte… A bon entendeur salut !

P.S : version temporaire de mon script

P.P.S : Comment dit-on “script” en français ? Marre du franglais, osons être créatifs…