Introduction
-
Les paramètres
-
Redirection
-
Les Images
-
protection par mot de passe
-
Les cookies
-
Base de données
-
FAQ
Introduction
Précisions :
- pour faire du CGI il faut un Serveur Web évidemment (sous Windows pour Delphi, sous Linux pour Kylix)...
- mon expérience en la matière sur un Serveur Lotus Domino sous NT, et avec Apache sur Mandrake 7.0 (linux).
- j'utilise Delphi 2.0, mais ce tutorial est compatible Delphi 3,4,5 et 6...et Kylix !
Remarque: Si vous désirez utiliser des DLL ISAP/NSAPI, utilisez
Delphi 5/6;
ce tutorial reste cependant utile si vous désirez comprendre comment fonctionnent les CGI.
Le principe :
dans une page HTML (ou directement l'URL dans le browser) tu mets un lien
vers ton programme. Voici quelques exemples :
Appel par un lien : |
<a href="/cgi-bin/program.exe"> |
Demander une image : |
<img src="/cgi-bin/program.exe"> |
Formulaire en GET : |
<form method=GET action="/cgi-bin/program.exe"> ... </form> |
Formulaire en POST : |
<form method=POST action="/cgi-bin/program.exe"> ... </form> |
Appel direct : |
http://www.tonserver.fr/cgi-bin/program.exe |
cgi-bin :
c'est un alias déclaré sur le serveur qui pointe sur le répertoire qui
contient les programmes CGI.
Par exemple :
Sous Windows : |
c:\internet\delphi\cgi |
Sous Linux : |
/home/httpd/cgi-bin |
Lancement du programme :
lorsque tu clique sur le lien (ou quand l'image se charge...)
le serveur execute le programme (et pas le poste de travail) et attend la
réponse.
La réponse du programme :
le plus simple est de faire une application "console" {$apptype console}
qui ressemble à une application DOS mais Sous Windows 95/NT (sous Linux c'est implicite).
Ce n'est pas obligatoire mais ça permet de tester en locale à l'écran...
Voici le programme CGI le plus simple ! |
Program ExempleCGI;
{$apptype console}
begin
WriteLn('content-type: text/html');
Writeln;
WriteLn('Bonjour le monde !');
end.
|
Content-type : |
c'est la description du contenu (ici du texte HTML) |
Ligne vierge : |
c'est OBLIGATOIRE, c'est pour dire "fin de l'entête/début du document" (le browser n'affiche pas l'entête). |
Le reste : |
c'est ce que tu affiches dans "Affichage/Source" (Internet Explorer) |
L'appel se fait par : |
http://votreserver/cgi-bin/ExempleCGI |
Writeln :
Et oui, WriteLn suffit, en effet le texte envoyé sur la "sortie standard" est
récupéré par le serveur, et le tout est renvoyé vers le brower.
D'ailleurs, sous Windows, on peut s'amuser a faire du CGI avec des .BAT !!!
@ECHO OFF
ECHO content-type: text/html
ECHO.
ECHO ^<HTML^>^<HEAD^>^<TITLE^>^</TITLE^>^</HEAD^>^<BODY^>
ECHO Bonjour le monde !
ECHO ^</BODY^>^</HTML^>
|
Notez l'utilisation du "^" pour devant les symbols réservés du DOS (< > & ...)
Bon c'est pas mal comme introduction je pense...
Au menu des prochaines mise à jours :
- passage de paramètres (réalisé le 25/2/98)
- redirection (réalisé le 16/03/98)
- les images en CGI (réalisé le 16/03/98)
- protection par mot de passe (réalisé le 25/05/98)
- utilisation des coockies (réalisé le 05/01/99)
- l'accès base de données (réalisé le 25/05/2000)