Lancez un serveur sur votre propre machine et comprenez pourquoi personne d'autre ne le voit.
Ouvrir cette leçon dans KodokonQuand vous développez un site, vous n'allez pas le publier sur Internet à chaque modification. Vous lancez un serveur sur votre propre ordinateur, et vous le consultez avec votre navigateur. Cette machine, la vôtre, porte un nom réservé : localhost, littéralement « l'hôte local ». Elle a aussi une adresse IP réservée, 127.0.0.1, qui signifie toujours « moi-même », sur n'importe quelle machine du monde.
Mais un ordinateur peut faire tourner plusieurs serveurs en même temps. Comment savoir auquel on s'adresse ? Grâce aux ports. Si l'adresse IP est l'adresse de l'immeuble, le port est le numéro de l'appartement : un nombre entre 1 et 65535 qui désigne le programme censé répondre. Certains sont conventionnels : le port 80 pour http, le 443 pour https. En développement, on utilise souvent 3000, 5173 ou 8000. Ce port s'écrit après le nom, séparé par deux-points : http://localhost:8000.
cd mon-site
python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...Laissez cette fenêtre de terminal ouverte : tant que la commande tourne, le serveur répond. Ouvrez maintenant http://localhost:8000 dans votre navigateur, et vous verrez les fichiers du dossier mon-site. Pour arrêter le serveur, revenez dans le terminal et appuyez sur Ctrl + C.
Pourquoi se donner cette peine, alors qu'un double-clic sur index.html ouvre aussi la page ? Parce que le double-clic ouvre le fichier avec l'adresse file:///C:/Users/..., et non http://. Or plusieurs fonctionnalités du web refusent de marcher hors du protocole http : les requêtes vers un serveur, les modules JavaScript, certaines polices. Vous obtiendrez des erreurs incompréhensibles qui disparaîtront comme par magie dès que vous passerez par localhost.
lsof -i :8000
COMMAND PID USER FD TYPE NODE NAME
python3 4821 sarah 3u IPv4 TCP *:8000 (LISTEN)