# Rédiger — article de blog (`rediger/article-blog`)

**Statut : branché.** Un agent fait ce travail aujourd'hui (rédacteur d'articles du superviseur).

Le rédacteur écrit un article neuf à partir d'un brief du stock d'idées (dépilement) ou d'une demande « Demander un article ».

## Ce que reçoit l'agent

### Venant du référentiel

- les **faits** du référentiel (tout ce qui n'est pas charte : FAIT, PRODUIT…)
- la **charte de marque** (DOCTRINE, INTERDIT, ALLEGATION, CADRE_JURIDIQUE)
- le **nom et l'identité de la marque** (lignes `FAIT / marque` : nom, site, baseline)

Le référentiel est la seule source de vérité de l'agent : ce qui n'y figure pas n'est pas affirmé. Voir [Le référentiel](/modules/guide-espace/#le-referentiel) et [Ce que le modèle lit](/modules/guide-espace/#ce-que-le-modele-lit).

### Venant du contexte

- le **brief** : sujet, slug, requête cible, intention, cocon (obligatoires) ; mot-clé principal, requêtes secondaires, H1 suggéré, plan en questions, CTA, notes, longueur visée (facultatifs)
- le **gabarit** d'article (structure attendue)

### Ce qu'il doit rendre

JSON `{entete: {titre_h1, title_seo, meta_description, image_alt, requetes_secondaires}, corps, bloquantes}` — H1 de 40 à 70 caractères, title de 60 au plus, méta de 120 à 158. Tout fait non sourcé est marqué [À CONFIRMER] et listé dans `bloquantes` : rien n'est inventé.

## Interface (dans votre espace)

L'agent lit le **prompt actif de votre espace** (relu toutes les 5 minutes au plus). Votre prompt remplace sa consigne **éditoriale** — le ton, l'angle, ce qu'il faut mettre en avant.

Kortex garde **toujours**, à la suite de votre prompt : la règle « aucun chiffre inventé » et ses marqueurs, la conformité à la charte, la structure HTML attendue, le format de sortie, le référentiel de faits et la charte. Un prompt ne peut ni casser le format attendu, ni lever une garde.

Votre prompt doit employer `{{sujet}}` et `{{requete_cible}}` ; sinon il est ignoré et l'agent suit sa consigne interne.

Sans version active, ou si un placeholder n'a pas de valeur, l'agent suit sa consigne interne et le note dans son journal.

1. Connaissance › **Prompts des agents** (administrateurs), ligne `rediger / article-blog`.
2. Écrivez une version : **préfixe** (rôle, règles), **gabarit** (la demande, avec ses `{{placeholders}}`), **suffixe**, et la liste des placeholders exigés.
3. Une version enregistrée est **inactive** : relisez-la, puis **activez-la**. Une seule version est active à la fois ; les précédentes restent dans l'historique.
4. Le format de sortie ci-dessus est un **contrat** : quand l'agent lit votre prompt, Kortex ajoute toujours ce format à la suite. Vous n'avez pas à le réécrire, et un prompt ne peut pas le casser.

## API (pour les agents et les scripts)

Sur l'espace du site, `https://<site>.kortex.center` :

| Geste | Route | Accès |
|---|---|---|
| Lire le prompt actif | `GET /api/seo/prompts/rediger/article-blog` | agents (jeton de service) ou administrateur ; `404 prompt_absent` si aucune version active |
| Lister les versions | `GET /api/seo/prompts/rediger/article-blog/versions` | administrateur ; clé API `lecture` |
| Enregistrer une version (inactive) | `PUT /api/seo/prompts/rediger/article-blog` | administrateur ; clé API `pilotage` |
| Activer une version | `POST /api/seo/prompts/rediger/article-blog/versions/:v/activer` | administrateur ; clé API `pilotage` |

Corps d'une version : `{titre, description?, prefix, user_template, postfix, placeholders_requis[], modele?, effort?, commentaire_version?}`. Chaque placeholder déclaré doit apparaître dans le texte (`400 placeholder_absent` sinon).

### Placeholders disponibles

| Placeholder | Ce qu'il contient |
|---|---|
| `{{sujet}}` | le sujet du brief |
| `{{requete_cible}}` | la requête unique que la page doit gagner |
| `{{requetes_secondaires}}` | les requêtes secondaires, à traiter en H2 |
| `{{referentiel_faits}}` | les faits du référentiel, tels que le modèle les lit |
| `{{charte_marque}}` | la charte de marque |
| `{{marque}}` | le nom de la marque (lignes FAIT / marque) |
| `{{cocon}}` | le cocon de rattachement du brief |
| `{{intention}}` | informationnelle, comparative ou transactionnelle |
| `{{longueur_visee}}` | le nombre de mots visé (1 200 par défaut, ±25 %) |
| `{{plan_suggere}}` | le H1 suggéré, le plan en questions, le CTA et les notes du brief |

Voir aussi : [tous les prompts](/modules/prompts/) · [l'API des espaces](/modules/dashboard-api/) · [le guide de l'espace](/modules/guide-espace/).
