Téléverser les fichiers vers "/"

This commit is contained in:
2026-01-22 23:33:55 +01:00
parent cbb1ad1950
commit 53d35adb1e
4 changed files with 843 additions and 0 deletions

204
specification_technique.md Normal file
View File

@@ -0,0 +1,204 @@
# Spécification technique WebUI Passerelle Réseau (V1)
## 1. Objet du document
Ce document décrit **la spécification technique détaillée** de la WebUI de passerelle réseau basée sur **Debian 13 (Trixie)**.
Il sert de référence pour le développement, larchitecture logicielle et les choix techniques.
---
## 2. Contexte et périmètre
### 2.1 Rôle de la VM
- Passerelle réseau LAN → Internet
- Serveur DHCP principal du réseau local
- Serveur DNS local
- Pare-feu et traduction dadresses (NAT)
- Point central de supervision réseau
### 2.2 Contraintes
- Debian 13 Trixie uniquement
- Dépôts officiels Debian uniquement
- Aucun conteneur
- WebUI accessible uniquement depuis le réseau local
- Architecture modulaire
- Pas dautomatisation dangereuse
---
## 3. Architecture générale
### 3.1 Vue densemble
Navigateur → HTTPS → Nginx → API Backend → Scripts système → Services Debian
### 3.2 Composants
- Frontend : HTML / CSS / JavaScript (léger)
- Serveur Web : Nginx
- Backend : Python (API REST)
- Services système : systemd
- Journalisation : journald
---
## 4. Machine virtuelle (Proxmox)
### 4.1 Ressources
- CPU : 2 à 4 cœurs (type host)
- RAM : 4 Go (ballooning désactivé)
- Disque : 32 Go (VirtIO SCSI)
- Réseau :
- 1 interface WAN
- 1 interface LAN
### 4.2 Règles importantes
- Pare-feu Proxmox désactivé
- Pare-feu unique géré dans la VM
---
## 5. Gestion réseau Debian
### 5.1 Outils retenus
- systemd-networkd : configuration des interfaces
- nftables : pare-feu et NAT
- conntrack : suivi des connexions
### 5.2 Fonctions réseau
- Routage IPv4
- Traduction dadresses (NAT)
- Séparation WAN / LAN
---
## 6. Services réseau (V1)
### 6.1 DHCP
- Service : kea-dhcp4-server
- Fonctions :
- plages dynamiques
- réservations fixes
- options DHCP (routeur, DNS, serveur de temps)
### 6.2 DNS
- Service : unbound
- Fonctions :
- cache DNS
- serveurs amont configurables
- entrées statiques nom → adresse
### 6.3 Pare-feu
- Service : nftables
- Fonctions :
- protection de la VM
- autorisation LAN → Internet
- blocage administration depuis Internet
### 6.4 Services annexes
- chrony : synchronisation de lheure
---
## 7. Backend API
### 7.1 Principes
- Backend non exécuté en root
- Utilisateur système dédié
- Appels système via sudo (phase V1 permissive)
### 7.2 Responsabilités
- Lecture / écriture de la configuration centrale
- Génération des fichiers de configuration système
- Validation avant application
- Application contrôlée des changements
---
## 8. Configuration centrale
### 8.1 Source de vérité
- Fichier unique : /etc/netui/config.yaml
### 8.2 Contenu
- paramètres réseau WAN / LAN
- configuration DHCP
- configuration DNS
- état des services
---
## 9. WebUI
### 9.1 Organisation
- Onglets
- Formulaires simples
- Textes explicatifs sous chaque champ
- Info-bulles détaillées
### 9.2 Pages V1
- Tableau de bord
- Réseau
- Pare-feu / Partage de connexion
- Attribution dadresses (DHCP)
- Noms (DNS)
- Services
- Journaux
- Activité réseau
---
## 10. Import des adresses existantes
### 10.1 Objectif
- Conserver les adresses IP existantes lors du remplacement DHCP
### 10.2 Sources supportées
- OPNsense CSV
- OPNsense XML
- Fichier JSON
### 10.3 Format interne
- Normalisation vers un format JSON canonique
---
## 11. Sécurité
- Accès WebUI limité au LAN
- Authentification locale
- Validation stricte des données
- Aucune application automatique
---
## 12. Évolutions prévues (hors V1)
- VPN WireGuard
- QoS / limitation de débit
- Découverte réseau (mDNS)
- Historique et rollback avancé
---
Fin de la spécification technique