UI backend llama.cpp : vue simplifiee (2 modes rapide/optimisee, plus de badge, sans jargon)

Refonte de la section pour la rendre utilisable sans connaissances techniques :
- suppression du badge a cote du titre et de tous les details (commit, retard
  git, arch CUDA, nombre de jobs, chemins) ; une seule ligne 'Moteur actif : …'
- deux cartes claires : Version rapide (precompile, conseillee) / Version
  optimisee (compilee) ; un clic installe, active ou bascule
- bascule instantanee entre deux versions deja installees (nouvel endpoint
  /api/llamacpp/use : repointe BIN + redemarre, sans recompiler)
- carte active : '✓ Actif' + 'mettre a jour' ; progression et logs replies sous 'details'
This commit is contained in:
nathaninline committed 2026-07-22 19:54:48 +02:00
1 parent b0c1503ed8
commit ff045ba21e
6 files changed
+260 -244

No files matched your search

+33
View File
@@ -313,6 +313,39 @@ func lcRunPrebuilt() {
lcDone("binaires précompilés installés (" + tag + ")")
}
// handleLlamacppUse bascule BIN entre deux versions DÉJÀ installées, sans
// rien recompiler : "fast" = binaires précompilés, "opt" = build local. Le
// service redémarre pour prendre le nouveau binaire. L'UI n'appelle ceci que
// quand la version cible existe déjà (sinon elle lance un job d'installation).
func handleLlamacppUse(w http.ResponseWriter, r *http.Request) {
var req struct {
Mode string `json:"mode"`
}
_ = json.NewDecoder(r.Body).Decode(&req)
var bin string
switch req.Mode {
case "fast":
bin = prebuiltServerBin()
case "opt":
bin = llamaServerBin(llamacppRepoDir())
default:
sendJSON(w, 400, map[string]any{"ok": false, "error": "mode inconnu"})
return
}
if bin == "" {
sendJSON(w, 400, map[string]any{"ok": false, "error": "cette version n'est pas installée"})
return
}
if err := SetConfigKey("BIN", bin); err != nil {
sendJSON(w, 500, map[string]any{"ok": false, "error": err.Error()})
return
}
if serviceIsActive() {
_ = serviceAction("restart")
}
sendJSON(w, 200, map[string]any{"ok": true, "bin": bin})
}
// handleLlamacppJob renvoie l'état du job courant + les lignes de log depuis
// l'offset absolu ?from=N (le client mémorise `next` et enchaîne).
func handleLlamacppJob(w http.ResponseWriter, r *http.Request) {