Écrivez du Python dans l’éditeur ci-dessus, appuyez sur Exécuter et lisez le résultat en dessous. Sous le capot, c’est un vrai interpréteur CPython 3 compilé en WebAssembly qui tourne sur votre machine — pas une console factice, ni un serveur lointain qui recevrait votre code. Le premier lancement télécharge l’interpréteur (une dizaine de Mo) ; ensuite il reste chaud et chaque exécution démarre instantanément.
Comment exécuter du Python en ligne ici
Le parcours est volontairement court. Saisissez ou collez votre programme dans l’éditeur. Appuyez sur Exécuter, ou sur Ctrl/Cmd + Entrée depuis le code. Ce que print() affiche apparaît dans le panneau de sortie, et tout ce que Python écrit sur stderr — tracebacks compris — s’affiche en rouge avec les numéros de ligne de l’erreur réelle. Chaque exécution repart d’un interpréteur propre : variables, imports et affichages du run précédent ne fuient jamais vers le suivant.
Si un programme tourne plus longtemps que prévu (une boucle infinie accidentelle, par exemple), appuyez sur Arrêter. L’arrêt supprime l’interpréteur courant — le prochain run en reconstruit un neuf, ce qui explique aussi pourquoi un programme planté ne peut jamais contaminer le suivant.
Lire une entrée avec input()
La plupart des exécuteurs Python en ligne cassent silencieusement sur input(). Pas celui-ci : ouvrez Entrée du programme (stdin) sous le panneau de sortie et mettez une ligne par appel input(). En lançant l’exemple Lire une entrée avec Alex et 3 dans la zone d’entrée, la conversation est réelle :
What is your name? Alex
How many years have you coded? 3
Nice to meet you, Alex!
In another 3 years you will have coded for 6 years.
Quand la zone d’entrée est épuisée, les appels input() suivants lèvent EOFError, exactement comme quand on pipe un fichier trop court dans python3 en ligne de commande. C’est le comportement qu’il faut pour travailler les classiques — invites nom et âge, boucles de menu, listes de nombres à traiter — sans faire semblant de taper dans une console figée.
Installer des paquets
Le champ Paquets accepte une liste séparée par des virgules. Les noms livrés dans la distribution Pyodide (numpy, pandas et beaucoup d’autres) se chargent directement depuis le registre embarqué ; tout ce qui est une roue Python pure passe par le micropip intégré. Saisissez numpy, lancez l’exécution : la première est un peu plus longue le temps du téléchargement, ensuite le paquet reste en mémoire pour la session.
Deux limites honnêtes : les paquets natifs qui exigent des extensions compilées hors build Pyodide (certains pilotes de base de données, par exemple) ne peuvent pas s’installer, et tout est retéléchargé après un rechargement de page puisque rien n’est stocké côté serveur. Pour le reste — s’entraîner aux fusions pandas, essayer itertools, tester une petite classe — c’est le Python que vous connaissez.
Votre code reste sur votre appareil
Le programme que vous écrivez est exécuté par votre navigateur et sauvegardé uniquement dans le stockage local de ce navigateur : fermez l’onglet, revenez plus tard, votre dernière version est restaurée. Le bouton partage emballe le code courant (plus stdin et les paquets) dans le lien lui-même — le fragment d’URL n’est jamais envoyé à un serveur, et vos destinataires voient exactement ce que vous avez écrit. Si vous préférez ne rien garder, Réinitialiser remet l’éditeur sur l’exemple de départ et efface l’état sauvegardé. Aucun compte, aucun historique chez nous, rien à supprimer plus tard.
Fichiers, téléchargements et imports
Trois actions couvrent l’aller-retour. Ouvrir charge un fichier .py de votre ordinateur directement dans l’éditeur. Télécharger sauvegarde le code courant en main.py, encodé correctement en UTF-8. Copier met le code dans le presse-papiers pour un exercice, un gist ou un e-mail. Combiné aux liens de partage, vous pouvez déplacer un programme fonctionnel d’une machine à l’autre sans jamais passer par un serveur de fichiers.
Quel Python exactement ?
Le moteur est Pyodide — CPython compilé en WebAssembly — et le badge dans la barre d’état affiche les versions exactes de Python et de Pyodide une fois le moteur chargé. La sémantique du langage est celle que vous connaissez : même stdlib, mêmes exceptions, tout identique, seuls les coins liés au système de fichiers et à l’OS sont adaptés au bac à sable du navigateur. Si vous suivez le parcours Python, chaque exemple de leçon tourne ici sans modification — les deux ont été construits pour aller ensemble.
Questions fréquentes
Peut-on exécuter du Python 3 ici ? Oui — c’est du Python 3, pas un sous-ensemble approximatif. Syntaxe, f-strings, dataclasses et bibliothèque standard se comportent comme documenté.
Mon code est-il envoyé quelque part ? Non. L’exécution a lieu dans votre navigateur via WebAssembly. Le code est sauvegardé localement et partagé uniquement via des liens que vous créez vous-même.
Ça marche hors ligne ? Une fois l’interpréteur chargé, vous pouvez vous déconnecter et continuer à exécuter du code. Un chargement de page frais a besoin du réseau une fois, pour re-télécharger le moteur.
Ça marche sur téléphone ? Oui. Éditeur, zone d’entrée et sortie s’empilent verticalement sur petit écran, et le texte de la console suit vos réglages de police système.
Pourquoi le premier run est-il plus lent ? C’est le téléchargement unique de l’interpréteur. Toutes les exécutions suivantes l’ignorent complètement.