kiffeurs.tech

Kiffeurs

Plateforme cyber, réseaux et tech : landing page publique, espace utilisateur et API locale sécurisée.

Architecture

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.

Lancement local

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

Configuration

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.

Tests

pip install -r requirements-dev.txt
cd backend
pytest -q

GitHub Pages

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é.