En fait y a les deux extrêmes, d'un côté on voit les docs qui disent
    faut factoriser à fond pour pouvoir réutiliser au maximum en
    changeant juste quelques variables et d'un autre la doc officielle
    qui montre en exemple un simple listing d'actions à faire sans
    prendre en compte différentes versions de Debian ou les adaptations
    nécessaires vis à vis d'Ubuntu.
    Les exemples de la doc sont effectivement simple et permettent de
    rapidement mettre en place des actions mais est ce le bon exemple,
    je n'en suis pas convaincu quand je vois le travail de debops qui là
    à mon goût est peu flexible si je veux changer une façon de faire
    sans forker leur git.
Pour moi la stratégie est la suivante : faire le script pour la/les machines cibles, et quand de nouvelles machines avec des distros/versions différentes apparaissent, je rajoute des conditions pour faire des actions appropriées en fonction de.
Idem pour la factorisation, à part certains trucs que tu sais qu'il faut ranger dans des variables (comptes user/mot de passe, tokens/endpoints d'API externes, ...), il vaut mieux rajouter des variables au fur et à mesure de l'émergeance d'un besoin de généricité. Le script parfaitement générique n'existe pas :)