Comment Ca Marche l'informatique ?
Accueil
Forum
Aide
bordure
Page d'accueil
Ajouter aux favoris
Signalez une erreur
Ecrire à Jean-Francois Pillou
Introduction
Communication entre serveur et navigateur
Envoi de données
Réception de données
Var. d'environnement
Version 2.0.3
Introduction aux CGI Page précédente Page suivante Retour à la page d'accueil

Présentation de l'interface CGI

Un CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté du côté serveur, permettant de cette façon l'affichage de données traitées par le serveur (provenant d'une autre application, comme par exemple un système de gestion de base de données, d'où le nom de passerelle). C'est l'usage le plus courant des programmes CGI.

Un des grands intérêts de l'utilisation de CGI est la possibilité de fournir des pages dynamiques, c'est-à-dire des pages pouvant être différentes 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 saisir des données, puis à cliquer sur un bouton de soumission du formulaire, envoyant alors les données du formulaire en paramètre du programme CGI...

Langage de programmation des CGI

Un programme CGI peut être écrit dans n'importe quel langage ou du moins à peu près... 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
Les langages de programmation les plus utilisés pour l'écriture des CGI sont:
  • Le langage Perl (majoritairement, car il est particulièrement adapté à la manipulation de chaînes de caractères)
  • Les langages C, C++
  • 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 puisqu'il s'agit d'un exécutable): 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 programme CGI est de recevoir des données envoyées par le serveur, à les traiter, puis à 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
  • ...


Page précédente Page suivante

Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL. Vous pouvez copier, modifier des copies de cette page tant que cette note apparaît clairement.