feat(models): add domain structs and CIDR validation

Add shared models (Network, Host, Port, Application, ApplicationPort)
with serde derives for Leptos server function serialization.
Add server/validation.rs with valider_ip_dans_reseau() and 5 unit tests.
Gate SSR-only modules (config, validation) with #[cfg(feature = "ssr")].

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 19:48:52 +02:00
parent b6d1e22d25
commit 4e9eab0450
6 changed files with 274 additions and 8 deletions

View File

@@ -20,6 +20,7 @@ ssr = [
"dep:leptos_axum",
"dep:tracing-subscriber",
"dep:dotenvy",
"dep:ipnetwork",
"leptos/ssr",
"leptos_meta/ssr",
"leptos_router/ssr",
@@ -47,6 +48,9 @@ leptos_router = { version = "0.7", features = [] }
thiserror = "1"
# Macros pour les logs : tracing::info!(), tracing::error!()...
tracing = "0.1"
# Sérialisation/désérialisation — nécessaire pour les server functions Leptos
# (les types de retour doivent traverser la frontière server ↔ client)
serde = { version = "1", features = ["derive"] }
# --- Dépendances serveur uniquement (activées par la feature "ssr") ---
@@ -62,6 +66,8 @@ tower-http = { version = "0.5", features = ["fs"], optional = true }
tracing-subscriber = { version = "0.3", features = ["env-filter"], optional = true }
# Charge automatiquement le fichier .env au démarrage du serveur
dotenvy = { version = "0.15", optional = true }
# Parsing et calcul de plages d'adresses IP (CIDR) — ex: 192.168.1.0/24
ipnetwork = { version = "0.20", optional = true }
# --- Dépendances client uniquement (activées par la feature "hydrate") ---