Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

CGI - Introduction

Introduction aux CGI CGI - Introduction Encyclopédie


Présentation de l'interface CGI

Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de l'internaute un code HTML créé automatiquement par le serveur (basé par exemple sur une autre application, telle qu'un système de gestion de base de données, d'où le nom de passerelle).

Un des principaux intérêts de l'utilisation de CGI est la possibilité de fournir des pages dynamiques, c'est-à-dire des pages personnalisées selon un choix ou une saisie de l'utilisateur. L'application la plus fréquente de cette technique repose sur l'utilisation de formulaires HTML permettant à l'utilisateur de choisir ou de saisir des données, puis de cliquer sur un bouton de soumission du formulaire, envoyant alors les données du formulaire en paramètre du script CGI.

Langage de programmation des CGI

Un programme CGI peut être écrit dans à peu près n'importe quel langage de programmation pourvu que celui-ci soit :

  • capable de lire le flux de données d'entrée ;
  • capable de traiter des chaînes de caractères ;
  • capable d'écrire sur le flux standard de sortie ;
  • exécutable ou interprétable par le serveur web.

Les langages de programmation les plus utilisés pour l'écriture des CGI sont les suivants :

  • Le langage Perl, particulièrement adapté à la manipulation de chaînes de caractères ;
  • Les langages C et C++ ;
  • Le langage Java
  • .

Lorsqu'une requête est envoyée au serveur, celui-ci examine l'extension du fichier demandé afin de déterminer l'action qu'il va effectuer. Ainsi, par exemple :

  • dans le cas d'un fichier HTML (extension .htm ou .html) : le serveur va générer des en-têtes de réponse HTTP qu'il va envoyer au navigateur demandant un fichier, puis envoyer le fichier HTML.
  • dans le cas d'un fichier CGI écrit en Perl (extension .pl) : le serveur va exécuter l'interpréteur Perl, celui-ci va interpréter le code contenu dans le fichier portant l'extension .pl, puis envoyer les données au serveur, qui va les envoyer au navigateur, comme dans le cas d'un fichier HTML
  • dans le cas d'un fichier CGI écrit en langage C (extension .exe sous Windows) : le serveur va exécuter le CGI, puis envoyer vers le navigateur les données que le programme lui aura transmis.

Ainsi, le rôle d'un script CGI est de recevoir des données envoyées par le serveur, de les traiter, puis de renvoyer des en-têtes de réponses et des tags HTML valides. En effet, lorsqu'un programme CGI renvoie un fichier, il doit commencer par envoyer un en-tête HTTP permettant de préciser le type de contenu envoyé au navigateur (appelé type MIME), c'est-à-dire :

  • dans le cas d'un fichier html, la chaîne suivante :
    content-type : text/html
  • dans le cas d'un fichier gif (pour faire de la création dynamique d'images par exemple, comme dans le cas d'histogrammes ou de diagrammes divers), la chaîne suivante :
    content-type : image/gif
  • dans le cas d'un fichier quicktime, la chaîne suivante :
    content-type : text/quicktime
  • etc.

Discussions pertinentes trouvées dans le forum

04/09 15h37 personne connaissant cgi recherche personne connaissant cgi ou autre Webmastering 10/09 12h05->kifman032
25/07 19h44 cgi bin probleme cgi-bin Linux/Unix 27/07 17h33->jisisv12
30/06 17h46 cgi python fichiers binaires [CGI][Python] Problème avec fichiers binaires Développement 01/07 17h00->batmat11
08/06 10h18 script cgi perl navigateur script CGI en perl et navigateur Linux/Unix 24/09 17h29->lami20j10
10/03 20h54 script cgi bin Petit script cgi-bin Développement 10/03 23h04->frzburn9
10/03 18h10 executer script cgi Executer un Script CGI Développement 11/03 15h22->rania8
08/09 14h30  Hitparade Xiti et CGI Suggestions 09/09 00h28->dodo8
28/10 00h53 labview cgi Labview + cgi Logiciels/Pilotes 05/12 19h25->foobar478
09/06 11h12 cgi trans fichiers CGI: comment transmettre des fichiers Développement 26/06 14h11->txiki8
06/09 18h32 cgi comprend rien Les CGI j'en peux plus je ne comprend rien... Développement 07/09 21h04->Jolkdarr8
Discussion fermée Problème résolu CGI Plus de discussions sur « CGI »

Ce document intitulé « CGI - Introduction » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
 
CGI - Introduction