|
Introduction
Précisions :
- pour faire du CGI en Delphi il faut un Serveur Web sous
Windows évidemment...
- mon expérience en la matière est pour un
Serveur Lotus Domino sous NT.
- j'utilise Delphi 2.0, mais ce tutorial est compatible Delphi
3,4 et 5
Remarque: Si vous désirez utiliser des DLL ISAP/NSAPI,
utilisez Delphi 5; 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
(c:\internet\delphi\cgi) par exemple...
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. Ce n'est pas obligatoire mais
ça permet de tester en locale à l'écran...
Program ExempleCGI;
{$apptype console}
begin
WriteLn('content-type: text/html');
Writeln;
WriteLn('Bonjour le monde !');
end.
Voici le programme CGI le plus simple !
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 document : c'est
ce que tu affiches dans "Affichage/Source"
Writeln : et oui ! il suffit d'envoyer le résultat
à l'écran, en fait le Serveur récupère ce qui tu
envoies en "sortie standard" pour l'envoyer au browser. D'ailleurs, 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... Suite du tutoriel
: Sommaire, Introduction , Les paramètres, Redirection, Les images,
protection par mot de passe, Les
cookies, Base de données,
FAQ
|