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.

