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>
25 lines
695 B
Vue
25 lines
695 B
Vue
<template>
|
|
<div class="files-page">
|
|
<div class="page-header">
|
|
<h2>{{ t('nav.files') }}</h2>
|
|
<p class="text-muted">{{ t('files.desc') }}</p>
|
|
</div>
|
|
<div class="neu-card">
|
|
<p class="text-muted" style="text-align:center; padding: var(--neu-space-xl)">
|
|
{{ t('files.moduleNotEnabled') }}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { useI18n } from 'vue-i18n'
|
|
const { t } = useI18n()
|
|
</script>
|
|
|
|
<style scoped>
|
|
.files-page { max-width: 1400px; }
|
|
.page-header { margin-bottom: var(--neu-space-lg); }
|
|
.page-header h2 { font-size: var(--neu-font-xl); color: var(--neu-text); }
|
|
.text-muted { color: var(--neu-text-muted); }
|
|
</style>
|