Ce que fait ce générateur
Un workflow GitHub Actions est un fichier YAML qui dit à GitHub quoi faire quand quelque chose arrive dans votre repo : lancer les tests à chaque push, builder une image Docker à chaque tag, déployer à chaque merge vers main. La syntaxe est simple en théorie et pleine de petits pièges en pratique : l'indentation compte, la clé `on` est mal lue comme le booléen `true` en YAML 1.1, les matrices utilisent la notation crochets, `needs` accepte une string ou une liste. Un espace raté et tout le workflow refuse de tourner.
Ce générateur écrit ce fichier pour vous. Choisissez un preset (Node CI, Docker build and push, Vercel deploy, matrice pytest, site statique vers Pages), éditez les triggers et jobs dans des formulaires simples, et le panneau de droite montre le YAML exact que vous pouvez mettre dans `.github/workflows/ci.yml`. Chaque option a une astuce en clair et la validation flague les noms manquants, les triggers vides, et les mauvaises références de job.
Tout tourne dans votre navigateur. Pas d'upload, pas de compte, aucun vrai workflow n'est démarré ici. La sortie est le même texte que vous écririez à la main, juste sans les fautes de frappe.
Mode d'emploi
- Choisissez un preset en haut : Node.js CI, Docker build and push, Vercel deploy, matrice pytest, site statique vers Pages. Le formulaire remplit des défauts sensés.
- Réglez le nom du workflow (apparaît dans l'onglet Actions) et permissions optionnelles comme paires `KEY=value`.
- Basculez les triggers : push (avec liste de branches), pull_request (avec liste de branches), schedule (expression cron), workflow_dispatch (run manuel depuis l'UI).
- Ajoutez des jobs dans les onglets. Pour chaque job réglez : un id unique (utilisé par `needs:` et l'URL), un nom d'affichage, le runner, needs optionnels, et env niveau job.
- Activez la matrice si vous voulez fan-outer sur les versions Node, OS, ou n'importe quel axe. Ajoutez des lignes `key=value1, value2, ...`.
- Ajoutez des steps dans l'ordre. Chaque step est soit un script shell (`run:`) soit une action réutilisée (`uses:`). Les actions courantes sont à un clic : checkout, setup-node, cache, upload-artifact, docker buildx.
- Cliquez sur Copier dans le panneau d'aperçu, ou Télécharger pour sauvegarder comme `ci.yml`, puis commitez dans `.github/workflows/ci.yml` dans votre repo. GitHub le prend automatiquement et le prochain push le déclenche.
Quand cet outil est utile
Sept situations concrètes où un générateur GitHub Actions fait gagner du vrai temps :
- Premier workflow dans un nouveau repo. Ouvrez le générateur, choisissez "Node.js CI", changez le script de test, copiez, commitez. Fini en deux minutes au lieu de pêcher dans la doc la bonne syntaxe.
- Tests matrice sur plusieurs versions Node ou Python. La syntaxe matrice est délicate (`fail-fast`, crochets vs listes). Le générateur l'écrit correctement et l'aperçu vous montre exactement ce qui tourne.
- Build et push Docker vers GHCR ou Docker Hub. L'`docker/build-push-action` officielle a besoin de quelques clés `with:` dans le bon ordre. Choisissez le preset, changez le tag, livrez.
- Déployer un site Next.js / Vite / Astro vers Vercel ou GitHub Pages. Les deux flows ont une séquence bien connue : checkout, install, build, deploy. Le générateur encode la séquence et vous remplissez juste les noms de secrets.
- Jobs planifiés : backups nocturnes, nettoyages hebdomadaires, rapports mensuels. Activez `schedule:`, collez une expression cron, le reste c'est pareil que n'importe quel autre job.
- Workflows manuels déclenchés par un bouton (`workflow_dispatch`). Un toggle et le workflow apparaît sous le bouton "Run workflow" dans l'onglet Actions.
- Pipelines multi-jobs avec dépendances : build puis deploy, build puis test puis deploy. L'UI pastilles pour `needs:` rend l'ordre évident.