Les pages Web générées par des programmes CGI présentent une autre importante différence avec les écrans passifs classiques : les pages Web CGI sont sans état. Autrement dit, le programme lit les entrées transmises par le protocole HTTP, effectue son traitement puis sort une page Web sans savoir ce qui
Maintenir l’état
s’est passé précédemment avec cet
utilisateur. Pour passer outre cette limitation,
vous pouvez maintenir l’état en utilisant des variables cachées, des
cookies, des mises à jour de bases de
données de l’information utilisateur,
ou une combinaison de ces méthodes.
Voyons les deux premières possibilités.
Les variables cachées sont des variables
qui contiennent des données
mais ne sont pas visibles sur la page.
Elles sont codées sous la forme <input
type= »hidden » name= »myvariable » value= »/%
MyValue%/>. La valeur d’une
variable cachée est définie par le programme
CGI puis lue par le programme
invoqué par la page suivante.
Bien que ces variables soient cachées,
un utilisateur peut prendre connaissance
de leurs valeurs en visualisant la
source d’une page Web. Donc, elles
sont cachées, mais pas sécurisées.
Les cookies sont des en-têtes de
réponse qui permettent aux programmes
CGI de suivre certaines données.
De nombreux sites utilisent des
cookies, placés par le serveur hôte sur
les PC des visiteurs. Quand un visiteur
revient sur le site, le cookie est extrait
et le serveur sait qui le visite. La sousprocédure
CrtCookie de CGIDEV2
permet de créer un cookie très facilement.
Pour plus d’informations sur les
cookies, voir http://home.netscape.
com/newsref/std/cookie_spec.html.
Dans mon exemple, le cookie est
défini par l’intermédiaire de la source
HTML, donc il faut inclure une variable
dans la source dans l’en-tête de la manière
suivante :
/$top
Content-type: text/html
/%setmycookie%/
Le programme RPG exécute ensuite
le code de la figure 3. Ce cookie
expire quatre mois après sa création.
Pour créer un cookie de session qui ne
sera pas écrit sur le disque dur de l’utilisateur
mais disparaîtra quand l’utilisateur
quittera le navigateur, il suffit
d’omettre le paramètre « Expires ».
Dès lors qu’un cookie est créé, il
peut être extrait par les programmes
ultérieurs en utilisant la sous-routine
suivante (à noter que le nom du cookie< doit être celui qui a été défini dans le
programme qui l'a créé) :
C RtvMyCook begsr
C CookieVal=GetCookieByName(‘TUTOR’)
C Endsr
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Cybersécurité française 2026 : explosion des startups, ralentissement des scale-ups et virage stratégique de l’IA
- Le Cercle de l’Innovation décerne le Prix de l’Innovation du Public 2026
- Avec l’IA agentique, la robustesse des SI redevient stratégique
- Les erreurs du secteur bancaire dans son approche IA
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
