Admin : onglet IA — configuration provider, modèle et instructions Claude Code CLI #97
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Le ticket #96 a ajouté les boutons IA dans l'éditeur (
AiService.php). Pour l'instant, le provider et le modèle sont figés : Anthropic viaANTHROPIC_API_KEYdans le.env. L'admin doit permettre :anthropicouclaude_code)Architecture existante à connaître
DATA_PATH/site_settings.jsonviasaveSiteSettings()(SiteSettings.php)templates/admin.php+case 'admin':dansindex.phpsrc/Service/AiService.php(créé par #96).env— ne jamais écrire dans le UI ni stocker en clairLe pattern utilisé pour les autres onglets (ex. SMTP, Site, Recherches) :
case 'admin': if ($tab === 'xxx') { ... }→$adminData['...']templates/admin.phpviaif ($tab === 'xxx'): ?> ... <?php endif; ?>case 'admin_save_xxx':→saveSiteSettings([...])Modification de
SiteSettings.phpAjouter deux getters avec fallback
.env:Ajouter
'ai_provider'et'ai_model'dans la liste$stringKeysdesaveSiteSettings().Mise à jour de
AiService.phpLire provider et modèle depuis
SiteSettingsplutôt que depuis.envdirectement :Ajouter le support Claude Code CLI dans
query():Nouvel onglet admin :
/admin/iaNavigation (
templates/admin.php)Ajouter dans la liste
<ul class="nav nav-tabs">(après l'onglet Flux) :Données (
index.php, blocif ($tab === 'ia'))Template (
templates/admin.php, blocif ($tab === 'ia'))Section 1 — Statut
Tableau en lecture seule :
ANTHROPIC_API_KEYdans.env)/usr/local/bin/claude)aiProvider()aiModel()Section 2 — Formulaire de configuration
Section 3 — Clé Anthropic
Bloc informatif (aucun champ de saisie — la clé reste dans
.envpour des raisons de sécurité) :Section 4 — Claude Code CLI : procédure de mise en place
Card avec les commandes exactes à exécuter en SSH sur le serveur :
Statut de détection affiché en temps réel :
✓ /usr/local/bin/claude trouvéou✗ Introuvable — installer d'abord.Route de sauvegarde
Fichiers à créer / modifier
src/SiteSettings.phpaiProvider(),aiModel()+ai_provider/ai_modeldanssaveSiteSettings()src/Service/AiService.phpSiteSettings+ support Claude Code CLIpublic/index.phpif ($tab === 'ia')danscase 'admin'+ routeadmin_save_ai_configtemplates/admin.php.env.exampleAI_PROVIDER=anthropic(commenté, optionnel)Critères d'acceptation
/admin(admin uniquement)anthropic/claude_code) sauvegardé danssite_settings.jsonsite_settings.jsonAiServicelit le provider/modèle depuisSiteSettings(avec fallback.env)AiServicesupporteclaude_codeviaproc_opensur/usr/local/bin/claude