
Après avoir partagé la semaine dernière un premier pack complet de cartes qui permet de créer et de jouer un personnage niveau 1, il me semble intéressant cette semaine de partager avec vous la description de mon processus de traduction et de création de cartes, en quelques étapes, où se mêlent des techniques d’IA, de traitement de fichier texte, de programmation en Python et de fichiers structurés.
Matériel de départ
Je suis parti d’un ensemble de fichiers json localisé sur un repo github public de seansbox. Ce repo semble un peu abandonné aujourd’hui, sans mises à jour depuis juin 2025. Ces json contiennent le texte du SRD, structuré, en anglais. Issus d’un gros travail du propriétaire du repo, Sean Lickfold, pour extraire les infos du SRD, les mettre au format json.
Je suis rentré en contact avec lui pour le remercier pour son travail et pour en savoir plus sur la génération de ces fichiers, mais il ne m’a pas encore répondu.
Traduction basique
J’ai utilisé des techniques de base du prompt engineering pour demander au modèle gpt-5-nano de faire une première traduction des fichiers json. Je définit un rôle (traducteur expérimenté en jeu de rôle med-fan), une tâche (traduire), des contraintes dont un format de sortie. J’ajoute un one shot en guise d’exemple. L’IA fait le taf et les textes sont traduits. Cependant, en l’état, le résultat est impossible à partager tel quel (problème d’homogénéité, de traductions trop littérales, ou style éloigné parfois de celui de règles de jeu, …).
Je trouve que mon prompt est déjà assez travaillé, et utiliser un modèle plus performant ne va pas m’affranchir de l’étape de vérification manuelle. Je décide donc de ne pas aller plus loin dans la génération et de reprendre les textes « à la main ».
Nettoyage : Manuel, assisté par IA
Je reprends donc de chacune des cartes pour rendre le texte clair, concis, respectant la mécanique (l’IA m’assiste ponctuellement, si nécessaire, pour du brainstorming pour trouver un terme sympa ou pour du déblocage de prise de tête).
J’effectue des relectures et j’itère le nombre de fois que je juge nécessaire. Les modifications les plus compliquées à mettre en place sont celles où il faut réduire les textes par manque de place sur la carte, en conservant la clarté et, bien sûr, la mécanique. Malgré le travail automatisé initial, le « nettoyage » prend énormément de temps.
Je n’ai pas fait relire le résultat par une tierce personne. Mal. Il doit y avoir des résidus de phrases générées qui manquent de clarté ou des choix de traduction améliorables. Si vous avez des remarques à ce sujet, signalez les moi en commentaires des articles, je les prendrai en compte.
Le résultat : un fichier json en français au contenu convenable pour être mis en forme et diffusé.
Au passage, je vous partage quelques détails parce que ce travail m’a vraiment plu :
– J’ai dû penser au gameplay que je compte mettre en place avec mes joueurs pour faire des choix de wording (perdre/soigner des points de vie, ajouter/éliminer du stress).
– J’ai dû me prendre la tête à de nombreuses reprises, comme pour décider de laisser ou non les ‘ou moins’ pour les portées (traduction de within xxx). Je trouve ma solution pas très élégante mais au moins c’est clair.
– Je me suis amusé à m’éloigner de la traduction littérale lorsque je trouvais cela plus clair/approprié, ou nécessaire à cause du manque d’espace sur les cartes. (traduction de Seraph en Paladin, les ‘Book of’, etc)
Mise en forme : script python avec reportLab
J’ai utilisé une bibliothèque publique Python, reportLab, et programmé pour chaque type de carte les scripts qui transforment le json en pdf. Vous pouvez trouver ces scripts python dans un repository public sur mon github.
Voila donc comment j’ai créé ces cartes, et j’espère que, malgré les défauts résiduels, ces fichiers seront très utiles à la communauté francophone, en attendant la traduction officielle.
Après avoir terminé votre tour du laboratoire, n’hésitez pas à aller visiter le Cellier, où sont regroupés tous les liens vers le matériel disponible.



Laisser un commentaire