Les rails
Les outils automatiques du plugin. Ce qui ne doit pas varier n'est pas confié à un modèle.
Cette section explique comment Alfred est fait. Elle est utile pour comprendre, pas nécessaire pour travailler. Si tu cherches comment faire quelque chose, tu es au mauvais endroit — va voir le parcours d'une fonctionnalité.
Ce qu'est un rail
Un petit programme qui fait toujours la même chose de la même façon. Il ne réfléchit pas, ne reformule pas, n'interprète pas. C'est précisément ce qui le rend fiable.
Chaque fois qu'une étape doit donner le même résultat à tous les coups — vérifier qu'un déploiement répond, ouvrir une demande de fusion, contrôler qu'un document est bien formé — c'est un rail qui s'en charge, jamais le modèle.
Pourquoi ça te concerne, même si tu ne les lances jamais : ça veut dire que les vérifications sur lesquelles tu t'appuies ne dépendent pas de l'humeur d'un modèle ce jour-là.
Les trois réponses possibles
Tous les rails répondent dans le même format, et surtout avec l'un de ces trois verdicts :
| Verdict | Ce que ça veut dire |
|---|---|
| pass | J'ai regardé, c'est bon. |
| fail | J'ai regardé, ce n'est pas bon. |
| undecided | Je n'ai pas pu regarder. |
« Je n'ai pas pu regarder » ne se confond jamais avec « j'ai regardé, c'est bon ». C'est le point le plus important de tout ce mécanisme.
Un rail qui ne trouve pas ce qu'il cherche le dit, plutôt que de laisser passer. Une recette sans aucun essai n'est pas une recette verte : c'est l'absence de preuve, pas la preuve de l'absence de défaut.
Les voir
/railsLa commande liste les rails existants, en les lisant au moment où tu la lances. Ajoute
--detail pour avoir en plus l'usage exact de chacun.
Elle ne modifie rien, ne configure rien, ne pose rien. Elle lit et affiche.
Cette page ne recopie pas la liste, et c'est délibéré. Une liste écrite ici serait périmée au
prochain rail ajouté, sans que personne ne s'en aperçoive. /rails dérive la sienne du dossier
réel : c'est la seule version qui ne peut pas mentir.
À l'écriture de cette page, il y en avait trente.
Deux familles
Les rails de la boucle tournent au fil du travail, appelés par les commandes. Tu ne les lances à la main que pour comprendre pourquoi quelque chose coince. Par exemple : la vérification après déploiement, l'ouverture de la demande de fusion, l'audit d'accessibilité, le rejeu des essais de recette.
Les rails d'opérateur se lancent une fois par machine ou par projet, ou pour mesurer. Par exemple : la préparation d'un poste, le câblage d'un projet, l'agrégation des mesures de session.
Ce qu'un rail ne fait pas
Il ne juge rien qui demande du jugement. Un rail détecte, mesure, vérifie. Décider ce qu'on fait du résultat reste soit à une commande, soit à toi.