Interface web cyberpunk pour gérer, éditer et déployer des fichiers preseed Debian/Ubuntu — avec API REST, thèmes personnalisables et intégration PXE.
Dans le cadre de ma formation d'Administrateur d'Infrastructures Sécurisées, j'ai étudié l'automatisation des installations Linux via les fichiers preseed. Face à la difficulté de gérer plusieurs configurations dispersées sur différentes machines, j'ai développé une solution web centralisée. Volund est aujourd'hui déployé en production dans mon homelab sur la VM volund.yggdrasil.internal, couplée à Skidbladnir (iVentoy PXE) pour automatiser l'installation des VMs Proxmox.
Création, édition, upload et suppression de fichiers preseed via une interface intuitive
Endpoints CRUD complets : lister, créer, lire, modifier, supprimer des preseeds et consulter les stats
Cyberpunk, Dark, Light, Nordic, Volund Mythic — interface personnalisable selon les préférences
Validation des fichiers, permissions système restrictives, protection des répertoires, support auth HTTP
URL publique par preseed pour boot réseau direct via iVentoy, TFTP ou paramètre kernel
Script install.sh gérant l'installation complète en une commande sur Debian/Ubuntu
volund/
├── volund.html # Interface web principale
├── api.php # Backend API REST
├── install.sh # Script d'installation automatisé
├── volund-nginx.conf # Configuration Nginx prête à l'emploi
├── server-prod.cfg # Configuration serveur production
├── logo.png / logo.svg # Assets
└── themes/
├── base.css # Styles de base
├── cyberpunk.css # Thème cyberpunk (défaut)
├── dark.css # Thème sombre
├── light.css # Thème clair
├── nordic.css # Thème nordique
└── volund-mythic.css # Thème Volund Mythic
GET /api/preseeds — Lister tous les fichiers preseed
POST /api/preseeds — Créer un nouveau preseed
GET /api/preseed/{filename} — Récupérer un preseed
PUT /api/preseed/{filename} — Mettre à jour un preseed
DELETE /api/preseed/{filename} — Supprimer un preseed
GET /api/stats — Statistiques d'utilisation
GET /preseed/{filename} — Accès public pour PXE/boot réseau
Temps de déploiement preseed
(de ~15 min à ~4 min)
Réduction des erreurs de configuration
Thèmes CSS modulaires personnalisables
REST complète pour intégration iVentoy / Ansible
sudo ./install.sh gère tout
install.sh)chmod +x install.sh
sudo ./install.sh
Le script gère automatiquement : installation des paquets (Nginx, PHP 8.4-FPM), configuration Nginx, structure des répertoires, permissions, et démarrage des services.
Volund illustre ma capacité à identifier un besoin concret, concevoir une architecture technique complète et mener un projet de bout en bout — du développement PHP à l'intégration PXE en production. Ce projet démontre ma motivation à aller au-delà du cours théorique en créant des outils pratiques réellement utilisés dans mon infrastructure.