Créé le 28 avril 2004 Modifié le |
CGI (Common Gateway Interface)
Présentation du CGILe CGI, Common Gateway Interface, est une passerelle entre un serveur Web et des programmes d'applications sur le serveur. Cette technologie se base sur des passages de paramètres entre le client et les applications. Cela signifie qu'en utilisant des CGI, on peut obtenir des pages Web diférentes en fonction des choix et des requêtes particulières des utilisateurs. La communication dynamique d'un client vers une application serveur se fait généralement par l'intermédiaire de formulaires (balise <FORM>) ou de boutons de validation présents sur la page HTML. Des paramètres destinés au CGI figurent donc dans le code source HTML, souvent à l'intérieur de balises <FORM>:
Ceci affiche un formulaire: Ce programme est exécuté côté serveur dans le cadre d' une architecture 3-tiers, visant à développer des sites Web dynamiques et interactifs pouvant s'appuyer par exemple sur des bases de données stockées sur un serveur et permet d'afficher les données provenant de ces applications tierces, d'où son nom de passerelle (Gateway). Fonctionnement du CGILe rôle spécifique d'un programme CGI est de recevoir des données envoyées par le serveur HTTP (reçues du poste client), de les traiter, puis de renvoyer des réponses et des balises HTML valides. Un programme CGI comporte des scripts serveur généralement écrits dans un langage compilé ou interprété tels que Perl, C ou Java. Il faut que ces scripts serveurs soient capables de recevoir des paramètres (variables et instructions) depuis des clients Web, d'effectuer des traitements ou des calculs, ou encore d'accéder à des sources de données (SGBD notamment) et, bien sûr, de générer des résultats dans un format assimilable par une page Web (soit un format MIME). Les pages ainsi générées sont ensuite renvoyées vers le navigateur via le protocole HTTP. Le schéma suivant montre le scénario typique d'exécution d'un programme CGI.
Exemples d'applications en CGILes programmes CGI sont invoqués le plus souvent pour accéder aux données des formulaires HTML remplis par les utilisateurs. Une autre utilisation courante consiste à pouvoir envoyer des emails également sur base d'un formulaire. On peut donc gérer une liste d'adresses électroniques pour pouvoir envoyer un courrier électronique à toute une liste diffusion. De nombreuses autres applications sont possibles:
Les programmes CGI offrent donc un support important au développement de services web, e-commerce notamment et à rendu interactif des pages d'un site web. Avantages et inconvénients du CGILes CGI offrent divers avantages:
Développer son site avec des CGI n'est pourtant pas toujours sans problèmes:
Il faut noter qu'il existe une version améliorée de CGI, appelée la passerelle FastCGI. Comme pour les CGI, les applications FastCGI peuvent être écrites dans n'importe quel langage et accéder à des des bases de données. La principale différence réside dans le fait que FastCGI permet d'établir une connexion à l'initialisation d'un processus serveur et de le maintenir en attente d'une nouvelle connexion. Cette technique augmente la rapidité et les performances sur le serveur. Liens utileshttp://hoohoo.ncsa.uiuc.edu/cgi/overview.html http://www.commentcamarche.net/cgi/cgiintro.php3 http://dam.cicrp.jussieu.fr/dam/p6_vis/cgi/cours6.html http://www.ftls.org/fr/initiation/cgi/index2.shtml http://echo-linux.alienor.fr/articles/cgi_bin/cgi-bin.html |
||||
|
||||
|
||||