curl http://192.168.1.122:3002const http = require('http'); const os = require('os'); function getLocalIp() { const interfaces = os.networkInterfaces(); for (const name of Object.keys(interfaces)) { for (const iface of interfaces[name]) { const { address, family, internal } = iface; if (family === 'IPv4' && !internal) { return address; } } } return 'localhost'; } const hostname = '0.0.0.0'; const port = 3002; const localIp = getLocalIp(); const server = http.createServer((req, res) => { console.log(`📨 Requête reçue de: ${req.socket.remoteAddress}:${req.socket.remotePort}`); console.log(` URL: ${req.url}`); console.log(` Host header: ${req.headers.host}`); res.statusCode = 200; res.setHeader('Content-Type', 'text/html; charset=utf-8'); res.end(` Test Serveur

Serveur accessible !

🎉 Félicitations ! Si vous voyez cette page, le serveur fonctionne correctement.

Informations de connexion :

URLs d'accès :

`); }); server.listen(port, hostname, () => { console.log('\n🚀 ========================================'); console.log(' SERVEUR DE TEST DÉMARRÉ'); console.log('========================================\n'); console.log(` ✅ Le serveur écoute sur toutes les interfaces (${hostname}:${port})\n`); console.log('📱 TESTEZ CES URLs DEPUIS VOTRE MOBILE :\n'); console.log(` 1️⃣ http://${localIp}:${port}`); console.log(` 2️⃣ http://${os.hostname()}.local:${port}`); console.log(` 3️⃣ http://Renauds-MacBook-Air.local:${port}\n`); console.log('💻 Sur ce Mac, utilisez :'); console.log(` http://localhost:${port}\n`); console.log('========================================\n'); }); server.on('error', (e) => { if (e.code === 'EADDRINUSE') { console.error(`❌ Le port ${port} est déjà utilisé !`); } else { console.error('❌ Erreur serveur:', e); } });