⚙️ 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
.envdans le dépôt. Les secrets sont gérés via l'interface de déploiement.
🎬 RetroToon Studio
📚 Documentation
🏗️ Technique
⚙️ Gestion
🔗 Liens
v3.5 — Mai 2026
RetroToon Studio — Pipeline IA de Recomposition de Dessins Animés | Créé par William MERI | System D 3.0 | Mai 2026