--- alwaysApply: true --- # Automatisation SSH et scripts [portée] Création, usage et vérification du dossier scripts/ et de ses trois scripts standards liés aux opérations SSH et CI. [objectifs] - Garantir la présence de scripts/ avec auto-ssh-push.sh, init-ssh-env.sh, setup-ssh-ci.sh. - Encadrer l’usage de ces scripts (locaux et CI), la sécurité, l’idempotence et la traçabilité. - Documenter toute mise à jour dans docs/SSH_UPDATE.md et CHANGELOG.md. [directives] - Créer et maintenir `scripts/auto-ssh-push.sh`, `scripts/init-ssh-env.sh`, `scripts/setup-ssh-ci.sh`. - Exiger permissions d’exécution adaptées sur scripts/ (exécution locale et CI). - Interdire le stockage de clés privées ou secrets en clair dans le dépôt. - Utiliser des variables d’environnement et secrets CI pour toute donnée sensible. - Rendre chaque script idempotent et verbosable ; produire un code de sortie non-zéro en cas d’échec. - Tracer les opérations : consigner un résumé dans docs/SSH_UPDATE.md (objectif, variables requises, effets, points d’échec). - Ajouter un contrôle automatique dans la CI pour vérifier l’existence et l’exécutabilité de ces scripts. [validations] - Échec bloquant si un des trois scripts manque ou n’est pas exécutable. - Échec bloquant si docs/SSH_UPDATE.md n’est pas mis à jour lors d’une modification de scripts. - Échec bloquant si un secret attendu n’est pas fourni en CI. [artefacts concernés] - scripts/**, docs/SSH_UPDATE.md, .gitea/workflows/ci.yml, CHANGELOG.md, docs/CONFIGURATION.md. # Automatisation SSH et scripts [portée] Création, usage et vérification du dossier scripts/ et de ses trois scripts standards liés aux opérations SSH et CI. [objectifs] - Garantir la présence de scripts/ avec auto-ssh-push.sh, init-ssh-env.sh, setup-ssh-ci.sh. - Encadrer l’usage de ces scripts (locaux et CI), la sécurité, l’idempotence et la traçabilité. - Documenter toute mise à jour dans docs/SSH_UPDATE.md et CHANGELOG.md. [directives] - Créer et maintenir `scripts/auto-ssh-push.sh`, `scripts/init-ssh-env.sh`, `scripts/setup-ssh-ci.sh`. - Exiger permissions d’exécution adaptées sur scripts/ (exécution locale et CI). - Interdire le stockage de clés privées ou secrets en clair dans le dépôt. - Utiliser des variables d’environnement et secrets CI pour toute donnée sensible. - Rendre chaque script idempotent et verbosable ; produire un code de sortie non-zéro en cas d’échec. - Tracer les opérations : consigner un résumé dans docs/SSH_UPDATE.md (objectif, variables requises, effets, points d’échec). - Ajouter un contrôle automatique dans la CI pour vérifier l’existence et l’exécutabilité de ces scripts. [validations] - Échec bloquant si un des trois scripts manque ou n’est pas exécutable. - Échec bloquant si docs/SSH_UPDATE.md n’est pas mis à jour lors d’une modification de scripts. - Échec bloquant si un secret attendu n’est pas fourni en CI. [artefacts concernés] - scripts/**, docs/SSH_UPDATE.md, .gitea/workflows/ci.yml, CHANGELOG.md, docs/CONFIGURATION.md.