Add audit and reports page, and a change journal

ProxMenux modifies the host: it rewrites configuration files, installs packages, enables services. Until now nobody could say afterwards what had changed, and showing the script does not answer that question — a four-hundred-line function may alter two values, and the reader has no way to know which two. This adds the two halves of an answer.

The change journal records what ProxMenux does as it does it. Eleven bash primitives capture the previous state, apply the change and record it in the same step, writing to a spool that the Monitor reads back. One hundred and thirteen functions across twenty-five scripts are instrumented, covering post-install, shared storage, security tooling, container conversions, disk operations and the PVE 8 to 9 upgrade path. The page shows the difference — rotate 7 becoming rotate 14 — and never the script. Restore and backup scripts are deliberately left out: a restore puts the host back to a state some other script already recorded.

The Audit and reports page answers the other half: what state is this host in, regardless of who put it there. Forty-three checks across seven areas read the host and classify each result as critical, warning, observation, conformant, unverified or not applicable, with the evidence they read attached to each one. A declared policy lets the reader say what this particular host is expected to do — which guests must have a backup, which storages are essential — so the report judges the host against its own intent rather than a generic template. An inventory records the hardware, network and guest topology behind those readings, a comparison shows what moved between two runs, and six report profiles produce a printable document scoped to what the reader needs. Everything is available in the eight supported languages.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
MacRimi
2026-09-08 21:06:04 +02:00
co-authored by Claude Opus 5
parent ae75508eff
commit da8a480eff
102 changed files with 24118 additions and 1403 deletions
+35 -35
View File
@@ -347,7 +347,7 @@
"Backup created:": "Sauvegarde créée :",
"Backup declares unused NICs that are not on this host:": "La sauvegarde déclare les cartes réseau inutilisées qui ne se trouvent pas sur cet hôte :",
"Backup destination is inside the backup": "La destination de la sauvegarde se trouve à l'intérieur de la sauvegarde",
"Backup failed. See log:": "La sauvegarde a échoué.Voir le journal :",
"Backup failed. See log:": "La sauvegarde a échoué. Voir le journal :",
"Backup file appears corrupted, will reinstall packages": "Le fichier de sauvegarde semble corrompu, réinstallera les packages",
"Backup host configuration": "Configuration de l'hôte de sauvegarde",
"Backup includes /etc/zfs/zpool.cache. Restore it (same host detected)?": "La sauvegarde inclut /etc/zfs/zpool.cache. Le restaurer (même hôte détecté) ?",
@@ -367,7 +367,7 @@
"Backup to local archive (.tar.zst)": "Sauvegarde vers une archive locale (.tar.zst)",
"Backup:": "Sauvegarde :",
"Backups already on PBS were encrypted with the current key — downloading them will fail unless you first Download the current keyfile to keep a copy.": "Les sauvegardes déjà sur PBS ont été chiffrées avec la clé actuelle. Leur téléchargement échouera à moins que vous ne téléchargiez d'abord le fichier de clé actuel pour en conserver une copie.",
"Backups already stored on PBS were encrypted with the current keyfile. After this action:": "les sauvegardes déjà stockées sur PBS ont été chiffrées avec le fichier de clés actuel.Après cette action :",
"Backups already stored on PBS were encrypted with the current keyfile. After this action:": "les sauvegardes déjà stockées sur PBS ont été chiffrées avec le fichier de clés actuel. Après cette action :",
"Bandwidth limit configured": "Limite de bande passante configurée",
"Bandwidth test (iperf3)": "Test de bande passante (iperf3)",
"Bandwidth test completed successfully": "Test de bande passante terminé avec succès",
@@ -456,7 +456,7 @@
"Cannot proceed with invalid export path.": "Impossible de poursuivre avec un chemin d'exportation non valide.",
"Cannot proceed with invalid share name.": "Impossible de continuer avec un nom de partage invalide.",
"Cannot reach Proxmox repositories": "Impossible d'accéder aux référentiels Proxmox",
"Cannot reach download.proxmox.com. Check network, proxy or DNS.": "Impossible d'accéder à download.proxmox.com.Vérifiez le réseau, le proxy ou le DNS.",
"Cannot reach download.proxmox.com. Check network, proxy or DNS.": "Impossible d'accéder à download.proxmox.com. Vérifiez le réseau, le proxy ou le DNS.",
"Cannot reach portal:": "Impossible d'accéder au portail :",
"Cannot reach server": "Ne peut pas atteindre le serveur",
"Cannot validate credentials - no shares available for testing.": "Impossible de valider les informations d'identification - aucun partage disponible pour les tests.",
@@ -599,7 +599,7 @@
"Cleaning up unused time synchronization services...": "Nettoyage des services de synchronisation de l'heure inutilisés...",
"Cleans duplicate or conflicting sources": "Nettoie les sources en double ou en conflit",
"Cleanup Complete": "Nettoyage terminé",
"Cleanup completed. A reboot is recommended to fully apply pending kernel package configurations.": "Nettoyage terminé.Un redémarrage est recommandé pour appliquer entièrement les configurations de packages de noyau en attente.",
"Cleanup completed. A reboot is recommended to fully apply pending kernel package configurations.": "Nettoyage terminé. Un redémarrage est recommandé pour appliquer entièrement les configurations de packages de noyau en attente.",
"Cleanup finished": "Nettoyage terminé",
"Cleanup legacy gasket-dkms": "Nettoyer l'ancien paquet gasket-dkms",
"Cleanup partial VM?": "Nettoyer une VM partielle ?",
@@ -851,8 +851,8 @@
"Copy that file offsite yourself, or download it from the Monitor.": "copiez vous-même ce fichier hors site ou téléchargez-le depuis le moniteur.",
"Copy the correct keyfile to this host and rerun Restore — or pick an unencrypted backup.": "copiez le fichier de clés correct sur cet hôte et réexécutez la restauration ou choisissez une sauvegarde non cryptée.",
"Copy the keyfile to a path for offsite backup": "copiez le fichier de clés dans un chemin pour une sauvegarde hors site",
"Copy your PBS keyfile onto this host first (via scp, USB, sftp, etc.) and enter its absolute path below. The file will be copied to": "copiez d'abord votre fichier de clé PBS sur cet hôte (via scp, USB, sftp, etc.) et entrez son chemin absolu ci-dessous.Le fichier sera copié dans",
"Copy your existing PBS keyfile onto this host first (via scp, USB, sftp, etc.) and enter its absolute path below. The file will be copied to": "copiez d'abord votre fichier de clé PBS existant sur cet hôte (via scp, USB, sftp, etc.) et entrez son chemin absolu ci-dessous.Le fichier sera copié dans",
"Copy your PBS keyfile onto this host first (via scp, USB, sftp, etc.) and enter its absolute path below. The file will be copied to": "copiez d'abord votre fichier de clé PBS sur cet hôte (via scp, USB, sftp, etc.) et entrez son chemin absolu ci-dessous. Le fichier sera copié dans",
"Copy your existing PBS keyfile onto this host first (via scp, USB, sftp, etc.) and enter its absolute path below. The file will be copied to": "copiez d'abord votre fichier de clé PBS existant sur cet hôte (via scp, USB, sftp, etc.) et entrez son chemin absolu ci-dessous. Le fichier sera copié dans",
"Copying installer to container": "Copie du programme d'installation dans le conteneur",
"Copying sources to": "Copie des sources vers",
"Coral APT repository ready.": "Le référentiel Coral APT est prêt.",
@@ -888,7 +888,7 @@
"Could not configure IOMMU kernel parameters automatically. Configure manually and reboot.": "Impossible de configurer automatiquement les paramètres du noyau IOMMU. Configurez manuellement et redémarrez.",
"Could not copy the PVE keyfile into place. Check permissions on:": "Impossible de copier le fichier de clés PVE.Vérifiez les autorisations sur :",
"Could not copy the keyfile into place.": "Impossible de copier le fichier de clés.",
"Could not copy the keyfile into place. Check permissions on:": "Impossible de copier le fichier de clés.Vérifiez les autorisations sur :",
"Could not copy the keyfile into place. Check permissions on:": "Impossible de copier le fichier de clés. Vérifiez les autorisations sur :",
"Could not create converter directory:": "Impossible de créer le répertoire du convertisseur :",
"Could not create destination directory:": "Impossible de créer le répertoire de destination :",
"Could not create or access directory:": "Impossible de créer ou d'accéder au répertoire :",
@@ -898,7 +898,7 @@
"Could not detect the CIFS mount for this directory. Try accessing it manually.": "Impossible de détecter le montage CIFS pour ce répertoire. Essayez d'y accéder manuellement.",
"Could not determine a valid ISO storage directory.": "Impossible de déterminer un répertoire de stockage ISO valide.",
"Could not determine disk path for:": "Impossible de déterminer le chemin du disque pour :",
"Could not determine filesystem signature types. Aborting.": "impossible de déterminer les types de signatures du système de fichiers.Avorter.",
"Could not determine filesystem signature types. Aborting.": "impossible de déterminer les types de signatures du système de fichiers. Avorter.",
"Could not determine the IOMMU group for the selected GPU.": "Impossible de déterminer le groupe IOMMU pour le GPU sélectionné.",
"Could not download recovery blob from PBS.": "Impossible de télécharger le blob de récupération depuis PBS.",
"Could not download the installer.": "Impossible de télécharger le programme d'installation.",
@@ -920,8 +920,8 @@
"Could not mount": "Impossible de monter",
"Could not mount ISO on device": "Impossible de monter l'ISO sur l'appareil",
"Could not parse OVF file, or no disk image references found.": "Impossible d'analyser le fichier OVF ou aucune référence d'image disque n'a été trouvée.",
"Could not prepare on-boot restore service. Nothing new was scheduled.": "Impossible de préparer le service de restauration au démarrage.Rien de nouveau n'était prévu.",
"Could not publish pending restore. Previous pending restore was kept.": "Impossible de publier la restauration en attente.La restauration précédente en attente a été conservée.",
"Could not prepare on-boot restore service. Nothing new was scheduled.": "Impossible de préparer le service de restauration au démarrage. Rien de nouveau n'était prévu.",
"Could not publish pending restore. Previous pending restore was kept.": "Impossible de publier la restauration en attente. La restauration précédente en attente a été conservée.",
"Could not push the key. Check the password and that": "Impossible d'appuyer sur la clé. Vérifiez le mot de passe et cela",
"Could not read SMART data from": "Impossible de lire les données SMART de",
"Could not read VM configuration.": "Impossible de lire la configuration de la VM.",
@@ -935,7 +935,7 @@
"Could not set VM virtual display to vga: std": "Impossible de définir l'affichage virtuel de la VM sur VGA : std",
"Could not set boot order for": "Impossible de définir l'ordre de démarrage pour",
"Could not stage pending restore path:": "Impossible de préparer le chemin de restauration en attente :",
"Could not stage pending restore. Nothing new was scheduled.": "Impossible deffectuer la restauration en attente.Rien de nouveau n'était prévu.",
"Could not stage pending restore. Nothing new was scheduled.": "Impossible deffectuer la restauration en attente. Rien de nouveau n'était prévu.",
"Could not stop LXC": "Impossible d'arrêter LXC",
"Could not unload nouveau module (may be in use). The blacklist will take effect after reboot. Installation will continue but a reboot will be required.": "Impossible de décharger le nouveau module (peut-être en cours d'utilisation). La liste noire prendra effet après le redémarrage. L'installation continuera mais un redémarrage sera nécessaire.",
"Could not unmount": "Impossible de démonter",
@@ -1628,7 +1628,7 @@
"Failed to create directory on host:": "Échec de la création du répertoire sur l'hôte :",
"Failed to create directory:": "Échec de la création du répertoire :",
"Failed to create disk": "Échec de la création du disque",
"Failed to create encryption key. Backup cancelled — fix the underlying issue and retry.": "Échec de la création de la clé de cryptage.Sauvegarde annulée : corrigez le problème sous-jacent et réessayez.",
"Failed to create encryption key. Backup cancelled — fix the underlying issue and retry.": "Échec de la création de la clé de cryptage. Sauvegarde annulée : corrigez le problème sous-jacent et réessayez.",
"Failed to create group:": "Échec de la création du groupe :",
"Failed to create mount point.": "Échec de la création du point de montage.",
"Failed to create mount point:": "Échec de la création du point de montage :",
@@ -2354,7 +2354,7 @@
"Kernel panic configuration removed": "Configuration de panique du noyau supprimée",
"Kernel panic configuration updated and applied": "Configuration de panique du noyau mise à jour et appliquée",
"Kernel, modules and boot config": "Noyau, modules et configuration de démarrage",
"Kernel/boot-tied files (boot config, /etc/systemd/system, initramfs config, apt sources, ZFS state, ...) are NOT copied verbatim to keep the target's boot safe. The operator's own tuning inside them (IOMMU cmdline, VFIO IDs, custom quirks, GRUB timeout, ...) is merged into the target's fresh copies automatically via kernel-agnostic merge.": "les fichiers liés au noyau/au démarrage (configuration de démarrage, /etc/systemd/system, configuration initramfs, sources apt, état ZFS, ...) ne sont PAS copiés textuellement pour assurer la sécurité du démarrage de la cible.Les propres réglages de l'opérateur à l'intérieur (ligne de commande IOMMU, ID VFIO, bizarreries personnalisées, délai d'attente GRUB, ...) sont automatiquement fusionnés dans les nouvelles copies de la cible via une fusion indépendante du noyau.",
"Kernel/boot-tied files (boot config, /etc/systemd/system, initramfs config, apt sources, ZFS state, ...) are NOT copied verbatim to keep the target's boot safe. The operator's own tuning inside them (IOMMU cmdline, VFIO IDs, custom quirks, GRUB timeout, ...) is merged into the target's fresh copies automatically via kernel-agnostic merge.": "les fichiers liés au noyau/au démarrage (configuration de démarrage, /etc/systemd/system, configuration initramfs, sources apt, état ZFS, ...) ne sont PAS copiés textuellement pour assurer la sécurité du démarrage de la cible. Les propres réglages de l'opérateur à l'intérieur (ligne de commande IOMMU, ID VFIO, bizarreries personnalisées, délai d'attente GRUB, ...) sont automatiquement fusionnés dans les nouvelles copies de la cible via une fusion indépendante du noyau.",
"Keyfile copied": "fichier clé copié",
"Keyfile copied to:": "fichier clé copié dans :",
"Keyfile passphrase": "Phrase secrète du fichier clé",
@@ -2860,7 +2860,7 @@
"No Shares Found": "Aucun partage trouvé",
"No Storage Found": "Aucun stockage trouvé",
"No USB drives detected. Enter the mountpoint path manually:": "Aucune clé USB détectée. Saisissez manuellement le chemin du point de montage :",
"No USB drives mounted by ProxMenux yet. Mount one first to use it as a target.": "Aucune clé USB montée par ProxMenux pour le moment.Montez-en un dabord pour lutiliser comme cible.",
"No USB drives mounted by ProxMenux yet. Mount one first to use it as a target.": "Aucune clé USB montée par ProxMenux pour le moment. Montez-en un dabord pour lutiliser comme cible.",
"No UUP folder found.": "Aucun dossier UUP trouvé.",
"No VM was selected.": "Aucune VM n'a été sélectionnée.",
"No VMID defined. Cannot apply guest agent config.": "Aucun VMID défini. Impossible d'appliquer la configuration de l'agent invité.",
@@ -2872,7 +2872,7 @@
"No VirtIO ISO found. Please download one.": "Aucun ISO VirtIO trouvé. Veuillez en télécharger un.",
"No VirtIO ISO selected. Please choose again.": "Aucun ISO VirtIO sélectionné. Veuillez choisir à nouveau.",
"No Virtual Machines found on this system.": "Aucune machine virtuelle trouvée sur ce système.",
"No ZFS pools detected. Skipping ZFS ARC optimization.": "Aucun pool ZFS détecté.Ignorer l'optimisation ZFS ARC.",
"No ZFS pools detected. Skipping ZFS ARC optimization.": "Aucun pool ZFS détecté. Ignorer l'optimisation ZFS ARC.",
"No ZFS pools detected. Skipping ZFS autotrim.": "Aucun pool ZFS détecté. Ignorer le découpage automatique ZFS.",
"No accessible": "Non accessible",
"No accessible NFS servers found.": "Aucun serveur NFS accessible trouvé.",
@@ -2922,7 +2922,7 @@
"No duplicate repositories found": "Aucun référentiel en double trouvé",
"No eligible Controller/NVMe devices remain after SR-IOV filtering. Skipping.": "Il ne reste aucun périphérique contrôleur/NVMe éligible après le filtrage SR-IOV. Saut.",
"No eligible controllers remain after SR-IOV filtering.": "Il ne reste aucun contrôleur éligible après le filtrage SR-IOV.",
"No encryption key is stored on this host. Choose how to set one up:": "Aucune clé de cryptage nest stockée sur cet hôte.Choisissez comment en configurer un :",
"No encryption key is stored on this host. Choose how to set one up:": "Aucune clé de cryptage nest stockée sur cet hôte. Choisissez comment en configurer un :",
"No exportable VM disks were found (CD-ROM/cloud-init are excluded).": "Aucun disque de VM exportable n'a été trouvé (les CD-ROM/cloud-init sont exclus).",
"No exportable disks": "Aucun disque exportable",
"No exports configured.": "Aucune exportation configurée.",
@@ -2975,7 +2975,7 @@
"No ports configured": "Aucun port configuré",
"No privileged containers available in Proxmox.": "Aucun conteneur privilégié disponible dans Proxmox.",
"No pve-enterprise.list present (skipped)": "Aucun pve-enterprise.list présent (ignoré)",
"No reboot was started. Review the log before retrying:": "Aucun redémarrage n'a été lancé.Consultez le journal avant de réessayer :",
"No reboot was started. Review the log before retrying:": "Aucun redémarrage n'a été lancé. Consultez le journal avant de réessayer :",
"No recent": "Pas de récent",
"No recent Samba servers found.": "Aucun serveur Samba récent trouvé.",
"No routing information found.": "Aucune information de routage trouvée.",
@@ -3353,7 +3353,7 @@
"ProxMenux logo applied": "Logo ProxMenux appliqué",
"ProxMenux only acts as a launcher — once the script starts, control leaves ProxMenux.": "ProxMenux agit uniquement comme un lanceur : une fois le script démarré, le contrôle quitte ProxMenux.",
"ProxMenux saved it locally at:": "ProxMenux l'a enregistré localement à :",
"ProxMenux-managed .link file(s). User-authored .link files were left in place.": "fichier(s) .link gérés par ProxMenux.Les fichiers .link créés par l'utilisateur ont été laissés en place.",
"ProxMenux-managed .link file(s). User-authored .link files were left in place.": "fichier(s) .link gérés par ProxMenux. Les fichiers .link créés par l'utilisateur ont été laissés en place.",
"Proxmology logo applied": "Logo Proxmologie appliqué",
"Proxmox 9 system update allready": "La mise à jour du système Proxmox 9 est déjà terminée",
"Proxmox APT repositories configured": "Dépôts Proxmox APT configurés",
@@ -4339,8 +4339,8 @@
"The active kernel driver is not vfio-pci, but the entry will rebind the GPU to vfio-pci on the next reboot.": "Le pilote du noyau actif n'est pas vfio-pci, mais l'entrée reliera le GPU à vfio-pci au prochain redémarrage.",
"The archive could not be extracted.": "L'archive n'a pas pu être extraite.",
"The archive destination directory is INSIDE one of the paths you are about to back up. Writing the archive there would copy the backup into itself — producing a corrupted archive, or growing without limit until the disk fills up.": "Le répertoire de destination de l'archive se trouve À L'INTÉRIEUR de l'un des chemins que vous êtes sur le point de sauvegarder. Écrire l'archive là-bas copierait la sauvegarde sur elle-même, produisant une archive corrompue ou s'agrandissant sans limite jusqu'à ce que le disque se remplisse.",
"The backup metadata was compared against this host. The following items will be SKIPPED to keep the boot safe:": "les métadonnées de sauvegarde ont été comparées à cet hôte.Les éléments suivants seront SAUTÉS pour assurer la sécurité du démarrage :",
"The backup was taken on a different PVE or kernel major.minor. These paths will be SKIPPED to keep the boot safe:": "La sauvegarde a été effectuée sur un autre PVE ou noyau major.minor.Ces chemins seront SAUTÉS pour assurer la sécurité du démarrage :",
"The backup metadata was compared against this host. The following items will be SKIPPED to keep the boot safe:": "les métadonnées de sauvegarde ont été comparées à cet hôte. Les éléments suivants seront SAUTÉS pour assurer la sécurité du démarrage :",
"The backup was taken on a different PVE or kernel major.minor. These paths will be SKIPPED to keep the boot safe:": "La sauvegarde a été effectuée sur un autre PVE ou noyau major.minor. Ces chemins seront SAUTÉS pour assurer la sécurité du démarrage :",
"The compatibility check raised failures that may break the system after restore.": "La vérification de compatibilité a généré des échecs susceptibles de casser le système après la restauration.",
"The container is currently stopped. Do you want to start it now to install the package?": "Le conteneur est actuellement arrêté. Voulez-vous le démarrer maintenant pour installer le package ?",
"The container should now start as privileged": "Le conteneur devrait maintenant démarrer en tant que privilégié",
@@ -4353,12 +4353,12 @@
"The filesystem": "Le système de fichiers",
"The following DKMS-managed drivers will now be rebuilt against it so they keep working after reboot:": "Les pilotes gérés par DKMS suivants seront désormais reconstruits afin qu'ils continuent de fonctionner après le redémarrage :",
"The following LXC containers have NVIDIA passthrough configured:": "Les conteneurs LXC suivants ont configuré le relais NVIDIA :",
"The following backup paths are kernel-tied and are excluded from the picker to keep the target's boot safe. The operator's own tuning inside these paths (IOMMU cmdline, VFIO IDs, custom quirks) is merged back automatically via kernel-agnostic merge:": "Les chemins de sauvegarde suivants sont liés au noyau et sont exclus du sélecteur pour assurer la sécurité du démarrage de la cible.Les propres réglages de l'opérateur à l'intérieur de ces chemins (ligne de commande IOMMU, ID VFIO, bizarreries personnalisées) sont automatiquement fusionnés via une fusion indépendante du noyau :",
"The following backup paths are kernel-tied and are excluded from the picker to keep the target's boot safe. The operator's own tuning inside these paths (IOMMU cmdline, VFIO IDs, custom quirks) is merged back automatically via kernel-agnostic merge:": "Les chemins de sauvegarde suivants sont liés au noyau et sont exclus du sélecteur pour assurer la sécurité du démarrage de la cible. Les propres réglages de l'opérateur à l'intérieur de ces chemins (ligne de commande IOMMU, ID VFIO, bizarreries personnalisées) sont automatiquement fusionnés via une fusion indépendante du noyau :",
"The following changes will be applied": "Les modifications suivantes seront appliquées",
"The following devices were excluded because they are part of an SR-IOV configuration:": "Les appareils suivants ont été exclus car ils font partie d'une configuration SR-IOV :",
"The following devices were excluded from Controller/NVMe passthrough because they are part of an SR-IOV configuration:": "Les périphériques suivants ont été exclus du relais Controller/NVMe car ils font partie d'une configuration SR-IOV :",
"The following drivers could not be rebuilt for the new kernel — run their installer manually after reboot:": "Les pilotes suivants n'ont pas pu être reconstruits pour le nouveau noyau — exécutez leur programme d'installation manuellement après le redémarrage :",
"The following entries exist on the host but were NOT in the backup. To make the host EXACTLY match the backup state, they must be removed:": "Les entrées suivantes existent sur l'hôte mais n'étaient PAS dans la sauvegarde.Pour que l'hôte corresponde EXACTEMENT à l'état de la sauvegarde, ils doivent être supprimés :",
"The following entries exist on the host but were NOT in the backup. To make the host EXACTLY match the backup state, they must be removed:": "Les entrées suivantes existent sur l'hôte mais n'étaient PAS dans la sauvegarde. Pour que l'hôte corresponde EXACTEMENT à l'état de la sauvegarde, ils doivent être supprimés :",
"The following selected GPU(s) are currently in GPU -> VM mode (vfio-pci):": "Les GPU sélectionnés suivants sont actuellement en mode GPU -> VM (vfio-pci) :",
"The following selected GPU(s) still have a VFIO passthrough entry in": "Les GPU sélectionnés suivants ont toujours une entrée de relais VFIO dans",
"The following selected device(s) are Physical Functions with active Virtual Functions:": "Les appareils sélectionnés suivants sont des fonctions physiques avec des fonctions virtuelles actives :",
@@ -4368,7 +4368,7 @@
"The host directory may not be accessible from an unprivileged container.": "Le répertoire hôte peut ne pas être accessible à partir d'un conteneur non privilégié.",
"The installation requires a server restart to apply changes. Do you want to restart now?": "L'installation nécessite un redémarrage du serveur pour appliquer les modifications. Voulez-vous redémarrer maintenant ?",
"The installation/changes require a server restart to apply correctly. Do you want to reboot now?": "L'installation/les modifications nécessitent un redémarrage du serveur pour s'appliquer correctement. Voulez-vous redémarrer maintenant ?",
"The local envelope is dropped and future backups do not upload anything. Uploaded envelopes already on PBS stay intact and remain recoverable with their original passphrase.": "L'enveloppe locale est supprimée et les futures sauvegardes ne téléchargent rien.Les enveloppes téléchargées déjà sur PBS restent intactes et restent récupérables avec leur phrase secrète d'origine.",
"The local envelope is dropped and future backups do not upload anything. Uploaded envelopes already on PBS stay intact and remain recoverable with their original passphrase.": "L'enveloppe locale est supprimée et les futures sauvegardes ne téléchargent rien. Les enveloppes téléchargées déjà sur PBS restent intactes et restent récupérables avec leur phrase secrète d'origine.",
"The long test runs directly on the disk hardware.": "Le test long s'exécute directement sur le matériel du disque.",
"The new SSH key was installed and is now authorized on the server.\nKey file:": "La nouvelle clé SSH a été installée et est désormais autorisée sur le serveur.\nFichier clé :",
"The new SSH key was pushed to the LXC via 'pct exec' on": "La nouvelle clé SSH a été transmise au LXC via 'pct exec' sur",
@@ -4470,14 +4470,14 @@
"This is unexpected since credentials were validated.": "C'est inattendu puisque les informations d'identification ont été validées.",
"This marks the container as unprivileged": "Cela marque le conteneur comme non privilégié",
"This may be normal for a fresh installation": "Cela peut être normal pour une nouvelle installation",
"This may take a few minutes. Press OK to proceed.": "Cela peut prendre quelques minutes.Appuyez sur OK pour continuer.",
"This may take a few minutes. Press OK to proceed.": "Cela peut prendre quelques minutes. Appuyez sur OK pour continuer.",
"This may take a few seconds...": "Cela peut prendre quelques secondes...",
"This may take several minutes...": "Cela peut prendre plusieurs minutes...",
"This means Proxmox handles mount lifecycle natively (no manual /etc/fstab needed for NFS/CIFS host storages).": "Cela signifie que Proxmox gère le cycle de vie du montage de manière native (aucun /etc/fstab manuel n'est nécessaire pour les stockages hôtes NFS/CIFS).",
"This means the credentials are incorrect.": "Cela signifie que les informations d'identification sont incorrectes.",
"This might indicate network connectivity issues.": "Cela peut indiquer des problèmes de connectivité réseau.",
"This operation may take several minutes and requires internet connectivity.": "Cette opération peut prendre plusieurs minutes et nécessite une connexion Internet.",
"This package was installed by older versions of the ProxMenux Coral installer that placed the M.2 kernel driver on every system, including USB-only setups. It is not needed for Coral USB devices, which use libedgetpu1-std / libedgetpu1-max only.": "Ce package a été installé par les anciennes versions du programme d'installation de ProxMenux Coral qui plaçaient le pilote du noyau M.2 sur chaque système, y compris les configurations USB uniquement.Il n'est pas nécessaire pour les périphériques USB Coral, qui utilisent uniquement libedgetpu1-std / libedgetpu1-max.",
"This package was installed by older versions of the ProxMenux Coral installer that placed the M.2 kernel driver on every system, including USB-only setups. It is not needed for Coral USB devices, which use libedgetpu1-std / libedgetpu1-max only.": "Ce package a été installé par les anciennes versions du programme d'installation de ProxMenux Coral qui plaçaient le pilote du noyau M.2 sur chaque système, y compris les configurations USB uniquement. Il n'est pas nécessaire pour les périphériques USB Coral, qui utilisent uniquement libedgetpu1-std / libedgetpu1-max.",
"This passphrase is the ONLY way to access encrypted Borg backups.": "Cette phrase secrète est le SEUL moyen d'accéder aux sauvegardes Borg cryptées.",
"This path is already used as a mount point in this container.": "Ce chemin est déjà utilisé comme point de montage dans ce conteneur.",
"This path is not a registered mount point. Use it anyway?": "Ce chemin n'est pas un point de montage enregistré. L'utiliser quand même ?",
@@ -4492,8 +4492,8 @@
"This script must be run on a Proxmox host.": "Ce script doit être exécuté sur un hôte Proxmox.",
"This script will apply the following optimizations and advanced adjustments to your Proxmox VE server": "Ce script appliquera les optimisations et ajustements avancés suivants à votre serveur Proxmox VE",
"This script will update your Proxmox VE system with advanced options:": "Ce script mettra à jour votre système Proxmox VE avec des options avancées :",
"This session is running in the Monitor terminal. Running it from here would cut the connection mid-install and leave the switch in a broken state.": "Cette session est en cours d'exécution dans le terminal Monitor.Lexécuter à partir dici couperait la connexion en cours dinstallation et laisserait le commutateur dans un état cassé.",
"This session is running in the Monitor terminal. Updating from here would restart the Monitor service and cut the connection mid-install, leaving the update in a broken state.": "Cette session est en cours d'exécution dans le terminal Monitor.La mise à jour à partir d'ici redémarrerait le service Monitor et couperait la connexion en cours d'installation, laissant la mise à jour dans un état interrompu.",
"This session is running in the Monitor terminal. Running it from here would cut the connection mid-install and leave the switch in a broken state.": "Cette session est en cours d'exécution dans le terminal Monitor. Lexécuter à partir dici couperait la connexion en cours dinstallation et laisserait le commutateur dans un état cassé.",
"This session is running in the Monitor terminal. Updating from here would restart the Monitor service and cut the connection mid-install, leaving the update in a broken state.": "Cette session est en cours d'exécution dans le terminal Monitor. La mise à jour à partir d'ici redémarrerait le service Monitor et couperait la connexion en cours d'installation, laissant la mise à jour dans un état interrompu.",
"This shows the storage type and disk identifier": "Ceci montre le type de stockage et l'identifiant du disque",
"This state has a high probability of VM startup/reset failures.": "Cet état présente une forte probabilité d’échecs de démarrage/réinitialisation de la VM.",
"This state indicates a high risk of passthrough failure due to": "Cet état indique un risque élevé d'échec du relais en raison de",
@@ -4691,9 +4691,9 @@
"Upload an encrypted copy of the key to PBS so you can recover it on a reinstalled host with just a passphrase?": "Télécharger une copie cryptée de la clé sur PBS afin de pouvoir la récupérer sur un hôte réinstallé avec juste une phrase secrète ?",
"Upload key to PBS?": "Télécharger la clé sur PBS ?",
"Upload to PBS disabled.": "Téléchargement vers PBS désactivé.",
"Upload to PBS enabled. The envelope is uploaded on every encrypted backup.": "Téléchargement vers PBS activé.L'enveloppe est téléchargée sur chaque sauvegarde cryptée.",
"Upload to PBS is currently: no. Pick an action:": "Le téléchargement sur PBS est actuellement : non.Choisissez une action :",
"Upload to PBS is currently: yes. Pick an action:": "Le téléchargement sur PBS est actuellement : oui.Choisissez une action :",
"Upload to PBS enabled. The envelope is uploaded on every encrypted backup.": "Téléchargement vers PBS activé. L'enveloppe est téléchargée sur chaque sauvegarde cryptée.",
"Upload to PBS is currently: no. Pick an action:": "Le téléchargement sur PBS est actuellement : non. Choisissez une action :",
"Upload to PBS is currently: yes. Pick an action:": "Le téléchargement sur PBS est actuellement : oui. Choisissez une action :",
"Upload to PBS: enable, disable or rotate the recovery passphrase": "Télécharger sur PBS : activer, désactiver ou alterner la phrase secrète de récupération",
"Uptime and who is logged in": "Disponibilité et qui est connecté",
"Use \"Check test progress\" to see results.": "Utilisez « Vérifier la progression du test » pour voir les résultats.",
@@ -4701,7 +4701,7 @@
"Use 'pct restore' / 'qmrestore' to recover their disks from your VM backups.": "Utilisez « PCT Restore » / « qmrestore » pour récupérer leurs disques à partir des sauvegardes de votre VM.",
"Use Custom backup and uncheck the conflicting path from the list": "Utilisez la sauvegarde personnalisée et décochez le chemin en conflit dans la liste",
"Use Default Settings?": "Utiliser les paramètres par défaut ?",
"Use Download first if you want to save a copy of the current key. Continue?": "utilisez d'abord Télécharger si vous souhaitez enregistrer une copie de la clé actuelle.Continuer?",
"Use Download first if you want to save a copy of the current key. Continue?": "utilisez d'abord Télécharger si vous souhaitez enregistrer une copie de la clé actuelle. Continuer?",
"Use SPACE to select, ENTER to confirm": "Utilisez ESPACE pour sélectionner, ENTRÉE pour confirmer",
"Use SPACE to select/deselect, ENTER to confirm": "Utilisez ESPACE pour sélectionner/désélectionner, ENTER pour confirmer",
"Use SSH or terminal access (SSH recommended)": "Utilisez SSH ou l'accès au terminal (SSH recommandé)",
@@ -4814,7 +4814,7 @@
"Verify installations": "Vérifier les installations",
"Verify mount:": "Vérifiez le montage :",
"Verify the conversion:": "Vérifiez la conversion :",
"Verify the credentials. Switching to manual paste mode so you can finish the setup without re-typing the password.": "Vérifiez les informations didentification.Passage en mode collage manuel pour pouvoir terminer la configuration sans retaper le mot de passe.",
"Verify the credentials. Switching to manual paste mode so you can finish the setup without re-typing the password.": "Vérifiez les informations didentification. Passage en mode collage manuel pour pouvoir terminer la configuration sans retaper le mot de passe.",
"Verifying Ceph installation...": "Vérification de l'installation de Ceph...",
"Verifying Ceph packages availability...": "Vérification de la disponibilité des packages Ceph...",
"Verifying all utilities status": "Vérification de l'état de tous les utilitaires",
@@ -4824,7 +4824,7 @@
"Version info not available": "Informations sur la version non disponibles",
"Version:": "Version:",
"Version: Auto-negotiation (NFSv3/NFSv4)": "Version : Auto-négociation (NFSv3/NFSv4)",
"Versions shown belong to maintained NVIDIA branches that list your GPU PCI ID. DKMS compilation is the final validation against the running kernel. The recommended version keeps the current branch, or uses the NVIDIA Production Branch on a fresh install.": "Les versions affichées appartiennent aux branches NVIDIA maintenues qui répertorient votre ID PCI GPU.La compilation DKMS est la validation finale par rapport au noyau en cours d'exécution.La version recommandée conserve la branche actuelle ou utilise la branche de production NVIDIA sur une nouvelle installation.",
"Versions shown belong to maintained NVIDIA branches that list your GPU PCI ID. DKMS compilation is the final validation against the running kernel. The recommended version keeps the current branch, or uses the NVIDIA Production Branch on a fresh install.": "Les versions affichées appartiennent aux branches NVIDIA maintenues qui répertorient votre ID PCI GPU.La compilation DKMS est la validation finale par rapport au noyau en cours d'exécution. La version recommandée conserve la branche actuelle ou utilise la branche de production NVIDIA sur une nouvelle installation.",
"View CIFS Mounts (pvesm + fstab)": "Afficher les montages CIFS (pvesm + fstab)",
"View Current Exports": "Afficher les exportations actuelles",
"View Current Mounts": "Afficher les montures actuelles",
@@ -5018,7 +5018,7 @@
"blocking issue(s).": "problème(s) bloquant(s).",
"btrfs — Proxmox dir storage (snapshots, compression)": "btrfs — Stockage du répertoire Proxmox (instantanés, compression)",
"btrfs — snapshots and compression": "btrfs — instantanés et compression",
"but it does not match the one used to create the backup. Replace it with the correct keyfile from the source host and retry.": "mais il ne correspond pas à celui utilisé pour créer la sauvegarde.Remplacez-le par le fichier de clés correct de l'hôte source et réessayez.",
"but it does not match the one used to create the backup. Replace it with the correct keyfile from the source host and retry.": "mais il ne correspond pas à celui utilisé pour créer la sauvegarde. Remplacez-le par le fichier de clés correct de l'hôte source et réessayez.",
"bytes": "octets",
"can write to": "peut écrire à",
"chmod 1777 + setfacl o::rwx (applied on the NFS share from this host)": "chmod 1777 + setfacl o::rwx (appliqué sur le partage NFS de cet hôte)",
@@ -5309,7 +5309,7 @@
"will rebind the GPU to vfio-pci on the next reboot, breaking the driver that is about to be installed.": "reliera le GPU à vfio-pci au prochain redémarrage, cassant ainsi le pilote qui est sur le point d'être installé.",
"wipefs failed on": "les wipefs ont échoué",
"with": "avec",
"with the password you provided.": "Message technique pour Proxmox et l'informatique.Traduisez : avec le mot de passe que vous avez fourni.",
"with the password you provided.": "Message technique pour Proxmox et l'informatique. Traduisez : avec le mot de passe que vous avez fourni.",
"xfs — Proxmox dir storage (large files and VMs)": "xfs — Stockage du répertoire Proxmox (fichiers volumineux et machines virtuelles)",
"xfs — better for large files": "xfs meilleur pour les gros fichiers",
"years old": "ans",