généralités - logiciels - formulaires - scripts simples - bases de données - bibliographie
C'est le protocole d'échange de documents sur le Web : documents html, texte, images, applets, css etc.
HTTP s'appuie sur TCP/IP
La machine sur laquelle se trouvent les pages HTML est serveur, la machine qui consulte est client ; un client envoie une requète, le serveur y répond.
Le navigateur (UA = User Agent) est un serveur d'affichage pour le document HTML (comme un serveur X-Window pour une application X sous Unix)
Si la page HTML comporte un formulaire, la réception de ce formulaire par le "demon" serveur HTTPD provoque l'exécution d'un "script cgi" (programme généralement situé dans ./cgi-bin/
Ce programme effectue "un certain travail" et compose dynamiquement une page HTML (écriture sur sa sortie standard) qui sera envoyée au client par le serveur HTTP
Le script CGI peut lui-même faire appel à un serveur de bases de données : il lui envoie des requètes et compose sa page en fonction du résultat
Il existe deux méthodes pour passer des paramètres au programme CGI :
Les scripts CGI peuvent s'écrire en n'importe quel langage, en particulier on pourra avoir :
On n'indiquera ici que de logiciels libres (licence GPL ou approchant : gratuits, sources disponibles, modifiables)
Le serveur le plus utilisé sur Internet (plus de 50 % des serveurs) est Apache http://www.apache.org
Il existe en versions Unix et Windows
Sous Linux bash, Perl et C sont installés d'origine.
Sous Dos/Windows on peut installer les outils de développement "djgpp" qui fournissent le même environnement que sous Unix. Voir chez Simtelnet (ftp://ftp.simtel.net répertoire pub/simtelnet/gnu*, site mirroir chez Grolier (ftp.grolier.fr)
Un équivalent libre du TP6/TP7/Delphi exite pour Linux/DOS/Win32 : FPC = FreePascalCompiler (www.freepascal.org)
On peut recommander MySQL, gratuit avec sources (mais pas vraiment libre, voir la licence) sous Linux, le même existant sous Windows32 mais payant sauf pour le domaine éducatif (télécharger la version d'essai et s'enregistrer comme établissement d'enseignement).
http://www.mysql.org
Vu du côté utilisateur, le formulaire sert à préparer la requète qui sera envoyée au serveur.
Les données seront envoyées sous la forme d'une liste de couples variable/valeur de la forme
variable=valeur ou variable1=valeur1&variable2=valeur2&variable3=valeur3
Les espaces, caractères accentués et autres caractères spéciaux sont rendus par un code de la forme %nn...
cf exemple scripts CGI en Pascal
cf exemple scripts CGI en Pascal
Les scripts à la Turbo-Pascal posent plusieurs problèmes :
On préférera généralement des scripts en shell script, en C ou en Perl, mais ceci pose des problèmes sous DOS/Windows : difficulté pour lancer un script shell ou Perl, le système ne sachant que faire d'un script /cgi-bin/truc.sh ou /cgi-bin/machin.pl, même si les scripts en question contiennent en première ligne
#!/bin/sh
ou
#!/usr/bin/perl
alors que cette syntaxe est parfaitement comprise sous d'autres OS.
Les avantages :
Les inconvénients
L'on pensera à récupérer l'index des RFC...
ftp://ftp.lpi6.fr/pub/rfc
ftp://ftp.lpi.ac-poitiers.fr/pub/rfc
ftp://ftp.lpi6.fr/pub/linux/french/docs
http://www.eisti.fr/ (RFC en français)
http://www.w3c.org
Voir les documentations des logiciels Apache, MySQL...
ls /usr/doc/HOWTO
news://news.univ-angers.fr/fr.comp.*
news://news.pcl.fr/poitiers.informatique
news://news.lpi.ac-poitiers.fr/*
Toute la collection de chez O'Reilly (http://www.editions-oreilly.fr) en particulier les ouvrages sur Perl que l'on peut aussi acheter par correspondance avec sa distribution Linux chez Ikarios (http://www.ikarios.com)
Chez O'Reilly International : MySQL et mQSL
Dernière mise à jour le mardi 1er février 2000