Kilo Code piloté depuis n8n — le workflow qui génère un site – AutomationBoost
Workflow n8n · gratuit

Kilo Code piloté depuis n8n

3 nœuds · import en 2 minutes · SSH requis

Le pitch de la vidéo tient en une phrase : décrire un site, et le laisser se construire tout seul depuis n8n.

Voilà ce qu'il y a réellement derrière. Trois nœuds. Un webhook qui reçoit ta demande, une connexion SSH qui prépare le dossier, une seconde qui lance Kilo Code dans ton conteneur avec un prompt de construction complet. Le workflow ne fabrique pas le site : il pilote l'outil qui le fabrique. Toute la valeur est dans le prompt — il est en entier plus bas, tu peux le réutiliser même sans n8n.

À lire avant de te lancer

Ce workflow n'est pas du prêt-à-cliquer. Il suppose que tu as déjà un serveur à toi, joignable en SSH, avec un conteneur dans lequel la commande kilo est installée. Si tu n'as pas ça, les trois nœuds ne te serviront à rien — commence par monter le conteneur, le workflow viendra après.

Ce qu'il fait, nœud par nœud

Ce ne sont pas des étapes idéales : c'est le contenu réel du fichier que tu vas copier plus bas.

  1. Webhook — reçoit la demande — un webhook en POST. Il attend quatre champs dans le corps de la requête : container (le nom de ton conteneur), folderName (le dossier où écrire le site), prompt (ce que tu veux) et sourceUrl (un site dont s'inspirer).
  2. SSH — prépare le dossier — une commande SSH qui exécute, dans le conteneur, un mkdir -p sur /app/<folderName> puis fixe le propriétaire et les droits en 755. Sans cette étape, l'outil n'a pas le droit d'écrire.
  3. SSH — lance Kilo Code — la commande kilo run --auto, à qui on passe le long prompt de construction. C'est le seul nœud qui travaille vraiment.

Les trois sont enchaînés en ligne droite : webhook → préparation → génération. Pas de branche, pas de condition, pas de reprise sur erreur. Si Kilo échoue, le workflow se termine quand même — c'est la première chose que tu voudras ajouter.

Le prompt de construction

C'est le cœur du système, et il marche aussi collé à la main dans n'importe quel agent de code. Il est écrit en instructions courtes et en contraintes négatives — c'est ce qui l'empêche de rendre une page à moitié vide.

Prompt — site complet en une passe
Créer un site web complet.
Utilise le skill frontend-design pour créer le site dans /app/<dossier>

Tâches :
- Analyser le site source pour récupérer le logo, les images, les couleurs et la structure
- Télécharger et optimiser les images (compression + format web)
- Recréer un design similaire (sans copier)
- Générer un site moderne, responsive et rapide
- Créer un dossier assets
- Et créer le fichier index.html en dernier

Structure attendue :
- /index.html
- /assets/images
- /assets/css
- /assets/js

Contenu :
- Créer une homepage complète (hero, sections, CTA, footer)
- Générer un contenu pertinent basé sur les instructions

Optimisation :
- SEO de base (title, meta description, H1-H3)
- Images en lazy loading
- Code propre et prêt pour production

Contraintes :
- Aucun contenu vide
- Aucun lien cassé
- Toutes les images doivent fonctionner
- Site directement déployable

Details site :
<ta description>
Source :
<url d'inspiration>

Deux détails qui font la différence, et qui ne sont pas là par hasard : « créer le fichier index.html en dernier » — pour que la page se construise une fois que les assets existent, pas l'inverse. Et « recréer un design similaire (sans copier) » — la source sert de référence de style, pas de modèle à dupliquer.

Comment l'installer

  1. Copie le bloc du workflow plus bas avec le bouton.
  2. Dans n8n : Workflows → Import from clipboard → colle → Import.
  3. Ouvre les deux nœuds SSH et choisis tes accès (authentification par clé privée). Le fichier n'en contient aucun — c'est voulu, un workflow ne doit jamais transporter les identifiants de quelqu'un d'autre.
  4. Active le workflow et récupère l'URL du webhook. Le chemin est kilo-site : change-le si tu préfères.
  5. Envoie-lui une requête POST avec les quatre champs :
{ "container": "nom-de-ton-conteneur", "folderName": "mon-nouveau-site", "prompt": "Un site vitrine pour un salon de coiffure, trois sections, prise de rendez-vous", "sourceUrl": "https://exemple-dont-je-veux-le-style.com" }
Le point d'honnêteté

« Zéro abonnement » mérite une nuance. Ce workflow n'ajoute aucun abonnement de son côté, c'est vrai. Mais Kilo Code appelle un modèle, et ce modèle-là se paie — sauf si tu le branches sur un palier gratuit ou sur un modèle que tu héberges. La dépense ne disparaît pas : elle change de place. Vérifie ce que te coûte le fournisseur que tu branches avant d'annoncer une économie.

Le workflow, en entier

[KILO] Créer un site avec Kilo Code depuis n8n
{
  "name": "[KILO] Créer un site avec Kilo Code depuis n8n",
  "nodes": [
    {
      "id": "c73a8f2f-15f7-4854-ab90-cbc5e973e93b",
      "name": "SSH — lance Kilo Code",
      "type": "n8n-nodes-base.ssh",
      "typeVersion": 1,
      "position": [
        32,
        288
      ],
      "parameters": {
        "authentication": "privateKey",
        "command": "=docker exec -i {{ $('Webhook').item.json.body.container }} kilo run  --auto   \\\n' Créer un site web complet qui Utilise le skill frontend-design pour créer le site dans /app/{{ $('Webhook').item.json.body.folderName }}\nTâches :\n- Analyser le site source pour récupérer le logo, les images, les couleurs et la structure\n- Télécharger et optimiser les images (compression + format web)\n- Recréer un design similaire (sans copier)\n- Générer un site moderne, responsive et rapide\n- creer un dossier assets \n-Et creer le fichier index.html en dernier \n\nStructure attendue :\n- /index.html\n- /assets/images\n- /assets/css\n- /assets/js\n\nContenu :\n- Créer une homepage complète (hero, sections, CTA, footer)\n- Générer un contenu pertinent basé sur les instructions\n\nOptimisation :\n- SEO de base (title, meta description, H1-H3)\n- Images en lazy loading\n- Code propre et prêt pour production\n\nContraintes :\n- Aucun contenu vide\n- Aucun lien cassé\n- Toutes les images doivent fonctionner\n- Site directement déployable\n\nDetails site :\n{{ $('Webhook').item.json.body.prompt }}\nSource :\n{{ $('Webhook').item.json.body.sourceUrl }}\n\n\n\n'\n"
      }
    },
    {
      "id": "61827abe-c7d4-4b06-8764-a33d2757e104",
      "name": "SSH — prépare le dossier",
      "type": "n8n-nodes-base.ssh",
      "typeVersion": 1,
      "position": [
        -176,
        288
      ],
      "parameters": {
        "authentication": "privateKey",
        "command": "=docker exec -i {{ $json.body.container }} \\\n  sh -c \"mkdir -p /app/{{ $json.body.folderName }} && chown -R root  /app/{{ $json.body.folderName }} && chmod 755  /app/{{ $json.body.folderName }}\"\n"
      }
    },
    {
      "id": "720344c3-ea28-452e-a468-8022efa75ed2",
      "name": "Webhook — reçoit la demande",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        -400,
        288
      ],
      "parameters": {
        "httpMethod": "POST",
        "path": "kilo-site",
        "options": {}
      }
    }
  ],
  "connections": {
    "SSH — prépare le dossier": {
      "main": [
        [
          {
            "node": "SSH — lance Kilo Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook — reçoit la demande": {
      "main": [
        [
          {
            "node": "SSH — prépare le dossier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  },
  "pinData": {}
}

KILO | TONY PAYET / AUTOMATION BOOST | 2026

← Toutes les ressources