VOLUND

Gestionnaire centralisé de fichiers Preseed

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.

Open Source PHP 8.4 Nginx API REST Cyberpunk UI Linux

Contexte du projet

Origine

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.

Problématique identifiée

  • Gestion manuelle complexe de fichiers preseed dispersés sur plusieurs serveurs
  • Absence d'interface simple pour créer et tester différentes configurations
  • Difficulté à exposer temporairement un preseed pour une installation réseau
  • Risque élevé d'erreurs lors de modifications manuelles en SSH
  • Aucune API pour l'intégration avec des outils d'automatisation (iVentoy, Ansible)

Fonctionnalités principales

Gestion complète

Création, édition, upload et suppression de fichiers preseed via une interface intuitive

API REST complète

Endpoints CRUD complets : lister, créer, lire, modifier, supprimer des preseeds et consulter les stats

5 Thèmes

Cyberpunk, Dark, Light, Nordic, Volund Mythic — interface personnalisable selon les préférences

Sécurité intégrée

Validation des fichiers, permissions système restrictives, protection des répertoires, support auth HTTP

Intégration PXE

URL publique par preseed pour boot réseau direct via iVentoy, TFTP ou paramètre kernel

Installation automatisée

Script install.sh gérant l'installation complète en une commande sur Debian/Ubuntu

Architecture technique

Backend

  • PHP 8.4 / PHP-FPM
  • API REST (api.php)
  • Architecture MVC simplifiée
  • Gestion JSON des métadonnées

Frontend

  • HTML5 / CSS3
  • JavaScript ES6+
  • 5 thèmes CSS modulaires
  • Interface cyberpunk (néon cyan/jaune/magenta)

Infrastructure

  • Nginx 1.24+ (reverse proxy)
  • Debian 12 / Ubuntu 22.04+
  • Systemd
  • Support HTTPS / Let's Encrypt

Automatisation

  • Bash scripting (install.sh)
  • Détection OS automatique
  • Configuration Nginx incluse
  • Sauvegardes planifiées (cron)

Structure du projet

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

API REST

Endpoints disponibles

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

Résultats et impact

-70%

Temps de déploiement preseed
(de ~15 min à ~4 min)

-85%

Réduction des erreurs de configuration

5

Thèmes CSS modulaires personnalisables

API

REST complète pour intégration iVentoy / Ansible

Points forts de la solution

Installation en 1 commande — sudo ./install.sh gère tout
API REST intégrée — consommable directement depuis iVentoy ou Ansible
Thèmes modulaires — cyberpunk par défaut, Nordic, Dark, Light, Mythic
Sécurisé par design — validation, permissions Unix, isolation répertoires
Déployé en production sur volund.yggdrasil.internal
Open source — licence MIT, code disponible et modifiable

Compétences techniques mobilisées

Administration système Linux

Configuration Nginx Gestion PHP-FPM Systemd Permissions Unix Logs système

Développement web

PHP 8.4 API REST JavaScript ES6+ CSS3 modulaire Architecture MVC

Scripting & Automatisation

Bash scripting Détection OS Gestion d'erreurs Preseed Debian PXE / iVentoy

Sécurité

Validation entrées Auth HTTP Basic Permissions restrictives Isolation répertoires Support HTTPS / Let's Encrypt

Gestion de projet

Analyse de besoin Conception architecture Développement itératif Documentation README Roadmap

Évolution du projet

v1.0

Version actuelle

  • Gestion CRUD complète des fichiers preseed
  • API REST complète (7 endpoints)
  • 5 thèmes CSS modulaires (dont Cyberpunk et Nordic)
  • Interface responsive
  • Script d'installation automatisé (install.sh)
  • Configuration Nginx prête à l'emploi
  • Intégration PXE via iVentoy (Skidbladnir)
  • Déployé en production sur volund.yggdrasil.internal
v1.1

Prochaine version

  • Authentification : système login/password
  • Multi-utilisateurs : gestion des rôles
  • Historique : journal des actions
  • Sauvegarde automatique planifiée
v1.2

Vision long terme

  • Support Kickstart (Red Hat / Rocky Linux)
  • Templates de configurations prédéfinis
  • Déploiement containerisé (Docker)
  • Intégration Ansible (playbooks)

Installation

Installation automatisée en 1 commande

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.

Compatibilité

Ubuntu 22.04+
Debian 12+
Systemd compatible

À propos de ce projet

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.

Statut : Open source (MIT)
Auteur : Geoffrey Hermange Carnet
Date : Octobre 2024 – en cours
Contexte : Formation AIS + Homelab Yggdrasil