Releases · Changelog

Historique des versions

Évolution de Mon Agent IA — version courante 2.6.

UI chat, versions fichier & modules admin

  • Sauvegarde : backup/v2.6/mon-agent-ia-v2.6-20260629-231400.tar.gz
  • Chat : boutons Envoyer / Arrêter côte à côte ; composeur hauteur fixe + double-clic pour agrandir (composer-expand-modal.php, composer-expand.js)
  • Versions fichier : aperçu CodeMirror (thème Dracula) ; hauteur minimale de la modale même avec peu de versions (code.css)
  • Mon compte : page refondue, retour contextuel chat / Espace Code (UserSettingsReturn.php)
  • Consommation tokens : module admin token_usage pour masquer widgets eau / compteurs
  • Modales : variables CSS --surface / --shadow corrigées (fond opaque)
  • Espace Code : en-tête avec tous les boutons visibles ; scroll aperçu versions corrigé

choix cliquables (chat & Espace Code)

  • Sauvegarde : backup/v2.5/mon-agent-ia-v2.5-20260629-181301.tar.gz
  • Blocs <<<choices>>> : parsing côté client (choice-replies.js) — compatible avec la normalisation serveur (CodeAgent::normalizeInteractiveChoices)
  • Chat : normalisation des options en api/chat.php (module agent_choices) ; chat-ui.js chargé dans chat.php
  • Affichage : texte sans duplication des options + boutons Répondre : sous le message (assistantTextWithoutChoices, app.js)

branding, PWA, vision chat & Espace Code

  • Sauvegarde : backup/v2.4/mon-agent-ia-v2.4-20260629-180327.tar.gz
  • Mascotte : logo rogné (AppBrand.php, brand-logo.php), affichage agrandi sur login, présentation et écran d'accueil chat
  • PWA / webapp : icônes 192/512/maskable/apple-touch régénérées depuis la mascotte ; manifest.php avec cache-busting ; favicons carrés
  • Images dans le chat : repli automatique vers Open WebUI (modèle vision) si le modèle courant ne supporte pas les images (LlmModels.php, ChatLlmBridge.php)
  • Fournisseurs LLM séparés : chat_provider / code_provider configurables en admin (LlmSettings.php, admin-settings.php)
  • Espace Code — UI : boutons export Markdown/PDF stylés ; grille saisie + Envoyer alignés sur une ligne
  • Consommation tokens : badge sous l'assistant + widget bouteille eau dans l'en-tête (usage-water.js, code-chat.php, code-conversations.php)
  • Mon compte : bouton retour contextuel (chat / Espace Code) selon le referer (user-settings.php)
  • Correctifs : icônes feedback chat (FeedbackIcons.svg dans chat-ui.js)

nouveau module Chat (ex chat-web)

  • Sauvegarde : backup/v2.3/mon-agent-ia-v2.3-20260629-170144.tar.gz (état avant intégration)
  • Chat remplacé : interface chat-web v2.4.4 intégrée dans public/chat.php (images, PDF, triage, feedback, empreinte eau/tokens, export scripts)
  • APIs : chat.php, conversations.php, settings.php, triage.php, feedback.php, users.php, logs.php, rag.php
  • LLM admin : clés et modèles via LlmSettings / Administration → Paramètres (ChatLlmBridge.php)
  • Preprompt global : synchronisé avec config.php / admin (GlobalSettings.php)
  • Includes : Csrf, MessageContent, UserPreferences, RagService, etc.

site public, infographie & rapport d'analyse

  • Site public : accueil simplifié (Chat + Espace Code), sections allégées
  • Infographie (UPSCALEANTHONY.png, plateforme.php) : poster graphique mis à jour, JPEG web régénérés
  • Rapport d'analyse SonarQube : libellés et explications en français (SonarReportLabels.php) — types, gravités, Quality Gate, impacts qualité
  • Modale rapport : section « Comprendre les rubriques », badges traduits, métriques commentées dans l'UI Espace Code
  • Module code_sonar : activé par défaut dans features.json (bouton ◇ Analyser le code)
  • Fichiers : SonarReportLabels.php, SonarReportBuilder.php, code-workspace.js, code.css, platform-poster.php, index.php, plateforme.php, presentation.css

correctifs UX création guidée (archive)

  • Sauvegarde : backup/v2.1/mon-agent-ia-v2.1-20260626-084012.tar.gz
  • Reprise de projet : historique de discussion et progression conservés
  • Plan automatique : enchaînement des étapes fiabilisé (retry, reprise au chargement)
  • Aperçu : iframe via proxy interne /preview/{id}/ (plus de page blanche)

création guidée & proxy preview (archive)

  • Sauvegarde : backup/v2.0/mon-agent-ia-v2.0-20260626-074254.tar.gz
  • Déroulement automatique du plan : exécution séquentielle des étapes avec reprise et retry
  • Barre de progression, écran d'accueil, dock chat déplaçable
  • Aperçu iframe : proxy applicatif /preview/{id}/ (corrige iframe blanche HTTPS→HTTP)
  • HTTPS NPM : certificat réel uniquement si npm_certificate_id > 0 ; retry Let's Encrypt avec verrou

file d'attente assistant Espace Code

  • File d'attente : pendant qu'il travaille, les messages partent automatiquement en file (traitement séquentiel)
  • Saisie continue : champ de texte et Entrée / Mettre en file restent actifs pendant le streaming
  • Tâches en attente : panneau visible sous le champ de saisie (badge, liste, annulation par tâche)
  • Persistance : file sauvegardée en localStorage par projet (chatbot_agent_queue_{projectId})
  • Reprise : bouton Reprendre après interruption ou erreur ; Vider supprime les tâches en attente
  • Fichiers : code.php, code-workspace.js, code.css

routeur ILAAS & simplification admin LLM

  • Routeur ILAAS : fournisseur LLM via API OpenAI-compatible (https://router.borninthe80s.fr/api/index.php) — proxy vers ILAAS
  • Admin Paramètres : panneau Routeur ILAAS, menu déroulant des modèles (chargement /v1/models, bouton ↻)
  • Retrait NVIDIA NIM : deux fournisseurs LLM — Open WebUI (SSPCloud) et Routeur ILAAS
  • Variables d'env : ILAAS_ROUTER_API_URL, ILAAS_ROUTER_API_KEY, ILAAS_ROUTER_MODEL, ILAAS_ROUTER_MAX_TOKENS
  • Test API LLM : diagnostic et chat de test ciblés routeur ILAAS (admin-llm-test.php)
  • Admin : page Archives retirée ; navigation « Projets » (sans « tous »)
  • Fichiers : LlmSettings.php, LlmClientFactory.php, admin-settings.php, data/settings/llm.json, admin-llm-test.php, admin-topbar.php

boucle de correction automatique côté serveur

  • Auto-fix serveur : jusqu'à 3 tentatives dans code-chat.php après validation PHP (AgentAutoFix)
  • SSE : événements fix_start / fix_delta pour afficher les corrections en direct dans le chat
  • Client : désactive la boucle client si auto_fix_server est signalé dans l'événement done
  • Fichiers : AgentAutoFix.php, code-chat.php, code-workspace.js

plan agent UI & validation conteneur

  • Plan du projet (UI) : barre compacte « Projet » au-dessus du fichier ouvert, modale avec étapes cliquables (Terminée / En cours / Bloquée)
  • Validation conteneur SSH : AgentContainerValidatorphp -l, requêtes HTTP curl depuis le conteneur, exécution de test_site.php si présent
  • Repli hôte : si SSH preview indisponible, comportement 1.5 (AgentPageValidator côté serveur applicatif)
  • Auto-correction : prompt enrichi (erreurs pages + test_site.php), déclenchement sur échecs du tableau de bord site
  • Fichiers : AgentContainerValidator.php, code-plan-tracker.js, code.php, code-workspace.js, code.css

comptes applicatifs README & page de test site

  • README projet — comptes de connexion : section « Comptes de connexion (application) » dans workspace/README.md (identifiant, e-mail, mot de passe, page de login)
  • Détection automatique : blocs agent <<<test-account>>>, fichiers install.php / seed.php, texte de l'assistant (admin@… + mot de passe) ; scan workspace à chaque réponse agent et au refresh Preview
  • Filtrage : exclusion des identifiants MySQL, SSH et config/db.php (pas de confusion avec les accès techniques)
  • Stockage : liste test_accounts dans project.json ; régénération README via ProjectTestAccounts.php + ProjectStore::syncTestAccountsFromAgent()
  • Plan agent — étape finale : par défaut, dernière étape Page de test (validation du site) → création de test_site.php (smoke tests HTTP + syntaxe PHP sur toutes les pages)
  • Preprompts : code-system-prompt.txt, code-model-site-web-prompt.txt, CodeAgent.php — consignes comptes applicatifs et validation site

terminal web stabilisé

  • Saisie clavier : buffer append côté serveur, file d'attente JS, plus d'écrasement des frappes
  • Affichage : poll HTTP séquentiel + long poll (~180 ms) — fin des lettres dupliquées
  • Fix PTY : lecture unique du flux (stdout/stderr partagés sur le même PTY)
  • TERM : xterm-256color propagé à SSH — htop, vim, nano utilisables dans le terminal web
  • Redimensionnement : PTY hôte + SIGWINCH (pas de stty ni séquences xterm dans le shell)
  • UX terminal : barre sans bouton retour Espace Code ; message création projet simplifié

terminal web SSH

  • Terminal web : shell SSH interactif dans le navigateur (/terminal.php, xterm.js) — bouton ▸ Terminal dans l'Espace Code
  • Auth preview : connexion root + mot de passe + port hôte (preview.ssh / README) via sshpass — pas de clé SSH plateforme
  • Module admin : web_terminal dans Paramètres → Modules fonctionnels (features.json)
  • Session : jeton access_token par session (fichiers data/terminal-sessions/) — compatible requêtes API parallèles
  • PTY : redimensionnement via PTY local + SIGWINCH (plus de séquences xterm ni stty visible dans le shell)
  • URL : /terminal.php (DocumentRoot public/) ; redirection legacy /public/terminal.php
  • UX : message création projet simplifié ; barre terminal sans lien retour Espace Code
  • Fichiers : TerminalSession.php, scripts/terminal-session.php, public/terminal.php, public/api/terminal-session.php

sous-domaines NPM & HTTPS

  • Sous-domaines NPM : à la création projet, host slug.borninthe80s.fr → conteneur preview (NpmProxyClient, ProjectSubdomainProvisioner)
  • Port publié Docker : HTTP exposé sur l'hôte (published_port) — NPM route via docker_host:port (pas le réseau llm_default)
  • HTTPS par site : certificat Let's Encrypt automatique par sous-domaine (ssl_per_host, ensureLetsEncryptCertificate)
  • ↗ Workspace : lien vers https://{sous-domaine}/ si proxy provisionné ; fallback /preview/{id}/
  • Config NPM : section npm dans config.php (URL, identité, docker_host, letsencrypt_email)
  • Admin LLM : modal chat multi-tours sur admin-llm-test.php (streaming NVIDIA)
  • Choix cliquables : CodeAgent::normalizeInteractiveChoices() + preprompt renforcé
  • Diagnostic : scripts/diagnose-npm.php
  • Fix API NPM : meta vide sur proxy hosts ; certificats LE sans champs rejetés par NPM v2
  • Recherche dans la discussion (Espace Code) : bouton loupe, surlignage des occurrences, compteur, navigation haut/bas, raccourcis clavier
  • Restauration version projet : bouton ↩ Restaurer cette version dans la modale détail ; restaure workspace, discussions, versions fichier et base MySQL ; sauvegarde automatique (+1) avant restauration (kind: pre_restore_backup)
  • UX recherche : barre compacte intégrée au thème sombre (compteur et boutons alignés sur une ligne)
  • Page publique /versions : historique des releases (lien depuis le footer)
  • Doc : guide.php, index.php — alignés sur l'état 1.1

release majeure

  • Versions projet : snapshots manuels (project/.releases/), compte-rendu IA des fonctionnalités, VERSIONS.md / CHANGELOG.md, modale + vue chronologique
  • Versions fichier : historique automatique (project/.versions/), bouton Versions fichier distinct, v1 à la création du fichier
  • Discussions (ex-« sessions ») : titre par défaut date/heure, renommage au clic, titre auto au premier message
  • Documentation publique : page /technique (architecture, LLM, Docker, Portainer, SonarQube, API)
  • Site public : header unifié (Accueil, Parcours, Modules, Cas d'usage, Guide, FAQ) ; lien technique dans le footer
  • Explorateur : répertoires repliés par défaut, dossiers avant fichiers à chaque niveau
  • Bilan énergétique LLM retiré (module et UI supprimés)
  • Fix markdown : URLs avec underscores (update_db.php) plus cassées par l'italique
  • Doc : guide.php, README.md, SCHEMA-PROJET.md alignés sur l'état 1.0
  • Export ZIP projet : dump SQL MySQL dans project/database/ (même base vide)
  • Étapes = choices : un seul type de boutons cliquables (<<<choices>>>)
  • Point de reprise avant protection mot de passe des sites preview

validée

  • Fournisseur LLM double : Open WebUI ou NVIDIA NIM (LlmSettings, LlmClientFactory, OpenAiCompatibleChatClient, data/settings/llm.json)
  • Variables d'env : LLM_PROVIDER, NVIDIA_NIM_API_KEY, NVIDIA_NIM_MODEL, NVIDIA_NIM_API_URL, NVIDIA_NIM_MAX_TOKENS
  • Admin : panneau NVIDIA dans Paramètres ; lien vers Test API LLM (admin-llm-test.php, LlmApiTester)
  • Doc : CHOIX-MODELE-LLM.md — catalogue et recommandations modèles
  • Espace Code — UX choix : boutons dans .code-msg-choices (hors bulle markdown) ; scroll auto pendant le stream sans remonter l'historique
  • Fix : LlmSettings::save() (boucle infinie avec ensureDefaults)
  • Admin — modules fonctionnels (AppFeatures, data/settings/features.json) : export, Sonar, énergie LLM, validation PHP, choix cliquables
  • Admin — modèles de projet (ProjectModelAvailability, project-models.json) : modèle Site web activable à la création
  • Bilan énergétique : LlmEnergyEstimator, ProjectEnergyStore, modal par projet, tokens API
  • Auto-correction PHP agent (max 3×) après validation
  • Choix cliquables : <<<choices>>>, désactivables ; garde-fous listes récap
  • ConfigWriter : fix port MySQL ; permissions config.php / JSON settings
  • PICO-8 retiré (infra Docker, données, preprompt)
  • Fix admin-projects.php (ordre chargement $config)
  • Documentation publique : index.php, guide.php — cycle « tester le code » en preview
  • Migration infra : MIGRATION-NOUVELLE-INFRA.md
  • Prompts Espace Code (PHP) : questions une par une, plan découpé après cadrage, vérification des URLs avant lien
  • index.php minimal créé automatiquement à la création des projets Site web (PHP)
  • Pages placeholder : création auto des .php liées (markdown / href) si absentes du workspace
  • Vérification PHP post-agent : php -l + test HTTP (Warning/Fatal/500) sur chaque page créée ; retest des pages qui incluent un includes/ modifié
  • Barre d'état Espace Code : phases visibles (rédaction, application, vérification, erreurs)
  • Réponses cliquables : bloc <<<choices>>> dans le chat (Espace Code + Chat) — clic ou réponse libre
  • Vérification PHP : bloc replié par défaut dans le chat (détail au clic) ; résumé court hors bulle
  • README projet : base MySQL + SSH (port hôte aléatoire, mot de passe root DEV)
  • Images preview : maia-preview-php:latest
  • SSH conteneur : PermitRootLogin yes, AllowUsers root maia
  • Workspace /ws/ : listing Apache + README.md (htaccess)
  • Preview Portainer : statuts disabled / error exposés ; scripts de diagnostic
  • Shell web intégré retiré de l'UI (SSH client externe)
  • Documentation : docs/SCHEMA-PROJET.md (architecture complète)
  • Nettoyage code shell WebSocket / xterm (fichiers et config obsolètes supprimés)
  • Analyse qualité du code (intégration SonarQube, UI sans marque externe)
  • Rapports projet : .maia/rapport-analyse.md + .maia/rapport-analyse.json
  • Lecteur de rapport intégré (modale, rubriques par sévérité / fichier, couleurs thème sombre)
  • Suppression du projet côté service d'analyse à la suppression ou archivage local
  • Config : sonarqube.report_max_issues dans config.example.php
  • Navigation admin en deux zones (Application / Administration)
  • Espace Code : pas de projet auto à la connexion ; écran d'accueil avec fond flouté
  • Bouton Annuler dernière modification (agent)
  • Image Docker prod (docker/app/) et config preview / public_url
  • Sauvegarde de référence multi-utilisateurs, projets, preview Portainer
  • Premières sauvegardes documentées (modèles, preview)