From 8fd71d60131572dda319b690dda05194e43557b8 Mon Sep 17 00:00:00 2001 From: nathaninline Date: Tue, 28 Jul 2026 15:31:11 +0200 Subject: [PATCH] v0.6.0 : refonte de l'interface web (theme unique noir et blanc, menu lateral repense) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Interface - Un seul theme, en deux variantes claire et sombre. Les themes Classique, Doux, ChatGPT et AJEAN sont retires, ainsi que le reglage de police et ses quatre variantes (plus aucun telechargement Google Fonts). - La disposition en colonne centree devient celle de l'application : reponses sans bulle, question en pastille a droite, composer en pilule. - Menu lateral refondu sur un gabarit unique repris des listes de la modale de preset : cartes, lignes de 34 px, intitule a gauche et controle a droite. Menu replie = 462 px, plus de defilement au chargement. - GPU et RAM fusionnes en une section Machine, avec un vrai bloc de statistique (nom, valeur alignee, jauge, detail). - Palette sombre plus contrastee : gris de texte a 7,6:1 (contre 5,6), bordures et surfaces enfin distinctes du fond. - Le logo affiche toujours AJEAN (le A n'apparaissait qu'en mode agent) et passe en couleur d'accent quand l'agent est actif. - Les garde-fous du serveur ([stop: ...]) s'affichent en encart discret. Corrections - Fond d'accent + texte blanc en dur : illisible en mode sombre (bouton enregistrer de l'editeur de preset, boutons accoles, bulle utilisateur). - Pave des interrupteurs invisible sur piste claire, piste trop proche du fond. - Valeurs cle/valeur inversees (« Go 24 / 18,2 ») : direction:rtl sans unicode-bidi:plaintext. - Jauge de VRAM invisible (fond de la jauge = couleur de sa carte). - Badges d'etat flottants dans les en-tetes (deux margin-left:auto). - Ombres et voiles calibres pour un fond sombre, trop lourds sur du blanc. Preferences - /api/prefs n'accepte plus que theme=light|dark et les quatre drapeaux d'affichage ; les cles obsoletes (police, anciens themes) sont purgees a la premiere ecriture, et le client normalise un theme herite. --- cmd/jean/resource_windows_amd64.syso | Bin 8348 -> 8340 bytes cmd/jean/resource_windows_arm64.syso | Bin 8348 -> 8340 bytes cmd/jean/versioninfo.json | 10 +- internal/jean/run.go | 2 +- internal/jean/ui/index.html | 738 ++++++++++------------ internal/jean/ui/src/index.tmpl.html | 119 ++-- internal/jean/ui/src/js/00-md.js | 32 + internal/jean/ui/src/js/01-theme.js | 109 +--- internal/jean/ui/src/js/02-prefs.js | 19 +- internal/jean/ui/src/js/05-status.js | 16 +- internal/jean/ui/src/js/08-chat-render.js | 4 +- internal/jean/ui/src/styles.css | 439 ++++++------- internal/jean/web_prefs.go | 25 +- 13 files changed, 670 insertions(+), 843 deletions(-) diff --git a/cmd/jean/resource_windows_amd64.syso b/cmd/jean/resource_windows_amd64.syso index ae4bf6aab312dcc8e267b265d0e644a87349b36b..e279a65cdda2af52409ef5f6a1f4e59ea14d7f92 100644 GIT binary patch delta 143 zcmbQ^IK`1OrHzpR1nMSoN^{PTXJD`aa;|LD?Pg~Duz4r5wglsc$xo&Ab=knG7#Lu* zJ(SPFz`_7A0V)8b0wz1kC^PD8PL)~B$ZWvCFrdXJD`aa_(%@?Pg~Dv3V!6wglsk$xo&Aby>lxco<-` zJ($nHzygF26QBY>Dq^yuj54Fi=2V&0jLaqsoRfv+6nRY<^cV~ojDVy81H)!pIc1O( S`{ZPKRZf@`!{%Ojc18f@Ul-v3 diff --git a/cmd/jean/resource_windows_arm64.syso b/cmd/jean/resource_windows_arm64.syso index 0cb3af09556da498f46e198b56252341625cef68..d3c12182cec74c1262b17a489f7566583cf345ba 100644 GIT binary patch delta 143 zcmbQ^IK`1OWfda>2-HpFl;)fv&%j^<#~7WF)+Yr zdnliUfrSBL0#pD<1x$97QD)THoGP=Lk=cNOW3sTEBBvRH9)kf0Z+4VZ1_`rGPM23@ M1q*MUD$mXc0547#Q2+n{ delta 151 zcmbQ@ILDDQWfda>2((S)l;&I@&%j^<#~AX@i4$> zdoZ7YfdvR5CO`#%RK#RQ8D&P3&8af08JSHOI429sDe{^!=rI^F7y(HG28PYHa>^hn S_Q}ces+=$>hRwb5?2G{U!x#ks diff --git a/cmd/jean/versioninfo.json b/cmd/jean/versioninfo.json index 28fe548..72897c0 100644 --- a/cmd/jean/versioninfo.json +++ b/cmd/jean/versioninfo.json @@ -2,14 +2,14 @@ "FixedFileInfo": { "FileVersion": { "Major": 0, - "Minor": 5, - "Patch": 12, + "Minor": 6, + "Patch": 0, "Build": 0 }, "ProductVersion": { "Major": 0, - "Minor": 5, - "Patch": 12, + "Minor": 6, + "Patch": 0, "Build": 0 }, "FileFlagsMask": "3f", @@ -25,7 +25,7 @@ "LegalCopyright": "Copyright (c) 2026 AJEAN contributors. MIT License.", "OriginalFilename": "jean.exe", "ProductName": "AJEAN", - "ProductVersion": "0.5.12", + "ProductVersion": "0.6.0", "Comments": "https://github.com/nathaninline/jean — projet open source (MIT)" }, "VarFileInfo": { diff --git a/internal/jean/run.go b/internal/jean/run.go index 2c6e356..4918b61 100644 --- a/internal/jean/run.go +++ b/internal/jean/run.go @@ -10,7 +10,7 @@ import ( "strings" ) -const Version = "0.5.12" +const Version = "0.6.0" // Main est le vrai main() du binaire (cmd/jean ne fait que l'appeler). func Main() { diff --git a/internal/jean/ui/index.html b/internal/jean/ui/index.html index 20073a8..ed0b8d8 100644 --- a/internal/jean/ui/index.html +++ b/internal/jean/ui/index.html @@ -12,49 +12,17 @@ - - + + - +
@@ -763,25 +702,27 @@ button:disabled{opacity:.5;cursor:not-allowed}

   
-  
GPU -
…
+ +
Machine +
+
…
+
+
-
RAM -
…
+
Config active +
…
-
Config active -
…
-
-
Presets +
Presets
-
Mode agent - +
Mode agent +
Mémoire?
-
-
Accès internet?Ajoute les outils web_search / web_open / web_read / web_grep via un serveur Crawl4AI. Actifs seulement si le serveur répond.
+
Accès internet?Ajoute les outils web_search / web_open / web_read / web_grep via un serveur Crawl4AI. Actifs seulement si le serveur répond.
- +
- +
@@ -816,7 +757,7 @@ button:disabled{opacity:.5;cursor:not-allowed}
-
Serveurs MCP?Connecte des serveurs MCP (Model Context Protocol) pour donner de nouveaux outils à l'IA : accès fichiers, bases de données, APIs métier… stdio = programme lancé localement (npx/uvx/binaire) · http = serveur distant. ⚠ un serveur stdio exécute du code sur cette machine, au même titre que le shell.
+
Serveurs MCP?Connecte des serveurs MCP (Model Context Protocol) pour donner de nouveaux outils à l'IA : accès fichiers, bases de données, APIs métier… stdio = programme lancé localement (npx/uvx/binaire) · http = serveur distant. ⚠ un serveur stdio exécute du code sur cette machine, au même titre que le shell.
@@ -826,37 +767,38 @@ button:disabled{opacity:.5;cursor:not-allowed}
-
Apparence - - - -
Affichage
+
Apparence +
+ +
+
Affichage
+
+
-
System prompt - +
System prompt +
-
Accès OpenAI +
Accès OpenAI
Endpoint compatible OpenAI?Branchez n'importe quel client compatible OpenAI (OpenCode, Continue, Cursor…) sur ces adresses. Si une clé est définie, le client doit envoyer Authorization: Bearer <clé>.
Modèle : jean
+
Adresse locale (réseau)
- - +
+
+ -
Clé API?Protège l'endpoint des complétions (llama-server). Indispensable avant d'exposer le serveur sur internet. Modifier la clé redémarre le service.
-
+
Clé API?Protège l'endpoint des complétions (llama-server). Indispensable avant d'exposer le serveur sur internet. Modifier la clé redémarre le service.
+
+
@@ -875,33 +818,36 @@ button:disabled{opacity:.5;cursor:not-allowed}
+
-
Accès distant +
Accès distant
ajean.link?Accédez à ce serveur Jean depuis n'importe où, sans ouvrir de port, à travers le relais ajean.link. Le trafic est chiffré de bout en bout : le relais ne voit rien. Abonnement 4,80 €/mois.
-
+

Ouvrez l'accès distant à ce serveur en quelques clics, sans terminal.

-
MOTEUR +
Moteur
…
@@ -926,20 +872,24 @@ button:disabled{opacity:.5;cursor:not-allowed}
-
Service +
Service +
+
-
Actions -
-
-
- - - +
Actions +
+
+
+
+ + + +
@@ -965,7 +915,7 @@ button:disabled{opacity:.5;cursor:not-allowed}
-
-
Apparence - - - -
Affichage
+
Apparence +
+ +
+
Affichage
+
+
-
System prompt - +
System prompt +
-
Accès OpenAI +
Accès OpenAI
Endpoint compatible OpenAI?Branchez n'importe quel client compatible OpenAI (OpenCode, Continue, Cursor…) sur ces adresses. Si une clé est définie, le client doit envoyer Authorization: Bearer <clé>.
Modèle : jean
+
Adresse locale (réseau)
- - +
+
+ -
Clé API?Protège l'endpoint des complétions (llama-server). Indispensable avant d'exposer le serveur sur internet. Modifier la clé redémarre le service.
-
+
Clé API?Protège l'endpoint des complétions (llama-server). Indispensable avant d'exposer le serveur sur internet. Modifier la clé redémarre le service.
+
+
@@ -150,33 +154,36 @@
+
-
Accès distant +
Accès distant
ajean.link?Accédez à ce serveur Jean depuis n'importe où, sans ouvrir de port, à travers le relais ajean.link. Le trafic est chiffré de bout en bout : le relais ne voit rien. Abonnement 4,80 €/mois.
-
+

Ouvrez l'accès distant à ce serveur en quelques clics, sans terminal.

-
MOTEUR +
Moteur
…
@@ -201,20 +208,24 @@
-
Service +
Service +
+
-
Actions -
-
-
- - - +
Actions +
+
+
+
+ + + +
@@ -240,7 +251,7 @@
-