Faire un serveur http local

22 février 2026

Pour améliorer le design du site, j’ai besoin de tester mon site sur un smartphone avant de le publier. Certes, les pages étant 100 % statiques, je peux les afficher directement dans le navigateur. Mais cela ne fonctionne pas toujours, notamment pour les pages qui sont référencés à la racine du site ex. /about.

Pour y remédier j’utilise un script qui lance le module http.server de python depuis le répertoire racine du site sur ma machine. Le script est rendu exécutable et placé dans le dossier ~/bin/ qui se trouve dans le PATH. Ce qui permet de le lancer simplement depuis un terminal.

Le script serveur-html.sh


  #!/usr/bin/bash

  # Variables
  adresse=$(ip -4 -o addr show dev wlsp3s0 | awk '{print $4}' | cut -d/ -f1)
  directory="/home/olivier/owg/"
  port=8080

  # Lancer le serveur
  python3 -m http.server --bind "${adresse}" --protocol HTTP/1.1 --directory "${directory}" $port
	  

Lancement et arrêt

Dans un terminal, taper simplement =serveur-html.sh=. Pour l’arrêter il suffit d’utiliser les touches Ctrl+c

Précision

Surtout ne pas utiliser ce script dans un environnement de production, c’est de la bidouille locale avec une sécurité très faible.

À noter que la version http-server de python 3.14 apporte un support TLS et permet donc de faire un serveur local en https avec des certificats autosignés : https://docs.python.org/fr/3.14/library/http.server.html#cmdoption-http.server-tls-cert