From 048220a6dc56c3a77d98f77c1575f4d0117b8b74 Mon Sep 17 00:00:00 2001 From: tristan Date: Thu, 26 Mar 2026 15:00:38 +0100 Subject: [PATCH] first commit --- .claude/settings.local.json | 10 + .../skills/formation-docx-replacer/SKILL.md | 54 ++++ .idea/.gitignore | 10 + .idea/material_theme_project_new.xml | 10 + .idea/modules.xml | 8 + .idea/php.xml | 19 ++ .idea/qualiopi.iml | 8 + .idea/vcs.xml | 6 + CLAUDE.md | 53 ++++ README.md | 113 ++++++++ replace_docx.py | 272 ++++++++++++++++++ template/CONDITIONS_GENERALES_DE_VENTE.docx | Bin 0 -> 109766 bytes template/formation_template.yaml | 43 +++ 13 files changed, 606 insertions(+) create mode 100644 .claude/settings.local.json create mode 100644 .claude/skills/formation-docx-replacer/SKILL.md create mode 100644 .idea/.gitignore create mode 100644 .idea/material_theme_project_new.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/php.xml create mode 100644 .idea/qualiopi.iml create mode 100644 .idea/vcs.xml create mode 100644 CLAUDE.md create mode 100644 README.md create mode 100644 replace_docx.py create mode 100644 template/CONDITIONS_GENERALES_DE_VENTE.docx create mode 100644 template/formation_template.yaml diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..1c4b040 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,10 @@ +{ + "permissions": { + "allow": [ + "Bash(pip install:*)", + "Bash(pip3 install:*)", + "Bash(python3 -m pip install python-docx)", + "Bash(python3:*)" + ] + } +} diff --git a/.claude/skills/formation-docx-replacer/SKILL.md b/.claude/skills/formation-docx-replacer/SKILL.md new file mode 100644 index 0000000..19fb162 --- /dev/null +++ b/.claude/skills/formation-docx-replacer/SKILL.md @@ -0,0 +1,54 @@ +--- +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//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//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 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..ab1f416 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Ignored default folder with query files +/queries/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/material_theme_project_new.xml b/.idea/material_theme_project_new.xml new file mode 100644 index 0000000..99ddff2 --- /dev/null +++ b/.idea/material_theme_project_new.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..330186c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 0000000..000a3ea --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/qualiopi.iml b/.idea/qualiopi.iml new file mode 100644 index 0000000..bf4c9d3 --- /dev/null +++ b/.idea/qualiopi.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..9661ac7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..57408c1 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,53 @@ +# CLAUDE.md - Qualiopi + +## Contexte projet + +Ce depot contient les documents de formation de la SAS MALIO (organisme de formation certifie Qualiopi). L'objectif principal est d'automatiser la creation de nouveaux dossiers de formation a partir de templates existants. + +## Structure + +``` +qualiopi/ +├── replace_docx.py # Script principal +├── template/ # Documents modeles (ne jamais modifier directement) +│ ├── *.docx # Documents template +│ └── formation_template.yaml # Modele de config +└── formations/ # Un sous-dossier par formation generee + └── / + ├── formation.yaml # Config avec les remplacements + ├── rapport.md # Rapport des modifications + └── *.docx # Documents generes +``` + +## Outils disponibles + +### replace_docx.py + +Script Python de remplacement de texte dans des fichiers `.docx`. + +- **Commande** : `python3 replace_docx.py ` +- **Dependances** : python-docx, pyyaml +- **Comportement** : copie les .docx du template dans le dossier du YAML, applique les remplacements et genere un `rapport.md` + +## Workflow pour creer une formation + +Via le skill : `/formation-docx-replacer ` (cree le dossier et copie le YAML) + +Ou manuellement : +1. `mkdir formations/` +2. `cp template/formation_template.yaml formations//formation.yaml` +3. Editer le YAML avec les paires ancien/nouveau +4. `python3 replace_docx.py formations//formation.yaml` +5. Verifier `rapport.md` dans le dossier (signaler les remplacements non trouves) + +## Regles importantes + +- **Ne jamais modifier le dossier template/** : le script copie les .docx dans le dossier de la formation +- **Chemins relatifs** : dans le YAML, les chemins sont relatifs a la racine du projet +- **Encodage** : fichiers YAML en UTF-8 +- **Verifier le rapport** : apres chaque execution, signaler les remplacements non trouves a l'utilisateur +- **Formatage** : le script preserve les polices, tailles, couleurs et styles + +## Skill associe + +Le skill `formation-docx-replacer` dans `.claude/skills/` gere l'utilisation automatique du script. diff --git a/README.md b/README.md new file mode 100644 index 0000000..608ecdb --- /dev/null +++ b/README.md @@ -0,0 +1,113 @@ +# Qualiopi - Generateur de dossiers de formation + +Outil d'automatisation pour creer des dossiers de formation a partir d'un template existant. Remplace en masse les informations (client, dates, formateur, etc.) dans tous les fichiers `.docx` d'un dossier, en preservant le formatage d'origine. + +## Prerequis + +- Python 3.10+ +- python-docx (`pip3 install python-docx`) +- PyYAML (`pip3 install pyyaml`) + +## Structure du projet + +``` +qualiopi/ +├── replace_docx.py # Script de remplacement +├── template/ # Dossier template (ne pas modifier) +│ ├── CONDITIONS_GENERALES_DE_VENTE.docx +│ ├── formation_template.yaml # Modele de config a copier +│ └── ... # Autres documents template +└── formations/ # Dossiers generes par formation + └── excel_dupont_avril2026/ + ├── formation.yaml # Config de la formation + ├── rapport.md # Rapport des modifications + ├── CONDITIONS_GENERALES_DE_VENTE.docx # Copie modifiee + └── ... +``` + +## Utilisation + +### 1. Creer le dossier de la formation + +```bash +mkdir -p formations/excel_dupont_avril2026 +``` + +### 2. Copier et configurer le YAML + +```bash +cp template/formation_template.yaml formations/excel_dupont_avril2026/formation.yaml +``` + +Editer `formation.yaml` avec les infos de la formation : + +```yaml +dossier_source: template + +remplacements: + - ancien: "Word - Initiation bureautique" + nouveau: "Excel Avance - TCD" + + - ancien: "Societe Martin SARL" + nouveau: "Societe Dupont SAS" + + - ancien: "10 et 11 mars 2026" + nouveau: "15 et 16 avril 2026" +``` + +### 3. Lancer le script + +```bash +python3 replace_docx.py formations/excel_dupont_avril2026/formation.yaml +``` + +Le script : +1. Copie les `.docx` du template dans le dossier de la formation +2. Applique tous les remplacements +3. Genere un fichier `rapport.md` dans le dossier de la formation + +### 4. Verifier le rapport + +Ouvrir `formations/excel_dupont_avril2026/rapport.md`. Il contient : +- La date d'execution +- Un tableau par fichier avec les remplacements effectues et le nombre d'occurrences +- La liste des remplacements non trouves (s'il y en a) + +## Options + +### Cibler un fichier specifique + +Par defaut, chaque remplacement s'applique a tous les `.docx`. Pour cibler un fichier : + +```yaml +remplacements: + - ancien: "Texte specifique" + nouveau: "Nouveau texte" + fichiers: ["convention.docx"] +``` + +### Chemins + +Tous les chemins dans le YAML sont relatifs a la racine du projet (dossier contenant `replace_docx.py`). + +## Ce qui est pris en charge + +| Zone du document | Supporte | +|---|---| +| Paragraphes du corps | Oui | +| Cellules de tableaux | Oui | +| Tableaux imbriques | Oui | +| En-tetes de page | Oui | +| Pieds de page | Oui | +| Formatage (police, taille, couleur, gras) | Preserve | +| Texte decoupe sur plusieurs runs | Gere automatiquement | + +## Utilisation avec Claude + +Le skill `/formation-docx-replacer` permet de preparer un dossier automatiquement : + +``` +/formation-docx-replacer ma_nouvelle_formation +``` + +Claude cree le dossier dans `formations/`, copie le template YAML et indique la marche a suivre. diff --git a/replace_docx.py b/replace_docx.py new file mode 100644 index 0000000..5e965df --- /dev/null +++ b/replace_docx.py @@ -0,0 +1,272 @@ +#!/usr/bin/env python3 +""" +Script de remplacement de texte dans des fichiers .docx +Lit un fichier YAML de configuration et applique les remplacements +dans tous les .docx d'un dossier en préservant le formatage. +""" + +import sys +import os +import shutil +import yaml +from docx import Document +from copy import deepcopy + + +def get_full_text_from_runs(runs): + """Reconstitue le texte complet à partir des runs.""" + return "".join(r.text for r in runs) + + +def replace_in_runs(runs, ancien, nouveau): + """ + Remplace du texte dans une liste de runs en préservant le formatage. + Gère le cas où le texte est découpé sur plusieurs runs. + Retourne le nombre de remplacements effectués. + """ + count = 0 + full_text = get_full_text_from_runs(runs) + + if ancien not in full_text: + return 0 + + while ancien in full_text: + count += 1 + start_idx = full_text.index(ancien) + end_idx = start_idx + len(ancien) + + # Trouver quels runs sont concernés + char_pos = 0 + start_run = None + end_run = None + + for i, run in enumerate(runs): + run_start = char_pos + run_end = char_pos + len(run.text) + + if start_run is None and run_end > start_idx: + start_run = i + start_offset = start_idx - run_start + + if run_end >= end_idx: + end_run = i + end_offset = end_idx - run_start + break + + char_pos = run_end + + if start_run is None or end_run is None: + break + + # Cas simple : tout dans un seul run + if start_run == end_run: + run = runs[start_run] + run.text = run.text[:start_offset] + nouveau + run.text[end_offset:] + else: + # Multi-run : mettre le nouveau texte dans le premier run, + # vider les runs intermédiaires, ajuster le dernier + runs[start_run].text = runs[start_run].text[:start_offset] + nouveau + + for i in range(start_run + 1, end_run): + runs[i].text = "" + + runs[end_run].text = runs[end_run].text[end_offset:] + + full_text = get_full_text_from_runs(runs) + + return count + + +def replace_in_paragraph(paragraph, ancien, nouveau): + """Remplace du texte dans un paragraphe.""" + if not paragraph.runs: + return 0 + return replace_in_runs(paragraph.runs, ancien, nouveau) + + +def replace_in_table(table, ancien, nouveau): + """Remplace du texte dans toutes les cellules d'un tableau.""" + count = 0 + for row in table.rows: + for cell in row.cells: + for paragraph in cell.paragraphs: + count += replace_in_paragraph(paragraph, ancien, nouveau) + # Tables imbriquées + for nested_table in cell.tables: + count += replace_in_table(nested_table, ancien, nouveau) + return count + + +def replace_in_headers_footers(doc, ancien, nouveau): + """Remplace du texte dans les en-têtes et pieds de page.""" + count = 0 + for section in doc.sections: + for header in [section.header, section.first_page_header, section.even_page_header]: + if header and header.is_linked_to_previous is False: + for paragraph in header.paragraphs: + count += replace_in_paragraph(paragraph, ancien, nouveau) + for table in header.tables: + count += replace_in_table(table, ancien, nouveau) + + for footer in [section.footer, section.first_page_footer, section.even_page_footer]: + if footer and footer.is_linked_to_previous is False: + for paragraph in footer.paragraphs: + count += replace_in_paragraph(paragraph, ancien, nouveau) + for table in footer.tables: + count += replace_in_table(table, ancien, nouveau) + return count + + +def process_docx(filepath, remplacements): + """Applique tous les remplacements sur un fichier .docx.""" + doc = Document(filepath) + rapport = {} + + for remp in remplacements: + ancien = remp["ancien"] + nouveau = remp["nouveau"] + fichiers_cibles = remp.get("fichiers", None) + + # Si des fichiers cibles sont spécifiés, vérifier que ce fichier en fait partie + if fichiers_cibles: + basename = os.path.basename(filepath) + if basename not in fichiers_cibles: + continue + + count = 0 + + # Paragraphes du corps + for paragraph in doc.paragraphs: + count += replace_in_paragraph(paragraph, ancien, nouveau) + + # Tableaux + for table in doc.tables: + count += replace_in_table(table, ancien, nouveau) + + # En-têtes et pieds de page + count += replace_in_headers_footers(doc, ancien, nouveau) + + if count > 0: + rapport[f"'{ancien}' -> '{nouveau}'"] = count + + doc.save(filepath) + return rapport + + +def main(): + if len(sys.argv) < 2: + print("Usage: python3 replace_docx.py ") + sys.exit(1) + + config_path = os.path.abspath(sys.argv[1]) + config_dir = os.path.dirname(config_path) + + with open(config_path, "r", encoding="utf-8") as f: + config = yaml.safe_load(f) + + # Les chemins sont relatifs à la racine du projet (dossier contenant replace_docx.py) + project_dir = os.path.dirname(os.path.abspath(__file__)) + + dossier_source = config["dossier_source"] + if not os.path.isabs(dossier_source): + dossier_source = os.path.join(project_dir, dossier_source) + + remplacements = config["remplacements"] + + # Le dossier de travail est celui qui contient le fichier YAML + dossier_travail = config_dir + + # Copier les .docx du template dans le dossier de travail + docx_copies = 0 + for f in os.listdir(dossier_source): + if f.endswith(".docx") and not f.startswith("~$"): + src = os.path.join(dossier_source, f) + dst = os.path.join(dossier_travail, f) + if not os.path.exists(dst): + shutil.copy2(src, dst) + docx_copies += 1 + + if docx_copies > 0: + print(f"{docx_copies} fichier(s) .docx copie(s) depuis {dossier_source}") + else: + print(f"Fichiers .docx deja presents dans {dossier_travail}") + + # Trouver tous les .docx du dossier de travail + docx_files = [] + for f in os.listdir(dossier_travail): + if f.endswith(".docx") and not f.startswith("~$"): + docx_files.append(os.path.join(dossier_travail, f)) + + if not docx_files: + print("Aucun fichier .docx trouve.") + sys.exit(1) + + print(f"\n{len(docx_files)} fichier(s) .docx trouve(s)\n") + + # Appliquer les remplacements + rapport_global = {} + for filepath in sorted(docx_files): + rapport = process_docx(filepath, remplacements) + rel_path = os.path.relpath(filepath, dossier_travail) + rapport_global[rel_path] = rapport + + # Identifier les remplacements non trouves + remplacements_non_trouves = set() + for remp in remplacements: + cle = f"'{remp['ancien']}' -> '{remp['nouveau']}'" + trouve = False + for fichier, rapport in rapport_global.items(): + if cle in rapport: + trouve = True + break + if not trouve: + remplacements_non_trouves.add(cle) + + # Generer le rapport markdown + from datetime import datetime + lignes = [] + lignes.append(f"# Rapport de modifications") + lignes.append(f"") + lignes.append(f"**Date** : {datetime.now().strftime('%d/%m/%Y %H:%M')}") + lignes.append(f"**Template** : `{os.path.relpath(dossier_source, project_dir)}`") + lignes.append(f"**Fichiers traites** : {len(docx_files)}") + lignes.append(f"") + + lignes.append(f"## Modifications par fichier") + lignes.append(f"") + for fichier, rapport in sorted(rapport_global.items()): + lignes.append(f"### {fichier}") + lignes.append(f"") + if rapport: + lignes.append(f"| Ancien | Nouveau | Occurrences |") + lignes.append(f"|---|---|---|") + for remp, count in rapport.items(): + # remp est au format "'ancien' -> 'nouveau'" + parties = remp.split("' -> '") + ancien_txt = parties[0][1:] # enlever le ' du debut + nouveau_txt = parties[1][:-1] # enlever le ' de la fin + lignes.append(f"| {ancien_txt} | {nouveau_txt} | {count} |") + else: + lignes.append(f"Aucun remplacement effectue.") + lignes.append(f"") + + if remplacements_non_trouves: + lignes.append(f"## Remplacements non trouves") + lignes.append(f"") + lignes.append(f"Les remplacements suivants n'ont ete trouves dans aucun fichier :") + lignes.append(f"") + for r in remplacements_non_trouves: + lignes.append(f"- {r}") + lignes.append(f"") + + # Ecrire le rapport + rapport_path = os.path.join(dossier_travail, "rapport.md") + with open(rapport_path, "w", encoding="utf-8") as f: + f.write("\n".join(lignes)) + + print(f"Rapport genere : {rapport_path}") + print("Termine!") + + +if __name__ == "__main__": + main() diff --git a/template/CONDITIONS_GENERALES_DE_VENTE.docx b/template/CONDITIONS_GENERALES_DE_VENTE.docx new file mode 100644 index 0000000000000000000000000000000000000000..7646c935f2833feb606765987b447677a1a97f1a GIT binary patch literal 109766 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 qZGa|>% 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 literal 0 HcmV?d00001 diff --git a/template/formation_template.yaml b/template/formation_template.yaml new file mode 100644 index 0000000..bb76fe7 --- /dev/null +++ b/template/formation_template.yaml @@ -0,0 +1,43 @@ +# Configuration de remplacement pour dossier de formation +# Usage: +# 1. Creer un dossier pour la formation : mkdir formations/ma_formation +# 2. Copier ce fichier dedans : cp template/formation_template.yaml formations/ma_formation/formation.yaml +# 3. Editer le fichier copie avec les bonnes infos +# 4. Lancer : python3 replace_docx.py formations/ma_formation/formation.yaml +# +# Le script copie automatiquement les .docx du template dans le dossier de la formation. +# Les chemins sont relatifs a la racine du projet. + +# Dossier contenant les .docx template +dossier_source: template + +# Liste des remplacements (appliques a TOUS les .docx copies) +remplacements: + # Infos formation + - ancien: "Word - Initiation bureautique" + nouveau: "Excel Avance - Tableaux croises dynamiques" + + # Infos client + - ancien: "Societe Martin SARL" + nouveau: "Societe Dupont SAS" + + # Dates + - ancien: "10 et 11 mars 2026" + nouveau: "15 et 16 avril 2026" + + # Formateur + - ancien: "Marie Martin" + nouveau: "Jean Dupont" + + # Lieu + - ancien: "14 allee d'Argenson, Chatellerault" + nouveau: "12 rue des Lilas, Poitiers" + + # Duree + - ancien: "7 heures (1 jour)" + nouveau: "14 heures (2 jours)" + + # Remplacement cible sur un seul fichier (optionnel) + # - ancien: "Texte specifique a la convention" + # nouveau: "Nouveau texte convention" + # fichiers: ["convention.docx"]