# Directives Claude pour Zebra Power 🍅 ## Contexte du Projet **Zebra Power** (nommée d'après la tomate verte zebra) est une application web dockerisée pour la gestion unifiée d'hosts Proxmox via Wake-on-LAN, contrôle de VMs/Containers et extinction. Il s'agit d'un outil d'administration réseau légitime à usage défensif uniquement. ## Architecture et Technologies ### Backend (FastAPI + SQLite) - **Langages**: Python 3.13 + uv - **Framework**: FastAPI 0.115.0 avec SQLAlchemy 2.0.35 - **Base de données**: SQLite (fichier local `./data/zebra.db`) - **Services**: Wake-on-LAN, API Proxmox unifiée, logging centralisé - **Point d'entrée**: `backend/app/main.py` ### Frontend (Vue.js 3) - **Framework**: Vue.js 3.4.0 + Vue Router + Pinia - **Build**: Vite 5.0.8 - **Styling**: Tailwind CSS 3.3.6 avec système de thème personnalisé - **Composants**: Headless UI + Heroicons - **Fonctionnalités**: Dark/Light mode, Pull-to-refresh, Swipe gestures - **Point d'entrée**: `frontend/src/main.js` ### Infrastructure - **Containerisation**: Docker Compose - **Images**: Python 3.13, Node.js 20, Nginx 1.25 - **Proxy**: Nginx (port 80) - **Réseau**: Mode host pour backend (requis WOL) ## Standards de Développement ### Code Style - **Python**: PEP 8, type hints obligatoires - **JavaScript**: ESLint + Prettier - **Vue**: Composition API, script setup - **CSS**: Tailwind utilitaires, composants réutilisables ### Structure des Fichiers ``` backend/app/ ├── api/ # Endpoints REST ├── models/ # Schémas Pydantic + SQLAlchemy ├── services/ # Logique métier └── main.py # Application FastAPI frontend/src/ ├── components/ # Composants Vue réutilisables ├── composables/ # Hooks Vue (useDarkMode, usePullToRefresh, useSwipe) ├── views/ # Pages/routes principales (Home.vue, Hosts.vue) ├── services/ # API client ├── style.css # Styles globaux + système de thème └── main.js # Bootstrap Vue ``` ## Commandes de Développement ### Développement (avec hot reload) ```bash docker-compose -f docker-compose.dev.yml up -d docker-compose -f docker-compose.dev.yml logs -f docker-compose -f docker-compose.dev.yml down ``` ### Production ```bash docker-compose up -d docker-compose logs -f [service] docker-compose down ``` ### Manuel (développement local) ```bash # Backend cd backend && uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 # Frontend cd frontend && npm run dev ``` ## Directives Spécifiques pour les Agents ### 🔒 Sécurité - OBLIGATOIRE 1. **Usage défensif uniquement** - Ne jamais créer/modifier du code malveillant 2. **Wake-on-LAN légitime** - Uniquement pour administration réseau autorisée 3. **Proxmox management** - Outils d'administration datacenter standards 4. **Pas de backdoors** - Aucune fonctionnalité cachée ou malveillante ### 📋 Bonnes Pratiques de Code #### Backend Python - Utiliser les types hints (`from typing import...`) - Valider avec Pydantic pour les entrées API - Gérer les exceptions avec FastAPI handlers - Logger via le service centralisé (`logging_service.py`) - Base de données via SQLAlchemy sessions (`get_db()`) #### Frontend Vue.js - Composition API avec `