III.3.4.Principes de base du CGI
Le Common Gateway Interface (CGI) constitue la technique
traditionnelle dont le principe consiste à produire les documents HTML
par un programme qui est associé au serveur Web. Le CGI est la solution
la plus ancienne, et sans doute encore, la plus utilisée, pour la
gestion des sites web dynamiques. La programmation Web avec PHP s'appuie
d'ailleurs, pour tous les échanges client/serveur, sur le protocole CGI.
Le navigateur (client) envoie une requête (souvent à partir d'un
formulaire HTML) qui est plus complexe que la simple demande de transmission
d'un document. Cette requête consiste à faire déclencher
une action (que nous désignons par programme « CGI » dans ce
qui suit) sur le serveur. L'exécution du programme CGI par le serveur
Web se déroule en trois phases :
1. Requête du client au serveur : le programme
serveur récupère les informations transmises par le navigateur,
c'est-à-dire le nom du programme CGI accompagné, le plus souvent,
des paramètres saisis par l'internaute ;
2. Exécution du programme CGI : le serveur
déclenche l'exécution du programme CGI, en lui fournissant les
paramètres reçus ci-dessus ;
3. Transmission du document HTML : le programme CGI
renvoie le résultat de son exécution au serveur sous la forme
d'un document HTML, le serveur se contentant alors de faire suivre au
client.
35
Le programme CGI peut être écrit dans n'importe
quel langage (C, C++, Perl, script Shell, ...) et est libre de faire toute les
opérations nécessaires pour satisfaire à la demande (dans
la limite de ses droits d'accès bien sûr). Il peut notamment
rechercher et transmettre des fichiers, ou des images, effectuer des
contrôles, des calculs, créer des rapports, ... Il peut aussi
accéder à une base de données pour insérer ou
rechercher des informations. C'est ce dernier type d'utilisation, dans sa
variante PHP/MySQL, que justifie le choix dans ce mémoire.
III.3.4.1. Les Formulaires
Les formulaires constituent un moyen privilégié
d'interaction puisqu'ils permettent l'utilisateur d'entrer ses démarches
par l'intermédiaire de champs de saisie qui offrent la
possibilité appréciable de créer très facilement
une interface.
? La balise <FORM>
C'est un conteneur limité par <FORM> et
</FORM> qui, outre les champs de saisie, peut contenir n'importe quel
texte ou la balise. Les trois attributs suivants sont essentiels pour la
communication du programme serveur avec un programme CGI ;
? Action est la référence au programme qui doit
être exécuté par le serveur ;
V' METHOD indique le mode de transmission des
paramètres au programme CGI. Il ya essentiellement deux valeurs
possibles, GET ou POST ;
V' ENCTYPE indique quel est le type d'encodage des
données du formulaire qui doit être utilisé par la
transmission au serveur. Il ya deux valeurs possibles :
36
1°. application/x-www-form-urlencoded.
Il s'agit de l'option par défaut, utilisée
même quand nous ne donnons pas d'attribut ENCTYPE. Les champs du
formulaire sont transmises sous la forme d'une liste de paires nom=valeur,
séparées par des &'.
|