Exécuter un Script Python pour html
Fermémamiemando Messages postés 33535 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 12 février 2025 - 16 nov. 2022 à 12:18
- Exécuter script python depuis html
- Script vidéo youtube - Guide
- Citizen code python avis - Accueil - Outils
- Editeur html - Télécharger - HTML
- \R python ✓ - Forum Python
6 réponses
13 nov. 2022 à 10:21
bonjour,
un navigateur ne peut exécuter de code python.
Fais une recherche sur "pyhon serveur web".
13 nov. 2022 à 22:08
bonsoir
merci beaucoup
Modifié le 15 nov. 2022 à 19:11
Bonjour,
En fait il faut soit que ton code HTML contienne du javascript qui fait ce que tu veux faire (auquel cas, rien n'est lancé côté python, tout se passe purement dans le navigateur), soit comme le dit yg_be, que tu codes un serveur web en python (c'est plus indiqué dans ton cas car on s'attend à ce que plusieurs personnes participent au chat.
Il existe plusieurs modules qui permettent d'écrire des serveurs web, mais pour ma part, je te recommande cherrypy.
Voici un exemple pour démarrer. Copie colle ce fichier dans get_post_example.py puis lance :
python3 get_post_example.py
Tu devrais voir des lignes s'afficher :
[15/Nov/2022:19:08:30] ENGINE Listening for SIGTERM.
[15/Nov/2022:19:08:30] ENGINE Listening for SIGHUP.
[15/Nov/2022:19:08:30] ENGINE Listening for SIGUSR1.
[15/Nov/2022:19:08:30] ENGINE Bus STARTING
[15/Nov/2022:19:08:30] ENGINE Started monitor thread 'Autoreloader'.
[15/Nov/2022:19:08:31] ENGINE Serving on http://127.0.0.1:8080
[15/Nov/2022:19:08:31] ENGINE Bus STARTED
Comme on le voit ici, le serveur est accessible via http://127.0.0.1:8080 il suffit donc d'ouvrir cette URL dans ton navigateur pour tester l'exemple.
Bonne chance
Modifié le 16 nov. 2022 à 12:07
Salut
Merci beaucoup pour l'explication mais autant que débutante je ne comprends pas bien ce code. Voila ce que j'ai fait :
server.py :
import http.server PORT = 80 server_address = ("", PORT) server = http.server.HTTPServer handler = http.server.CGIHTTPRequestHandler handler.cgi_directories = ["/"] print("Serveur actif sur le port :", PORT) httpd = server(server_address, handler) httpd.serve_forever()
index.py : ce script affiche la page html du login pour le chatroom
# coding: utf-8 import cgi form = cgi.FieldStorage() print("Content-type: text/html; charset=utf-8\n") print(form.getvalue("name")) html = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta charset="utf-8"> <!-- importer le fichier de style --> <link rel="stylesheet" href="file:///C|/Users\\USER\PycharmProjects\chatroom/style.css" media="screen" type="text/css" /> </head> <body> <center><b><p>Bienvenue dans la Messagerie Instantanée</p></b> </center> <div id="container"> <!-- zone de connexion --> <form action="vérification.py" method="POST"> <h1>Connexion</h1> <label><b>Nom d'utilisateur</b></label> <input type="text" placeholder="Entrer le nom d'utilisateur" name="pseudo" required> <label><b>Mot de passe</b></label> <input type="password" placeholder="Entrer le mot de passe" name="mot_de_passe" required> <input type="submit" id='submit' value='Se Connecter' /> <h1>inscription</h1> <input type="submit" onclick=window.location.href='inscription.html'; value= 'Créer Nouveau Compte' /> </form> </div> </body> </html> """ print(html)
Mon problème :
J'ai créé une page html dans un script python et je n'arrive pas à le mettre en forme avec css localhost:80/index.py
Pourtant j'ai le fichier css dans le même répertoire que index.py
href="file:///C|/Users\\USER\PycharmProjects\chatroom/style.css"
Je ne comprends pas ?
Salutations
16 nov. 2022 à 10:55
As-tu testé l'exemple proposé?
Le comprends-tu?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question16 nov. 2022 à 10:57
bonjour
je l'ai pas compris
je continue mes recherches pour une solution
merci de m'éclairer si possible
16 nov. 2022 à 12:18
Bonjour,
Par rapport au message #4 :
Merci beaucoup pour l'explication mais autant que débutante je ne comprends pas bien ce code.
Qu'est-ce que tu ne comprends pas ? L'as tu essayé ?
L'exemple en question montre comment réagir une requête HTTP (GET ou POST). Si tu ne sais pas ce que c'est, tu peux lire cette page. L'idée c'est qu'à chaque clic, tu lances une requête HTTP à laquelle ton serveur web réagit en exécutant du code python.
J'ai créé une page html dans un script python et je n'arrive pas à le mettre en forme avec css localhost:80/index.py
Ce message montre un exemple minimal cherrypy avec un fichier css.
Personnellement, je n'utilise que cherrypy pour coder des serveurs web car parmi toutes les modules que j'ai testés (http, falcon, gunicorn) c'est celle que j'ai trouvé la plus simple et la plus pratique. Après libre à toi de considérer le module de ton choix...