Compare commits

...
1 Commits
Author SHA1 Message Date
xavier 4a9a0d8ec6 docs: mise à jour complète du README pour refléter l'état de la v0.16.0 (super-admin, multi-fournisseurs, finances, avatars)
Build and Push Docker Image / build-and-push (push) Successful in 43s
2026-10-07 21:10:10 +02:00
+46 -105
View File
@@ -5,124 +5,65 @@ Ce projet est un laboratoire d'intelligence artificielle personnel. Il agit comm
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. 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 ## 🏗️ Stack Technique & Architecture
- **Backend :** FastAPI (Python) modulaire et asynchrone (httpx, asyncio).
* **Backend :** FastAPI (Python) modulaire (une fonction = un module) asynchrone (httpx, asyncio). - **Frontend :** Vue.js + Tailwind CSS (Responsive / Mobile-first).
* **Frontend :** Vue.js + Tailwind CSS (Responsive / Mobile-first). - **Base de Données :** PostgreSQL (gestion des utilisateurs, historiques, suivi financier, rôles hiérarchiques).
* **Base de Données :** PostgreSQL (gestion des utilisateurs, historiques, suivi financier). - **Traitement Documentaire :** LibreOffice Headless (génération/conversion Excel, Word, PDF).
* **Traitement Documentaire :** LibreOffice Headless (génération/conversion Excel, Word, PDF). - **Déploiement :** Docker, géré via Dockge et Gitea, sécurisé sur grappe RAID.
* **Déploiement :** Docker, géré via Dockge et Gitea, sécurisé sur grappe RAID.
## 📌 Règles de Versioning (SemVer) ## 📌 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 : Le développement suit un versioning strict (format `vX.Y.Z`) synchronisé avec les tags Gitea et GitHub, affiché dynamiquement sur l'interface :
- **Majeur (X) :** Changement profond d'architecture ou refonte globale.
* **Majeur (X) :** Changement profond d'architecture ou refonte globale. - **Mineur (Y) :** Validation et ajout d'une nouvelle fonctionnalité de la roadmap.
* **Mineur (Y) :** Validation et ajout d'une nouvelle fonctionnalité de la roadmap. - **Patch (Z) :** Corrections de bugs, correctifs de sécurité ou ajustements visuels mineurs.
* **Patch (Z) :** Corrections de bugs, correctifs de sécurité ou ajustements visuels mineurs.
## 📦 Récupération des Paquets Docker (Tags) ## 📦 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. Les images Docker sont construites automatiquement par les pipelines CI/CD lors de la création d'un tag.
- **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.0`, `latest`, etc.).
* **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.10.1`, `latest`, etc.). - **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.
* **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.
## 🚀 ROADMAP & CAHIER DES CHARGES ## 🚀 ROADMAP & CAHIER DES CHARGES
### Sécurité & Infrastructure ### Sécurité & Infrastructure
- [x] Installation stricte via Dockge et Gitea (création automatique des dossiers inclus).
* [x] Installation stricte via Dockge et Gitea (création automatique des dossiers inclus). - [x] Sécurisation de la totalité du projet (fichiers, BDD PostgreSQL) sur le stockage RAID.
- [x] Mots de passe cryptés (bcrypt), protection anti-brute force.
- [x] Authentification 2FA obligatoire (Keepassium, Authenticator, etc.).
* [x] Sécurisation de la totalité du projet (fichiers, BDD PostgreSQL) sur le stockage RAID. - [x] Déconnexion automatique (timer invisible / session JWT) après 60 minutes d'inactivité.
- [x] Configuration de GitHub Actions / Gitea Actions pour la création automatique des paquets Docker (Tags SemVer + latest).
- [x] Horodatage UTC en base de données pour immunité au changement d'heure français (Prévention crash 2FA).
* [x] Mots de passe cryptés (bcrypt), protection anti-brute force. - [x] 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.
- [x] Procédure de modification sécurisée du mot de passe (Utilisateurs et Admins).
* [x] Authentification 2FA obligatoire (Keepassium, Authenticator, etc.).
* [x] Déconnexion automatique (timer invisible / session JWT) après 60 minutes d'inactivité.
* [x] Configuration de GitHub Actions / Gitea Actions pour la création automatique des paquets Docker (Tags SemVer + latest).
* [x] Horodatage UTC en base de données pour immunité au changement d'heure français (Prévention crash 2FA).
* [x] 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.
* [ ] Procédure de réinitialisation/modification du mot de passe (Admin et Utilisateurs).
### Administration & Gestion des Utilisateurs ### Administration & Gestion des Utilisateurs
- [x] Assistant de première installation : le premier utilisateur initiateur devient automatiquement le **Super-Admin** unique du projet.
* [x] Assistant de première installation (création du compte admin complet). - [x] Refonte du setup initial (Super-Admin) : configuration du serveur mail (opérateurs FR/Gmail) et paramétrage complet des clés fournisseurs IA.
- [x] Intégration de la roue crantée (Paramètres) en bas de la barre latérale.
- [x] Page de configuration par niveau (Super-Admin, Admin, Utilisateur).
* [x] Refonte du setup initial (Super Admin) : Obligation de configurer le serveur mail (aide opérateurs FR/Gmail) et paramétrage complet des clés fournisseurs IA (OpenRouter, Groq, Gemini, DeepSeek, Mistral, Cloudflare, HF). - [x] Upload et personnalisation d'avatar utilisateur (redimensionnement et adaptation dynamique).
* [x] Intégration de la roue crantée (Paramètres) en bas de la barre latérale. - [ ] Hiérarchie des rôles : Un Admin peut proposer l'élévation d'un User en Admin (soumis à validation exclusive du Super-Admin).
* [ ] Page de configuration Utilisateur : changement d'email (avec validation via lien envoyé) et de mot de passe. - [ ] Export de l'activité Admin : Fichier Excel avec KPI, graphiques "camembert", et suivi financier par utilisateur.
- [ ] Envoi de rapport d'activité automatisé chaque jeudi à 04h00.
* [ ] Page de configuration Admin : ajout/modification de fournisseurs, clés API, et serveur mail en permanence.
* [ ] 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).
* [ ] Export de l'activité Admin : Fichier Excel avec KPI, graphiques "camembert", et suivi financier par utilisateur.
* [ ] Suivi financier en temps réel et vérification du budget API.
* [ ] Envoi de rapport d'activité automatisé chaque jeudi à 04h00.
### Expérience Utilisateur (UI/UX) ### Expérience Utilisateur (UI/UX)
- [x] Thème moderne (Gemini-like) et 100% compatible smartphones.
* [x] Thème moderne (Gemini-like) et 100% compatible smartphones. - [x] Refonte de la gestion des projets : séparation Épinglés (en haut) / Non Épinglés (Récents).
- [x] Arrêt de la création automatique de nouveau projet à l'ouverture.
- [x] Intégration permanente du logo AETHAS38 en local (Setup / Login / Dashboard).
* [x] Refonte de la gestion des projets : séparation Épinglés (en haut) / Non Épinglés (Récents). - [x] Indicateur visuel (Loader/Animation) signalant que l'IA AETHAS38 "réfléchit" ou travaille.
- [x] Fonctionnalité de renommage manuel des discussions/projets.
- [x] Affichage permanent et non invasif des soldes financiers fournisseurs sous le profil utilisateur, mis à jour après chaque requête.
* [x] Arrêt de la création automatique de nouveau projet à l'ouverture. - [ ] Affichage natif et fluide des images directement dans le flux de la discussion.
- [ ] Système de partage des réponses sur les réseaux et messageries externes (Facebook, WhatsApp, etc.).
* [x] Intégration permanente du logo AETHAS38 en local (Setup / Login / Dashboard).
* [x] Indicateur visuel (Loader/Animation) signalant que l'IA AETHAS38 "réfléchit" ou travaille.
* [x] Fonctionnalité de renommage manuel des discussions/projets.
* [ ] Affichage natif et fluide des images directement dans le flux de la discussion.
* [ ] Système de partage des réponses sur les réseaux et messageries externes (Facebook, WhatsApp, etc.).
### Moteur IA, Modèles & Fonctionnalités ### Moteur IA, Modèles & Fonctionnalités
- [x] Cœur asynchrone pour la parallélisation des appels API (module `orchestrator.py`).
* [x] Cœur asynchrone pour la parallélisation des appels API (module `orchestrator.py`). - [x] Pipeline multi-agents complet avec sélection dynamique par requête :
* [ ] Pipeline multi-agents complet avec sélection dynamique : - Sélection de 1 à 5 travailleurs IA en parallèle.
* Possibilité de sélectionner de 1 à 5 travailleurs IA en parallèle. - Si 1 seul travailleur : bypass automatique du prompteur et du concaténeur.
* Si un seul travailleur est sélectionné, bypass automatique du prompteur et du concaténeur. - Si > 1 travailleur : chaîne complète active (1 Prompteur ➔ N Travailleurs ➔ 1 Concaténeur).
* Si > 1 travailleur, activation de la chaîne complète (1 Prompteur ➔ N Travailleurs ➔ 1 Concaténeur). - [x] Extraction universelle et multi-fournisseurs (OpenRouter, Groq, DeepSeek, Mistral, Gemini, Cloudflare) avec timeout étendu à 90 secondes.
- [x] Tâche planifiée (CRON) pour la mise à jour automatique des modèles toutes les 12h (00h00 et 12h00 heure de Paris).
- [x] Page dédiée aux modèles : export, import manuel de fichiers d'extraction JSON, filtrage par prix (Gratuit/Payant), domaine (Code, Texte, Vision, Audio) et recherche textuelle.
* [ ] Extraction, mise à jour (via tâche planifiée CRON toutes les 12h ou manuelle) et gestion des modèles depuis les API fournisseurs vers la BDD. - [x] Extraction unitaire des retours IA et téléchargement global d'une conversation (formats TXT et JSON).
* [ ] Page spécifique d'interface pour les modèles permettant l'export, l'import manuel d'un fichier d'extraction, et la sélection. - [x] Détection et téléchargement ciblé de blocs de code ou de données (ex: fichiers `.xlsx`, `.py`, `.csv`) générés par l'IA en respectant le nommage exact.
* [ ] Extraction unitaire des retours IA.
* [ ] Extraction/Téléchargement de la totalité d'une conversation dans des formats utiles aux différents fournisseurs (JSONL, TXT, etc.).
* [ ] Détection et téléchargement ciblé de pièces jointes ou blocs spécifiques (Code brut, fichiers Excel `.xlsx`) générés par l'IA en respectant le nommage exact demandé.
* [ ] Classement, filtrage (Gratuit/Payant) et catégorisation des modèles (Texte, Code, Image, Audio, Vidéo).
* [ ] Traduction automatisée des descriptions des modèles via Ollama (local) ou Gemini.
* [ ] Interface d'aide à la décision pour le choix des modèles selon la tâche souhaitée.
* [ ] Mécanisme de fallback / termes génériques pour les appels API (protection contre le dépassement des quotas Gemini).