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:
parent
69db2f66d5
commit
9d2c931a92
1 changed files with 7 additions and 8 deletions
|
|
@ -23,7 +23,7 @@ Apache (reverse proxy, SSL)
|
||||||
Gunicorn (2 workers)
|
Gunicorn (2 workers)
|
||||||
│
|
│
|
||||||
▼
|
▼
|
||||||
Flask app (dynamic/)
|
Flask app (alpinux-dynamic)
|
||||||
│ │
|
│ │
|
||||||
▼ ▼
|
▼ ▼
|
||||||
SQLite AlpID OIDC
|
SQLite AlpID OIDC
|
||||||
|
|
@ -38,14 +38,14 @@ SQLite AlpID OIDC
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ssh <user>@alpinux.org
|
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
|
$APP_DIR
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Créer l'environnement Python
|
### 2. Créer l'environnement Python
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd $APP_DIR/dynamic
|
cd $APP_DIR
|
||||||
python3 -m venv venv
|
python3 -m venv venv
|
||||||
venv/bin/pip install -r requirements.txt gunicorn
|
venv/bin/pip install -r requirements.txt gunicorn
|
||||||
```
|
```
|
||||||
|
|
@ -54,7 +54,7 @@ venv/bin/pip install -r requirements.txt gunicorn
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir /etc/dynamic-alpinux
|
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
|
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).
|
Les fichiers de configuration systemd et Apache sont conservés **hors dépôt** (`infra/` local).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo cp infra/dynamic/dynamic.alpinux.org.service \
|
sudo cp infra/services/dynamic.alpinux.org.service \
|
||||||
/etc/systemd/system/dynamic-alpinux.service
|
/etc/systemd/system/dynamic-alpinux.service
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
sudo systemctl enable --now dynamic-alpinux
|
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
|
ssh <user>@alpinux.org
|
||||||
cd $APP_DIR
|
cd $APP_DIR
|
||||||
git pull
|
git pull
|
||||||
cd dynamic
|
|
||||||
venv/bin/pip install -r requirements.txt # si requirements.txt a changé
|
venv/bin/pip install -r requirements.txt # si requirements.txt a changé
|
||||||
sudo systemctl restart dynamic-alpinux
|
sudo systemctl restart dynamic-alpinux
|
||||||
```
|
```
|
||||||
|
|
@ -150,7 +149,7 @@ sudo systemctl restart dynamic-alpinux
|
||||||
## Structure de l'application
|
## Structure de l'application
|
||||||
|
|
||||||
```
|
```
|
||||||
dynamic/
|
alpinux-dynamic/
|
||||||
├── app.py ← point d'entrée Flask
|
├── app.py ← point d'entrée Flask
|
||||||
├── auth_utils.py ← décorateur @login_required
|
├── auth_utils.py ← décorateur @login_required
|
||||||
├── db.py ← SQLite (scores)
|
├── 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
|
## 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
|
```json
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue