# Cloud-PBS TUI

Wrapper terminal (TUI) ergonomique autour du client officiel
`proxmox-backup-client`, pour faciliter la sauvegarde des hôtes Linux
vers un serveur Proxmox Backup Server.

Édité par **LenoIT SARL** (Vannes, France) — composant du SaaS
[Cloud-PBS](https://cloud-pbs.com).

## État du projet

En développement actif. Avancement par jalons (voir
[`docs/PLAN.md`](docs/PLAN.md)) :

| Jalon | Description | État |
|-------|-------------|------|
| 1 | Squelette TUI : 4 écrans navigables | fait |
| 2 | Écran Cible : formulaire PBS | fait |
| 3 | Écran Sources : sélection des chemins | fait |
| 4 | Écran Planning : timers systemd | fait |
| 5 | Persistance config + détection PBS | fait |
| 6 | Exécution backup + logs temps réel | fait |
| 7 | Chiffrement des sauvegardes | fait |
| 8 | CI : validation + binaire publié | fait |
| 9 | Écran Sauvegardes : consultation du datastore | fait |
| 10 | Restauration des sauvegardes | fait |
| 11 | Packaging `.deb` | à venir |

## Fonctionnement

Cloud-PBS TUI **n'embarque pas** le code de `proxmox-backup-client` :
il l'invoque en sous-processus. Le binaire officiel doit donc être
installé séparément (paquet `proxmox-backup-client` fourni par
Proxmox).

## Prérequis

- Go 1.24+ (pour compiler)
- Linux `amd64` ou `arm64`
- `proxmox-backup-client` 3.x+ installé (pour l'exécution réelle d'un
  backup — non requis pour lancer la TUI)
- `systemd` (recommandé, pour la planification)

## Compilation

```bash
make build      # produit ./cloudpbs-tui (binaire statique)
make run        # compile et lance la TUI
make test       # tests unitaires
make vet        # analyse statique
```

Le binaire est compilé avec `CGO_ENABLED=0` afin de rester statique et
portable entre distributions.

## Installation

Le packaging `.deb` (`apt install ./cloudpbs-tui_x.y.z_amd64.deb`)
sera disponible à partir du jalon 7.

## Navigation

| Touche | Action |
|--------|--------|
| `1` à `4` | Aller à l'écran correspondant |
| `?` | Aide complète |
| `q` / `Ctrl+C` | Quitter |

## Licence

À définir avant la première release publique (voir `docs/PLAN.md` §2).
