core/frontend
enzo 5836f2201a feat: add Services and Logs modules (systemctl + journalctl via SSH)
Backend:
- modules/services: list, status, start/stop/restart systemctl services
  with pct exec support for LXC targets
- modules/logs: journalctl unit listing + WebSocket live streaming
  (direct SSH connection, journalctl -f, graceful teardown on WS close)
- migrations/003: seed services and logs modules in DB
- main.go: register services.New() and logs.New() in module loader

Frontend:
- services.html: target selector, search/filter, services table with
  active state indicators and start/stop/restart buttons
- logs.html: target + unit selectors, live follow toggle, scrollable
  terminal output with 3000-line cap
- app.js: servicePage() and logsPage() Alpine components + navItems
- locales: services and logs i18n keys (fr + en)
- pages.css: services table, state dots, logs output styles

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 02:03:55 +01:00
..
css feat: add Services and Logs modules (systemctl + journalctl via SSH) 2026-03-22 02:03:55 +01:00
icons feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
js feat: add Services and Logs modules (systemctl + journalctl via SSH) 2026-03-22 02:03:55 +01:00
locales feat: add Services and Logs modules (systemctl + journalctl via SSH) 2026-03-22 02:03:55 +01:00
vendors feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
.gitignore feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
build.mjs feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
dashboard.html feat: sync DB prefs, update history tab, configurable dashboard shortcuts 2026-03-22 00:35:24 +01:00
Dockerfile feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
index.html feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
install.html feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
login.html feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
logs.html feat: add Services and Logs modules (systemctl + journalctl via SSH) 2026-03-22 02:03:55 +01:00
manifest.json feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
modules.html feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
nginx.conf feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
package-lock.json feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
package.json feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
profile.html feat: label session actuelle + fix bouton révoquer 2026-03-22 01:45:09 +01:00
proxmox.html feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
services.html feat: add Services and Logs modules (systemctl + journalctl via SSH) 2026-03-22 02:03:55 +01:00
settings.html feat: sync DB prefs, update history tab, configurable dashboard shortcuts 2026-03-22 00:35:24 +01:00
swup-bundle.entry.mjs feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00
terminal.html feat: sessions management, web manifest, square icon-only buttons, remove lang select 2026-03-21 20:14:11 +01:00
updates.html feat: sync DB prefs, update history tab, configurable dashboard shortcuts 2026-03-22 00:35:24 +01:00
xterm-bundle.entry.mjs feat: réécriture frontend Alpine.js + HTMX + Swup (branche frontend/alpine) 2026-03-21 16:19:24 +01:00