Pour que ton application puisse lister les ressources et modifier les descriptions des VMs sans compromettre la sécurité de ton infrastructure, il ne faut surtout pas utiliser le compte root@pam.Nous allons créer un utilisateur dédié (api-visualizer@pve) et lui associer un API Token avec les privilèges minimaux nécessaires (Moindre privilège).Voici le tutoriel pas à pas à réaliser sur ton Proxmox à l'adresse https://10.0.3.203:8006. # 🛠️ Étape 1 : Créer le rôle personnalisé (Optionnel mais recommandé) Par défaut, Proxmox propose le rôle PVEVMAdmin, mais il donne trop de droits (allumer/éteindre, supprimer des VMs, etc.). Nous allons créer un rôle sur-mesure qui ne permet que de lire et de modifier les configurations (pour les notes).Connecte-toi à l'interface web de ton Proxmox (https://10.0.3.203:8006).Va dans Datacenter (tout en haut de l'arbre à gauche) $\rightarrow$ Permissions $\rightarrow$ Roles.Clique sur Create.Nomme le rôle : VM-Visualizer.Dans le champ Privileges, coche exactement ces cases :VM.Audit (Pour voir et lister les VMs/LXCs)VM.Config.Options (Pour pouvoir modifier le champ description/notes)Sys.Audit (Pour voir l'état des nœuds et du cluster)Clique sur Create. # 👥 Étape 2 : Créer l'utilisateur API Reste dans Datacenter $\rightarrow$ Permissions $\rightarrow$ Users.Clique sur Add.Remplis les champs suivants :User name : api-visualizerRealm : pve (Proxmox VE authentication)Password : Mets un mot de passe robuste (il servira uniquement à valider la création du token).Clique sur Add. # 🔑 Étape 3 : Générer l'API Token Le Token permettra à ton script FastAPI de s'authentifier sans utiliser de mot de passe.Reste dans Datacenter $\rightarrow$ Permissions $\rightarrow$ API Tokens.Clique sur Add.Sélectionne l'utilisateur : api-visualizer@pve.Token ID : visualizer-token (ou le nom de ton choix).⚠️ Décoche impérativement la case Privilege Separation. Si tu la laisses cochée, le token aura des restrictions supplémentaires complexes à gérer. En la décochant, le token hérite exactement des droits qu'on va donner à l'utilisateur.Clique sur Add.🔴 ATTENTION : Une boîte de dialogue s'ouvre avec le Token ID et la Secret Value. Copie immédiatement la "Secret Value", car elle ne sera plus jamais affichée ! # 🛡️ Étape 4 : Assigner les permissions Maintenant, il faut dire à Proxmox où cet utilisateur a le droit d'agir (sur tout le datacenter).Reste dans Datacenter $\rightarrow$ Permissions.Clique sur Add $\rightarrow$ User Permission.Remplis les champs :Path : / (Cela signifie tout le Proxmox : nœuds, VMs, LXCs).User : api-visualizer@pve.Role : VM-Visualizer (Le rôle créé à l'étape 1).Propagate : Coché (pour que ça s'applique à toutes les sous-ressources).Clique sur Add. # 📝 Étape 5 : Intégration dans ton fichier .env Maintenant que tu as ton Token, voici comment tu dois remplir le fichier backend/.env dans VS Code pour ce serveur spécifique :Extrait de code ```bash API_ENV=development API_PORT=8000 # Remplace par tes vraies valeurs récupérées à l'étape 3 PROXMOX_SERVERS='[ { "name": "PVE-203", "url": "https://10.0.3.203:8006", "token_name": "api-visualizer@pve!visualizer-token", "token_value": "993a4bc2-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } ]' ``` Une fois cette configuration faite, ton Proxmox est prêt et sécurisé