v0.17.8
Build and Push Docker Image / build-and-push (push) Successful in 55s
AETHAS38 - Orchestrateur Multi-IA 🤖
Ce projet est un laboratoire d'intelligence artificielle personnel. Il agit comme un orchestrateur avancé (Rédacteur ➔ Travailleurs ➔ Concaténeur) permettant de solliciter jusqu'à 5 modèles en parallèle via une interface unifiée, moderne et hautement sécurisée.
L'interface visuelle est inspirée de l'ergonomie de Gemini, avec le logo stylisé A38 (cerveau en réseau neuronal néon) comme charte graphique centrale.
🏗️ Stack Technique & Architecture
- Backend : FastAPI (Python) modulaire asynchrone (httpx, asyncio)[cite: 2].
- Frontend : Vue.js + Tailwind CSS (Responsive / Mobile-first)[cite: 2].
- Base de Données : PostgreSQL (gestion des utilisateurs, rôles hiérarchiques Super-Admin/Admin/User, historiques, suivi financier)[cite: 2].
- Traitement Documentaire : LibreOffice Headless (génération/conversion Excel, Word, PDF)[cite: 2].
- Déploiement : Docker, géré via Dockge et Gitea, sécurisé sur grappe RAID[cite: 2].
📌 Règles de Versioning (SemVer)
Le développement suit un versioning strict (format vX.Y.Z) synchronisé avec les tags Gitea et GitHub, affiché dynamiquement sur l'interface[cite: 2]:
- Majeur (X) : Changement profond d'architecture ou refonte globale[cite: 2].
- Mineur (Y) : Validation et ajout d'une nouvelle fonctionnalité de la roadmap[cite: 2].
- Patch (Z) : Corrections de bugs, correctifs de sécurité ou ajustements visuels mineurs[cite: 2].
📦 Récupération des Paquets Docker (Tags)
Les images Docker sont construites automatiquement par les pipelines CI/CD lors de la création d'un tag[cite: 2].
- Sur Gitea : Depuis la page principale de votre dépôt, naviguez dans l'onglet Packages (ou Paquets). Vous y trouverez le registre de conteneurs avec toutes les versions taguées (
v0.16.1,latest, etc.)[cite: 2]. - Sur GitHub : Depuis la page principale du dépôt, regardez dans la colonne de droite la section Packages. Cliquez dessus pour accéder au GitHub Container Registry (
ghcr.io/votre-utilisateur/aethas38-multi-ia) et visualiser la liste des tags disponibles à tirer via Docker/Dockge[cite: 2].
🚀 ROADMAP & CAHIER DES CHARGES
Sécurité & Infrastructure
- Installation stricte via Dockge et Gitea (création automatique des dossiers inclus)[cite: 2].
- Sécurisation de la totalité du projet (fichiers, BDD PostgreSQL) sur le stockage RAID[cite: 2].
- Mots de passe cryptés (bcrypt), protection anti-brute force[cite: 2].
- Authentification 2FA obligatoire (Keepassium, Authenticator, etc.)[cite: 2].
- Déconnexion automatique (timer invisible / session JWT) après 60 minutes d'inactivité[cite: 2].
- Configuration de GitHub Actions / Gitea Actions pour la création automatique des paquets Docker (Tags SemVer + latest)[cite: 2].
- Horodatage UTC en base de données pour immunité au changement d'heure français (Prévention crash 2FA)[cite: 2].
- Rotation automatique des logs système : génération d'un fichier log par jour avec purge stricte des fichiers de plus de 7 jours[cite: 2].
- Procédure de modification sécurisée du mot de passe (Utilisateurs et Admins)[cite: 2].
Administration & Gestion des Utilisateurs
- Assistant de première installation : l'initiateur du projet se voit attribuer automatiquement le rôle exclusif de Super-Admin (un seul par projet)[cite: 2].
- Refonte du setup initial (Super Admin) : configuration du serveur mail (opérateurs FR/Gmail) et paramétrage complet des clés fournisseurs IA[cite: 2].
- Intégration de la roue crantée (Paramètres) en bas de la barre latérale[cite: 2].
- Page de configuration par niveau (Super-Admin, Admin, Utilisateur)[cite: 2].
- Upload et personnalisation dynamique d'avatar utilisateur[cite: 2].
- Hiérarchie des rôles : Un Admin peut proposer l'élévation d'un User en Admin (formulaire soumis à la validation exclusive du Super Admin)[cite: 2].
- Export de l'activité Admin : Fichier Excel avec KPI, graphiques "camembert", et suivi financier par utilisateur[cite: 2].
- Suivi financier en temps réel et vérification du budget API (mis à jour après chaque requête et affiché de manière non invasive sous le nom)[cite: 2].
- Envoi de rapport d'activité automatisé chaque jeudi à 04h00[cite: 2].
Expérience Utilisateur (UI/UX)
- Thème moderne (Gemini-like) et 100% compatible smartphones[cite: 2].
- Refonte de la gestion des projets : séparation Épinglés (en haut) / Non Épinglés (Récents)[cite: 2].
- Arrêt de la création automatique de nouveau projet à l'ouverture[cite: 2].
- Intégration permanente du logo AETHAS38 en local (Setup / Login / Dashboard)[cite: 2].
- Indicateur visuel (Loader/Animation) signalant que l'IA AETHAS38 "réfléchit" ou travaille[cite: 2].
- Fonctionnalité de renommage manuel des discussions/projets[cite: 2].
- Affichage natif et fluide des images directement dans le flux de la discussion[cite: 2].
- Système de partage des réponses sur les réseaux et messageries externes (Facebook, WhatsApp, etc.)[cite: 2].
Moteur IA, Modèles & Fonctionnalités
- Cœur asynchrone pour la parallélisation des appels API (module
orchestrator.py)[cite: 2]. - Pipeline multi-agents complet avec sélection dynamique par requête :
- Sélection de 1 à 5 travailleurs IA en parallèle[cite: 2].
- Si un seul travailleur est sélectionné, bypass automatique du prompteur et du concaténeur[cite: 2].
- Si > 1 travailleur, activation de la chaîne complète (1 Prompteur ➔ N Travailleurs ➔ 1 Concaténeur)[cite: 2].
- Extraction universelle multi-fournisseurs (OpenRouter, Groq, DeepSeek, Mistral, Gemini, Cloudflare) avec timeout porté à 90 secondes[cite: 2].
- Tâche planifiée (CRON) pour la mise à jour des modèles toutes les 12h (00h00 et 12h00)[cite: 2].
- Page spécifique dédiée aux modèles permettant l'export, l'import manuel d'un fichier d'extraction JSON, ainsi que le filtrage par prix, domaine et mots-clés[cite: 2].
- Extraction unitaire des retours IA et téléchargement global d'une conversation (formats TXT et JSON)[cite: 2].
- Détection et téléchargement ciblé de pièces jointes ou blocs spécifiques (Code brut, scripts, fichiers de données) générés par l'IA en respectant le nommage exact demandé[cite: 2].
- Classement, filtrage (Gratuit/Payant) et catégorisation des modèles (Texte, Code, Vision, Audio)[cite: 2].
- Traduction automatisée des descriptions des modèles via Ollama (local) ou Gemini[cite: 2].
- Interface d'aide à la décision pour le choix des modèles selon la tâche souhaitée[cite: 2].
- Mécanisme de fallback / termes génériques pour les appels API (protection contre le dépassement des quotas)[cite: 2].
Languages
HTML
65.1%
Python
34.6%
Dockerfile
0.3%