Code de traitement côté serveur
Créer dans EduPÿthon le programme server.py
suivant:
import http.server PORT = 8888 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()
Une fois lancé, ce script réalise un serveur HTTP à l'écoute sur le port 8888.
Créer la page web dynamique index.py
suivante:
# coding: utf-8 import cgi form = cgi.FieldStorage() print("Content-type: text/html; charset=utf-8\n") print(form.getvalue("nom"))
html = """<!DOCTYPE html>
<head>
<title>Mon programme</title>
</head>
<body>
<form action="/index.py" method="get">
<input type="text" name="nom" placeholder="Votre nom">
<input type="submit">
</form>
</body>
</html>
"""
print(html)
Ouvrir la page index.py
sur votre serveur local: http://localhost:8888/index.py
Cette page contient un formulaire ainsi que le code permettant de recevoir et traiter les données transmises.
La fonction print()
permet de retourner les données (code HTML de la page) au client.
form.getvalue("nom")
permet de récupérer le paramètre nommé "nom" qui a été transmis (par GET ou POST) dans la requête HTTP par le client.