alpinux.scripts/README.md
Cédrix a95139d6ae 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
2026-09-25 23:50:38 +02:00

3.1 KiB

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.

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 :

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.

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.