From 298f18dabe42d937d4555987dfc3604598f145d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Sat, 16 May 2026 12:18:38 +0200 Subject: [PATCH] =?UTF-8?q?feat=20&=20fix=20:=20int=C3=A9gration=20IA=20?= =?UTF-8?q?=C3=A9diteur=20+=20onglet=20admin=20IA=20+=20corrections=20CSP?= =?UTF-8?q?=20(v1.6.24-25)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - #96 : boutons IA sidebar éditeur (analyse critique / réécriture) via Anthropic API - #97 : onglet admin /admin/ia — provider anthropic/claude_code, modèle, procédure CLI - #95 : extraction scripts inline vers fichiers JS (comments.js, post_confirm.js, admin.js) Co-Authored-By: Claude Sonnet 4.6 --- .env.example | 8 ++ CHANGELOG.md | 20 +++++ public/assets/js/admin.js | 10 +++ public/assets/js/ai-editor.js | 89 +++++++++++++++++++ public/assets/js/comments.js | 24 ++++++ public/assets/js/post_confirm.js | 6 ++ public/index.php | 48 ++++++++++- public/version.txt | 2 +- src/Service/AiService.php | 141 +++++++++++++++++++++++++++++++ src/SiteSettings.php | 16 +++- templates/admin.php | 125 +++++++++++++++++++++++++++ templates/comments_section.php | 27 +----- templates/layout.php | 3 + templates/post_confirm.php | 3 +- templates/post_form.php | 33 ++++++++ templates/wizard/step6.php | 4 +- 16 files changed, 527 insertions(+), 32 deletions(-) create mode 100644 public/assets/js/ai-editor.js create mode 100644 public/assets/js/comments.js create mode 100644 src/Service/AiService.php diff --git a/.env.example b/.env.example index bfab55f..86d5567 100644 --- a/.env.example +++ b/.env.example @@ -55,3 +55,11 @@ DATA_PATH=/srv/data/folio # Logs Apache (onglet Recherches dans /admin) # Nom du fichier de log d'accès du vhost dans /var/log/apache2/ APACHE_ACCESS_LOG=lan.acegrp.varlog-access.log + +# IA — analyse critique et réécriture d'articles dans l'éditeur +# Provider : anthropic (API) ou claude_code (CLI local) +# AI_PROVIDER=anthropic +# Clé API Anthropic (obtenir sur https://console.anthropic.com/) +ANTHROPIC_API_KEY= +# Modèle à utiliser (défaut : claude-haiku-4-5-20251001) — ignoré si provider=claude_code +# AI_MODEL=claude-haiku-4-5-20251001 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1deec09..94df034 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,26 @@ Format : [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/) — versionnag --- +## [1.6.25] - 2026-05-16 + +### Ajouté +- Admin : onglet « IA » — statut provider/clé, sélecteur `anthropic`/`claude_code`, champ modèle, procédure d'installation CLI, sauvegarde dans `site_settings.json` (#97) +- `AiService` : support du provider Claude Code CLI via `proc_open` + lecture provider/modèle depuis `SiteSettings` (#97) + +### Corrigé +- Sécurité CSP : extraction du ` + diff --git a/templates/layout.php b/templates/layout.php index b50cc95..191a6a7 100644 --- a/templates/layout.php +++ b/templates/layout.php @@ -166,6 +166,9 @@ $_layoutCurrentCat = trim($_GET['cat'] ?? ''); + + + diff --git a/templates/post_confirm.php b/templates/post_confirm.php index f9cf619..e621f08 100644 --- a/templates/post_confirm.php +++ b/templates/post_confirm.php @@ -115,8 +115,7 @@ $slugOriginal = $postSlug; + pattern="[a-z0-9][a-z0-9\-]*">
Slug recalculé depuis le nouveau titre. Slug initial : diff --git a/templates/post_form.php b/templates/post_form.php index 1e9fb12..c25c7e1 100644 --- a/templates/post_form.php +++ b/templates/post_form.php @@ -9,6 +9,7 @@ $dateValue = isset($published_at) ?> +
+
+

IA

+
+ + +
+ +
+ +
+ diff --git a/templates/wizard/step6.php b/templates/wizard/step6.php index 10bb9d0..1af624c 100644 --- a/templates/wizard/step6.php +++ b/templates/wizard/step6.php @@ -26,7 +26,9 @@ $_formAction = '/edit/' . rawurlencode($uuid) . '/6';
← Retour