Compare commits
No commits in common. "9d2c931a929338fc745e596cbff35c2647421b90" and "c52652f07efc5cba13a37ff2e7ce3635f595a04a" have entirely different histories.
9d2c931a92
...
c52652f07e
2 changed files with 16 additions and 45 deletions
|
|
@ -14,21 +14,15 @@ Ce wiki appartient à toute la communauté Alpinux. Si vous repérez une faute,
|
||||||
## Vue d'ensemble du processus
|
## Vue d'ensemble du processus
|
||||||
|
|
||||||
```
|
```
|
||||||
Compte AlpID → Bifurcation → Branche → Pull request → Mainteneurs → Wiki
|
Vous → AlpID → Gitea → Mainteneurs → Wiki en ligne
|
||||||
Vous connecte Votre copie Vos Vous la Relisent et MkDocs
|
Créez un compte Vous connecte Vous éditez Relisent et MkDocs publie
|
||||||
à la forge personnelle modifs proposez fusionnent publie
|
sur AlpID à Gitea la page acceptent automatiquement
|
||||||
du wiki y sont au wiki la fusion
|
+ ouvrez une votre
|
||||||
isolées
|
pull request contribution
|
||||||
```
|
```
|
||||||
|
|
||||||
Le point important : **vous n'écrivez jamais dans le dépôt du wiki**. Vous écrivez dans
|
En résumé : vous proposez une modification, un mainteneur la valide, et le wiki se met à
|
||||||
votre bifurcation — votre copie personnelle, où vous ne risquez rien — puis vous
|
jour tout seul — en quelques secondes, sans intervention de personne.
|
||||||
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
|
||||||
|
|
@ -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.
|
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 :
|
||||||
|
|
@ -152,8 +123,7 @@ Avant de créer votre fichier, identifiez dans quelle section il a sa place :
|
||||||
|
|
||||||
### Créer le fichier
|
### Créer le fichier
|
||||||
|
|
||||||
1. Dans **votre bifurcation** (et non dans le dépôt du wiki), naviguez vers le bon
|
1. Naviguez dans le dépôt vers le bon dossier (ex. `docs/guides/`).
|
||||||
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 (alpinux-dynamic)
|
Flask app (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-dynamic.git \
|
git clone https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.site.2026.git \
|
||||||
$APP_DIR
|
$APP_DIR
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Créer l'environnement Python
|
### 2. Créer l'environnement Python
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd $APP_DIR
|
cd $APP_DIR/dynamic
|
||||||
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/.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
|
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/services/dynamic.alpinux.org.service \
|
sudo cp infra/dynamic/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,6 +128,7 @@ 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
|
||||||
```
|
```
|
||||||
|
|
@ -149,7 +150,7 @@ sudo systemctl restart dynamic-alpinux
|
||||||
## Structure de l'application
|
## Structure de l'application
|
||||||
|
|
||||||
```
|
```
|
||||||
alpinux-dynamic/
|
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)
|
||||||
|
|
@ -196,7 +197,7 @@ Les quiz avancés (niveau 4) et experts (niveau 5) ont `"members_only": true` da
|
||||||
|
|
||||||
## Ajouter un quiz
|
## 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
|
```json
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue