La communauté ALL HTML c'est 58234 membres à ce jour dont 2 inscrits aujourd'hui et 35 depuis une semaine.

Introduction aux CGI

Photo de ALL HTML Article publié le lundi 29 mars 2004 par ALL HTML.
Cet article est classé dans les catégories « PERL »

Practical Extraction and Report Language. Le langage PERL est un langage de programmation (interprété) dérivé des scripts shell, créé en 1986 par Larry Wall. Très à l'aise avec la manipulation de chaînes de caractères, il est le langage de prédilection pour l'écriture d'interfaces CGI (Common Gateway Interface).

C'est quoi un CGI ?


Un CGI ou Common Gateway Interface (interface de passerelle) est un script classique (développé en C, C++, Perl...) permettant de générer des pages à partir de données présentes sur le serveur (ex : livre d'or). Il se présente donc comme une passerelle qui permet de faire le lien entre vos applications de traitement et votre serveur HTTP (protocole de transfert utilisé sur le Net).

Utiliser et installer un CGI


Pour pouvoir installer vos CGI il faut que :

a) Le serveur soit configuré pour permettre de les exécuter.
b) Votre administrateur système (votre hébergeur) vous donne l'autorisation de les installer.
c) Vous sachiez biensûr les installer (et les personnaliser suivant la configuration du serveur) et définir les permissions

Note : Dans le cas d'un hébergeur dit gratuit comme Multimania, il n'est pas possible d'installer vos CGI, et cela pour deux raisons :

- des problèmes de sécurité
- mais surtout parce que ces scripts sont gourmands en ressources serveur...

Les permissions


Lors de l'installation d'un script CGI, il est important de définir correctement les permissions (sinon erreur de type 500 généralement), cela afin d'autoriser ou non vos visiteurs à écrire dans tel ou tel fichier ou pour exécuter tel ou tel script. Par exemple, pour installer un compteur, vous devez taper sous telnet chmod 755 compteur.cgi, ce qui a pour effet de rendre exécutable ce fichier.

0 donne Aucune permission (---)
1 donne Exécuter (--X)
2 donne Ecrire seulement (-W-)
3 donne Ecrire et exécuter (-WX)
4 donne Lire seulement (-R-)
5 donne Lire et exécuter (R-X)
6 donne Ecrire et lire (RW-)
7 donne Lire et écrire et exécuter (RWX)

Quelques exemples :

<br><table border="1" bordercolor="#330033" cellpadding="3" cellspacing="1" width="489"><tbody><tr><td></td><td align="center"><span class="g4"><code><b>&nbsp;user&nbsp;</b></code></span></td><td align="center"><span class="g4"><code><b>&nbsp;group&nbsp;</b></code></span></td><td align="center"><span class="g4"><code><b>&nbsp;others&nbsp;</b></code></span></td></tr><tr><td align="center"><span class="g4"><code><b>chmod 755</b></code></span></td><td align="center"><span class="g4"><code>rwx</code></span></td><td align="center"><span class="g4"><code>r-x</code></span></td><td align="center"><span class="g4"><code>r-x</code></span></td></tr><tr><td align="center"><span class="g4"><code><b>chmod 644</b></code></span></td><td align="center"><span class="g4"><code>rw-</code></span></td><td align="center"><span class="g4"><code>-w-</code></span></td><td align="center"><span class="g4"><code>-w-</code></span></td></tr><tr><td align="center"><span class="g4"><code><b>chmod 640</b></code></span></td><td align="center"><span class="g4"><code>rw-</code></span></td><td align="center"><span class="g4"><code>-w-</code></span></td><td align="center"><span class="g4"><code>---</code></span></td></tr></tbody></table><br>

Créer ses CGI


Pour créer ses propres CGI, il faut, bien entendu, passer par un langage de programmation. Pour le déterminer, interrogez le serveur pour savoir quels langages il supporte. Dans la plupart des cas, UNIX est celui qui supporte le plus aisément plusieurs langages de script tels que C, C++, Perl.

<br><table border="1" bordercolor="#330033" cellpadding="3" cellspacing="1" width="489"><tbody><tr><td align="center" bgcolor="#6699cc"><span class="texte"><b>Système</b></span></td><td align="center" bgcolor="#6699cc"><span class="texte"><b>Langage supporté</b></span></td></tr><tr><td><span class="texte">UNIX</span></td><td><span class="texte">C, C++, Perl, Shell, TCL</span></td></tr><tr><td><span class="texte">Windows NT</span></td><td><span class="texte">Visual Basic, C, C++, (Perl possible)</span></td></tr><tr><td><span class="texte">Macintosh</span></td><td><span class="texte">AppleScript</span></td></tr><tr><td><span class="texte">OS2</span></td><td><span class="texte">Rexx</span></td></tr><tr><td><span class="texte">Amiga OS</span></td><td><span class="texte">Rexx</span></td></tr></tbody></table>

</span></td>

</tr>
</tbody></table>
</td>
</tr>
</tbody></table>

VOS COMMENTAIRES ...

Commenter cette publication

Aucun commentaire pour le moment ...

Commenter cette publication

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

Forums de discussions associés

Discutez et échangez sur ce thème dans notre forum Autres langages (JAVA, JSP, etc.).

Liens sponsorisés

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.