![]()
![]()
![]()
![]()
![]()
Next: Remplacement de mots clefs Up: Scripts CGI Previous: HTTP ``dynamique''   Contents   Index
CGI, base Le premier CGI que nous écrirons sera en ... Shell. Ceci afin de nous assurer que le serveur fonctionne correctement.
Le lecteur devra au préalable installer le serveur Apache sur sa machine et s'assurer qu'il fonctionne correctement. Pour cela, il ouvrira dans un navigateur l'adresse
http://127.0.0.1; ceci ne doit pas afficher d'erreur et indiquer que le serveur est correctement installé.Nous allons proposer une installation simpliste afin de simplifier les explications et avoir une plate-forme commune. Chaque utilisateur pourra, en fonction de ses connaissances, adapter ce texte à ses besoins. Pour les utilisateurs plus avancés, il est possible de procéder avec un hôte virtuel, parfaitement géré par Apache.
Si le serveur est correctement installé, il est capable d'exécuter des scripts CGI. Ceux-ci sont rassemblés dans le répertoire
/home/httpd/cgi-bin.Nous allons créer un scripts de test en Shell placé dans le fichier
/home/httpd/cgi-bin/test.cgi:#! /bin/sh cat << EOF Content-type: text/html <HTML> <BODY> <br>Ce test fonctionne parfaitement. <br>Nous sommes le $(date) </BODY> </HTML> EOFCe programme indique que l'interprète
/bin/shdoit être utilisé pour l'exécuter. Il lance la commande Unixcatqui affiche sur la sortie du programme toutes les lignes suivantes jusqu'à ce que le mot clef EOF soit rencontré. Le texte affiché est alors celui contenu entre les deux EOF. L'en-tête de ce texte est très important et il indique au navigateur qu'il s'agit de texte brut ou de texte codé en HTML. Puis on rencontre la balise d'ouverture d'une page WEB suivit de son corps. La commande Unix date est exécutée et son résultat est inséré tel quel dans le texte de sortie.Pour le tester, nous entrons l'adresse
http://localhost/cgi-bin/test.cgi; ça devrait afficher le message et la date du jour.L'étape suivante consiste à créer le script en OpenScheme. Pour cela, vous devez avoir une version de l'environnement sur votre système. Les commandes qui suivent doivent être exécutées en tant que l'utilisateur
root.
- Si vous avez installé la version complète, vous devriez avoir le fichier
_osm_c.versionsur votre système ; il s'agit de la version statique contenant tous les plugins et en vérification des types d'OpenScheme. Par défaut, il se situe dans/usr/local/osm-version/bin/x86/Linux/. Copiez le en/usr/local/bin/osm-cgi.
- Si vous n'avez pas d'environnement sur votre système, ou bien si vous avez une ancienne version, récupérez le fichier
osm-Linux-x86-1.3.4-lightsur le sitehttp://www.open-scheme.com/download.htm. Copiez le en/usr/local/bin/osm-cgi.Vérifiez bien que le binaire est exécutable pour tout le monde. Pour cela, vérifiez que la commande
ls -la /usr/local/bin/osm-cgiaffiche-rwxr-xr-xou-rwxrwxr-x. Si ce n'est pas le cas, tapez la commandechmod /usr/local/bin/osm-cgi 755.Ecrivons maintenant le premier programme CGI en Scheme dans le fichier
/home/httpd/cgi-bin/osm1.cgi:#! /usr/local/bin/osm-cgi --exec (use 'osm) (format #t "Content-type: text/html <HTML> <BODY> <br>Ce test osm fonctionne bien. <br>Aujourd'hui = ~a </BODY> </HTML> " (date->string (date)))La première ligne de ce programme indique quels sont les arguments à donner à l'interprète Scheme pour exécuter le script. Ce fichier doit être rendu exécutable. Pour cela, taper la commande
chmod 755 /home/httpd/cgi-bin/osm1.cgi.Assurez-vous qu'il fonctionne correctement, indépendamment du serveur Apache en tapant la commande
/home/httpd/cgi-bin/osm1.cgi. Cela doit afficher du texte en HTML !Maintenant, nous pouvons tester avec le serveur. En utilisant le navigateur
lynx, par exemple, tapezlynx http://localhost/cgi-bin/osm1.osm. On doit avoir le texte suivant affiché :Ce test osm fonctionne bien. Aujourd'hui = Sat Oct 7 16:00:12 2000Nous sommes maintenant prêts à exploiter les fonctions CGI d'OpenScheme !
Ces fonctionnalités sont regroupées dans le module NET. Elles permettent de remplacer une série de mots clefs d'une page WEB par une valeur. Dans ce mode de fonctionnement, on utilise une page WEB existante, dans laquelle on place les mots clefs.
Il est aussi possible de placer du code Scheme directement dans une page WEB, comme on le fait avec ASP, PHP ou Perl. De cette manière, le texte HTML et les programmes se situent dans le même fichier. La bibliothèque permet aussi de récupérer la valeur des champs des formulaires dans des variables Scheme, sans intervention, ainsi que les principales variables d'environnement.
![]()
![]()
![]()
![]()
![]()
Next: Remplacement de mots clefs Up: Scripts CGI Previous: HTTP ``dynamique''   Contents   Index © 1993 to 2001 Erian Concept