Besoin de tester rapidement une page web sans installer un serveur web complet Apache, Nginx ou un environnement complexe ? Python intègre déjà tout ce qu’il faut pour lancer un serveur Python local en quelques secondes grâce à une simple commande. C’est l’une des solutions les plus pratiques pour prévisualiser un site, tester du HTML, du CSS ou du JavaScript pendant le développement.
Dans ce tutoriel, vous allez découvrir comment créer un serveur Python sur le port 8000, comprendre son fonctionnement et l’utiliser efficacement pour vos projets web. Même si vous débutez avec Python, vous verrez qu’il suffit de quelques minutes pour mettre en place votre premier serveur local.
- Lancer un serveur python en local et en quelques secondes sans rien installer ni modifier votre configuration système.
- Comprendre à quoi servent les ports réseau et comment un navigateur communique avec un serveur.
- Tester vos pages HTML, CSS et JavaScript dans des conditions proches d’un véritable site web pour développer efficacement.
Pour un développeur web, il arrive rapidement un moment où l’on souhaite afficher ses pages web dans un navigateur pour vérifier leur apparence ou tester un projet en cours de développement. Beaucoup de débutants pensent alors qu’il faut installer un logiciel compliqué ou configurer un serveur complet. Pourtant, Python propose déjà une solution intégrée extrêmement simple pour lancer rapidement un serveur Python.
En quelques secondes seulement, vous pouvez transformer un simple dossier en serveur web local accessible depuis votre navigateur. Cette fonctionnalité est idéale pour tester un site HTML, vérifier un projet CSS ou JavaScript, partager temporairement des fichiers sur un réseau local ou encore découvrir le fonctionnement d’un serveur web.
Dans ce tutoriel, vous allez apprendre à créer un serveur Python sur le port 8000, comprendre son fonctionnement, l’utiliser efficacement et découvrir plusieurs astuces utiles pour vos futurs projets web.
- Qu'est-ce qu'un serveur web ?
- Vérifier que Python est installé
- Créer un dossier de test
- Lancer le serveur Python sur le port 8000
- Accéder au serveur depuis le navigateur
- Pourquoi ne pas ouvrir le fichier .html directement depuis le navigateur ?
- Ajouter d'autres fichiers
- Changer de port
- Partager le serveur sur votre réseau local
- Les limites du serveur Python
- Rendre votre serveur Python accessible depuis Internet
- Utiliser Ngrok
- FAQ : Python et le serveur web local
Qu’est-ce qu’un serveur web ?
Avant de lancer la moindre commande, il est important de comprendre ce que fait réellement un serveur web.
Imaginez que votre ordinateur soit une bibliothèque. À l’intérieur, vous stockez des fichiers HTML, CSS, JavaScript, des images ou encore des documents PDF. Le problème est qu’un navigateur web ne peut pas toujours accéder directement à ces fichiers comme le ferait un simple explorateur de fichiers.
- C’est ici qu’intervient le serveur web.
Son rôle est simple :
- Recevoir une demande provenant d’un navigateur.
- Trouver le fichier demandé.
- Envoyer ce fichier au navigateur.
Par exemple :
- Le navigateur demande
index.html - Le serveur trouve ce fichier
- Le serveur l’envoie au navigateur
- Le navigateur l’affiche
C’est exactement ce qui se produit sur Internet lorsque vous consultez un site web. Avec Python, nous allons reproduire ce mécanisme directement sur notre ordinateur. Nous irons même plus loin en le rendant accessible depuis internet.
Pourquoi utiliser le serveur intégré de Python ?
Le serveur Python présente plusieurs avantages. D’abord, il est déjà inclus dans Python. Vous n’avez donc rien à installer. Ensuite, il se lance avec une seule commande.
Enfin, il est parfait pour :
- tester un site statique
- vérifier des scripts JavaScript
- prévisualiser un projet web
- apprendre le fonctionnement des serveurs
- partager temporairement des fichiers.

Pour un débutant, c’est probablement la méthode la plus simple pour découvrir le monde des serveurs web.
Vérifier que Python est installé
Avant toute chose, vérifiez que Python est présent sur votre machine.
Ouvrez un terminal puis saisissez :
python --version
ou :
python3 --version
Vous devriez obtenir quelque chose ressemblant à ceci :
Python 3.14.6

Si un numéro de version apparaît, tout est prêt.
Créer un dossier de test
Pour comprendre le fonctionnement du serveur Python, créons un petit projet.
Commencez par créer un dossier nommé /mon-site. À l’intérieur, créez un fichier :
index.html
Ajoutez le contenu suivant :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Mon premier serveur Python</title>
</head>
<body>
<h1>Bonjour !</h1>
<p>Cette page est servie par Python.</p>
</body>
</html>
Enregistrez le fichier.
Nous possédons maintenant une petite page web prête à être affichée.
Se placer dans le bon dossier
Le serveur Python fonctionne à partir du dossier dans lequel il est lancé. Ouvrez un terminal puis placez-vous dans le répertoire contenant votre fichier HTML.
Par exemple :
cd mon-site
👉 Apprenez à vous situer dans le terminal.
Vous pouvez vérifier votre position avec :
dir
sous Windows.
Ou :
ls
sous Linux et macOS.
Vous devez voir apparaître :
index.html
Lancer le serveur Python sur le port 8000
Nous arrivons maintenant à l’étape la plus intéressante.
Saisissez :
python -m http.server 8000
Ou selon votre configuration :
python3 -m http.server 8000
Le terminal affiche alors quelque chose comme :
Serving HTTP on 0.0.0.0 port 8000
Félicitations !
- Votre ordinateur est désormais devenu un serveur web.
Comprendre cette commande
Pour un débutant, cette ligne peut sembler mystérieuse.
Décomposons-la :
python, c’est l’interpréteur Python. Il exécute les programmes Python.-m: Cette option indique à Python de lancer un module intégré.http.server: Il s’agit du module fourni par Python permettant de créer un serveur HTTP.8000: C’est le numéro de port utilisé.
Le serveur écoutera les connexions sur ce port.
Qu’est-ce qu’un port ?
Le mot « port » revient constamment lorsque l’on parle de réseau.
Imaginez votre ordinateur comme un immeuble.
- L’adresse IP représente l’adresse de l’immeuble.
- Les ports représentent les numéros d’appartement.
Lorsqu’un navigateur contacte un serveur, il doit savoir à quel « appartement » s’adresser.
Dans notre cas :
localhost:8000
- localhost = votre ordinateur
- 8000 = le port utilisé
👉 Tout savoir sur Les ports en informatique
Accéder au serveur depuis le navigateur
Ouvrez votre navigateur puis saisissez :
http://localhost:8000
Vous devriez voir votre page apparaître.
Si tout s’est bien passé, le navigateur affiche :
Bonjour !
Cette page est servie par Python.
C’est souvent un moment assez satisfaisant pour un débutant. On réalise soudain qu’un simple ordinateur peut devenir un véritable serveur web.
Pourquoi ne pas ouvrir le fichier .html directement depuis le navigateur ?
Pour une simple page HTML statique, il y a peu de différence visible. En revanche, un serveur Python apporte plusieurs avantages importants :
- Certains scripts JavaScript ne fonctionnent pas correctement lorsqu’une page est ouverte directement avec
file://. Ils nécessitent un vrai serveur (http://localhost:8000). - Les requêtes AJAX,
fetch(), les fichiers JSON ou les API locales sont souvent bloqués sans serveur à cause des règles de sécurité du navigateur. - Le comportement est plus proche de celui d’un véritable site web hébergé sur Internet.
- Les chemins relatifs, les liens, les images et certains modules JavaScript sont mieux gérés.
- Vous pouvez tester votre site depuis un smartphone ou un autre ordinateur du réseau.
En résumé :
Double-clic sur index.html
→ Simple affichage d'une page statique
Serveur Python
→ Environnement de test proche d'un vrai site web
Pour un site HTML/CSS très simple, le double-clic suffit souvent. Dès que vous utilisez du JavaScript moderne, des fichiers JSON ou plusieurs pages, le serveur Python devient rapidement indispensable.
Observer les requêtes du navigateur
Retournez dans votre terminal.
Chaque visite génère une ligne similaire à celle-ci :
127.0.0.1 - - [10/May/2026] "GET / HTTP/1.1" 200 -
Cela signifie que :
- un navigateur a contacté le serveur
- il a demandé une page
- le serveur a répondu correctement.
Le code :
200
indique que tout s’est bien passé.
👉 Découvrez les différents codes HTTP.
Ajouter d’autres fichiers
Dans le même dossier, créons maintenant un fichier CSS style.css avec comme contenu :
Des formations informatique pour tous !
Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…
Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.
Découvrez mes formations Qui suis-je ?body {
font-family: Arial;
text-align: center;
margin-top: 50px;
}
Puis modifiez votre page HTML :
<link rel="stylesheet" href="style.css">
Rechargez le navigateur.
Le serveur Python distribue automatiquement les fichiers CSS, images et JavaScript présents dans le dossier. C’est extrêmement pratique pour tester un projet complet.
👉 Pour les développeurs débutants, apprenez à Relier le CSS au HTML.
Créer des sous-dossiers
Votre structure peut devenir plus organisée :
mon-site
│
├── index.html
├── css
│ └── style.css
├── js
│ └── script.js
└── images
└── logo.png
Le serveur Python est capable de servir automatiquement tous ces fichiers. Aucune configuration supplémentaire n’est nécessaire.
Changer de port
Le port 8000 est utilisé par défaut dans de nombreux exemples. Mais vous pouvez en choisir un autre.
Par exemple :
python -m http.server 8080
Puis accéder au site avec :
http://localhost:8080
Ou encore :
python -m http.server 9000
Ce qui donnera :
http://localhost:9000
Le principe reste exactement le même.
Arrêter le serveur
Lorsque vous avez terminé vos tests, revenez dans le terminal.
Appuyez simplement sur :
CTRL + C
Le serveur s’arrête immédiatement. Le navigateur ne pourra plus accéder au site.
Partager le serveur sur votre réseau local
Une fonctionnalité intéressante consiste à rendre votre serveur accessible depuis d’autres appareils de votre réseau.
Par exemple :
- votre smartphone
- votre tablette
- un autre ordinateur.
Commencez par récupérer votre adresse IP locale.
Sous Windows :
ipconfig
Sous Linux ou macOS :
ifconfig
ou :
ip addr
Vous obtenez quelque chose comme :
192.168.1.25
L’adresse du serveur devient alors :
http://192.168.1.25:8000
Tout appareil connecté au même réseau (WiFi) pourra consulter votre site.
- Très pratique pour tester sur mobile sans mettre le projet en ligne.
Les limites du serveur Python
Même si ce serveur est extrêmement pratique, il possède quelques limites. Il ne doit pas être utilisé pour héberger un véritable site Internet accessible au public.
Pourquoi ?
Parce qu’il n’est pas conçu pour :
- gérer un trafic important
- sécuriser des données sensibles
- exécuter des applications web complexes
- remplacer Apache ou Nginx.
Son objectif est principalement pédagogique et destiné au développement local.
- Pour apprendre, tester et expérimenter, il est parfait.
- Pour héberger un gros site en production, il faut utiliser des solutions plus robustes.
Aller plus loin avec le développement web
Une fois cette étape maîtrisée, vous pourrez utiliser ce serveur Python pour tester :
- vos pages HTML
- vos feuilles de style CSS
- vos scripts JavaScript
- vos mini-projets web
- vos exercices de développement.
Si vous suivez nos formations, ce petit serveur deviendra rapidement un compagnon de travail indispensable.
Au fil de votre progression, vous découvrirez ensuite des frameworks Python, des applications web dynamiques, des bases de données et des serveurs professionnels. Mais tout commence souvent par cette petite commande qui paraît presque magique la première fois qu’on la lance.
Rendre votre serveur Python accessible depuis Internet
Jusqu’à présent, votre serveur Python fonctionne parfaitement en local. Vous pouvez afficher votre site depuis votre ordinateur et même depuis d’autres appareils connectés à votre réseau domestique. Cependant, une personne située à l’autre bout du monde ne peut toujours pas accéder à votre serveur.
Pour rendre votre serveur web accessible depuis Internet, il faut permettre aux connexions extérieures d’atteindre votre ordinateur.
Rassurez-vous, même si cela peut sembler impressionnant la première fois, la procédure reste accessible à un débutant si elle est suivie étape par étape.
Comprendre ce qui bloque l’accès depuis Internet
Lorsque vous lancez votre serveur Python avec :
python -m http.server 8000
celui-ci écoute les connexions sur votre ordinateur.
Cependant, votre box Internet agit comme un gardien à l’entrée de votre réseau. Par défaut, elle bloque les connexions entrantes provenant d’Internet pour des raisons de sécurité.
Le résultat est simple :

Pour rendre votre serveur accessible, il faut autoriser votre box à transmettre les connexions vers votre machine.
Utiliser Ngrok
Si votre objectif est uniquement de montrer rapidement un projet à un client, un ami ou un collègue, il existe une solution bien plus simple.
Lancez votre serveur :
python -m http.server 8000
Puis dans un second terminal :
ngrok http 8000
Ngrok génère alors une adresse du type :
https://abc123.ngrok.app
Cette adresse est immédiatement accessible depuis Internet.
- Aucune configuration de box.
- Aucune ouverture de port.
- Aucune modification réseau.
Pour les démonstrations rapides, c’est souvent la solution la plus confortable.
Quelques précautions de sécurité
Même pour un simple test, gardez à l’esprit qu’un serveur exposé sur Internet devient visible par tout le monde.
Évitez donc :
- d’exposer des documents personnels
- d’héberger des mots de passe
- d’ouvrir inutilement plusieurs ports
- de laisser le serveur actif plusieurs jours sans surveillance.
Le serveur Python intégré a été conçu pour l’apprentissage et le développement local. Il ne remplace pas un véritable serveur de production.
Quelle méthode choisir ?
Pour apprendre le fonctionnement d’Internet et du réseau, la redirection de port est très intéressante. Elle permet de comprendre comment les visiteurs atteignent réellement un serveur.
En revanche, si votre objectif est simplement de partager rapidement un projet web en cours de développement, Ngrok est souvent la solution la plus simple pour un débutant. En quelques minutes, votre serveur Python devient accessible partout dans le monde sans aucune configuration complexe.
Vous disposez désormais d’un véritable mini-serveur web capable de diffuser vos pages bien au-delà de votre ordinateur. Une excellente façon de faire découvrir vos projets ou de tester vos réalisations dans des conditions proches d’un hébergement réel.
FAQ : Python et le serveur web local
Le serveur Python fonctionne-t-il sans connexion Internet ?
Oui. Le serveur web Python fonctionne entièrement en local sur votre ordinateur. Une connexion Internet n’est pas nécessaire pour tester vos pages ou vos projets web.
Pourquoi utiliser un serveur Python plutôt qu’ouvrir directement un fichier HTML ?
Certaines fonctionnalités, notamment en JavaScript, nécessitent un serveur web pour fonctionner correctement. Utiliser un serveur local permet de reproduire un environnement plus proche d’un véritable site web.
Le serveur Python peut-il héberger un site en production ?
Non. Le module http.server est conçu pour le développement, les tests et l’apprentissage. Pour un site accessible au public, il est préférable d’utiliser une solution dédiée comme Apache ou Nginx.
Créer un serveur Python sur le port 8000 est probablement l’une des manipulations les plus simples et les plus utiles pour débuter dans le développement web. En une seule commande, vous transformez un simple dossier en véritable serveur capable de distribuer des pages web à votre navigateur.
Au-delà de son aspect pratique, cet outil permet surtout de comprendre comment fonctionnent les échanges entre un navigateur et un serveur. C’est une première porte d’entrée vers les technologies web modernes. Prenez le temps d’expérimenter : modifiez vos pages, ajoutez des images, créez des feuilles de style, testez différents ports et observez les requêtes dans le terminal.
Chaque essai vous aidera à mieux comprendre les mécanismes du web. Et comme souvent en informatique, c’est en manipulant que l’on progresse réellement. Alors ouvrez votre terminal, lancez votre serveur Python et commencez à construire vos premiers projets.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
