La page de contribution portait tout : le parcours web, la syntaxe Markdown, la ligne de commande et Obsidian. Chacun de ces morceaux a maintenant sa page, et la page d'accueil de la contribution garde ce qu'elle sait faire — expliquer le processus de bout en bout. Nouvelle page « Le Git d'Alpinux » : l'inscription est fermée et passe par AlpID, ce que rien n'indiquait jusqu'ici. Le coffre Obsidian est configuré en liens Markdown relatifs, comme la page le décrit : MkDocs ne comprend pas les [[wikilinks]]. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
173 lines
5.7 KiB
Markdown
173 lines
5.7 KiB
Markdown
---
|
|
description: Contribuer au wiki Alpinux depuis son ordinateur avec git — bifurcation, branche, aperçu local avec MkDocs, pull request.
|
|
---
|
|
|
|
# Rédiger en ligne de commande
|
|
|
|
Pour un article long, une série de corrections ou un travail hors connexion, il est plus
|
|
confortable de travailler sur une copie locale du wiki : votre éditeur habituel, l'aperçu
|
|
du site en direct, et la possibilité de tout relire avant de proposer quoi que ce soit.
|
|
|
|
!!! note "Besoin d'un compte"
|
|
Comme pour la contribution depuis le navigateur, il faut un compte sur la forge de
|
|
l'association — voir [Le Git d'Alpinux](../guides/git-alpinux.md#creer-son-compte).
|
|
Configurez au passage votre [clé SSH](../guides/git-alpinux.md#par-cle-ssh-recommande) :
|
|
vous n'aurez plus à taper de mot de passe.
|
|
|
|
La règle est la même que depuis le navigateur : **on ne modifie jamais `main`
|
|
directement**. On travaille sur une branche, et on propose son travail par une pull
|
|
request. Cela vaut pour tout le monde, mainteneurs compris.
|
|
|
|
---
|
|
|
|
## 1. Bifurquer, puis cloner
|
|
|
|
Créez votre **bifurcation** (*fork*) du wiki : sur
|
|
[le dépôt](https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki), bouton
|
|
**Bifurcation** en haut à droite. Vous obtenez votre propre copie, dans laquelle vous
|
|
pouvez tout faire sans rien risquer.
|
|
|
|
Clonez ensuite **votre** copie, et ajoutez un lien vers le dépôt d'origine — appelé
|
|
`upstream` par convention — pour pouvoir vous mettre à jour :
|
|
|
|
```bash
|
|
git clone git@gitea.alpinux.org:VOTRE-COMPTE/alpinux-wiki.git
|
|
cd alpinux-wiki
|
|
git remote add upstream git@gitea.alpinux.org:alpinux.cedrica5l/alpinux-wiki.git
|
|
```
|
|
|
|
Vous avez maintenant deux dépôts distants : `origin`, votre copie, où vous poussez ; et
|
|
`upstream`, le wiki de l'association, d'où vous tirez les nouveautés.
|
|
|
|
```bash
|
|
git remote -v # pour vérifier
|
|
```
|
|
|
|
### Ce que contient le dépôt
|
|
|
|
| Dossier | Contenu |
|
|
|---|---|
|
|
| `docs/` | les pages publiées, organisées en sections |
|
|
| `articles/` | textes longs hors navigation principale |
|
|
| `code/` | exemples de code cités dans les pages |
|
|
| `overrides/` | personnalisations du thème |
|
|
| `mkdocs.yml` | configuration du site, dont la navigation |
|
|
|
|
Une page ajoutée dans `docs/` n'apparaît dans le menu que si elle est déclarée dans la
|
|
section `nav:` de `mkdocs.yml`. C'est l'oubli classique — et `mkdocs build --strict` le
|
|
signale.
|
|
|
|
---
|
|
|
|
## 2. Partir du wiki à jour, sur une branche
|
|
|
|
Avant **chaque** nouveau sujet :
|
|
|
|
```bash
|
|
git switch main
|
|
git pull upstream main # récupérer ce qui a été publié entre-temps
|
|
git switch -c sauvegarder-ses-photos # une branche par sujet, au nom parlant
|
|
```
|
|
|
|
Une branche par sujet permet de proposer une correction de faute aujourd'hui sans
|
|
entraîner avec elle l'article commencé la semaine dernière.
|
|
|
|
---
|
|
|
|
## 3. Voir le rendu
|
|
|
|
```bash
|
|
python3 -m venv venv && source venv/bin/activate
|
|
pip install mkdocs-material
|
|
mkdocs serve
|
|
```
|
|
|
|
Ouvrez `http://localhost:8000` : la page se recharge à chaque enregistrement. C'est le
|
|
meilleur moyen de vérifier un tableau, une image ou un bloc de code.
|
|
|
|
Avant de proposer, vérifiez que rien n'est cassé :
|
|
|
|
```bash
|
|
mkdocs build --strict -d /tmp/wiki-build
|
|
```
|
|
|
|
`--strict` transforme le moindre avertissement en erreur : lien vers une page inexistante,
|
|
fichier absent de la navigation. Si cette commande passe, votre contribution se publiera
|
|
sans encombre.
|
|
|
|
!!! warning "Le `-d` n'est pas optionnel"
|
|
Sans lui, `mkdocs build` écrit dans le `site_dir` configuré — qui désigne le
|
|
répertoire du serveur, pas un chemin local.
|
|
|
|
---
|
|
|
|
## 4. Proposer la pull request
|
|
|
|
```bash
|
|
git add .
|
|
git commit -m "Article : sauvegarder ses photos sur un disque externe"
|
|
git push -u origin sauvegarder-ses-photos
|
|
```
|
|
|
|
Gitea affiche alors un lien pour ouvrir la pull request vers le wiki — ou rendez-vous sur
|
|
votre bifurcation, la proposition y est suggérée en haut de page. La suite est décrite à
|
|
l'[étape 2 du guide de contribution](index.md#etape-pull-request) : un mainteneur relit,
|
|
fusionne, et la publication se fait toute seule.
|
|
|
|
### Écrire un message de commit utile
|
|
|
|
Le message est lu par la personne qui relit, et par vous-même dans six mois. Une ligne
|
|
qui dit **ce qui change et pourquoi** :
|
|
|
|
```
|
|
Guide Linux Mint : seuil Xfce relevé à 4 Go
|
|
|
|
Retour des install parties : en dessous de 4 Go, Cinnamon rame.
|
|
```
|
|
|
|
Évitez `mise à jour`, `correction`, `wip` : ils n'apprennent rien à personne.
|
|
|
|
---
|
|
|
|
## 5. Après la fusion
|
|
|
|
```bash
|
|
git switch main
|
|
git pull upstream main
|
|
git branch -d sauvegarder-ses-photos # la branche a fait son travail
|
|
git push origin --delete sauvegarder-ses-photos
|
|
```
|
|
|
|
Garder ses branches fusionnées ne sert à rien et finit par encombrer la liste.
|
|
|
|
---
|
|
|
|
## Quand ça coince
|
|
|
|
**« Votre branche est en retard sur upstream/main »** — quelqu'un a publié pendant que
|
|
vous écriviez. Rapatriez et rejouez votre travail par-dessus :
|
|
|
|
```bash
|
|
git pull --rebase upstream main
|
|
```
|
|
|
|
**Un conflit** — deux modifications du même passage. Git encadre les deux versions dans
|
|
le fichier par `<<<<<<<`, `=======` et `>>>>>>>` : gardez le texte voulu, effacez les
|
|
marqueurs, puis `git add` le fichier et `git rebase --continue`. En cas de doute,
|
|
`git rebase --abort` annule tout et vous ramène au point de départ.
|
|
|
|
**Vous avez modifié `main` par mégarde** — rien n'est perdu tant que vous n'avez pas
|
|
poussé. Créez la branche depuis l'état actuel, puis remettez `main` en place :
|
|
|
|
```bash
|
|
git switch -c ma-branche # emporte les modifications avec vous
|
|
git switch main
|
|
git reset --hard upstream/main
|
|
```
|
|
|
|
---
|
|
|
|
## Avec Obsidian
|
|
|
|
Si vous préférez un éditeur au confort d'un traitement de texte, le dépôt est aussi un
|
|
coffre Obsidian prêt à l'emploi : voir [Rédiger avec Obsidian](obsidian.md).
|