Flux rss
Collection CommentÇaMarche.net
Bookmark Ajouter aux favoris / Partager

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.
Projet de programmation CGI en C Bonsoir, J'ai à l'idée de réaliser un programme CGI en C pour le projet de fin d'année de mon école. Je cherche des idées sur ce que pourrait effectuer un tel programme. Avez vous des idées ? Quels outils/bibliothèques seraient alors nécessaires ? Il... www.commentcamarche.net/forum/affich-11654725-projet-de-programmation-cgi-en-c
CGI - Les variables d'environnement 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... www.commentcamarche.net/contents/cgi/cgienv.php3
Probleme cgi-bin Bonjour, Je suis sous Mandrake 9.0 et Apache. je teste un programme CGI sur une page HTML (page HTML comprenant un lien vers un programme CGI). Bon je tape mon URL : http://localhost/toto.html puis je clique sur mon lien qui doit lancer mon programme... www.commentcamarche.net/forum/affich-902433-probleme-cgi-bin
Désactiver l'exécution de certains programmes au démarrageDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec Winpatrol Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque démarrage de votre ordinateur.... www.commentcamarche.net/faq/sujet-6816-desactiver-l-execution-de-certains-programmes-au-demarrage
Supprimer complètement un programmeMalgré 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... www.commentcamarche.net/faq/sujet-519-supprimer-completement-un-programme
[Linux] Installer les programmes (gestion des paquets, compil)************************************************************** **** INSTALLER UN PROGRAMME SOUS LINUX : **** * LA GESTION DES PAQUETS ou COMMENT SE SIMPLIFIER LA VIE * ** UN EXEMPLE DE COMPILATION POUR SE FAIRE LA MAIN ... www.commentcamarche.net/faq/sujet-1328-linux-installer-les-programmes-gestion-des-paquets-compil
Executer un programme coté serverBonjour, Je souhaiterai avec un bouton de ma page web (sur poste client), faire excuter un programme qui se trouve sur le poste serveur(serveur perso). comment faire?? merci olivier www.commentcamarche.net/forum/affich-2485445-executer-un-programme-cote-server
Upload + barre de progressionBonjour. Je possede un site internet et je desir faire une page d'upload. Le seul probleme que j'ai est que je n'arrive pas a inclure a cette page une barre de progression de l'upload. Connaissez vous ou pouvez vous me donner un script tout fait pour... www.commentcamarche.net/forum/affich-3953065-upload-barre-de-progression
Executer des CGI en C/C++ sous Apache 2 ?Salut ! J'ai un souci avec l'indien: Comment je peux lui faire executer des CGI programmé en C/C++ ? J'ai decommenté quelques lignes dans httpd.conf mais rien a faire: il veut télécharger au lieu d'executer :( Est ce que quelqun peut m'aider ? Merci... www.commentcamarche.net/forum/affich-760622-executer-des-cgi-en-c-c-sous-apache-2
Télécharger ProgDVBLa 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... www.commentcamarche.net/telecharger/telecharger-34056507-progdvb
Télécharger 5 Clicks - screen capture programCe logiciel est tout simplement un outil de capture d’écran. Facile à utiliser, il vous suffit de faire 5 clics pour lancer le programme et effectuer une capture à partir de n’importe quel écran. Les images prises peuvent être exportées... www.commentcamarche.net/telecharger/telecharger-34060259-5-clicks-screen-capture-program
Télécharger Program Icon ChangerComme son nom l’indique, Program Icon Changer permet de remplacer l'icône dans un fichier exécutable. Même si vous déplacez le fichier vers un autre ordinateur, le changement d’'icône s’effectuera. L’application prend en charge... www.commentcamarche.net/telecharger/telecharger-34059964-program-icon-changer
Exercices de yoga, de renforcement musculaire et d'aérobic au programme de la Wii Fit(Paris - Relax news) - Le nouveau programme sportif de la console de Nintendo Wii, baptisé Wii Fit, sortira en Europe au printemps prochain. A quelques semaines de son lancement, voici plus d'informations sur les fonctions qu'il propose. Le principe... www.commentcamarche.net/actualites/exercices-de-yoga-de-renforcement-musculaire-et-d-aerobic-au-programme-de-la-wii-fit-4589377-actualite.php3
L'affichage de données sur le navigateur avec les CGIBut d'un script CGI Les scripts CGI ont pour but d'afficher des pages Web générées par un programme informatique, d'où la dénomination de pages web dynamiques pour les pages créées par ce moyen. Toutefois, étant donné que le serveur renvoie telles... www.commentcamarche.net/contents/cgi/cgiput.php3
Enterprise Resource Planning (ERP) - Progiciel de Gestion IntégrIntroduction 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... www.commentcamarche.net/contents/entreprise/erp.php3
Analyste programmeur (développeur)Dé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.... www.commentcamarche.net/contents/metiers-informatique/analyste-programmeur-developpeur.php3