Bonjour,
J'utilise du Python sous CGI pour une calculatrice en ligne depuis 2008, et ça marche plutôt pas mal (http://www.jpvweb.com/cgi-bin/calculextcgi.py).
Je me suis même un peu amusé à tester une version mini avec un serveur construit en Python en moins de 5 minutes: http://python.jpvweb.com/mesrecettes...lculatrice_cgi. Comme ça fait longtemps que j'ai fait ça, je viens de ré-essayer et ça marche toujours (Python 2.7). Lance le calcul de "fact(100)": c'est toujours impressionnant. Cependant, il ne faut pas oublier de mettre à jour l'adresse du serveur utilisé sur son PC (genre: adresse="http://localhost:8000/cgi-bin/calculcgi.py"). Tu y trouveras peut-être les infos qui te manquent.
En résumé, le script python en CGI:
- contient au début une ligne comme:
print "Content-type: text/html\n\n"
- sous Unix, le script doit être exécutable
- sous Unix, les fins de lignes doivent être '\n' (et non '\r\n' comme pour Windows)
- on appelle le script python CGI avec son adresse et en lui passant des données par GET ou POST (formulaire). Le script en a connaissance grâce à cgi.FieldStorage (en testant la présence du nom du champ de saisie comme dans ton code).
- le script traite les données comme prévu, et renvoie à l'appelant du code html avec les résultats. Si nécessaire, ce code se place pour permettre la requête suivante (on crée une boucle).
- je ne l'utilise pas, mais le module cgitb (cgitb.enable(...)) semble permettre d'avoir des messages d'erreur plus précis que l'erreur 500.
A noter que le module "commands" qui est importé dans ton code, et qui est spécifique à unix, est déprécié depuis Python 2.6: il faut utiliser subprocess à la place.
Partager