Files
innotexBoard/project.json
2026-01-16 18:40:39 +01:00

195 lines
4.0 KiB
JSON

{
"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"
}
}