Ces trois fichiers vivaient dans le dépôt du wiki, seuls fichiers exécutables parmi cent dix pages de documentation. Le wiki est public et sa branche main n'est pas protégée ; le serveur de l'install party en recopie deux toutes les heures et les distribue en root aux machines des participants. Un commit de documentation et un commit de code y avaient donc les mêmes conséquences, et rien ne le disait. Ils sont désormais chez eux, classés par contexte d'exécution — qui les lance, sur quelle machine, avec quels droits — et non par distribution : « poste/ » tient les trois ensemble, ce qu'impose de toute façon l'appel du relevé par install.sh, qui le cherche à côté de lui. La branche stable est ce que les machines reçoivent, main ce sur quoi on travaille. Avancer l'une sur l'autre demande d'avoir essayé sur une machine : c'est le relecteur qui manquait. L'historique des trois fichiers est conservé, depuis la migration du monorepo alpinux.site.2026 en mai. Les adresses de téléchargement de leurs en-têtes sont reprises. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BssvzfDMeXVoUQHEcnavW7
69 lines
3.1 KiB
Markdown
69 lines
3.1 KiB
Markdown
# alpinux.scripts
|
|
|
|
Les scripts qu'Alpinux fait tourner sur des machines qui ne sont pas les
|
|
siennes. Ils sont publics parce qu'ils doivent pouvoir se télécharger sans
|
|
compte, depuis une session live, par quelqu'un qui découvre Linux le matin
|
|
même — et parce que du code qui s'exécute en root chez autrui doit pouvoir
|
|
être lu par celui qui le lance.
|
|
|
|
La documentation, elle, vit dans le wiki :
|
|
[guide Linux Mint depuis Windows](https://wiki.alpinux.org/guides/linux-mint-depuis-windows/).
|
|
|
|
## Ce que contient chaque dossier
|
|
|
|
Le classement suit **qui lance le script, sur quelle machine, avec quels
|
|
droits** — c'est ce qui commande la prudence à lui appliquer. Il ne suit ni les
|
|
distributions, ni les dates : un script ne change pas de nature quand Mint
|
|
change de version.
|
|
|
|
| Dossier | Ce qui y entre |
|
|
|---|---|
|
|
| `poste/` | Ce qui tourne sur la machine d'un participant, le plus souvent en root. Rien n'y entre sans avoir été essayé sur une vraie machine. |
|
|
|
|
D'autres dossiers viendront — la part publiable des scripts du serveur, des
|
|
outils de bénévole sans privilège. Chacun avec sa règle, écrite ici.
|
|
|
|
## `poste/` — trois scripts, dans cet ordre
|
|
|
|
| Script | Quand | Ce qu'il fait |
|
|
|---|---|---|
|
|
| `verif-disque.sh` | depuis la session live, **avant** de toucher au disque | lit et affiche : partitions, Windows, BitLocker, réseau. Ne modifie rien. |
|
|
| `alpi-fiche.sh` | avant (`--check`) et après l'installation | relève la fiche matérielle, juge l'état des disques, l'envoie au serveur de l'install party s'il est joignable. |
|
|
| `install.sh` | après l'installation de Mint | post-installation : paquets, Firefox en français, GRUB. Appelle `alpi-fiche.sh` s'il le trouve. |
|
|
|
|
**Les trois vont ensemble, dans le même dossier.** `install.sh` cherche le
|
|
relevé à côté de lui — `$(dirname "$0")/alpi-fiche.sh` — et ne le télécharge
|
|
jamais : aucun code n'est tiré du réseau pendant une installation. Un
|
|
`install.sh` téléchargé seul fonctionne, mais ne relève rien, et sans le dire.
|
|
|
|
Sur le réseau d'une install party, le serveur les sert tous les trois :
|
|
|
|
```bash
|
|
wget http://10.0.0.1/install.sh http://10.0.0.1/alpi-fiche.sh
|
|
chmod +x install.sh alpi-fiche.sh
|
|
sudo ./install.sh
|
|
```
|
|
|
|
Ailleurs, l'en-tête de chaque script donne son adresse de téléchargement.
|
|
|
|
## `main` et `stable`
|
|
|
|
`main` est la branche de travail. **`stable` est celle que les machines
|
|
reçoivent** : c'est elle que le serveur de l'install party recopie et
|
|
redistribue, sans que personne ne la relise au passage.
|
|
|
|
On avance donc `stable` sur `main` quand le changement a été essayé sur une
|
|
machine — pas quand il a été écrit. Sans cette règle, un commit de vingt-deux
|
|
heures part en root sur le poste d'un inconnu avant minuit.
|
|
|
|
```bash
|
|
git switch stable && git merge --ff-only main && git push
|
|
```
|
|
|
|
## Ce qui a déjà mordu
|
|
|
|
Un fichier corrigé sur le serveur sans être poussé ici est un fichier perdu :
|
|
le serveur se resynchronise toutes les heures et rétablit cette version-ci.
|
|
C'est arrivé le 24 septembre 2026, et les correctifs ne se sont retrouvés que
|
|
parce qu'ils vivaient aussi dans le dépôt du serveur. On corrige ici, on
|
|
déploie ensuite.
|