{ "project": "InnotexBoard", "version": "0.1.0", "description": "Interface d'administration Debian légère - Alternative à Cockpit", "created": "2026-01-16", "updated": "2026-01-16", "author": "Innotex Team", "license": "MIT", "stack": { "backend": { "framework": "FastAPI", "language": "Python", "version": "0.104.1", "python_version": "3.8+", "key_libraries": [ "fastapi", "uvicorn", "pydantic", "python-jose", "pam", "psutil", "docker" ] }, "frontend": { "framework": "Vue.js", "version": "3.3.4", "build_tool": "Vite", "styling": "Tailwind CSS", "node_version": "16+", "key_libraries": [ "vue", "vue-router", "pinia", "axios", "tailwindcss" ] } }, "features": { "authentication": { "type": "PAM", "tokens": "JWT", "expiration_hours": 8 }, "monitoring": { "cpu": true, "memory": true, "processes": true, "refresh_interval_seconds": 5 }, "docker": { "list_containers": true, "cpu_stats": true, "memory_stats": true, "start_container": true, "stop_container": true, "restart_container": true, "delete_container": true, "port_mapping_display": true }, "ui": { "theme": "dark", "responsive": true, "components": [ "Dashboard", "Login", "Containers" ] } }, "api": { "version": "v1", "endpoints": 12, "base_url": "http://localhost:8000/api/v1" }, "files": { "backend": { "total": 12, "python": 9, "config": 1, "docker": 1, "documentation": 1 }, "frontend": { "total": 15, "vue": 4, "javascript": 4, "json": 4, "config": 2, "docker": 1 }, "configuration": { "docker_compose": 2, "nginx": 1, "gitignore": 1, "env": 2 }, "documentation": { "total": 7, "guides": 3, "technical": 2, "index": 1, "checklist": 1 }, "scripts": { "tests": 1, "summary": 1 } }, "statistics": { "total_files": 45, "total_lines_of_code": 3000, "documentation_lines": 1500, "components": 3, "endpoints": 12, "services": 2 }, "ports": { "backend": 8000, "frontend": 3000, "nginx": 80, "nginx_ssl": 443 }, "requirements": { "system": [ "Python 3.8+", "Node.js 16+", "Docker (optional)", "Debian/Ubuntu (for PAM)" ], "permissions": [ "Docker socket access", "PAM authentication", "System stat reading (/proc, /sys)" ] }, "deployment": { "development": { "method": "docker-compose", "file": "docker-compose.yml", "volumes": [ "source code", "node_modules" ] }, "production": { "method": "docker-compose + nginx", "file": "docker-compose.advanced.yml", "reverse_proxy": "nginx.conf", "ssl": "configurable" } }, "security": { "authentication": "PAM + JWT", "token_algorithm": "HS256", "cors": "enabled", "trusted_host": "enabled", "input_validation": "Pydantic", "https": "recommended for production" }, "documentation": { "quickstart": "QUICKSTART.md", "architecture": "TECHNICAL_EXPLANATION.md", "permissions": "PERMISSIONS.md", "answers": "ANSWERS.md", "index": "DOCUMENTATION.md" }, "getting_started": { "step1": "Read QUICKSTART.md", "step2": "cd backend && pip install -r requirements.txt", "step3": "cd frontend && npm install", "step4": "python3 main.py (terminal 1)", "step5": "npm run dev (terminal 2)", "step6": "Visit http://localhost:3000" }, "testing": { "api_tests": "bash test_api.sh username password", "swagger_docs": "http://localhost:8000/docs", "frontend": "http://localhost:3000" } }