Dépannage
Les erreurs que vous pouvez rencontrer en installant ou en construisant la landing page, leur cause et comment les corriger.
Docker n'est pas lancé
failed to connect to the docker API at unix:///…/docker.sock; check if the path is correct and if the daemon is runningLes anciennes versions de Docker affichent plutôt « Cannot connect to the Docker daemon ». Dans les deux cas, le moteur Docker n'est pas démarré.
Ouvrez Docker Desktop
Lancez Docker Desktop et attendez qu'il indique que le moteur est en marche. Sous Linux, démarrez le service :
sudo systemctl start docker.Vérifiez que Docker répond
Terminaldocker infoRésultat attendu: Une section Server s'affiche au lieu d'une erreur.
Relancez votre commande
docker build -t saas-landing ., puisdocker run -p 3030:3030 saas-landing.
Un port est déjà utilisé
ports are not available: exposing port TCP 0.0.0.0:3030 … bind: address already in use
Error: listen EADDRINUSE: address already in use :::3030La première ligne vient de Docker, la seconde de yarn dev ou yarn start. Un autre programme écoute déjà sur le port 3030 : souvent une exécution précédente de ce site, ou le serveur de développement d'un autre projet.
Trouvez ce qui occupe le port
Sous macOS ou Linux :
Terminallsof -i :3030Sous Windows, dans PowerShell :
Terminalnetstat -ano | findstr :3030Arrêtez-le
Fermez ce programme, ou arrêtez l'exécution précédente : Ctrl+C dans son terminal, ou
docker stopavec l'identifiant du conteneur donné pardocker ps. Puis relancez le site.Ou utilisez un autre port
Gardez l'autre programme et démarrez le site sur un port libre, ici
3041:Comment vous la lancez Commande Docker docker run -p 3041:3030 saas-landingServeur de développement yarn dev -p 3041Build de production yarn start -p 3041Avec Docker, changez uniquement le nombre à gauche de
-p: dans le conteneur, le site écoute toujours sur3030.Résultat attendu: Le site répond sur localhost:3041Local.
Le build échoue
docker build s'arrête avec « failed to solve » et l'étape qui a échoué ; yarn build s'arrête avec l'erreur elle-même. Les causes habituelles :
- Pas de connexion ou délai dépassé : le build télécharge les dépendances, et
next buildtélécharge les polices Inter et Noto Sans Arabic depuis Google Fonts. Le message « Failed to fetchInterfrom Google Fonts » signifie que le build n'a pas pu les atteindre. Relancez la commande une fois en ligne ; avec Docker, les étapes terminées sont en cache. - `Invalid URL` :
NEXT_PUBLIC_SITE_URLn'est pas une adresse complète. Écrivez-la avechttps://, commehttps://www.your-domain.com. - No space left on device : libérez de l'espace dans Docker Desktop, ou vérifiez ce que Docker occupe avec
docker system df. - L'échec survient toujours à la même étape : reconstruisez sans le cache.
landing-page-template-2docker build --no-cache -t saas-landing .Sans Docker, supprimez les dossiers node_modules et .next, puis relancez yarn install et yarn build.
Yarn indique la version 1.22
This project's package.json defines "packageManager": "yarn@4.8.1…". However the current global version of Yarn is 1.22…Le projet fixe Yarn 4 via Corepack. Ce message signifie que Corepack n'est pas encore activé, et que c'est donc l'ancien Yarn global qui a répondu.
corepack enablePuis relancez yarn install. Si votre Node.js n'a pas Corepack, installez-le d'abord avec npm install -g corepack. Si yarn est introuvable, la même commande règle le problème.
Un paramètre modifié n'a aucun effet
NEXT_PUBLIC_SITE_URL et NEXT_PUBLIC_API_BASE_URL sont compilés dans la page au moment du build. Les modifier ne change rien tant que le site n'est pas reconstruit.
| Comment vous la lancez | Après avoir modifié une valeur |
|---|---|
yarn dev | Modifiez-la dans .env.local, arrêtez le serveur et relancez yarn dev. |
yarn build et yarn start | Modifiez-la dans .env.local, relancez yarn build, puis yarn start. |
| Docker | Reconstruisez l'image avec la valeur passée en --build-arg. Le build de l'image ignore .env et .env.local. |
| Vercel | Modifiez-la dans les Environment Variables du projet et redéployez. |
Des images manquent
- Les photos des témoignages et les images des cartes du blog sont vides : elles se chargent depuis
images.unsplash.comet ont donc besoin d'une connexion internet, y compris sur l'ordinateur qui sert le site. Toutes les autres images sont danspublic/. - Une erreur indique qu'un nom d'hôte « is not configured under images in your `next.config.js` » : vous avez utilisé une image d'un site web qui n'est pas encore autorisé. Ajoutez son hôte à
images.remotePatternsdansnext.config.js, ou copiez l'image danspublic/. - Une nouvelle image dans `public/` ne s'affiche pas : son chemin dans le code part de la racine du site, sans
public, comme/images/your-photo.jpg. Avec Docker, reconstruisez l'image.
Le formulaire de newsletter n'affiche que son message d'erreur
La section newsletter n'est pas sur la page par défaut. Une fois que vous l'avez ajoutée, le formulaire affiche son message d'erreur quand :
NEXT_PUBLIC_API_BASE_URLest vide. Le formulaire n'envoie rien tant que la variable n'est pas définie et que le site n'est pas reconstruit.- Votre API répond par une erreur, ou ne répond pas sur
<NEXT_PUBLIC_API_BASE_URL>/newsletter/subscribe. - Votre API n'autorise pas l'adresse du site dans ses paramètres CORS. La console du navigateur affiche alors une erreur CORS.
La page s'ouvre en arabe
Ouvrir / envoie le visiteur vers /ar quand le navigateur préfère l'arabe, et vers /en sinon. Cliquez sur le bouton de langue dans l'en-tête, ou ouvrez directement /en. Pour toujours commencer en anglais, quelle que soit la préférence du navigateur, ajoutez localeDetection: false à côté de locales dans src/i18n/routing.ts.
Un bouton ou un lien ne fait rien
Les liens du menu et du pied de page pointent vers #, et les boutons Get Started, Start Free Trial, Book a Demo et ceux des tarifs n'ont pas encore de destination. C'est voulu : à vous de les faire pointer vers votre page d'inscription, votre documentation ou votre page de contact.
Le dossier ne correspond pas
Exécutez les commandes dans le dossier où le ZIP s'extrait, landing-page-template-2. Il contient Dockerfile, package.json, yarn.lock, messages, public et src. Si la commande unzip manque, extrayez le ZIP avec votre gestionnaire de fichiers ; certains outils ajoutent un dossier supplémentaire portant le nom du ZIP : entrez alors dans le dossier intérieur.