mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-23 23:18:13 +02:00
Renommage AJEAN (3/3) : textes, aide, README et variables d'environnement
Surface visible passee en AJEAN : aide de la CLI, messages, invite du chat terminal, commentaires, README, metadonnees Windows du binaire (InternalName / OriginalFilename). Les reglages s'appellent desormais AJEAN_* (AJEAN_HOME, AJEAN_MODEL_DIRS, AJEAN_DL_CONNS, AJEAN_LINK_URL, AJEAN_ACME_EMAIL, AJEAN_SERVICE), avec l'ancien nom JEAN_* toujours lu en second via envAny(). Ces variables sont posees a la main dans des shells, des units, des docker-compose et des scripts de deploiement qu'on ne peut pas retrouver : cesser de les lire ferait retomber silencieusement un reglage sur sa valeur par defaut. Migration one-shot du dossier de donnees retentee dans la fenetre ou l'installateur Windows a arrete toutes les instances, seule fenetre ou le rename peut aboutir. Le chemin du binaire est recalcule juste apres, sinon on reinstallerait dans le dossier qu'on vient de deplacer. Deux choses volontairement NON renommees, parce que les renommer casserait des utilisateurs sans rien apporter : - "model": "jean", le nom expose sur l'endpoint compatible OpenAI. Des integrations externes le configurent en dur. - les cles localStorage (jean-theme, jean.sys...). Les renommer reinitialiserait theme, preferences d'affichage et prompt systeme dans le navigateur de chaque utilisateur. Le plist launchd recevait /usr/local/bin/jean en dur : le chemin est desormais injecte, sinon le daemon macOS aurait refuse de demarrer apres le renommage. index.html regenere depuis ui/src via go generate.
This commit is contained in:
1 parent
3720b90173
commit
993be881d5
44 files changed
+319
-236
No files matched your search
@@ -17,7 +17,7 @@ import (
|
||||
"golang.org/x/mod/semver"
|
||||
)
|
||||
|
||||
// jean update — met à jour le binaire depuis les releases GitHub du projet.
|
||||
// ajean update — met à jour le binaire depuis les releases GitHub du projet.
|
||||
// Périmètre minimal : compare la version, télécharge l'asset correspondant à
|
||||
// l'OS/arch courant, remplace le binaire en place, puis affiche quoi redémarrer.
|
||||
// AUCUN redémarrage de service automatique (choix volontaire, plus sûr).
|
||||
@@ -109,7 +109,7 @@ type updateInfo struct {
|
||||
}
|
||||
|
||||
// checkForUpdate interroge GitHub et compare à la version courante. Réutilisé
|
||||
// par `jean update` (CLI) et par l'endpoint web /api/update.
|
||||
// par `ajean update` (CLI) et par l'endpoint web /api/update.
|
||||
func checkForUpdate() (updateInfo, error) {
|
||||
info := updateInfo{Current: Version}
|
||||
rel, err := fetchLatestRelease()
|
||||
@@ -158,7 +158,7 @@ func applyUpdate() (string, error) {
|
||||
// Contrôle des droits AVANT de télécharger : sans ça, l'échec survient sur le
|
||||
// os.Create du fichier temporaire et l'utilisateur reçoit un « open
|
||||
// /usr/local/bin/.ajean-update.tmp: permission denied » incompréhensible,
|
||||
// notamment depuis le bouton de l'UI web (jean web lancé sans sudo).
|
||||
// notamment depuis le bouton de l'UI web (ajean web lancé sans sudo).
|
||||
if err := checkUpdateWritable(exe); err != nil {
|
||||
return "", err
|
||||
}
|
||||
@@ -203,7 +203,7 @@ func updatePermissionError(exe string) error {
|
||||
if runtime.GOOS == "windows" {
|
||||
return fmt.Errorf("droits insuffisants pour remplacer %s — relance AJEAN en administrateur puis réessaie", exe)
|
||||
}
|
||||
return fmt.Errorf("droits insuffisants pour remplacer %s (le binaire appartient à root) — lance la mise à jour en ligne de commande : sudo jean update", exe)
|
||||
return fmt.Errorf("droits insuffisants pour remplacer %s (le binaire appartient à root) — lance la mise à jour en ligne de commande : sudo ajean update", exe)
|
||||
}
|
||||
|
||||
// checkUpdateWritable vérifie qu'on peut écrire dans le dossier du binaire, en
|
||||
@@ -243,7 +243,7 @@ func cmdUpdate(args []string) error {
|
||||
fmt.Printf("nouvelle version disponible : %s (actuelle : %s)\n", info.Latest, Version)
|
||||
fmt.Printf(" %s\n", info.URL)
|
||||
if checkOnly {
|
||||
fmt.Println("lance 'jean update' pour l'installer.")
|
||||
fmt.Println("lance 'ajean update' pour l'installer.")
|
||||
return nil
|
||||
}
|
||||
fmt.Printf("téléchargement de %s…\n", updateAssetName())
|
||||
|
||||
Reference in new issue
Block a user