Verser le relevé de fiche matérielle dans le dépôt #12

Merged
Cédric A5L merged 5 commits from fiche-materielle into main 2026-09-25 00:40:12 +02:00
Owner

Suite de l'échange avec la session alpicache : le relevé de fiche matérielle, versionné ici plutôt que téléchargé et exécuté en root depuis le réseau.

Ce que contient la PR

  • code/linux/linux-mint/alpi-fiche.sh — le relevé, repris tel quel de la session alpicache (366 lignes, éprouvé sur place), avec un en-tête réécrit. Trois modes : --check (session live, avec verdict), sans option (après installation), --montrer (affiche le JSON sans rien envoyer).
  • install.sh — l'appelle en tête de fichier, dans sa passe root, et seulement s'il le trouve à côté de lui. Une machine qui rejoue le script chez son propriétaire n'envoie donc rien.
  • Le guide d'installation — une section « Relever la fiche de la machine », à côté de l'état des lieux du disque.

Pourquoi cette forme plutôt que la première

La demande initiale était wget http://alpicache.lan/alpi-fiche puis bash en root. Deux objections : le script n'était ni versionné ni relu — ce qu'il enverrait dans trois mois ne dépendait plus de ce que le wiki publie — et rien n'authentifiait le nom alpicache.lan sur un autre réseau. Ces machines ne sont pas les nôtres.

Le point qui demande votre avis

L'en-tête du script affirmait « rien qui touche à la personne ». C'est inexact, et je l'ai corrigé plutôt que de le recopier : la fiche emporte

  • le nom de la machine, choisi pendant l'installation, qui contient souvent un prénom — notre propre guide suggère « portable-jean » ;
  • l'adresse matérielle de la carte réseau, qui identifie durablement l'appareil (elle sert ici à rapprocher la fiche du bail DHCP).

Le reste est du matériel : modèle, série tronquée à quatre caractères, processeur, mémoire et connecteurs, disques et SMART, occupation des disques, système installé.

J'ai nommé ces deux points dans le script et dans le guide, avec la consigne d'en informer la personne dont on installe la machine. Si vous préférez ne pas envoyer le nom de machine du tout, c'est une ligne à retirer — dites-le et je le fais avant l'install party.

Reste à trancher, plus tard

verif-disque.sh et alpi-fiche.sh --check rendent tous deux un verdict sur les disques. Le premier fait l'état des lieux (partitions, Windows, BitLocker) sans rien envoyer, le second archive la fiche. Le recouvrement n'est pas gênant pour samedi, mais les deux gagneraient sans doute à n'en faire qu'un.

bash -n passe sur les deux scripts, mkdocs build --strict aussi.

Suite de l'échange avec la session alpicache : le relevé de fiche matérielle, versionné ici plutôt que téléchargé et exécuté en root depuis le réseau. ### Ce que contient la PR - **`code/linux/linux-mint/alpi-fiche.sh`** — le relevé, repris tel quel de la session alpicache (366 lignes, éprouvé sur place), avec un en-tête réécrit. Trois modes : `--check` (session live, avec verdict), sans option (après installation), `--montrer` (affiche le JSON sans rien envoyer). - **`install.sh`** — l'appelle en tête de fichier, dans sa passe root, **et seulement s'il le trouve à côté de lui**. Une machine qui rejoue le script chez son propriétaire n'envoie donc rien. - **Le guide d'installation** — une section « Relever la fiche de la machine », à côté de l'état des lieux du disque. ### Pourquoi cette forme plutôt que la première La demande initiale était `wget http://alpicache.lan/alpi-fiche` puis `bash` en root. Deux objections : le script n'était ni versionné ni relu — ce qu'il enverrait dans trois mois ne dépendait plus de ce que le wiki publie — et rien n'authentifiait le nom `alpicache.lan` sur un autre réseau. Ces machines ne sont pas les nôtres. ### Le point qui demande votre avis L'en-tête du script affirmait « rien qui touche à la personne ». **C'est inexact**, et je l'ai corrigé plutôt que de le recopier : la fiche emporte - le **nom de la machine**, choisi pendant l'installation, qui contient souvent un prénom — notre propre guide suggère « portable-jean » ; - l'**adresse matérielle** de la carte réseau, qui identifie durablement l'appareil (elle sert ici à rapprocher la fiche du bail DHCP). Le reste est du matériel : modèle, série tronquée à quatre caractères, processeur, mémoire et connecteurs, disques et SMART, occupation des disques, système installé. J'ai nommé ces deux points dans le script et dans le guide, avec la consigne d'en informer la personne dont on installe la machine. Si vous préférez ne pas envoyer le nom de machine du tout, c'est une ligne à retirer — dites-le et je le fais avant l'install party. ### Reste à trancher, plus tard `verif-disque.sh` et `alpi-fiche.sh --check` rendent tous deux un verdict sur les disques. Le premier fait l'état des lieux (partitions, Windows, BitLocker) sans rien envoyer, le second archive la fiche. Le recouvrement n'est pas gênant pour samedi, mais les deux gagneraient sans doute à n'en faire qu'un. `bash -n` passe sur les deux scripts, `mkdocs build --strict` aussi.
Cédric A5L added 1 commit 2026-09-24 22:16:00 +02:00
La demande initiale faisait télécharger un script depuis alpicache et
l'exécuter en root sur la machine de chaque participant. Le relevé est
désormais versionné ici, relu comme le reste, et appelé localement : rien
n'est tiré du réseau, rien n'est exécuté sans avoir été publié.

Le script vient de la session alpicache, éprouvé sur place. Il relève le
modèle, le processeur, la mémoire et le détail de ses connecteurs, les
disques et leur état SMART, puis envoie la fiche au serveur de la salle.
Depuis une session live, il rend en plus un verdict — bon, avec réserves,
ou ne pas installer — que le bénévole peut opposer à un disque qui
faiblit pendant que la machine est encore là.

install.sh l'appelle en tête de fichier, dans sa passe root, et seulement
s'il le trouve à côté de lui : une machine qui rejoue le script chez son
propriétaire n'envoie rien à personne.

L'en-tête du relevé disait « rien qui touche à la personne ». C'était
inexact : la fiche emporte le nom de la machine — souvent un prénom — et
l'adresse matérielle de la carte réseau. Les deux sont maintenant
nommés, dans le script comme dans le guide, avec la consigne qui va
avec : le dire à la personne dont on installe l'ordinateur.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
Cédric A5L force-pushed fiche-materielle from 6f2b9cc0f0 to 3d6635fd52 2026-09-24 22:38:08 +02:00 Compare
Cédric A5L added 1 commit 2026-09-24 22:41:23 +02:00
La session alpicache a essayé le relevé sur une machine réelle et en a
tiré trois défauts, tous vérifiés là-bas :

Le verdict ne sortait qu'en session live. Relancé après installation, le
relevé ne disait donc rien de l'état des disques — précisément ce dont on
voulait parler au propriétaire pendant qu'il est encore là. Il sort
maintenant à tous les coups, sauf en mode --montrer.

Un disque mécanique n'était signalé qu'au-delà de cinq ans de marche, ce
qui laissait passer sans un mot un disque de trois ans — alors que c'est
le premier frein d'une machine par ailleurs correcte. Il se signale
désormais quel que soit son âge, qui est simplement rappelé.

Le verdict défilait sans que personne ne le lise : trois secondes quand
tout va bien, vingt avec des réserves, et il attend une touche — deux
minutes au plus — quand il dit de ne pas installer. Jamais indéfiniment,
ni du tout sans terminal : le script tourne aussi appelé par install.sh.

La détection de session live est reprise dans sa version, plus fine que
celle que j'avais faite : /cdrom et /rofs comptent de nouveau, mais
seulement montés, et pour /cdrom seulement avec un système de fichiers
de média. Un répertoire vide ne prouve plus rien.

Seul l'en-tête reste de moi : le script se prend dans ce dépôt, pas sur
le serveur.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
Cédric A5L added 1 commit 2026-09-24 22:56:17 +02:00
Sur une machine réelle, un HP 250 G4 affichait devant son propriétaire
« NE PAS INSTALLER EN L'ÉTAT — 976 secteurs en attente », et apparaissait
« sain » sur le tableau de bord. La fiche ne transportait que le compteur
de secteurs réalloués, nul sur ce disque, et le serveur rejugeait
là-dessus. Deux juges, deux verdicts, et c'est le rassurant qu'on lisait.

Le verdict part désormais avec la fiche — champs « verdict » et
« motifs », ces derniers débarrassés de leurs couleurs — et le serveur
les affiche sans rien recalculer. Un seul juge, celui qui a vu le disque.

Les trois compteurs SMART cessent d'être confondus : les secteurs
réalloués disent l'usure et se comptent, ceux en attente et les
illisibles disent une panne en cours, et un seul suffit à déclencher
l'alerte. Ce ne sont pas des secteurs fatigués mais des données que le
disque n'arrive plus à relire. Les deux nouveaux compteurs voyagent aussi
dans la fiche.

Le relevé se chronomètre enfin, sur la collecte seule : la pause du
verdict attend quelqu'un devant l'écran, la mesurer reviendrait à
chronométrer la personne.

Constat, correctifs et version de référence : session alpicache.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
Cédric A5L added 1 commit 2026-09-24 22:59:12 +02:00
install.sh n'appelle le relevé que s'il le trouve à côté de lui, et le
guide ne faisait télécharger qu'install.sh : dans le cas nominal, la
fiche n'aurait jamais été relevée.

Les deux fichiers se prennent maintenant ensemble, et un encadré dit
pourquoi — téléchargé seul, install.sh fonctionne, simplement sans
relevé.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
Cédric A5L merged commit 7818a39532 into main 2026-09-25 00:40:12 +02:00
Cédric A5L deleted branch fiche-materielle 2026-09-25 00:40:12 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: alpinux.cedrica5l/alpinux-wiki#12
No description provided.