Table des matières
↩ Retour à l'accueil du projet
4) Le Menu Principal (Gestionnaire CLI)
Ce document définit l'organisation, l'arborescence et le comportement attendu de l'interface textuelle interactive (CLI) centrale. Ce script, placé dans le dossier isolé '~/projet/passerelle-infra/scripts/' de l'utilisateur tux, sert de point d'entrée unique pour toute l'administration quotidienne du VPS.
1. Interface et Ergonomie de la Console
L'interface doit être sobre, rapide et optimisée pour un affichage en terminal SSH :
- Boucle permanente : Le menu s'exécute dans une boucle continue. Une fois une action terminée, le script attend une validation de l'administrateur avant de réafficher le menu principal.
- Codes couleur standards : Utilisation des couleurs du terminal pour une lisibilité immédiate (Vert = Succès / Information, Rouge = Alerte / Erreur, Jaune = Attention / Saisie requise).
- Retour Visuel Immédiat : Chaque action affiche un bilan textuel clair à l'écran à la fin de son exécution.
2. Arborescence du Menu Interactif & Chemins Réels
À l'exécution, le script présente la liste numérotée des fonctionnalités. Chaque option exécute de manière étanche un sous-script logé dans le répertoire de l'infrastructure :
Option 1 : Supervision & Statut global
Affiche l'état instantané du VPS (Charge CPU, RAM disponible, espace disque, statut du service WireGuard, Nginx et Postfix) ainsi que la liste des tunnels VPN actifs. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/10_script_supervision.sh'*
Option 2 : Ajouter une liaison VPN Client
Demande les informations nécessaires pour raccorder un nouveau PC distant ou un conteneur au réseau privé. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/05_script_ajout_vpn.sh'*
Option 3 : Retirer une liaison VPN Client
Sélectionne un utilisateur actif pour révoquer ses clés de sécurité et couper son accès. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/06_script_retrait_vpn.sh'*
Option 4 : Déployer une nouvelle VM Conteneur
Instancie un nouvel environnement Linux isolé directement sur le VPS et le lie au VPN. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/07_script_ajout_conteneur.sh'*
Option 5 : Dupliquer une VM Conteneur
Clone une instance existante ou un modèle de référence vers un nouvel environnement. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/08_script_duplication_conteneur.sh'*
Option 6 : Supprimer une VM Conteneur
Arrête et détruit définitivement une instance pour libérer les ressources. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/09_script_suppression_conteneur.sh'*
Option 7 : Sauvegarder l'infrastructure (Pack .tar)
Déclenche la création de l'archive de secours autonome contenant les fichiers de configuration, les scripts et la documentation de reconstruction. ➔ *Appelle : 'bash ~/projet/passerelle-infra/scripts/11_script_sauvegarde.sh'*
Option 8 : Quitter le gestionnaire
Ferme proprement le script et redonne la main au terminal standard de 'tux'.
3. Principes de Prudence & Sécurité
Pour éviter les accidents d'administration, le menu principal intègre des barrières de sécurité logiques :
Validation des saisies
Le menu filtre toutes les entrées textuelles de l'administrateur. Les caractères non-alphanumériques (hors points pour les domaines) sont rejetés pour empêcher toute exécution de commande malveillante indirecte.
Mécanisme de confirmation inverse
Toute action entraînant une perte de données (Options 3, 6 et 9) déclenche une demande de confirmation obligatoire. L'action n'est validée que si l'administrateur tape explicitement 'o' ou 'oui'. Un simple appui sur la touche ENTRÉE annule l'action par sécurité.
Journalisation (Logs)
Chaque ouverture du menu, chaque sélection d'option et le résultat de chaque sous-script sont automatiquement horodatés et consignés via la fonction 'tux.enregistrerLog' en tâche de fond dans le fichier '/var/log/vps-gateway.log'.
