Aller à l'article
Aniq-UI

SaaS Landing PageDépannage

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é

Ce que vous voyez
failed to connect to the docker API at unix:///…/docker.sock; check if the path is correct and if the daemon is running

Les 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é.

  1. 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.

  2. Vérifiez que Docker répond

    Terminal
    docker info

    Résultat attendu: Une section Server s'affiche au lieu d'une erreur.

  3. Relancez votre commande

    docker build -t saas-landing ., puis docker run -p 3030:3030 saas-landing.

Un port est déjà utilisé

Ce que vous voyez
ports are not available: exposing port TCP 0.0.0.0:3030 … bind: address already in use
Error: listen EADDRINUSE: address already in use :::3030

La 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.

  1. Trouvez ce qui occupe le port

    Sous macOS ou Linux :

    Terminal
    lsof -i :3030

    Sous Windows, dans PowerShell :

    Terminal
    netstat -ano | findstr :3030
  2. Arrêtez-le

    Fermez ce programme, ou arrêtez l'exécution précédente : Ctrl+C dans son terminal, ou docker stop avec l'identifiant du conteneur donné par docker ps. Puis relancez le site.

  3. Ou utilisez un autre port

    Gardez l'autre programme et démarrez le site sur un port libre, ici 3041 :

    Comment vous la lancezCommande
    Dockerdocker run -p 3041:3030 saas-landing
    Serveur de développementyarn dev -p 3041
    Build de productionyarn start -p 3041

    Avec Docker, changez uniquement le nombre à gauche de -p : dans le conteneur, le site écoute toujours sur 3030.

    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 build télécharge les polices Inter et Noto Sans Arabic depuis Google Fonts. Le message « Failed to fetch Inter from 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_URL n'est pas une adresse complète. Écrivez-la avec https://, comme https://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.
Terminaldans landing-page-template-2
docker 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

Ce que vous voyez
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.

Terminal
corepack enable

Puis 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 lancezAprès avoir modifié une valeur
yarn devModifiez-la dans .env.local, arrêtez le serveur et relancez yarn dev.
yarn build et yarn startModifiez-la dans .env.local, relancez yarn build, puis yarn start.
DockerReconstruisez l'image avec la valeur passée en --build-arg. Le build de l'image ignore .env et .env.local.
VercelModifiez-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.com et ont donc besoin d'une connexion internet, y compris sur l'ordinateur qui sert le site. Toutes les autres images sont dans public/.
  • 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.remotePatterns dans next.config.js, ou copiez l'image dans public/.
  • 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_URL est 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.

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.

Bloqué sur une étape ?

Trouvez une solution avant de tout recommencer.

Dépannage

Préférences des Cookies

Nous utilisons des cookies pour améliorer votre expérience de navigation, analyser le trafic du site et personnaliser le contenu. En cliquant sur "Accepter Tout", vous consentez à notre utilisation des cookies pour l'analyse et la publicité personnalisée.