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.


Dernière modification le mardi 14 octobre 2008 à 17:40:29.Ce document intitulé « Introduction à la programmation des CGI » issu de 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.
Meilleures réponses pour « Introduction à la programmation des CGI » dans :
CGI - Les variables d'environnement Voir Notion de variable d'environnement Les variables d'environnement sont des données stockées dans des variables du système et permettent aux programmes d'avoir des informations sur son environnement. Dans le cas du programme CGI, l'environnement est...
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
Supprimer complètement un programme VoirMalgré la désinstallation d'un programme, il se peut que des clés de registre ou des fichiers soient encore présents sur le PC. Si la méthode "classique" (clic droit/supprimer) ne fonctionne pas, il suffit d'utiliser l'éditeur du registre. Mise en...
Fichier utilisé - Le fichier est ouvert dans un autre programme VoirLorsque vous souhaitez supprimer ou déplacer un fichier, Windows se plaint avec le message suivant : Fichier utilisé Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme Fermez l'application concernée Avant...
Télécharger ProgDVB VoirLa diffusion de programme en numérique est de plus en plus en vogue depuis l'apparition de la connexion haut-débit. ProgDVB est un programme destiné à regarder des chaînes TV et à écouter des stations radio sur votre ordinateur. Il supporte le DVB-S...
Enterprise Resource Planning (ERP) - Progiciel de Gestion Intégr VoirIntroduction aux ERP Les ERP (en anglais Enterprise Resource Planning), aussi appelés Progiciels de Gestion Intégrés (PGI), sont des applications dont le but est de coordonner l'ensemble des activités d'une entreprise (activités dites verticales...
Analyste programmeur (développeur) VoirDéveloppeur Le métier de développeur (également nommé analyste-programmeur) consiste à concevoir et à développer une application informatique, c'est-à-dire transcrire un besoin en une solution informatique écrite dans un langage informatique....
Programme informatique VoirQu'est-ce qu'un programme informatique? Un programme informatique est une succession d'instructions exécutable par l'ordinateur. Toutefois, l'ordinateur ne sait manipuler que du binaire, c'est-à-dire une succession de 0 et de 1. Il est donc...