FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Scripts CGI : Qu'est-ce que c'est et comment dynamisent-ils les sites web ?

CGI signifie Common Gateway Interface. Ce protocole standard permet aux serveurs web d'exécuter des programmes et de générer du contenu dynamique pour les navigateurs. Un script CGI s'exécute côté serveur en réponse à une URL spécifique demandée par l'utilisateur.

Avantages des scripts CGI

Les scripts CGI transforment un site web statique en une plateforme interactive et personnalisée. De l'authentification utilisateur à des applications e-commerce complexes, ils sont au cœur de l'expérience web moderne. Voici leurs principaux bénéfices :

  • Personnalisation utilisateur : Contenu adapté à chaque visiteur, comme la consultation de soldes bancaires via une base de données.
  • Adaptation aux appareils : Sortie optimisée pour mobiles, ajustée à la résolution de l'écran.
  • Mises à jour dynamiques : Traitement des formulaires POST pour modifier des données, comme un statut sur Facebook.
  • Téléchargements de fichiers : Gestion serveur des uploads pour stocker les fichiers en toute sécurité.
  • Génération de documents : Création à la volée de PDF, factures ou relevés, comme une facture téléphonique.

Fichiers statiques vs scripts CGI

Les fichiers HTML, CSS et JavaScript sont servis directement par le serveur. Les CGI, eux, sont exécutés pour des contenus dynamiques, comme l'accès à une base de données pour authentifier un utilisateur via nom et mot de passe.

Scripts CGI : Qu est-ce que c est et comment dynamisent-ils les sites web ?

Configuration des serveurs web

Le logiciel HTTP du serveur est configuré pour exécuter des CGI spécifiques lorsque des URL correspondent à des motifs prédéfinis, générant ainsi du contenu à la demande.

Exécution des CGI

Une requête navigateur transmet des en-têtes HTTP et un corps éventuel, incluant :

  • Type de navigateur
  • Nom d'utilisateur (si connecté)
  • Cookies stockés
  • Variables de formulaire (POST)

Le serveur passe ces données au CGI, qui les utilise pour personnaliser la réponse.

Gestion des POST de formulaires

Les CGI excellent dans le traitement des formulaires HTML. À l'envoi, le navigateur transmet les données à l'URL cible via méthode POST. Le CGI analyse ces entrées et renvoie une réponse adaptée.

Exemple de script CGI

Voici un script Python simple, déployable sous https://www.example.com/cgi-bin/env.cgi. Il affiche les variables d'environnement reçues du serveur :

#!/usr/bin/env python
import os
print("Content-Type: text/plain\n")
for key in os.environ:
    print(key, "=>", os.environ[key])

Évolution des CGI

Introduits avec le premier serveur NCSA HTTPd, les CGI ont permis le passage du statique au dynamique. Initialement des scripts Perl ou Shell, ils ont évolué vers des langages compilés (C/C++), puis des interpréteurs intégrés comme PHP pour plus d'efficacité.

Aujourd'hui, PHP, Node.js et autres frameworks succèdent aux CGI traditionnels, mais le principe persiste.

Utilisez-vous des scripts CGI sur votre site ? Quels défis avez-vous rencontrés ? Partagez en commentaires !

[]