# Dépannage

Ce guide liste les problèmes fréquents, classés par symptôme. Chaque section donne les causes probables, dans l’ordre où les vérifier.

Si rien ne correspond, écris à <support@hgdc.ch> avec l’adresse du déploiement concerné.

## La CLI renvoie 403

La clé est absente, mal copiée, révoquée, ou elle appartient à une organisation qui n’existe plus.

- Vérifie qu’elle commence par `ah_` et qu’elle est passée par `VERCEL_TOKEN` ou `--token`.
- Vérifie qu’elle n’a pas été révoquée dans **Clés actives**. Une clé cesse aussi de fonctionner quand la personne qui l’a créée quitte l’organisation.
- Vérifie que `--api https://api.host.hgdc.ch` est présent. Sans lui, la CLI parle à Vercel, pas à Host.

Le message « Cette clé est limitée à un autre projet » signifie que tu utilises la clé posée dans un dépôt pour un autre projet. Crée une clé d’organisation, voir [Créer et révoquer une clé d’API](/docs/guides/cle-d-api/).

## La CLI affiche missing_files

C’est normal : Host demande les fichiers qu’il n’a pas encore, la CLI les envoie puis rappelle l’API. Si l’erreur persiste, un fichier n’a pas pu partir : il dépasse 20 Mo, ou le réseau a coupé. Relance le déploiement.

## vercel login ne fonctionne pas

C’est voulu : la connexion passe toujours par une clé d’API. Exporte la clé dans `VERCEL_TOKEN`, puis lance la commande avec `--api`, voir [Configurer la CLI](/docs/reference/cli/#configurer-la-cli).

## Le build GitHub est absent

Un push ne déclenche aucun build dans Host.

- La pull request d’installation est-elle fusionnée sur la branche poussée ? Le fichier `.github/workflows/hgdc-host.yml` doit exister sur cette branche.
- Ouvre l’onglet **Actions** du dépôt : le run y apparaît, avec son erreur.
- Le secret `HGDC_HOST_TOKEN` manque ou a été supprimé. Débranche le dépôt, puis relie-le pour poser un nouveau secret.
- Le projet a été importé avant une évolution du workflow. Utilise **Mettre à jour le workflow** dans l’onglet **Git**.

## Mon site affiche 404

- Le dossier envoyé n’a pas d’`index.html` à sa racine, ou le dossier de sortie configuré est faux. Voir [Déployer un site statique](/docs/guides/site-statique/).
- La page est rendue à la demande, et l’exécution des fonctions n’est pas encore ouverte à ton organisation : la page répond alors `501`. Pré-rends-la, ou consulte [Préversion](/docs/concepts/preversion/).
- Sans `cleanUrls`, `/a-propos` ne trouve pas `a-propos.html`. Ajoute `"cleanUrls": true` à `vercel.json`.
- La page de déploiement liste les fichiers et les fonctions ignorés à la publication, avec un avertissement. Vérifie-la.

## Mon domaine reste en attente

- Vérifie le nom du TXT : `_agenthost.` suivi de ton domaine, pas `_agenthost` seul. Certains hébergeurs ajoutent le domaine tout seul : saisis alors seulement `_agenthost.www` pour `www.exemple.ch`.
- Pour un domaine racine, il faut un enregistrement A, pas un CNAME.
- Un ancien enregistrement A ou AAAA vers un autre hébergeur peut masquer le nouveau : supprime-le.
- La propagation peut prendre quelques heures. Clique **Vérifier**, ou attends la vérification automatique, toutes les 15 minutes.

Tu peux contrôler les enregistrements depuis un terminal :

```bash
dig +short TXT _agenthost.www.exemple.ch
dig +short CNAME www.exemple.ch
```

Voir [Brancher un domaine](/docs/guides/brancher-un-domaine/).

## Ma variable sensible n’apparaît pas dans vercel pull

C’est voulu : une variable sensible ne part que vers le build du dépôt, par la clé limitée au projet. Depuis ton poste, utilise une valeur de développement, dans une variable non sensible visant l’environnement Développement. Voir [Variables d’environnement](/docs/guides/variables-d-environnement/).

## Une fonction répond 501

Le rendu à la demande, les routes d’API et les Server Actions sont en préversion. L’exécution est ouverte organisation par organisation. Les pages statiques et pré-rendues de ton site restent en ligne. Voir [Préversion](/docs/concepts/preversion/).

## Le build échoue

- Ouvre le déploiement : la sortie du build est affichée, avec la première erreur. Voir [Lire les logs](/docs/guides/lire-les-logs/).
- Reproduis le build sur ton poste avec `vercel build`, puis vérifie que la version de Node.js du projet correspond à celle de ton poste.
- Une variable manque au build : ajoute-la à l’environnement visé, voir [Variables d’environnement](/docs/guides/variables-d-environnement/).
