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.