Plateforme cyber, réseaux et tech : landing page publique, espace utilisateur et API locale sécurisée.
web/ site public statique (GitHub Pages)
dashboard/ application statique (publiée sous /dashboard/)
backend/ API FastAPI, auth, SQLite et stockage privé
docs/ architecture, sécurité, tests et journal
Le workflow .github/workflows/pages.yml assemble uniquement web/ et dashboard/, puis conserve le CNAME kiffeurs.tech. Le backend n’est jamais publié dans l’artefact Pages.
Prérequis : Python 3.11+.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r backend\requirements.txt
Copy-Item backend\.env.example backend\.env
# Remplacer SECRET_KEY dans backend/.env par une valeur aléatoire de 32+ caractères.
cd backend
uvicorn app.main:app --reload --port 8000
Dans un second terminal, à la racine :
python -m http.server 5173 --directory web
Pour tester le dashboard avec les mêmes chemins que Pages :
New-Item -ItemType Directory -Force .local-site\dashboard
Copy-Item web\* .local-site -Recurse -Force
Copy-Item dashboard\* .local-site\dashboard -Recurse -Force
python -m http.server 5173 --directory .local-site
Copier backend/.env.example vers backend/.env. Ne jamais committer .env. Pour connecter un backend déployé, modifier dashboard/config.js à la construction ou au déploiement. Les origines CORS doivent être explicites.
pip install -r requirements-dev.txt
cd backend
pytest -q
Le domaine reste kiffeurs.tech. Dans GitHub, la source Pages doit être GitHub Actions pour utiliser le workflow fourni.
MVP de développement. Ne pas utiliser en production sans HTTPS, hébergement persistant, migrations, rotation des secrets, limitation de débit, observabilité et revue de sécurité.