Complétion de Documents — Cahier des Charges et Offre de Services
Guider l'utilisateur dans la complétion de cahiers des charges et d'offres de services à partir de gabarits Word (.docx) existants.
Prérequis
- Le gabarit Word (.docx) — inclus dans le plugin sous
templates/
- Les informations du projet — soit via un brief, soit interactivement
- (Optionnel) Le contrat cadre du client pour la vérification de cohérence
Détection Automatique du Contrat Cadre
IMPORTANT — Avant de commencer la collecte d'informations, toujours scanner le répertoire de travail (workspace) pour détecter un contrat cadre existant. Les conventions de nommage sont :
CONTRAT-CADRE_ET_OFFRE_DE_SERVICES_(CCS)* (ancien format)
CONTRAT_CADRE* (nouveau format)
Patterns de recherche :
Glob: **/CONTRAT-CADRE_ET_OFFRE_DE_SERVICES_(CCS)*
Glob: **/CONTRAT_CADRE*
Si un contrat cadre est détecté, il doit être utilisé comme référence pour :
- Informer la rédaction du contenu (périmètre, conditions, terminologie du client)
- Pré-remplir les sections juridiques et conditions générales
- Déclencher automatiquement une vérification de cohérence à la fin de la génération
Processus de Complétion
Étape 1 : Analyse du Gabarit
- Lire le gabarit Word fourni en utilisant le skill docx (unpack → lire XML ou pandoc)
- Identifier toutes les sections et sous-sections du gabarit
- Repérer les champs à compléter (texte entre crochets, placeholders, zones vides)
- Dresser la liste des informations nécessaires pour compléter chaque section
Étape 2 : Collecte des Informations
Mode interactif (par défaut) :
Poser des questions à l'utilisateur section par section en utilisant AskUserQuestion :
- Commencer par les informations générales (client, projet, dates)
- Progresser vers les détails techniques et fonctionnels
- Terminer par les conditions commerciales et juridiques
Mode lot (si l'utilisateur fournit un brief) :
- Analyser le document ou texte fourni par l'utilisateur
- Extraire les informations pertinentes pour chaque section
- Identifier les lacunes et poser uniquement les questions manquantes
Étape 3 : Génération du Document
- Créer le document .docx final en utilisant le skill docx et la bibliothèque docx-js
- Respecter fidèlement la mise en forme du gabarit original :
- Polices, tailles, couleurs
- En-têtes et pieds de page
- Logo et images existantes
- Styles de titres et paragraphes
- Remplir chaque section avec le contenu collecté
- Sauvegarder le document complété dans le dossier workspace
CRITIQUE — Préservation des espaces dans les en-têtes et pieds de page :
Lors de la manipulation des fichiers .docx (unpack/edit/repack), les en-têtes (word/header*.xml) et pieds de page (word/footer*.xml) sont particulièrement sensibles aux problèmes d'espacement :
- Les textes sont souvent fragmentés en plusieurs éléments
<w:t> avec l'attribut xml:space="preserve" — cet attribut est essentiel pour conserver les espaces
- NE JAMAIS fusionner ou réassembler les éléments
<w:t> dans les headers/footers
- NE JAMAIS supprimer
xml:space="preserve" des éléments <w:t>
- Lors du remplacement de placeholders dans les headers/footers, s'assurer que les espaces adjacents ne sont pas supprimés
- Si un outil comme docx-js regénère le XML, vérifier explicitement que chaque
<w:t> contenant un espace en début ou fin conserve xml:space="preserve"
- Vérification obligatoire : Après chaque génération de document, extraire le texte brut des headers et footers du fichier produit et le comparer au gabarit original pour détecter tout mot collé ou espace manquant
CRITIQUE — Énumérations autonomes par section :
Les listes numérotées (1, 2, 3... ou a, b, c...) dans un document Word utilisent des définitions de numérotation dans word/numbering.xml. Un problème fréquent est que les énumérations de différentes sections partagent le même <w:numId>, ce qui fait que la numérotation continue d'une section à l'autre au lieu de recommencer.
- Chaque énumération appartenant à une clause ou section différente doit avoir son propre
<w:numId> dans word/numbering.xml, ou utiliser <w:lvlOverride> avec <w:startOverride w:val="1"/> pour forcer le redémarrage
- NE JAMAIS réutiliser le même identifiant de numérotation pour des listes de sections/clauses différentes
- Exemple concret : si la clause 6.1 a une énumération (a, b, c, d, e) et la clause 8 a sa propre énumération, elles doivent être indépendantes — la clause 8 doit recommencer à (a) et non continuer à (f)
- Si tu utilises docx-js : créer une nouvelle instance de numérotation avec
restart pour chaque liste dans une nouvelle section
- Si tu fais du unpack/edit/repack : inspecter
word/numbering.xml et s'assurer que chaque liste a son propre <w:num w:numId="..."> séparé
- Vérification obligatoire : Après génération, parcourir le document et vérifier que chaque énumération recommence à 1 (ou a) dans sa section respective
Étape 4 : Revue et Ajustements
- Présenter un résumé des sections complétées
- Demander à l'utilisateur s'il souhaite modifier ou ajuster du contenu
- Appliquer les corrections demandées
- Proposer la vérification de cohérence avec le contrat cadre si disponible
Sections Typiques — Cahier des Charges
Voici les sections courantes dans un CDC de développement logiciel :
- Page de garde : Titre du projet, client, date, version, auteur
- Contexte et objectifs : Description du besoin, problématique actuelle, objectifs visés
- Périmètre du projet : Inclusions et exclusions, modules concernés
- Exigences fonctionnelles : User stories, cas d'utilisation, workflows
- Exigences non-fonctionnelles : Performance, sécurité, accessibilité, compatibilité
- Architecture technique : Stack technologique, intégrations, environnements
- Livrables attendus : Code, documentation, formation, environnements
- Calendrier et jalons : Phases, dates clés, critères de passage
- Critères d'acceptation : Tests, validation, recette
- Annexes : Maquettes, diagrammes, glossaire
Sections Typiques — Offre de Services
- Page de garde : Titre, client, prestataire, date, validité de l'offre
- Présentation de l'entreprise : Somtech, compétences, références
- Compréhension du besoin : Reformulation du besoin client
- Solution proposée : Approche technique, architecture, choix technologiques
- Méthodologie : Agile/Scrum, phases, livrables par phase
- Équipe projet : Rôles, profils, disponibilité
- Calendrier de réalisation : Planning, jalons, dépendances
- Proposition financière : Estimation, ventilation, conditions de paiement
- Conditions générales : Clauses juridiques, propriété intellectuelle, confidentialité
- Annexes : CV de l'équipe, références clients, certifications
Règles de Rédaction
- Adopter un ton professionnel et clair
- Utiliser la terminologie du client quand disponible
- Éviter le jargon technique excessif dans les sections destinées aux décideurs
- Être précis et quantifiable dans les engagements (délais, volumes, métriques)
- Inclure des réserves appropriées (hypothèses, dépendances, limites)
Ressources
references/guide-gabarits.md — Guide de bonnes pratiques pour la complétion des gabarits
1---2name: completion-documents3description: Ce skill doit être utilisé quand l'utilisateur demande à "compléter un cahier des charges", "remplir une offre de services", "créer un document à partir du gabarit", "préparer une proposition", ou a besoin de générer un cahier des charges ou une offre de services à partir d'un gabarit Word (.docx). Aussi déclenché par "gabarit", "template", "cahier des charges", "offre de services", "proposition commerciale", "CDC".4---5
6# Complétion de Documents — Cahier des Charges et Offre de Services
7
8Guider l'utilisateur dans la complétion de cahiers des charges et d'offres de services à partir de gabarits Word (.docx) existants.
9
10## Prérequis
11
121. Le **gabarit Word** (.docx) — inclus dans le plugin sous `templates/`
132. Les **informations du projet** — soit via un brief, soit interactivement
143. (Optionnel) Le **contrat cadre** du client pour la vérification de cohérence
15
16## Détection Automatique du Contrat Cadre
17
18**IMPORTANT** — Avant de commencer la collecte d'informations, toujours scanner le répertoire de travail (workspace) pour détecter un contrat cadre existant. Les conventions de nommage sont :
19
20- `CONTRAT-CADRE_ET_OFFRE_DE_SERVICES_(CCS)*` (ancien format)
21- `CONTRAT_CADRE*` (nouveau format)
22
23Patterns de recherche :
24```
25Glob: **/CONTRAT-CADRE_ET_OFFRE_DE_SERVICES_(CCS)*
26Glob: **/CONTRAT_CADRE*
27```
28
29Si un contrat cadre est détecté, il **doit** être utilisé comme référence pour :
30- Informer la rédaction du contenu (périmètre, conditions, terminologie du client)
31- Pré-remplir les sections juridiques et conditions générales
32- Déclencher automatiquement une vérification de cohérence à la fin de la génération
33
34## Processus de Complétion
35
36### Étape 1 : Analyse du Gabarit
37
381. Lire le gabarit Word fourni en utilisant le skill docx (unpack → lire XML ou pandoc)
392. Identifier toutes les sections et sous-sections du gabarit
403. Repérer les champs à compléter (texte entre crochets, placeholders, zones vides)
414. Dresser la liste des informations nécessaires pour compléter chaque section
42
43### Étape 2 : Collecte des Informations
44
45**Mode interactif (par défaut) :**
46Poser des questions à l'utilisateur section par section en utilisant AskUserQuestion :
47- Commencer par les informations générales (client, projet, dates)
48- Progresser vers les détails techniques et fonctionnels
49- Terminer par les conditions commerciales et juridiques
50
51**Mode lot (si l'utilisateur fournit un brief) :**
521. Analyser le document ou texte fourni par l'utilisateur
532. Extraire les informations pertinentes pour chaque section
543. Identifier les lacunes et poser uniquement les questions manquantes
55
56### Étape 3 : Génération du Document
57
581. Créer le document .docx final en utilisant le skill docx et la bibliothèque docx-js
592. Respecter fidèlement la mise en forme du gabarit original :
60 - Polices, tailles, couleurs
61 - En-têtes et pieds de page
62 - Logo et images existantes
63 - Styles de titres et paragraphes
643. Remplir chaque section avec le contenu collecté
654. Sauvegarder le document complété dans le dossier workspace
66
67**CRITIQUE — Préservation des espaces dans les en-têtes et pieds de page** :
68Lors de la manipulation des fichiers .docx (unpack/edit/repack), les en-têtes (`word/header*.xml`) et pieds de page (`word/footer*.xml`) sont particulièrement sensibles aux problèmes d'espacement :
69- Les textes sont souvent fragmentés en plusieurs éléments `<w:t>` avec l'attribut `xml:space="preserve"` — cet attribut est **essentiel** pour conserver les espaces
70- **NE JAMAIS** fusionner ou réassembler les éléments `<w:t>` dans les headers/footers
71- **NE JAMAIS** supprimer `xml:space="preserve"` des éléments `<w:t>`
72- Lors du remplacement de placeholders dans les headers/footers, s'assurer que les espaces adjacents ne sont pas supprimés
73- Si un outil comme docx-js regénère le XML, vérifier explicitement que chaque `<w:t>` contenant un espace en début ou fin conserve `xml:space="preserve"`
74- **Vérification obligatoire** : Après chaque génération de document, extraire le texte brut des headers et footers du fichier produit et le comparer au gabarit original pour détecter tout mot collé ou espace manquant
75
76**CRITIQUE — Énumérations autonomes par section** :
77Les listes numérotées (1, 2, 3... ou a, b, c...) dans un document Word utilisent des définitions de numérotation dans `word/numbering.xml`. Un problème fréquent est que les énumérations de différentes sections partagent le même `<w:numId>`, ce qui fait que la numérotation **continue** d'une section à l'autre au lieu de recommencer.
78- Chaque énumération appartenant à une clause ou section différente doit avoir son propre `<w:numId>` dans `word/numbering.xml`, ou utiliser `<w:lvlOverride>` avec `<w:startOverride w:val="1"/>` pour forcer le redémarrage
79- **NE JAMAIS** réutiliser le même identifiant de numérotation pour des listes de sections/clauses différentes
80- Exemple concret : si la clause 6.1 a une énumération (a, b, c, d, e) et la clause 8 a sa propre énumération, elles doivent être indépendantes — la clause 8 doit recommencer à (a) et non continuer à (f)
81- Si tu utilises docx-js : créer une nouvelle instance de numérotation avec `restart` pour chaque liste dans une nouvelle section
82- Si tu fais du unpack/edit/repack : inspecter `word/numbering.xml` et s'assurer que chaque liste a son propre `<w:num w:numId="...">` séparé
83- **Vérification obligatoire** : Après génération, parcourir le document et vérifier que chaque énumération recommence à 1 (ou a) dans sa section respective
84
85### Étape 4 : Revue et Ajustements
86
871. Présenter un résumé des sections complétées
882. Demander à l'utilisateur s'il souhaite modifier ou ajuster du contenu
893. Appliquer les corrections demandées
904. Proposer la vérification de cohérence avec le contrat cadre si disponible
91
92## Sections Typiques — Cahier des Charges
93
94Voici les sections courantes dans un CDC de développement logiciel :
95
961. **Page de garde** : Titre du projet, client, date, version, auteur
972. **Contexte et objectifs** : Description du besoin, problématique actuelle, objectifs visés
983. **Périmètre du projet** : Inclusions et exclusions, modules concernés
994. **Exigences fonctionnelles** : User stories, cas d'utilisation, workflows
1005. **Exigences non-fonctionnelles** : Performance, sécurité, accessibilité, compatibilité
1016. **Architecture technique** : Stack technologique, intégrations, environnements
1027. **Livrables attendus** : Code, documentation, formation, environnements
1038. **Calendrier et jalons** : Phases, dates clés, critères de passage
1049. **Critères d'acceptation** : Tests, validation, recette
10510. **Annexes** : Maquettes, diagrammes, glossaire
106
107## Sections Typiques — Offre de Services
108
1091. **Page de garde** : Titre, client, prestataire, date, validité de l'offre
1102. **Présentation de l'entreprise** : Somtech, compétences, références
1113. **Compréhension du besoin** : Reformulation du besoin client
1124. **Solution proposée** : Approche technique, architecture, choix technologiques
1135. **Méthodologie** : Agile/Scrum, phases, livrables par phase
1146. **Équipe projet** : Rôles, profils, disponibilité
1157. **Calendrier de réalisation** : Planning, jalons, dépendances
1168. **Proposition financière** : Estimation, ventilation, conditions de paiement
1179. **Conditions générales** : Clauses juridiques, propriété intellectuelle, confidentialité
11810. **Annexes** : CV de l'équipe, références clients, certifications
119
120## Règles de Rédaction
121
122- Adopter un ton professionnel et clair
123- Utiliser la terminologie du client quand disponible
124- Éviter le jargon technique excessif dans les sections destinées aux décideurs
125- Être précis et quantifiable dans les engagements (délais, volumes, métriques)
126- Inclure des réserves appropriées (hypothèses, dépendances, limites)
127
128## Ressources
129
130- **`references/guide-gabarits.md`** — Guide de bonnes pratiques pour la complétion des gabarits