Deux services nommes ajean-engine et ajean-ui, une seule porte web

- ajean.service -> ajean-engine, ajean-link.service -> ajean-ui
- 'ajean web' est desormais l'unique serveur d'interface : il ouvre aussi le
  tunnel quand un jeton est enregistre (une seule conversation, plus de conflit
  sur :8090 ni de fils divergents)
- 'ajean link' ne gere plus que le compte ; 'ajean ui' pilote le service
- l'installateur Linux pose les deux unites et les deux regles sudoers
- 'app' sort de l'aide
This commit is contained in:
nathaninline committed 2026-08-07 17:39:46 +02:00
1 parent 47c27499ae
commit 24ff2f0a25
9 files changed
+220 -209

No files matched your search

+3 -3
View File
@@ -440,16 +440,16 @@ func restartAfterUpdate() (bool, string) {
if runtime.GOOS == "windows" {
return scheduleAppRestart()
}
if runtime.GOOS != "linux" || !linkServiceActive() {
if runtime.GOOS != "linux" || !uiServiceActive() {
return false, ""
}
go func() {
time.Sleep(1500 * time.Millisecond) // laisser la réponse HTTP atteindre le client
// --no-block : on enregistre le job puis on rend la main ; systemd exécute le
// stop/start même si ce process (et le client systemctl) sont tués entre-temps.
_ = exec.Command("systemctl", "--no-block", "restart", linkServiceName()).Run()
_ = exec.Command("systemctl", "--no-block", "restart", uiServiceName()).Run()
}()
return true, "Service " + linkServiceName() + " redémarré automatiquement — la page va se reconnecter seule (le modèle n'est pas rechargé)."
return true, "Service " + uiServiceName() + " redémarré automatiquement — la page va se reconnecter seule (le modèle n'est pas rechargé)."
}
func restartHintText() string {