Dépannage
Les erreurs que vous pouvez rencontrer en installant ou en publiant le site, 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 agency-portfolio ., puisdocker run -p 3030:3030 agency-portfolio.
Un port est déjà utilisé
Bind for 0.0.0.0:3030 failed: port is already allocated
ports are not available: exposing port TCP 0.0.0.0:3030 … bind: address already in use
Error: listen EADDRINUSE: address already in use :::3030Les deux premières lignes viennent de docker run, la dernière de yarn dev ou yarn start. Un autre programme écoute déjà sur le port 3030 : souvent une exécution précédente du 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 :3030Un conteneur précédent apparaît dans
docker ps.Arrê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. Puis redémarrez le site.Ou lancez le site sur un autre port
Avec Docker, changez le nombre à gauche de
-p. Le nombre à droite reste3030: c'est le port à l'intérieur du conteneur.Terminaldanslanding-page-template-1docker run -p 3041:3030 agency-portfolioSans Docker, passez le port au script :
Terminaldanslanding-page-template-1yarn dev -p 3041Pour un build de production,
yarn start -p 3041.Résultat attendu: Le site répond sur localhost:3041Local.
Le build Docker échoue
Le premier build télécharge l'image de base Node.js et toutes les dépendances, puis fait le build du site. Il s'arrête avec « failed to solve » et l'étape en échec quand quelque chose bloque.
- Pas de connexion ou délai dépassé : le build a besoin d'un accès à internet. Relancez la commande une fois en ligne ; les étapes terminées sont en cache.
- No space left on device : libérez de l'espace dans Docker Desktop, ou vérifiez ce que Docker occupe avec
docker system df. - Il échoue toujours à la même étape : refaites le build sans le cache.
landing-page-template-1docker build --no-cache -t agency-portfolio .Le dossier ne correspond pas
failed to read dockerfile: open Dockerfile: no such file or directoryLa commande a été lancée hors du dossier du template. Le ZIP contient un seul dossier, landing-page-template-1, avec le Dockerfile à sa racine. Certains navigateurs décompressent le téléchargement d'eux-mêmes : le dossier est alors déjà dans vos téléchargements.
cd landing-page-template-1
lsls (ou dir sous Windows) affiche Dockerfile, package.json, messages, public et src. Lancez les commandes depuis cet endroit.
Yarn indique la version 1.22
This project's package.json defines "packageManager": "yarn@4…". 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 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.
Un réglage modifié n'a aucun effet
NEXT_PUBLIC_SITE_URL et NEXT_PUBLIC_API_BASE_URL sont inscrits dans le site au moment du build. Un build en marche garde les valeurs avec lesquelles il a été construit.
- Sans Docker : placez-les dans
.env.localdans le dossier du projet, pas dans.env.example. Redémarrezyarn dev, ou relancezyarn buildavantyarn start. - Avec Docker : passez-les avec
--build-argàdocker buildet refaites le build.docker run -ene les change pas. - Sur Vercel ou un autre hébergeur : modifiez la variable, puis redéployez.
Les liens partagés et les aperçus pointent vers localhost
Le lien canonique, les liens de langue ou une carte d'aperçu affichent http://localhost:3030. Le site a été construit sans NEXT_PUBLIC_SITE_URL, qui revient alors à cette adresse. Donnez-lui votre adresse publique, par exemple https://www.your-domain.com, et refaites le build.
Le formulaire de contact
- Il indique que le message est envoyé, mais rien n'arrive :
NEXT_PUBLIC_API_BASE_URLest vide, donc le formulaire affiche seulement son message de réussite et n'envoie rien. Donnez-lui l'adresse de votre API et refaites le build. - Il affiche « Something went wrong. Please try again. » : la requête vers le chemin
/contactde votre API a échoué. Les outils de développement du navigateur en donnent la raison dans l'onglet Réseau : l'API est injoignable, le chemin n'existe pas, elle a répondu par une erreur, ou elle n'accepte pas les requêtes venant de l'adresse de votre site (CORS).
Le site s'ouvre en arabe
Une adresse sans langue, comme /, suit la langue du navigateur : un navigateur réglé en arabe obtient donc /ar. Dans une même session du navigateur, elle revient aussi à la dernière langue ouverte, gardée dans un cookie NEXT_LOCALE. Ouvrez /en pour l'anglais, ou utilisez le sélecteur de langue dans la barre de navigation.
Le pointeur de la souris disparaît
C'est le curseur propre à la page : sur les écrans de 768 pixels de large et plus, il masque le pointeur du système et dessine à la place un point et un anneau. Pour garder le pointeur normal, voyez le curseur personnalisé.
yarn lint avertit que next lint est obsolète
L'avertissement vient de Next.js 15.5 lui-même. yarn lint lance toujours ESLint sur le code et affiche ses résultats comme d'habitude.