Programmes CGI et Delphi :


Voici quelques explications sur la programmation CGI en Delphi, n'hésitez pas à m'envoyer vos remarques !
Vous pouvez télécharger ce tutorial avec ou sans les fichiers exemples.

Sommaire :


Introduction

Précisions :

  1. pour faire du CGI en Delphi il faut un Serveur Web sous Windows évidemment...
  2. mon expérience en la matière est pour un Serveur Lotus Domino sous NT.
  3. 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 :

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...

Au menu des prochaines mise à jours :


Notez que la mise à jours sera proportionnelle à vos remarques et questions :)
A +