From 166c5a5e664b13c696cef910cad6aa2fc807ff92 Mon Sep 17 00:00:00 2001 From: Xavier Date: Sun, 16 Aug 2026 11:29:07 +0200 Subject: [PATCH] fix: correction erreur 405 suppression, ajout navigation chats et mise a jour Roadmap --- README.md | 54 ++++++++++++++++++++++++------------------------------ main.py | 2 +- 2 files changed, 25 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index afeeacc..4755e68 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,13 @@ Plateforme SaaS d'IA modulaire : Orchestrateur local, routeur intelligent, sécu - [x] Routeur Multi-IA (Groq, Gemini, Local) avec système de cascade ### Phase 3 : Refonte UI & Expérience Utilisateur (En cours) ⏳ -- [ ] Thème "Minecraft-Tech" (Inspiré serveurs/redstone) compatible Mobile (Responsive) -- [ ] Historique des conversations (Sidebar type ChatGPT/Copilot/Gemini) +- [x] Thème "Minecraft-Tech" (Inspiré serveurs/redstone) compatible Mobile (Responsive) +- [x] Historique (Sidebar) avec Renommage, Épinglage, Suppression +- [ ] Maintien et chargement de l'historique complet des messages dans la zone de chat +- [ ] Export de la conversation complète (PDF, DOC, ou JSON) pour l'utilisateur +- [ ] Script de nettoyage automatique : Suppression des discussions de > 365 jours (avec notification) +- [ ] Indicateur d'avancement (Loader dynamique) pendant le travail des IA - [ ] Envoi de fichiers (Upload) pour analyse -- [ ] Demande de thème personnalisé par l'utilisateur (Notification admin par mail) ### Phase 4 : Gestion des Utilisateurs & Sécurité - [ ] Système de connexion sécurisé (Mots de passe cryptés) @@ -22,34 +25,25 @@ Plateforme SaaS d'IA modulaire : Orchestrateur local, routeur intelligent, sécu - [ ] Gestion des rôles : Admin (Xavier, Céline), Famille (Anaëlle, Audric, Renan), et Externes ### Phase 5 : Sécurité Financière & Facturation Exacte 💰 -- [ ] Création d'un fichier Excel pour le calcul du coût serveur (2x 1000W H24, Écrans 18/24h, Internet 60€/mois) -- [ ] Simulateur de coût avant requête : L'estimation doit être exacte pour éviter les défauts de paiement -- [ ] Gestion des comptes et provisions (Carte Bancaire) : - - Le compte doit être approvisionné avant requête - - Un test du restant financier est effectué avant d'autoriser le lancement -- [ ] Règles d'exceptions Administrateurs & Famille : - - Xavier, Céline, Audric, Renan et Anaëlle sont rattachés au master-compte (Xavier/Céline) - - Ces 5 comptes n'ont pas besoin de provisionner leurs fonds -- [ ] Règles d'exceptions Externes : - - Les utilisateurs externes reçoivent une demande de validation pour la partie payante - - Application d'une majoration invisible de 15% sur leurs requêtes -- [ ] Compteur en temps réel mis à jour pour tout le monde après le retour de l'IA (Basé sur le prix annoncé) -- [ ] Routage Conditionnel Payant : Utiliser *toutes* les IA en adéquation avec le thème de la requête (payantes et gratuites) +- [ ] Simulateur de coût avant requête : L'estimation doit être exacte +- [ ] Gestion des comptes et provisions (CB) avec test du restant financier +- [ ] Règles d'exceptions Administrateurs & Famille (Pas de provision) +- [ ] Majoration invisible de 15% pour les comptes Externes +- [ ] Compteur en temps réel mis à jour après la requête ### Phase 6 : Nouvelles Capacités IA (Spécialisations & Modèles) 🤖 -*La mise en forme finale des retours est assurée par l'abonnement Gemini.* +*Intégration technique des nouvelles API gratuites et payantes.* +- [ ] **Mistral, DeepSeek, HuggingFace, Cloudflare** : Implémentation des clients API +- [ ] **Multi-Agent (Concaténation)** : L'IA locale synthétise les retours de plusieurs IA pour une réponse optimale. +- [ ] Code : Claude 3.5 Sonnet / Qwen Coder (Anthropic / OpenRouter) +- [ ] Logique & Quêtes : DeepSeek R1 +- [ ] Multimédia : Gemini 2.0 Flash / FLUX.1 (Image/Vidéo) -| Domaine de tâche | Modèle / Moteur | Fournisseur / Hébergement | Rôle principal | -| :--- | :--- | :--- | :--- | -| **Orchestration & Tri** | Qwen 2.5 (3B/7B quantizé) | Local (GTX 1650 / Ollama) | Analyse l'intention, gère le chat rapide et route vers la bonne IA | -| **Prog. & Java 21** | Claude 3.5 Sonnet / Qwen Coder | Anthropic / OpenRouter | Correction bugs, KubeJS, modernisation de mods (Pay-as-you-go) | -| **Serveur / Logs** | Llama 3.3 (8B / 70B) | Groq API | Analyse crashs Prism Launcher, Bash, Docker (Gratuit / Rapide) | -| **Logique & Quêtes** | DeepSeek R1 (Distillé) | DeepSeek API / Gratuit | Structuration logique des modpacks et FTB Quests | -| **Images HD / Vidéo** | Gemini 2.0 Flash / FLUX.1 | Google AI Studio & Fal.ai | Analyse d'images/vidéos et génération d'assets 2K | -| **Bureautique** | À définir | À définir | Excel (Macros, formules complexes) | - -### Phase 7 : RAG (Mémoire Locale) & Maintenance -- [ ] "RAG" (Retrieval-Augmented Generation) : Permettre au modèle local d'apprendre, chercher et mémoriser (Base de données vectorielle type ChromaDB) +### Phase 7 : RAG & Maintenance +- [ ] "RAG" : Base de données vectorielle (ChromaDB) - [ ] Script de surveillance de l'espace disque du serveur -- [ ] Création de logs centralisés consultables/téléchargeables par l'Admin -- [ ] Étude de marché (Tarifs concurrents type "Mammouth" etc.) pour la viabilité de la version Pro \ No newline at end of file + +### Phase 8 : Déploiement Public & Configuration +- [ ] Assistant de configuration (Wizard) au premier lancement pour insérer les clés API, configurer le SMTP, etc. +- [ ] Liens de documentation intégrés pour créer ses propres clés API +- [ ] Hébergement sur Gitea/Github des versions "Install Initial" ou "Update" pour Docker \ No newline at end of file diff --git a/main.py b/main.py index bf5a8cf..ceb0a97 100644 --- a/main.py +++ b/main.py @@ -157,7 +157,7 @@ def render_sidebar(): pin_icon = "📌" if data.get('pinned', False) else "📍" items.append( Div( - Span(data['title'], style="flex:1; cursor:pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"), + Span(data['title'], hx_post=f"/load_chat/{chat_id}", hx_target="body", style="flex:1; cursor:pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"), # Bouton Épingler Button(pin_icon, cls="history-btn", hx_post=f"/pin/{chat_id}", hx_target="#sidebar-content", hx_swap="innerHTML"), # Bouton Renommer