feat: initialisation complète du CORE ProxmoxPanel
Backend Go 1.23+ : - API REST + WebSocket (chi, gorilla/websocket) - Authentification PAM via SSH + JWT RS256 - Chiffrement AES-256-GCM pour secrets SQLite - Pool SSH, client Proxmox REST, hub WebSocket pub/sub - Système de modules compilés à initialisation conditionnelle - Audit log, migrations SQLite versionnées Frontend Vue 3 + Vite + TypeScript : - Thème Neumorphism sombre/clair (CSS custom properties) - Wizard d'installation, Dashboard drag-drop, Terminal xterm.js - Toutes les vues CORE + stubs modules optionnels - i18n EN/FR (vue-i18n v11) Infrastructure : - Docker multi-stage (Go → alpine, Node → nginx) - docker-compose.yml, .gitattributes, LICENSE MIT, README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
5dbcb1df07
66 changed files with 10370 additions and 0 deletions
140
frontend/src/locales/fr.json
Normal file
140
frontend/src/locales/fr.json
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
"nav": {
|
||||
"dashboard": "Tableau de bord",
|
||||
"proxmox": "Proxmox",
|
||||
"updates": "Mises à jour",
|
||||
"terminal": "Terminal",
|
||||
"files": "Fichiers",
|
||||
"logs": "Journaux",
|
||||
"services": "Services",
|
||||
"settings": "Paramètres",
|
||||
"modules": "Modules"
|
||||
},
|
||||
"navbar": {
|
||||
"darkMode": "Mode sombre",
|
||||
"lightMode": "Mode clair",
|
||||
"logout": "Se déconnecter"
|
||||
},
|
||||
"install": {
|
||||
"subtitle": "Configuration initiale du panneau de gestion",
|
||||
"step1": { "label": "Général", "title": "Configuration générale", "desc": "Configurez le nom de l'instance et l'URL publique." },
|
||||
"step2": { "label": "SSH", "title": "Connexion SSH", "desc": "Configurez l'accès SSH au serveur Proxmox. Ces identifiants seront utilisés pour l'authentification et la gestion." },
|
||||
"step3": { "label": "Proxmox", "title": "API Proxmox", "desc": "Optionnel — Configurez le token API pour accéder aux métriques Proxmox." },
|
||||
"step4": { "label": "Confirmation", "title": "Confirmer la configuration" },
|
||||
"instanceName": "Nom de l'instance",
|
||||
"instanceNamePlaceholder": "Mon serveur Proxmox",
|
||||
"publicUrl": "URL publique",
|
||||
"publicUrlHint": "Détecté automatiquement : {url}",
|
||||
"defaultLang": "Langue par défaut",
|
||||
"sshHost": "Hôte SSH (host:port)",
|
||||
"sshUsername": "Nom d'utilisateur SSH",
|
||||
"sshPassword": "Mot de passe SSH",
|
||||
"testSSH": "Tester la connexion SSH",
|
||||
"sshSuccess": "Connexion SSH réussie !",
|
||||
"sshFailed": "Connexion SSH échouée",
|
||||
"proxmoxUrl": "URL Proxmox",
|
||||
"proxmoxToken": "Token API Proxmox",
|
||||
"proxmoxTokenHint": "Format : PVEAPIToken=user@realm!tokenid=secret",
|
||||
"back": "Retour",
|
||||
"next": "Suivant",
|
||||
"finish": "Terminer l'installation",
|
||||
"error": "Erreur lors de l'installation",
|
||||
"networkError": "Erreur réseau"
|
||||
},
|
||||
"login": {
|
||||
"subtitle": "Connectez-vous avec vos identifiants Linux",
|
||||
"username": "Nom d'utilisateur",
|
||||
"usernamePlaceholder": "Votre login Linux",
|
||||
"password": "Mot de passe",
|
||||
"passwordPlaceholder": "Votre mot de passe",
|
||||
"submit": "Se connecter",
|
||||
"loading": "Connexion...",
|
||||
"error": "Erreur d'authentification",
|
||||
"hint": "Utilisez vos identifiants Linux du serveur"
|
||||
},
|
||||
"dashboard": {
|
||||
"welcome": "Bonjour, {name}",
|
||||
"addWidget": "Ajouter un widget",
|
||||
"lxcStatus": "Statut LXC",
|
||||
"metrics": "Métriques",
|
||||
"noData": "Données non disponibles",
|
||||
"lxcCount": "LXC Total",
|
||||
"running": "En cours",
|
||||
"widgetShortcut": "Raccourci",
|
||||
"widgetLXC": "Statut LXC",
|
||||
"widgetMetrics": "Métriques"
|
||||
},
|
||||
"proxmox": {
|
||||
"all": "Tous",
|
||||
"lxc": "LXC",
|
||||
"vm": "VM",
|
||||
"running": "En marche",
|
||||
"stopped": "Arrêté",
|
||||
"start": "Démarrer",
|
||||
"stop": "Arrêter",
|
||||
"error": "Erreur API Proxmox",
|
||||
"liveUpdates": "Mises à jour en temps réel",
|
||||
"disconnected": "Déconnecté"
|
||||
},
|
||||
"updates": {
|
||||
"desc": "Lancez des mises à jour apt sur le host ou les LXC.",
|
||||
"selectTarget": "Sélectionner la cible",
|
||||
"targetHost": "Host Proxmox",
|
||||
"targetAll": "Tous les LXC",
|
||||
"start": "Lancer la mise à jour",
|
||||
"running": "Mise à jour en cours...",
|
||||
"output": "Sortie",
|
||||
"history": "Historique",
|
||||
"noHistory": "Aucune mise à jour effectuée",
|
||||
"status": {
|
||||
"running": "En cours",
|
||||
"success": "Succès",
|
||||
"error": "Erreur",
|
||||
"pending": "En attente"
|
||||
}
|
||||
},
|
||||
"terminal": {
|
||||
"connected": "Connecté à {host}",
|
||||
"disconnected": "Déconnecté",
|
||||
"connect": "Connecter",
|
||||
"reconnect": "Reconnecter"
|
||||
},
|
||||
"files": {
|
||||
"desc": "Navigateur de fichiers SFTP",
|
||||
"moduleNotEnabled": "Module non activé. Rendez-vous dans Paramètres → Modules pour l'activer."
|
||||
},
|
||||
"settings": {
|
||||
"general": "Général",
|
||||
"infrastructure": "Infrastructure",
|
||||
"appearance": "Apparence",
|
||||
"audit": "Journal d'audit",
|
||||
"instanceName": "Nom de l'instance",
|
||||
"publicUrl": "URL publique",
|
||||
"defaultLang": "Langue par défaut",
|
||||
"sshHost": "Hôte SSH",
|
||||
"sshUsername": "Utilisateur SSH",
|
||||
"proxmoxUrl": "URL Proxmox",
|
||||
"darkMode": "Mode sombre",
|
||||
"sidebarPosition": "Position de la sidebar",
|
||||
"left": "Gauche",
|
||||
"right": "Droite",
|
||||
"noAuditLog": "Aucune entrée dans le journal"
|
||||
},
|
||||
"modules": {
|
||||
"desc": "Gérez les modules installés sur ProxmoxPanel.",
|
||||
"enabled": "Actif",
|
||||
"disabled": "Inactif",
|
||||
"enable": "Activer",
|
||||
"disable": "Désactiver",
|
||||
"coreProtected": "Module CORE (non désactivable)",
|
||||
"restartNotice": "Un redémarrage du serveur est nécessaire pour appliquer les changements."
|
||||
},
|
||||
"common": {
|
||||
"refresh": "Actualiser",
|
||||
"save": "Sauvegarder",
|
||||
"saving": "Sauvegarde...",
|
||||
"saved": "Sauvegardé !",
|
||||
"cancel": "Annuler",
|
||||
"networkError": "Erreur réseau"
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue