From 124cc370e5a70143fbad5de05954dcca9386aec5 Mon Sep 17 00:00:00 2001 From: allebonvi Date: Tue, 30 Jun 2026 20:20:23 +0200 Subject: [PATCH] Definisce nomi componenti e packaging --- SPECIFICHE.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/SPECIFICHE.md b/SPECIFICHE.md index ffb3535..1f7c8dd 100644 --- a/SPECIFICHE.md +++ b/SPECIFICHE.md @@ -8,6 +8,21 @@ Il progetto dovra' essere sviluppato in Python, con interfaccia di configurazion ## Componenti principali +### Nomi applicativi + +Nomi definitivi dei componenti: + +- prodotto: `Bak&Rest`; +- servizio Windows: `BakRestWatchdog`; +- descrizione servizio: `Bak&Rest Watchdog Service`; +- applicazione tray: `BakRestTray`; +- applicazione di configurazione: `BakRestConfig`; +- eseguibile servizio: `BakRestWatchdog.exe`; +- eseguibile tray: `BakRestTray.exe`; +- eseguibile configurazione: `BakRestConfig.exe`. + +Gli eseguibili destinati all'utente finale non devono aprire finestre console. + ### Servizio Windows watchdog Il servizio Windows deve: @@ -356,6 +371,22 @@ Librerie candidate: - `subprocess` per eseguire `rsync`; - `logging` standard library per i log giornalieri. +Packaging candidato: + +- `PyInstaller` per produrre eseguibili Windows; +- build senza console per tray app e GUI di configurazione; +- servizio Windows installabile come `BakRestWatchdog`; +- eventuale installer successivo per configurare servizio, autostart tray e cartelle dati. + +Gli eseguibili finali previsti sono: + +```text +dist/ + BakRestWatchdog.exe + BakRestTray.exe + BakRestConfig.exe +``` + ## Decisioni aperte - Scegliere formato definitivo della configurazione: YAML, TOML o JSON. @@ -364,6 +395,7 @@ Librerie candidate: - Definire quale distribuzione di `rsync` usare su Windows. - Definire come installare e aggiornare il servizio Windows. - Definire come gestire credenziali e segreti senza scriverli in chiaro nei log. +- Definire se creare un installer unico o distribuire gli eseguibili con script di installazione. - Definire se prevedere backup versionato o solo mirror. - Definire politica per cancellazioni: propagare la cancellazione sul backup o conservarla. - Definire comportamento in caso di file non copiabili.