Homepage de Marianne et Emmanuel
Journee de la non-violence éducative le 30 avril

Exemples de CGI en Perl

Cette page permet de charger des CGI écrit en perl qui servent à tester l'environnement hébergeant vos CGI (test simple type 'Hello World', tests de lock, de date ...). Vous ne trouverez donc pas ici d'exemple de compteur, forum ...

Le package comprend la page ex-cgi.htm et 5 scripts (tous les noms sont en 8.3).
Cet ensemble de fichiers est conçu pour être dans un même répertoire, de même les fichiers générés sont écrits et lus dans ce répertoire. En changeant quelques lignes, vous pourrez les installer différemment. Ces scripts ne nécessitent aucune librairie.

Pour s'en servir :

  1. Vous décompactez chez vous le package.
  2. Si besoin est, vous changez les fichiers :
    • La première ligne de chaque script est l'appel du prog perl. Vous remplacez #!/bin/perl par le chemin du prog perl qui vous est accessible.
      Ex: Le programme perl qui vous est accessible se trouve à /usr/local/bin/. Dans chaque script, vous remplacez la première ligne par #!/usr/local/bin/perl.
    • Sur Windows, quand vous modifiez un fichier, faites gaffe à bien le sauver en ASCII.
  3. Avec un programme ftp, vous chargez, en mode ASCII pour ceux sous système windows, les scripts et la page. Vous donnez aux scripts les droits d'exécution si votre site se trouve sur un système UNIX : site CHMOD 755 nom_script.
    Attention à la casse des noms des scripts, ils sont tous écrits en minuscule dans cette page.
  4. Avec votre butineur, vous chargez la page ex-cgi.htm et vous testez.

Charger le package (faites un "Save link as" sur le lien pour télécharger ou Shift bouton gauche sous Netscape) :


Description et affichage du code :

  1. Test simple type 'Hello World' : il vérifie juste que l'on peut lancer un script perl. S'il pose problème, vérifier les étapes indiquées.
  2. Infos sur le programme Perl fourni et le serveur du site.
  3. Test de date (fichier test : date.txt)
  4. Test de la procédure Truncate (fichier test : truncate.txt) : cette fonction sert à tronquer un fichier.
  5. Test de la procédure Flock (fichier test : flock.txt) : cette fonction sert à bloquer un fichier, ainsi, si plusieurs scripts (ou le même lancé plusieurs fois) veulent y écrire en même temps, ils doivent faire la queue.

Paramétrage

Si vous souhaitez ou devez installer les scripts dans un répertoire différent de celui de ex-cgi.htm, vous changez dans ex-cgi.htm les appels aux scripts.
Si vous souhaitez que les fichiers test soient écrits dans un autre répertoire que celui des cgi, vous avez 2 variables à modifier dans les scripts.

Exemple : Votre site se trouve dans /www qui est le point d'entrée 1, vous souhaitez mettre les scripts dans le répertoire /www/cgi-bin, la page dans le répertoire /www/exemple et que les fichiers test soient écrits dans le répertoire /www/exemple/test.

Dans ex-cgi.htm, vous changez l'appel de chaque script, par ex, <A href="cgi_ok.cgi"> sera remplacé par <A href="../cgi-bin/cgi_ok.cgi"> ou <A href="http://mon_adresse/cgi-bin/cgi_ok.cgi">.

Dans les scripts ayant des fichiers test, vous remplacez, par ex, l'adresse physique $test = 'flock.txt'; par $test = '/www/exemple/test/flock.txt'; et l'adresse html $test_www = 'flock.txt'; par $test_www = '../exemple/test/flock.txt'; ou $test_www = 'http://mon_adresse/exemple/test/flock.txt';.

Ensuite, avec un logiciel ftp, vous créez les répertoires nécessaires et chargez la page et les scripts.



1 : J'appelle 'point d'entrée' le répertoire de base de votre site. Dans un CGI, il faut bien faire gaffe à différencier quand on veut écrire/lire un fichier ou quand on veut faire un lien vers lui.