Compare commits
2 commits
c52652f07e
...
9d2c931a92
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d2c931a92 | ||
|
|
69db2f66d5 |
2 changed files with 45 additions and 16 deletions
|
|
@ -14,15 +14,21 @@ Ce wiki appartient à toute la communauté Alpinux. Si vous repérez une faute,
|
||||||
## Vue d'ensemble du processus
|
## Vue d'ensemble du processus
|
||||||
|
|
||||||
```
|
```
|
||||||
Vous → AlpID → Gitea → Mainteneurs → Wiki en ligne
|
Compte AlpID → Bifurcation → Branche → Pull request → Mainteneurs → Wiki
|
||||||
Créez un compte Vous connecte Vous éditez Relisent et MkDocs publie
|
Vous connecte Votre copie Vos Vous la Relisent et MkDocs
|
||||||
sur AlpID à Gitea la page acceptent automatiquement
|
à la forge personnelle modifs proposez fusionnent publie
|
||||||
+ ouvrez une votre
|
du wiki y sont au wiki la fusion
|
||||||
pull request contribution
|
isolées
|
||||||
```
|
```
|
||||||
|
|
||||||
En résumé : vous proposez une modification, un mainteneur la valide, et le wiki se met à
|
Le point important : **vous n'écrivez jamais dans le dépôt du wiki**. Vous écrivez dans
|
||||||
jour tout seul — en quelques secondes, sans intervention de personne.
|
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.
|
||||||
|
|
||||||
!!! note "Deux façons de contribuer"
|
!!! note "Deux façons de contribuer"
|
||||||
Ce guide décrit la voie **depuis le navigateur**, celle qui ne demande aucune
|
Ce guide décrit la voie **depuis le navigateur**, celle qui ne demande aucune
|
||||||
|
|
@ -110,6 +116,29 @@ 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.
|
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
|
### Choisir le bon dossier
|
||||||
|
|
||||||
Avant de créer votre fichier, identifiez dans quelle section il a sa place :
|
Avant de créer votre fichier, identifiez dans quelle section il a sa place :
|
||||||
|
|
@ -123,7 +152,8 @@ Avant de créer votre fichier, identifiez dans quelle section il a sa place :
|
||||||
|
|
||||||
### Créer le fichier
|
### Créer le fichier
|
||||||
|
|
||||||
1. Naviguez dans le dépôt vers le bon dossier (ex. `docs/guides/`).
|
1. Dans **votre bifurcation** (et non dans le dépôt du wiki), naviguez vers le bon
|
||||||
|
dossier (ex. `docs/guides/`).
|
||||||
|
|
||||||
2. Cliquez sur le bouton **« + »** ou **« Nouveau fichier »** en haut à droite de la liste des fichiers.
|
2. Cliquez sur le bouton **« + »** ou **« Nouveau fichier »** en haut à droite de la liste des fichiers.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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