Déployer dynamic depuis alpinux-dynamic, plus depuis le monorepo

L'application a quitté alpinux.site.2026 pour son propre dépôt, et elle
est à la racine : plus de sous-dossier dynamic/ à traverser pour le
venv, le .env.example, la mise à jour ou le fichier des quiz.

Au passage, l'unité systemd est dans infra/services/, pas infra/dynamic/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
This commit is contained in:
Alpinux 2026-09-19 23:03:14 +02:00
parent 69db2f66d5
commit 9d2c931a92

View file

@ -23,7 +23,7 @@ Apache (reverse proxy, SSL)
Gunicorn (2 workers)
│
▼
Flask app (dynamic/)
Flask app (alpinux-dynamic)
│ │
▼ ▼
SQLite AlpID OIDC
@ -38,14 +38,14 @@ SQLite AlpID OIDC
```bash
ssh <user>@alpinux.org
git clone https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.site.2026.git \
git clone https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-dynamic.git \
$APP_DIR
```
### 2. Créer l'environnement Python
```bash
cd $APP_DIR/dynamic
cd $APP_DIR
python3 -m venv venv
venv/bin/pip install -r requirements.txt gunicorn
```
@ -54,7 +54,7 @@ venv/bin/pip install -r requirements.txt gunicorn
```bash
sudo mkdir /etc/dynamic-alpinux
sudo cp $APP_DIR/dynamic/.env.example /etc/dynamic-alpinux/config.env
sudo cp $APP_DIR/.env.example /etc/dynamic-alpinux/config.env
sudo nano /etc/dynamic-alpinux/config.env
```
@ -96,7 +96,7 @@ Dans la console d'administration Keycloak (`https://alpid.alpinux.org`) :
Les fichiers de configuration systemd et Apache sont conservés **hors dépôt** (`infra/` local).
```bash
sudo cp infra/dynamic/dynamic.alpinux.org.service \
sudo cp infra/services/dynamic.alpinux.org.service \
/etc/systemd/system/dynamic-alpinux.service
sudo systemctl daemon-reload
sudo systemctl enable --now dynamic-alpinux
@ -128,7 +128,6 @@ ISPConfig gère le VirtualHost et le renouvellement automatique du certificat.
ssh <user>@alpinux.org
cd $APP_DIR
git pull
cd dynamic
venv/bin/pip install -r requirements.txt # si requirements.txt a changé
sudo systemctl restart dynamic-alpinux
```
@ -150,7 +149,7 @@ sudo systemctl restart dynamic-alpinux
## Structure de l'application
```
dynamic/
alpinux-dynamic/
├── app.py ← point d'entrée Flask
├── auth_utils.py ← décorateur @login_required
├── db.py ← SQLite (scores)
@ -197,7 +196,7 @@ Les quiz avancés (niveau 4) et experts (niveau 5) ont `"members_only": true` da
## Ajouter un quiz
Éditez `dynamic/data/quizzes.json` et ajoutez un objet au tableau :
Éditez `data/quizzes.json` et ajoutez un objet au tableau :
```json
{