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