# Résolution des problèmes d'accès à l'API ## Problème : `net::ERR_NAME_NOT_RESOLVED` Si vous rencontrez l'erreur `net::ERR_NAME_NOT_RESOLVED` lors de l'accès à l'API, cela signifie que le navigateur ne peut pas résoudre le nom de domaine `api.ditesleenchanson.fr`. ### Causes possibles 1. **Le domaine n'existe pas encore** - Le sous-domaine `api.ditesleenchanson.fr` n'a pas été créé dans votre gestionnaire DNS 2. **Le domaine n'est pas configuré correctement** - Les enregistrements DNS ne pointent pas vers le bon serveur - Le DNS n'a pas encore propagé les changements (peut prendre jusqu'à 48h) 3. **Problème de configuration locale** - La variable d'environnement `VITE_API_URL` pointe vers un domaine inaccessible - Vous êtes en développement local mais l'URL pointe vers la production ### Solutions #### 1. Vérifier la configuration de l'URL de l'API Vérifiez le fichier `.env` dans `site/src/.env` : ```env # Pour le développement local VITE_API_URL=http://localhost:8000 # Pour la production (uniquement si le domaine est configuré) VITE_API_URL=https://api.ditesleenchanson.fr ``` #### 2. Vérifier que l'API est accessible **En développement local :** - Assurez-vous que l'API Laravel est démarrée sur `http://localhost:8000` - Testez l'accès à `http://localhost:8000/health` dans votre navigateur **En production :** - Vérifiez que le domaine `api.ditesleenchanson.fr` existe et pointe vers votre serveur - Testez l'accès à `https://api.ditesleenchanson.fr/health` dans votre navigateur - Vérifiez les enregistrements DNS de votre domaine #### 3. Configuration DNS Pour que `api.ditesleenchanson.fr` fonctionne, vous devez : 1. **Créer un enregistrement DNS de type A ou CNAME** - Type A : pointe directement vers l'IP de votre serveur - Type CNAME : pointe vers un autre domaine (ex: `ditesleenchanson.fr`) 2. **Configurer le serveur web** (Nginx/Apache) - Créer un virtual host pour `api.ditesleenchanson.fr` - Configurer le SSL/TLS (certificat Let's Encrypt recommandé) 3. **Vérifier la configuration Laravel** - Dans `api/src/.env`, définir `APP_URL=https://api.ditesleenchanson.fr` - Configurer `FRONTEND_URL` pour autoriser les requêtes depuis le frontend #### 4. Test de connectivité Pour tester si le domaine est accessible : ```bash # Test DNS nslookup api.ditesleenchanson.fr # Test HTTP curl https://api.ditesleenchanson.fr/health # Test depuis le navigateur # Ouvrir : https://api.ditesleenchanson.fr/health ``` ### Configuration recommandée #### Développement local **Fichier `site/src/.env` :** ```env VITE_API_URL=http://localhost:8000 ``` **Démarrer l'API Laravel :** ```bash cd api/src php artisan serve # L'API sera accessible sur http://localhost:8000 ``` #### Production **Fichier `site/src/.env` :** ```env VITE_API_URL=https://api.ditesleenchanson.fr ``` **Fichier `api/src/.env` :** ```env APP_URL=https://api.ditesleenchanson.fr FRONTEND_URL=https://dites-le-en-chanson.fr ``` ### Vérification après déploiement 1. Vérifier que l'API répond : `https://api.ditesleenchanson.fr/health` 2. Vérifier les logs de l'API pour les erreurs CORS 3. Vérifier la console du navigateur pour les erreurs de connexion 4. Tester le processus de paiement complet ### Support Si le problème persiste après avoir vérifié ces points : 1. Vérifiez les logs de l'API Laravel (`api/src/storage/logs/laravel.log`) 2. Vérifiez les logs du serveur web (Nginx/Apache) 3. Vérifiez la configuration DNS avec votre hébergeur 4. Contactez le support technique