feat: initialisation complète du CORE ProxmoxPanel

Backend Go 1.23+ :
- API REST + WebSocket (chi, gorilla/websocket)
- Authentification PAM via SSH + JWT RS256
- Chiffrement AES-256-GCM pour secrets SQLite
- Pool SSH, client Proxmox REST, hub WebSocket pub/sub
- Système de modules compilés à initialisation conditionnelle
- Audit log, migrations SQLite versionnées

Frontend Vue 3 + Vite + TypeScript :
- Thème Neumorphism sombre/clair (CSS custom properties)
- Wizard d'installation, Dashboard drag-drop, Terminal xterm.js
- Toutes les vues CORE + stubs modules optionnels
- i18n EN/FR (vue-i18n v11)

Infrastructure :
- Docker multi-stage (Go → alpine, Node → nginx)
- docker-compose.yml, .gitattributes, LICENSE MIT, README

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
enzo 2026-03-20 21:08:53 +01:00
commit 5dbcb1df07
66 changed files with 10370 additions and 0 deletions

View file

@ -0,0 +1,41 @@
# Module — Files
**Type**: Optional (disabled by default)
SFTP-based file browser for the Proxmox host and LXC containers. Navigate, view, edit, upload, and download files directly from the browser.
## Planned Features
- Directory listing with permissions, size, modification date
- File preview (text, JSON, YAML, shell scripts, logs)
- File editing via CodeMirror 6 (syntax highlighting for common formats)
- Upload and download
- Create/delete files and directories
- Navigate into LXC containers via `pct exec` or direct SFTP
## Planned API Endpoints
| Method | Path | Auth | Description |
|--------|------|------|-------------|
| GET | `/api/files/list` | JWT | List directory contents |
| GET | `/api/files/read` | JWT | Read file content |
| PUT | `/api/files/write` | JWT+Admin | Write file content |
| POST | `/api/files/mkdir` | JWT+Admin | Create directory |
| DELETE | `/api/files/delete` | JWT+Admin | Delete file or directory |
| GET | `/api/files/download` | JWT | Download file |
| POST | `/api/files/upload` | JWT+Admin | Upload file |
Query parameters: `path=<absolute-path>`, `host=<optional-ssh-override>`
## Status
> This module is currently a stub. The UI view is implemented (shows a "module not enabled" placeholder). Full SFTP implementation is planned for a future release.
## Requirements
- SSH/SFTP access to the target host
- The `ssh_host`, `ssh_username`, `ssh_password` settings must be configured
## License
MIT — see [LICENSE](../../LICENSE)