Donner à ces scripts un dépôt qui dit ce qu'ils sont

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
This commit is contained in:
Cédrix 2026-09-25 23:50:38 +02:00
parent e301327f45
commit a95139d6ae
4 changed files with 73 additions and 4 deletions

69
README.md Normal file
View file

@ -0,0 +1,69 @@
# 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.

View file

@ -1,10 +1,10 @@
#!/bin/bash #!/bin/bash
# Relève la fiche d'une machine, et l'envoie au serveur de l'install party. # Relève la fiche d'une machine, et l'envoie au serveur de l'install party.
# #
# Ce script vit dans le dépôt du wiki, à côté d'install.sh : il est lu et # Ce script vit dans alpinux.scripts, à côté d'install.sh : il est lu et
# versionné comme lui, et c'est de là qu'il faut le prendre. # versionné comme lui, et c'est de là qu'il faut le prendre.
# #
# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki/raw/branch/main/code/linux/linux-mint/alpi-fiche.sh # wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.scripts/raw/branch/stable/poste/alpi-fiche.sh
# chmod +x alpi-fiche.sh # chmod +x alpi-fiche.sh
# sudo ./alpi-fiche.sh --check # depuis la session live, avant d'installer # sudo ./alpi-fiche.sh --check # depuis la session live, avant d'installer
# sudo ./alpi-fiche.sh # après l'installation # sudo ./alpi-fiche.sh # après l'installation

View file

@ -26,7 +26,7 @@ fi
# testé le 25/03/2026 # testé le 25/03/2026
# #
# utilisation # utilisation
# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki/raw/branch/main/code/linux/linux-mint/install.sh # wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.scripts/raw/branch/stable/poste/install.sh
# && chmod +x install.sh # && chmod +x install.sh
# && ./install.sh # && ./install.sh

View file

@ -3,7 +3,7 @@
# Alpinux — état des lieux d'une machine avant d'installer Linux Mint # Alpinux — état des lieux d'une machine avant d'installer Linux Mint
# #
# À lancer depuis la session live, AVANT de toucher au disque : # À lancer depuis la session live, AVANT de toucher au disque :
# wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux-wiki/raw/branch/main/code/linux/linux-mint/verif-disque.sh # wget https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.scripts/raw/branch/stable/poste/verif-disque.sh
# chmod +x verif-disque.sh # chmod +x verif-disque.sh
# ./verif-disque.sh # ./verif-disque.sh
# #