# Déployer une app dans un monorepo

Ton site peut vivre dans un sous-dossier, comme `apps/web` ou `site/`, dans un dépôt qui contient d’autres applications. Indique à Host le dossier racine du projet : c’est là que le build s’exécute.

**Résultat attendu** : le build s’exécute depuis le dossier de ton app, et seule cette app est publiée.

## Détection à l’import

À l’import GitHub, Host lit tout le dépôt et cherche les dossiers qui contiennent un `package.json`, jusqu’à quatre niveaux de profondeur. Il préfère, dans l’ordre :

1. un framework reconnu ;
2. un dossier qui a un script `build` ;
3. un nom usuel : `web`, `site`, `www`, `frontend`, `app`, `landing`, `marketing` ;
4. le dossier le moins profond.

La racine d’un monorepo, avec un champ `workspaces`, un `pnpm-workspace.yaml`, un `turbo.json` ou un `nx.json`, n’est jamais choisie seule. Si le dépôt contient plusieurs applications, choisis celle à déployer. Les dossiers `node_modules`, `dist`, `build` et les caches sont ignorés.

Pour changer le dossier après l’import, modifie le **dossier racine** dans les réglages du projet.

## Le fichier de verrouillage

Dans un monorepo, le fichier de verrouillage, comme `pnpm-lock.yaml` ou `bun.lock`, est souvent à la racine. Il compte pour toutes les applications : la commande d’installation suit le gestionnaire qu’il désigne.

## Plusieurs sites dans un dépôt

Importe le dépôt une fois par site, en choisissant à chaque fois un dossier différent. Chaque projet a ses domaines, ses variables et son historique.

## Avec la CLI

Lance la CLI depuis le dossier de l’app :

```bash
cd apps/web
vercel --api https://api.host.hgdc.ch deploy
```

Avec `vercel build` et `--prebuilt`, la même règle s’applique : construis depuis le dossier de l’app. Voir [Déployer un framework](/docs/guides/deployer-un-framework/).

## Si ça ne marche pas

- Le build ne trouve pas tes dépendances : ton dossier est sans doute le mauvais. Vérifie que le dossier racine contient le `package.json` de l’app, et que le fichier de verrouillage est bien à la racine du dépôt.
- Host propose la racine du monorepo : choisis le dossier de l’application, pas la racine.
