Créer un serveur web instantané avec Python : le guide du débutant

Saviez-vous qu’avec une simple ligne de commande, vous pouvez transformer n’importe quel dossier de votre ordinateur en serveur web accessible depuis votre navigateur ? C’est exactement ce que fait cette commande magique :

bash

python3 -m http.server 8000

Qu’est-ce que ça fait concrètement ?

Cette commande crée un petit serveur web temporaire qui « sert » le contenu du dossier dans lequel vous vous trouvez. Imaginez que vous transformez votre dossier en site web instantané !

Étape par étape : comment s’y prendre

1. Ouvrir le terminal

  • Linux/Mac : Cherchez « Terminal » dans vos applications
  • Windows : Ouvrez « Invite de commandes » ou « PowerShell »

2. Naviguer vers votre dossier

Utilisez la commande cd pour vous rendre dans le dossier que vous voulez partager :

bash

cd /chemin/vers/mes/photos

Exemple concret :

bash

cd ~/Documents/Vacances_2024

3. Lancer le serveur

Une fois dans le bon dossier, tapez :

bash

python3 -m http.server 8000

4. Accéder à vos fichiers

Ouvrez votre navigateur web et allez à l’adresse :

http://localhost:8000

Et voilà ! Vous verrez la liste de tous vos fichiers, comme un site web.

Décryptage de la commande

Analysons chaque partie de python3 -m http.server 8000 :

  • python3 : Lance l’interpréteur Python 3
  • -m : Dit à Python d’exécuter un module (un programme intégré)
  • http.server : Le nom du module qui crée un serveur web
  • 8000 : Le numéro de port sur lequel le serveur écoute

Cas d’usage pratiques

Partager des photos en famille

Vous avez des photos de vacances sur votre ordinateur ? Lancez le serveur dans ce dossier, et toute votre famille connectée au même WiFi pourra les voir en allant sur http://VOTRE_IP:8000.

Tester un site web

Vous développez un petit site HTML ? Cette commande vous permet de le tester localement sans configuration compliquée.

Transfert de fichiers simple

Besoin de récupérer un fichier depuis un autre ordinateur de votre réseau ? Plus besoin de clé USB !

Accès depuis d’autres appareils

Pour que vos amis ou d’autres appareils puissent accéder au serveur :

  1. Trouvez votre adresse IP :

bash

   # Linux/Mac
   ip addr show
   # ou
   ifconfig
   
   # Windows
   ipconfig
  1. Partagez l’adresse : Si votre IP est 192.168.1.100, donnez l’adresse :
   http://192.168.1.100:8000

Options utiles

Changer le port

Si le port 8000 est occupé :

bash

python3 -m http.server 8080

Écouter sur toutes les interfaces

Pour accepter les connexions de l’extérieur :

bash

python3 -m http.server 8000 --bind 0.0.0.0

Avec Python 2 (ancien système)

bash

python -m SimpleHTTPServer 8000

Arrêter le serveur

Pour stopper le serveur, dans le terminal où il tourne :

  • Appuyez sur Ctrl + C

Attention : questions de sécurité

⚠️ Important : Ce serveur est basique et ne doit être utilisé que :

  • Sur votre réseau local (WiFi de maison)
  • Pour des tests ou du partage temporaire
  • JAMAIS sur internet directement (pas de sécurité)

Cas où ça ne marche pas

« Python n’est pas reconnu »

Vous devez installer Python depuis python.org

« Address already in use »

Le port est occupé, essayez avec un autre numéro :

bash

python3 -m http.server 8080

Fichiers non accessibles

Vérifiez que vous êtes dans le bon dossier avec :

bash

pwd  # Linux/Mac
cd   # Windows

Conclusion

Cette petite commande est un véritable couteau suisse pour partager rapidement des fichiers ou tester du contenu web. Simple, efficace et déjà installée sur la plupart des systèmes modernes !

La prochaine fois que quelqu’un vous demande « comment je peux voir tes photos sur ton ordi ? », vous saurez quoi répondre. 😉


Astuce de pro : Créez un alias dans votre terminal pour aller encore plus vite :

bash

alias serve="python3 -m http.server 8000"