Compare commits

..

No commits in common. "9d2c931a929338fc745e596cbff35c2647421b90" and "c52652f07efc5cba13a37ff2e7ce3635f595a04a" have entirely different histories.

2 changed files with 16 additions and 45 deletions

View file

@ -14,21 +14,15 @@ Ce wiki appartient à toute la communauté Alpinux. Si vous repérez une faute,
## Vue d'ensemble du processus
```
Compte AlpID → Bifurcation → Branche → Pull request → Mainteneurs → Wiki
Vous connecte Votre copie Vos Vous la Relisent et MkDocs
à la forge personnelle modifs proposez fusionnent publie
du wiki y sont au wiki la fusion
isolées
Vous → AlpID → Gitea → Mainteneurs → Wiki en ligne
Créez un compte Vous connecte Vous éditez Relisent et MkDocs publie
sur AlpID à Gitea la page acceptent automatiquement
+ ouvrez une votre
pull request contribution
```
Le point important : **vous n'écrivez jamais dans le dépôt du wiki**. Vous écrivez dans
votre bifurcation — votre copie personnelle, où vous ne risquez rien — puis vous
proposez ce travail par une pull request. Un mainteneur relit, fusionne, et le site se
met à jour tout seul dans les secondes qui suivent.
!!! note "Et si j'ai les droits d'écriture sur le dépôt ?"
La règle reste la même : une branche, puis une pull request, même pour les
mainteneurs. La bifurcation devient alors facultative, rien d'autre ne change.
En résumé : vous proposez une modification, un mainteneur la valide, et le wiki se met à
jour tout seul — en quelques secondes, sans intervention de personne.
!!! note "Deux façons de contribuer"
Ce guide décrit la voie **depuis le navigateur**, celle qui ne demande aucune
@ -116,29 +110,6 @@ C'est la façon la plus simple de contribuer : corriger une faute, compléter un
Vous avez rédigé un guide ou un compte-rendu et souhaitez l'ajouter au wiki.
### Partir de sa bifurcation
Un nouvel article ne se crée pas dans le dépôt du wiki, mais dans **votre bifurcation**.
Si vous n'en avez pas encore, créez-la : sur
[le dépôt du wiki](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki), bouton
**« Bifurcation »** (*Fork*) en haut à droite. Vous obtenez une copie complète du wiki
dans votre espace personnel sur la forge, sur laquelle vous avez tous les droits.
!!! warning "Une bifurcation vieillit"
Votre copie ne se met pas à jour toute seule : elle reste figée au jour où vous
l'avez créée. **Avant d'écrire, récupérez l'état actuel du wiki**, sinon votre
article partira d'une version dépassée et la pull request risque le conflit.
- **Depuis la forge** : sur votre bifurcation, le bandeau
*« Cette branche est en retard de N commits »* propose un bouton de
synchronisation — cliquez-le.
- **Depuis votre ordinateur** : `git pull upstream main`, après avoir déclaré le
dépôt du wiki comme `upstream`. La marche à suivre complète est dans
[Rédiger en ligne de commande](ligne-de-commande.md#1-bifurquer-puis-cloner).
Pour un article un peu long, travailler depuis son ordinateur est nettement plus
confortable que l'éditeur du navigateur — et c'est la même pull request au bout.
### Choisir le bon dossier
Avant de créer votre fichier, identifiez dans quelle section il a sa place :
@ -152,8 +123,7 @@ Avant de créer votre fichier, identifiez dans quelle section il a sa place :
### Créer le fichier
1. Dans **votre bifurcation** (et non dans le dépôt du wiki), naviguez vers le bon
dossier (ex. `docs/guides/`).
1. Naviguez dans le dépôt vers le bon dossier (ex. `docs/guides/`).
2. Cliquez sur le bouton **« + »** ou **« Nouveau fichier »** en haut à droite de la liste des fichiers.

View file

@ -23,7 +23,7 @@ Apache (reverse proxy, SSL)
Gunicorn (2 workers)
│
▼
Flask app (alpinux-dynamic)
Flask app (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-dynamic.git \
git clone https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.site.2026.git \
$APP_DIR
```
### 2. Créer l'environnement Python
```bash
cd $APP_DIR
cd $APP_DIR/dynamic
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/.env.example /etc/dynamic-alpinux/config.env
sudo cp $APP_DIR/dynamic/.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/services/dynamic.alpinux.org.service \
sudo cp infra/dynamic/dynamic.alpinux.org.service \
/etc/systemd/system/dynamic-alpinux.service
sudo systemctl daemon-reload
sudo systemctl enable --now dynamic-alpinux
@ -128,6 +128,7 @@ 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
```
@ -149,7 +150,7 @@ sudo systemctl restart dynamic-alpinux
## Structure de l'application
```
alpinux-dynamic/
dynamic/
├── app.py ← point d'entrée Flask
├── auth_utils.py ← décorateur @login_required
├── db.py ← SQLite (scores)
@ -196,7 +197,7 @@ Les quiz avancés (niveau 4) et experts (niveau 5) ont `"members_only": true` da
## Ajouter un quiz
Éditez `data/quizzes.json` et ajoutez un objet au tableau :
Éditez `dynamic/data/quizzes.json` et ajoutez un objet au tableau :
```json
{