11.2.1 Introduction

cgi-intro

Un script CGI est invoqué par un serveur HTTP, généralement pour traiter des données soumises par l'utilisateur via un élément HTML <FORM> ou <ISINDEX>.

La plupart du temps, les scripts CGI résident dans le répertoire spécial cgi-bin du serveur. Le serveur HTTP place toutes sortes d'informations au sujet de la requête (telles que le nom d'hôte du client, l'URL demandée, la chaîne de requête [query string], et des tas d'autres bonnes choses) dans l'environnement de shell du script, exécute le script, et renvoie le résultat du script au client.

Les données d'entrée du script sont également reliées au client, et parfois les données du formulaire sont lues de cette façon; dans d'autres cas les données du forumlaire sont passées via la partie ``query string'' de l'URL. Ce module est conçu pour prendre en compte les différents cas et fournir une interface plus simple au script Python. Il fournit également une certain nombre d'utilitaires qui aident à débugger les scripts, et la dernière addition concerne le support pour les téléchargements remontants de fichiers via un formulaire (si votre navigateur le permet - c'est le cas pour Grail 0.3 et Netscape 2.0).

Le résultat d'un script CGI doit être constitué de deux sections, séparées par une ligne vide. La première section contient un certain nombre d'entêtes, pour dire au client le type de données qui va suivre. Le code Python pour générer une section d'entête minimale ressemble à ceci:

print "Content-Type: text/html"     # ce qui suit sera en HTML
print                               # ligne vide, fin des entêtes

La deuxième section est habituellement du HTML, qui permet au logiciel client d'afficher du texte bien formatté avec un entête, des images, etc. Voici un code Python qui affiche un simple morceau d'HTML:

print "<TITLE>Sortie de script CGI</TITLE>"
print "<H1>Ceci est mon premier script CGI</H1>"
print "Bonjour, le monde!"