arbre
 

Explications sur global.asa

Global.asa est un fichier texte optionnel qui doit être localisé à la racine du site Web.

Un fichier global.asa peut être composé de 3 sections distinctes :

  • une ou plusieurs sections <SCRIPT>, qui contiennent la définition des événements de session et d' application,
  • une ou plusieurs sections <OBJECT> pour créer des objets de session ou d' application
  • une ou plusieurs sections de définition des bibliothèques de types.

Nous nous intéresseront plus particulièrement à la section <SCRIPT>

Cette section regroupe en standard 4 procédures prédéfinies et exécutées à un moment clef. Deux d' entres elles sont exécutées lors de la connexion et de la déconnection d' un visiteur et les deux autres lors de l' arrêt et du démarrage du site. Le fichier Global.asa doit

Syntaxe
La section <SCRIPT> doit commencer et finir avec les délimiteurs HTML de script <SCRIPT> avec deux attributs obligatoires :

  1. language qui définit le langage de programmation utilisé dans cette section : VBScript, JScript...
  2. runat dont la valeur est obligatoirement "Server"

<SCRIPT language="VBScript" runat="Server">
' Code VBScript
...
< SCRIPT>

Il est possible d' utiliser ces événements pour définir des variables d' application, qui sont des variables globales, valables pour tous les visiteurs en même temps ou des variables de session définies pour chaque visiteur.

Contenu standard d' un fichier global.asa

< SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_onStart()
   'Code à exécuter au démarrage du site
End Sub

Sub Application_onEnd()
   'Code à exécuter à l'arrêt du site
End Sub

Sub Session_onStart()
   'Code à exécuter à l' arrivée d' un visiteur
End Sub

Sub Session_onEnd()
   'Code à exécuter lorsqu' un visiteur quitte le site
End Sub

</SCRIPT>

Les restrictions de global.asa

Modifications

Lorsque le fichier global.asa est modifié, le serveur attend d' avoir répondu à toutes les requêtes en cours avant de recompiler le fichier. Durant cette opération, le serveur HTTP renvoie un message d' erreur disant que la requête ne peut pas être traitée tant que le serveur redémarre.

Les cookies de session

Le global.asa, utilise des cookies de session, c' est a dire que pour identifier un client au milieu de tout ceux connectés au net, lors de la première connection du client, IIS envoie un cookie sur le client, appelé cookie de session. Ce cookie contient un identifiant de session unique généré par IIS, qui permet d' identifier le visiteur lors de sa prochaine visite.

Un problème peut survenir lorsque certains navigateurs ne supportent pas ce type de cookies ou ou lorsque l'utilisateur les a désactivés.

Accès au système de fichiers

Le global.asa ne permet pas l' accès au système de fichier

Acces aux bases de données

Le global.asa ne peut se connecter à une base de données utilisant une connection DSN Less, il peut cependant se connecter à une base de données utilisant une connection DSN.

Exemple pratique

L'exemple le plus caractéristique, mais pas des plus innovant, qui utilise le fichier global.asa : L' indication du nombre de personnes connectées à un site.


<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  
  Sub Application_OnStart 
    Application("visiteur") = 0
  End Sub

  Sub Session_OnStart
    Application("visiteur") = Application("visiteur") + 1
    Application.Unlock
  End Sub

  Sub Session_OnEnd
   Application.Lock
   if Application("visiteur")>0 then
     Application("visiteur") = Application("visiteur") - 1
   end if
  End Sub

</SCRIPT>

Explications  du contenu de global.asa:

Lorsque le site démarre pour la première fois, le nombre de visiteurs est mis à 0

A l'arrivée de chaque visiteur, l'autorisation de modification des variables applications est bloquée et réservée uniquement à la session qui vient de commencer.
Le nombre de visiteurs est incrémenté.
L'autorisation de modifcation des variables est rétablie

Au départ de chaque visiteur, l'autorisation de modification des variables applications est bloquée et réservée uniquement à la session.
Le nombre de visiteurs est décrémenté.
L'autorisation de modifcation des variables est rétablie.

Il faut maintenant récupérer le nombre de visiteurs pour l'afficher sur vos pages :

<% 
  response.write(Application("visiteur")) ' Affiche le nombre de visiteurs
  if Application("visiteur")<2 then       ' si moins de 2 visiteurs
    response.write("Personne connectée")  ' mettre au singulier
  else                                    ' si non 
    response.write("personnes connectées")' mettre au pluriel
  end if
 %> 

Sources dans un fichier ZIP

Toutes les heures, le serveur contrôle que votre site est en ligne. En cas de problème, un mail vous est envoyé.
Vous avez l'habitude d'oublier les dates importantes? Oubli vous prévient gratuitement par email !

Page modifiée le 17/06/2010 1909 visiteur(s) aujourd'hui
Comment créer son site

Global.asa