docs: 🎨 docs: update README with systemd and CI/CD
Build & Deploy / build-deploy (push) Has been cancelled
Build & Deploy / build-deploy (push) Has been cancelled
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
Application de quiz pédagogique **souveraine et auto-hébergée**, construite en Rust full-stack.
|
||||
|
||||
Conçue pour un usage en présentiel (cours, examens): les étudiants passent le quiz depuis leur navigateur, le professeur consulte les résultats et les statistiques depuis une interface d'administration protégée.
|
||||
Conçue pour un usage en présentiel (cours, examens) — les étudiants passent le quiz depuis leur navigateur, le professeur consulte les résultats et les statistiques depuis une interface d'administration protégée.
|
||||
|
||||
## Stack technique
|
||||
|
||||
@@ -38,7 +38,7 @@ Conçue pour un usage en présentiel (cours, examens): les étudiants passent le
|
||||
- Cookies de session httponly
|
||||
- Normalisation des noms (lowercase + trim) pour l'anti-doublon
|
||||
|
||||
## Architecture de déploiement optimale
|
||||
## Architecture de déploiement
|
||||
|
||||
```
|
||||
Internet
|
||||
@@ -50,7 +50,7 @@ Traefik Gateway (VM OVH)
|
||||
│
|
||||
▼
|
||||
Raspberry Pi 5
|
||||
└── enuxia-quiz (binaire Rust)
|
||||
└── enuxia-quiz (binaire Rust, systemd)
|
||||
└── quiz.db (SQLite local)
|
||||
```
|
||||
|
||||
@@ -61,6 +61,7 @@ Traefik Gateway (VM OVH)
|
||||
```bash
|
||||
rustup target add wasm32-unknown-unknown
|
||||
cargo install cargo-leptos
|
||||
# node et npm installés
|
||||
```
|
||||
|
||||
### Développement
|
||||
@@ -84,21 +85,58 @@ cargo leptos build --release
|
||||
|
||||
## Configuration
|
||||
|
||||
Créez un fichier `.env` à la racine :
|
||||
Créez un fichier `.env` :
|
||||
|
||||
```env
|
||||
DATABASE_URL=sqlite:///chemin/absolu/vers/quiz.db
|
||||
SESSION_PASSWORD=code_distribué_aux_étudiants
|
||||
ADMIN_PASSWORD=mot_de_passe_admin
|
||||
LEPTOS_SITE_ROOT=/opt/enuxia-quiz/site
|
||||
LEPTOS_SITE_ADDR=0.0.0.0:3010
|
||||
LEPTOS_TAILWIND_VERSION=v4.1.13
|
||||
```
|
||||
|
||||
Les mots de passe sont également modifiables en live depuis `/admin/config` sans redémarrer l'application.
|
||||
|
||||
## Gestion du service (systemd)
|
||||
|
||||
```bash
|
||||
# Démarrer
|
||||
systemctl start enuxia-quiz
|
||||
|
||||
# Arrêter
|
||||
systemctl stop enuxia-quiz
|
||||
|
||||
# Redémarrer
|
||||
systemctl restart enuxia-quiz
|
||||
|
||||
# Voir l'état
|
||||
systemctl status enuxia-quiz
|
||||
|
||||
# Logs en temps réel
|
||||
journalctl -u enuxia-quiz -f
|
||||
|
||||
# Activer/désactiver le démarrage automatique
|
||||
systemctl enable enuxia-quiz
|
||||
systemctl disable enuxia-quiz
|
||||
```
|
||||
|
||||
## CI/CD
|
||||
|
||||
Pipeline Gitea Actions (`.gitea/workflows/build-deploy.yml`) :
|
||||
|
||||
- **Runner ARM64 natif sur le Pi** — build natif, tous les cores utilisés
|
||||
- **Cache Cargo** — premier build ~15min, suivants ~3min
|
||||
- **Deploy automatique** — `cargo leptos build --release` + `systemctl restart`
|
||||
|
||||
```
|
||||
push main → runner Pi → cargo leptos build → cp binaire → systemctl restart
|
||||
```
|
||||
|
||||
## Licence
|
||||
|
||||
MIT — libre d'utilisation, de modification et de déploiement.
|
||||
|
||||
---
|
||||
|
||||
Construit par [Enuxia](https://enuxia.fr) — systèmes intelligents souverains sur mesure.
|
||||
Construit par [Enuxia](https://enuxia.com) — systèmes intelligents souverains sur mesure.
|
||||
Reference in New Issue
Block a user