1 Administration
tarzzan edited this page 2026-05-20 02:11:08 +00:00

⚙️ Administration

Configuration des moteurs IA, gestion des services et paramètres système.


Accès au Panel Admin

Le panel d'administration est accessible uniquement aux utilisateurs avec le rôle admin. Pour promouvoir un utilisateur :

UPDATE users SET role = 'admin' WHERE openId = 'votre-open-id';

Depuis l'interface, cliquez sur l'icône ⚙️ dans la navigation pour accéder au panel.


🧠 Configuration LLM

Onglet Principal

Le panel permet de configurer le modèle de langage utilisé par l'assistant :

┌─────────────────────────────────────────────────────────────┐
│  🧠 Configuration LLM                                        │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  Fournisseur:  [Gemini 2.5 Flash (Configuré) ▼]            │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │  ● Gemini 2.5 Flash (Configuré)     ← Recommandé    │   │
│  │  ○ Manus Built-in (Défaut)                           │   │
│  │  ○ OpenAI GPT-4o (Non configuré)                     │   │
│  │  ○ Claude 3.5 Sonnet (Non configuré)                 │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  Température:    [━━━━━━━●━━━━━━━] 0.7                      │
│  Max Tokens:     [4096        ]                             │
│  System Prompt:  [Personnalisable...]                       │
│                                                             │
│  [💾 Sauvegarder]  [🧪 Tester]                              │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │ ✅ Test réussi — Réponse en 1.2s                     │   │
│  │ "Bonjour ! Je suis l'assistant RetroToon Studio..." │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

Fournisseurs Supportés

Fournisseur Modèle Clé requise Statut
Gemini gemini-2.5-flash GEMINI_API_KEY ✅ Configuré
Manus Built-in Default Aucune (intégré) ✅ Toujours disponible
OpenAI gpt-4o OPENAI_API_KEY ⏳ Planifié
Anthropic claude-3.5-sonnet ANTHROPIC_API_KEY ⏳ Planifié

Fallback Automatique

Requête LLM → Gemini 2.5 Flash
                    │
                    ├── ✅ Succès → Réponse
                    │
                    └── ❌ Erreur → Manus Built-in (fallback)
                                        │
                                        ├── ✅ Succès → Réponse
                                        │
                                        └── ❌ Erreur → Message d'erreur utilisateur

🔧 Moteurs IA

Onglet Moteurs

Gérez les moteurs IA externes connectés à RetroToon Studio :

┌─────────────────────────────────────────────────────────────────────┐
│  🔧 Moteurs IA                                          [+ Ajouter] │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │ 🟢 SAM 2 — Segmentation                                     │   │
│  │    Provider: Meta AI  │  Endpoint: http://gpu-server:8081    │   │
│  │    Status: Connecté   │  Latence: 2.3s                       │   │
│  │    [🧪 Tester] [✏️ Éditer] [🗑️ Supprimer]                    │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │ 🟡 Stable Diffusion XL — Génération                          │   │
│  │    Provider: Stability AI  │  Endpoint: http://gpu:8082      │   │
│  │    Status: Timeout (5s)    │  Dernière erreur: il y a 2h     │   │
│  │    [🧪 Tester] [✏️ Éditer] [🗑️ Supprimer]                    │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │ 🔴 ControlNet — Style Transfer                               │   │
│  │    Provider: Custom  │  Endpoint: (non configuré)            │   │
│  │    Status: Désactivé │                                       │   │
│  │    [🧪 Tester] [✏️ Éditer] [🗑️ Supprimer]                    │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Types de Moteurs

Type Fonction Protocole attendu
segmentation Découpe d'objets dans une image POST image → masques PNG
generation Création d'images à partir de prompts POST prompt → image
upscaling Agrandissement avec préservation détails POST image → image HD
style-transfer Application d'un style artistique POST image + style → image

Formulaire d'Ajout

Champ Type Obligatoire Description
Nom Texte ✅ Identifiant unique du moteur
Type Select ✅ segmentation / generation / upscaling / style-transfer
Fournisseur Texte ✅ Nom du service (Meta, Stability, Custom...)
Endpoint URL ✅ URL complète de l'API
Clé API Secret ❌ Bearer token si requis
Activé Toggle ✅ Active/désactive le moteur
Config JSON Textarea ❌ Paramètres supplémentaires

🌐 Services Externes

Onglet Services

Configure les services d'infrastructure (FFmpeg, SAM 2) :

┌─────────────────────────────────────────────────────────────────────┐
│  🌐 Services                                                         │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  📹 FFmpeg Service                                           │   │
│  │                                                             │   │
│  │  Mode:     ● Simulé (données factices)                      │   │
│  │            ○ Externe (serveur réel)                          │   │
│  │                                                             │   │
│  │  Endpoint: [http://localhost:8080          ]                 │   │
│  │  Timeout:  [30] secondes                                    │   │
│  │                                                             │   │
│  │  Fonctions: ☑ Extraction HD  ☑ Export vidéo  ☑ Audio        │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  ✂️ SAM 2 Service                                            │   │
│  │                                                             │   │
│  │  Mode:     ○ Simulé (données factices)                      │   │
│  │            ● Externe (serveur réel)                          │   │
│  │                                                             │   │
│  │  Endpoint: [http://gpu-server:8081        ]                 │   │
│  │  Timeout:  [10] secondes                                    │   │
│  │                                                             │   │
│  │  Fonctions: ☑ Segmentation  ☑ Propagation  ☑ Auto-detect   │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                     │
│  [💾 Sauvegarder la configuration]                                  │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Mode Simulé vs Externe

Aspect Mode Simulé Mode Externe
Dépendances Aucune Serveur GPU requis
Données Factices (placeholder) Réelles
Latence ~100ms (instantané) 2-15s (selon opération)
Usage Développement, démo Production
Coût Gratuit Selon infrastructure

📊 Détection de Plans

Onglet Détection

Lance la détection automatique de plans sur un projet :

┌─────────────────────────────────────────────────────────────────────┐
│  📊 Détection de Plans                                               │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  Projet:  [Tom Sawyer - Episode 1 ▼]                                │
│                                                                     │
│  Paramètres:                                                        │
│  ├── Seuil Hard Cut:      [━━━━━━━━●━━━] 0.40                      │
│  ├── Seuil Dissolve:      [━━━●━━━━━━━━] 0.15                      │
│  ├── Longueur min (frames): [15]                                    │
│  └── Bins histogramme:     [64]                                     │
│                                                                     │
│  [▶ Lancer la détection]                                            │
│                                                                     │
│  ┌─────────────────────────────────────────────────────────────┐   │
│  │  ✅ Détection terminée — 12 plans détectés                   │   │
│  │                                                             │   │
│  │  Plan 1:  frames 0-45    (1.9s)   Hard Cut                  │   │
│  │  Plan 2:  frames 46-120  (3.1s)   Hard Cut                  │   │
│  │  Plan 3:  frames 121-180 (2.5s)   Dissolve                  │   │
│  │  Plan 4:  frames 181-240 (2.5s)   Hard Cut                  │   │
│  │  ...                                                        │   │
│  └─────────────────────────────────────────────────────────────┘   │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

🔐 Sécurité & Rôles

Matrice de Permissions

Action user admin
Créer un projet ✅ ✅
Voir ses projets ✅ ✅
Voir tous les projets ❌ ✅
Utiliser l'assistant ✅ ✅
Configurer le LLM ❌ ✅
Gérer les moteurs IA ❌ ✅
Configurer les services ❌ ✅
Lancer la détection globale ❌ ✅
Supprimer un utilisateur ❌ ✅

Sessions & Cookies

Paramètre Valeur
Type JWT signé (HS256)
Durée 7 jours
HttpOnly ✅
Secure ✅ (HTTPS only)
SameSite Lax

📝 Variables d'Environnement

Variable Description Obligatoire
DATABASE_URL Connexion MySQL/TiDB ✅
JWT_SECRET Secret de signature JWT ✅
VITE_APP_ID ID application OAuth ✅
OAUTH_SERVER_URL URL serveur OAuth ✅
GEMINI_API_KEY Clé API Google Gemini ❌
BUILT_IN_FORGE_API_KEY Clé API Manus (serveur) ✅
VITE_FRONTEND_FORGE_API_KEY Clé API Manus (client) ✅

⚠️ Ne jamais committer de fichier .env dans le dépôt. Les secrets sont gérés via l'interface de déploiement.