55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
---
|
|
name: formation-docx-replacer
|
|
description: Use when the user asks to create a new formation dossier, replace text in docx files, or apply a YAML config to modify formation documents. Triggers on keywords like formation, dossier, remplacements, docx, yaml config, nouvelle formation.
|
|
---
|
|
|
|
# Formation DOCX Replacer
|
|
|
|
## Overview
|
|
|
|
Prepare un dossier de formation a partir du template et guide l'utilisateur pour configurer et lancer les remplacements dans les .docx.
|
|
|
|
## When to Use
|
|
|
|
- L'utilisateur veut creer une nouvelle formation
|
|
- L'utilisateur mentionne un nouveau dossier de formation
|
|
- L'utilisateur veut dupliquer le template pour un nouveau client/formation
|
|
|
|
## Workflow
|
|
|
|
1. **Demander le nom de la formation** a l'utilisateur (ex: "Excel Avance Dupont Avril 2026")
|
|
2. **Creer le dossier** dans `formations/` en slugifiant le nom (ex: `formations/excel_avance_dupont_avril_2026/`)
|
|
3. **Copier le template YAML** : `template/formation_template.yaml` -> `formations/<nom>/formation.yaml`
|
|
4. **Indiquer a l'utilisateur** :
|
|
- Le chemin du fichier YAML a editer
|
|
- Qu'il doit remplir les paires ancien/nouveau avec ses infos
|
|
- La commande exacte a lancer une fois le YAML pret :
|
|
```
|
|
python3 replace_docx.py formations/<nom>/formation.yaml
|
|
```
|
|
|
|
Ne PAS essayer de remplir le YAML a la place de l'utilisateur. Il connait ses infos.
|
|
|
|
## Format YAML
|
|
|
|
```yaml
|
|
dossier_source: template
|
|
remplacements:
|
|
- ancien: "texte a chercher"
|
|
nouveau: "texte de remplacement"
|
|
- ancien: "autre texte"
|
|
nouveau: "nouveau texte"
|
|
fichiers: ["seul_ce_fichier.docx"] # optionnel, par defaut tous
|
|
```
|
|
|
|
## Ce que le script gere
|
|
|
|
- Paragraphes, tableaux (imbriques), en-tetes, pieds de page
|
|
- Texte decoupe sur plusieurs runs Word
|
|
- Preservation du formatage (police, taille, couleur, gras)
|
|
|
|
## Common Mistakes
|
|
|
|
- **Texte introuvable** : Word fragmente parfois le texte en plusieurs runs. Verifier avec python-docx
|
|
- **Accents** : YAML en UTF-8
|