# Solution rapide : HTTPS pour le backend ## Problème actuel Le frontend est en HTTPS mais le backend est en HTTP, causant une erreur **Mixed Content**. ## Solution la plus simple : Utiliser Caddy (Recommandé) Caddy est un serveur web moderne qui supporte automatiquement HTTPS avec des certificats auto-signés. ### 1. Installer Caddy ```powershell choco install caddy ``` ### 2. Créer un fichier `api/Caddyfile` ```caddy 192.168.11.100:8000 { reverse_proxy 127.0.0.1:8001 # Activer HTTPS automatique (auto-signé) tls internal } ``` ### 3. Démarrer Laravel sur un port interne ```powershell cd api php artisan serve --host=127.0.0.1 --port=8001 ``` ### 4. Démarrer Caddy (dans un autre terminal) ```powershell cd api caddy run ``` ### 5. Mettre à jour `frontend/.env.local` ```env VITE_API_BASE_URL=https://192.168.11.100:8000 ``` ### 6. Redémarrer le frontend ```powershell cd frontend npm run dev ``` ## ⚠️ IMPORTANT : Utiliser les certificats mkcert avec Caddy **Par défaut, Caddy utilise `tls internal` qui génère des certificats auto-signés non reconnus par les autres PC.** Pour que le backend soit reconnu sur tous les PC du réseau, vous **DEVEZ** utiliser les certificats mkcert : ```caddy 192.168.11.100:8000 { reverse_proxy 127.0.0.1:8001 # Utiliser les certificats mkcert (reconnus par tous les PC avec mkcert installé) tls ../frontend/192.168.11.100+3.pem ../frontend/192.168.11.100+3-key.pem } ``` **Assurez-vous que :** 1. Les certificats mkcert existent dans `frontend/192.168.11.100+3.pem` et `frontend/192.168.11.100+3-key.pem` 2. Si les certificats sont dans un autre dossier, ajustez les chemins dans le Caddyfile 3. Redémarrez Caddy après modification du Caddyfile ## Vérification 1. Accédez à `https://192.168.11.100:8000` dans le navigateur 2. Acceptez l'avertissement de certificat (première fois) 3. Le backend devrait être accessible en HTTPS 4. Les requêtes depuis le frontend HTTPS devraient fonctionner