Exécuter un Script Python pour html

Fermé
rose2022 Messages postés 20 Date d'inscription vendredi 21 octobre 2022 Statut Membre Dernière intervention 22 novembre 2022 - 13 nov. 2022 à 00:25
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 16 nov. 2022 à 12:18

Bonsoir,

j'ai besoin d'aide svp:

j'ai créé une page html pour inscription des utilisateur pour un chatroom.

j'essaie d'ajouter les utilisateur via un bouton inscription qui appelle le script python ajouter.py

mon probleme : Je précise que j'ai également placé ajouter.py dans le même répertoire que celui de ma page html, mais au lieu de l'exécutér, il m"affiche le code !

Comment faire pour que mon navigateur internet exécute le code. Merci de votre réponde.

ps : j'ai fait cette liaison sur la page html <form name="mon-formulaire1" action="ajouter.py" method="get">


Windows / Chrome 106.0.5249.168

A voir également:

6 réponses

yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
13 nov. 2022 à 10:21

bonjour,

un navigateur ne peut exécuter de code python.

Fais une recherche sur "pyhon serveur web".

0
rose2022 Messages postés 20 Date d'inscription vendredi 21 octobre 2022 Statut Membre Dernière intervention 22 novembre 2022 1
13 nov. 2022 à 22:08

bonsoir 

merci beaucoup 

0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
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

0
rose2022 Messages postés 20 Date d'inscription vendredi 21 octobre 2022 Statut Membre Dernière intervention 22 novembre 2022 1
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

0
yg_be Messages postés 22698 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 avril 2024 1 471
16 nov. 2022 à 10:55

As-tu testé l'exemple proposé?
Le comprends-tu?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rose2022 Messages postés 20 Date d'inscription vendredi 21 octobre 2022 Statut Membre Dernière intervention 22 novembre 2022 1
16 nov. 2022 à 10:57

bonjour

je l'ai pas compris 

je continue mes recherches pour une solution

merci de m'éclairer si possible

0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
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...

0