## Initialiser un projet Dans le dossier de votre application Laravel : ```sh kennhosting init ``` Le wizard détecte vos services, vous fait choisir le domaine, et génère un fichier `.kennhosting.yml` (sans secrets — à committer). Exemple : ```yaml project: mon-app environments: production: service_uuid: "..." domain: "app.example.com" branch: "main" build: type: laravel php: "8.4" run_migrations: true assets: enabled: true command: "npm run build" output_dir: "public/build" hooks: pre_deploy: [] post_deploy: [] ``` Seul `build.type: laravel` est supporté pour le moment. Les builds `react` / `static` sont refusés explicitement. ## Premier déploiement ```sh kennhosting deploy setup ``` Clone le dépôt sur le serveur et prépare le docroot. ## Déploiements suivants ```sh kennhosting deploy ``` Options utiles : | Flag | Effet | |---|---| | `-y` / `--yes` | Pas de confirmation (CI) | | `--plain` | Sortie texte (pas de TUI) | | `--skip-hooks` | Ignore pre/post deploy | | `-e production` | Environnement cible | En CI (variable `CI` ou pas de TTY), le CLI bascule automatiquement en mode texte. ## Assets frontend Si `build.assets.enabled` est `true`, le CLI : 1. Exécute la commande de build en local 2. Vérifie `output_dir` (ex. `public/build`) 3. Upload les artefacts après `git pull` sur le serveur Indispensable si `public/build` est gitignoré. ## Tableau de bord TUI Lancé sans argument dans un terminal interactif, `kennhosting` ouvre une TUI (services, déploiement, historique). ## Dépannage rapide - **Token refusé** : vérifiez le scope `cli:deploy` sur [Espace développeur](https://kennhosting.com/client/developer) - **Domaine introuvable** : le domaine doit être attaché au service dans le panel - **Build assets échoue** : testez `npm run build` localement avant `kennhosting deploy`