-
    Techniques et conseils

Note: L'ensemble des "Tips of the Week" de l'éditeur OmniPilot sont régulièrement traduits chaque semaine. Vous les retrouvez ci-après

LISTE DES TUTORIAUX

Formatage de nombres et calculs FileMaker Pro sous Lasso

Passer facilement de FileMaker Pro CDML à Lasso Professional 8

Outil de Maintenance MySQL

Indicateur de progression - Progress bar

Uploads de fichiers sous Lasso Professional 8

Utilisation des arrays pour la création d'inlines dynamiques

Balises de gestion du Cache

Méthodes d'appel des balises

Encryption de données

Notions de Sessions

Gestion des erreurs

Pages d'erreur customisées

Variables globales

Optimisations de MySQL

Symboles d'assignation mathématiques

Expression régulières (Nettoyage du texte)

Expressions régulières (Rechercher/remplacer)

Expressions régulières (principes de base)

Optimisez votre code HTML en utilisant les balises [Loop] et [Iterate]

Utilisation des boucles (Loops)

Utilisation de la balise [Action_Params]

Techniques de commentaires


     
Blueworld, Windows Server 2003, Windows XP, RedHat, Linux, Mac OS X, MACOS, Apache, MySQL, FIlemaker Pro

Edité par OmniPilot Software, Lasso Professional fonctionne sous Windows 2000/2003/XP et Linux RedHat et Apache Server - Il s'intègre parfaitement à MySQL™ et FileMaker Pro™ ainsi que toutes autres bases de données
     




Déposez votre nom de domaine avec ELIDEE

Sujet: Notions basiques de Sessions

Résumé:
Cet article discute de l'utilisation du mécanisme des sessions pour tracker les visiteurs et stocker des préférences sur votre site web.

Détail:
Lasso Professional inclut un mécanisme interne de gestion des sessions qui permet de stocker des valeurs pouvant être associées au visiteur d'un site d'une manière particulièrement simple. Les sessions permettent de mettre en cache des informations à propos du visiteur d'un site web, de stocker des préférences de navigation,... et beaucoup d'autres choses! Ceci sans écrire une seule ligne de code d'inline ou d'interaction avec une base de données.

Introduction

La session est un concept de haut niveau qui fait qu'un jeu de variables sont associées à chaque visiteur d'un site. Alors que le visiteur va de page en page les variables qui lui sont propres portent les même valeurs sur chaque page qui est chargée. Par exemple, si vous stockez le nom du visiteur dans une variable de session vous pouvez afficher un message de bienvenue sur chaque page de votre site.

A un niveau plus bas, une session consiste en un jeu de variables pour lesquelles vous demandez à Lasso de les transmettres sur toutes les pages vues par ce visiteur. Chaque visiteur est identifié automatiquement avec un numéro ID (identifiant unique). Lorsque Lasso charge une session sur chaque page il vérifie d'abord si le visiteur possède un ID (à la fois dans son URL ou dans un cookie). Si le visiteur a un ID alors la dernière valeur prise par chaque variable sera chargée. Dans le cas contraire, un nouvel ID de session est généré et sera transmis aux autres pages que le visiteur accèdera.

Balises

En terme d'implémentation, il y a deux balises qui sont utilisées pour établir une session. [Session_Start: -Name='MonNomDeSession'] réalise tout le travail qui permet de maintenir une session. Elle doit être appelée au sommet de chaque page où vous souhaitez utiliser des variables de session. La balise [Session_Start] accepte un paramètre optionnel -Expires qui précise la durée pendant laquelle les variables de session doivent être maintenues entre le chargement de deux pages (par défaut cette durée est de 15 minutes).

Par défaut, les sessions sont propagées de page en page en paramétrant un cookie. Lasso peut aussi modifier tous les liens relatifs sur une page en rajoutant un paramètre -Session sur les URLs avec l'ID du visiteur. Chacune de ces méthodes est transparente pour vous mais l'utilisation des cookies permet à un visiteur de quitter le site et de s'y reconnecter plus tard (mais avant la durée précisée dans le paramètre -Expires). Dans la balise [Session_Start], le paramètre -UseLink spécifie que les liens doivent être utilisés au lieu des cookies. En spécifiant à la fois -UseLink et -UseCookie vous aurez à la fois la ceinture et les suspentes pour votre approche en utilisant à la fois les Cookies et les sessions dans les liens URLs.

La balise [Session_AddVar: -Name='MonNomDeSession', 'Nom de variable'] est utilisée pour ajouter une variable à une session. Cette balise n'exige d'être utilisée que chaque fois que vous voulez ajouter une variable à une session, mais cela ne vous empêche nullement par exemple de l'appeler systématiquement par exemple après chaque [Session_Start]. Une fois cette balise appelée, la variable fera partie de la session. Une balise [Session_RemoveVar] peut être utilisée pour retirer des variables d'une session courante si vous aviez le besoin.

La balise [Session_AddVar] ne crée pas la variable. Lasso stockera une valeur "Null" pour toute variable qui est stockée dans la session mais dont aucune valeur n'a été précisée. Reportez vous aux exemples ci-après pour voir quelques stratégies de création de variables et leur ajout à une session.

Page de session unique

La plus simple utilisation d'une session sur un site est d'ajouter un [Session_Start] et une ou plusieurs balises [Session_AddVar] sur une simple page. Lorsque vous rechargez la page dans votre navigateur vous constaterez que les valeurs seront conservées à chaque chargement Pour essayer ceci, enregistrez ce code dans une page nommée default.lasso et chargez cette page depuis un navigateur Web servie par votre serveur Web.

<?LassoScript
  // Valeurs par défaut
  Variable: 'session_date' = (Date)->(Format: '%D %T');
  
  // Start Session
  Session_Start: -Name='Exemple', -Expires=5;
  Session_AddVar: -Name='Exemple', 'session_date';
?>
[Variable: 'session_date']

Cet exemple stocke une seule variable nommée "session_date" dans la session. En premier lieu "session_date" est paramétrée avec une valeur par défaut représentée par la date du jour courant. Ce code fera afficher la date du chargement de la page à chaque fois que cette page sera rechargée. Cependant, puisque la variable est stockée dans une session, la valeur par défaut sera affichée lors du premier chargement. Sur les chargements suivants la balise [Session_Start] remplacera la valeur de "session_date" avec la valeur stockée dans la session. La variable "session_date" stocke la date lorsque la session est initialement créée.

En rechargeant la page vous pouvez vous apercevoir que "session_date" ne change pas. Si vous fermez votre navigateur puis le re-ouvrez la variable aura toujours la même valeur (dans le délai d'expiration précisé de 5 minutes). Si vous chargez la page depuis un autre navigateur la variable "session_date" aura une autre valeur car les navigateurs ne partagent pas les cookies. Si vous attendez plus de 5 minutes et rechargez la page une nouvelle session sera créée.

Session sur plusieurs pages

Maintenant que nous avons une page unique de session qui fonctionne, étendre son utilisation à plusieurs pages va être simple. Sur une nouvelle page second.lasso, placez la même balise [Session_Start] que celle précisée sur la page default.lasso ci-dessus. Maintenant chargez cette seconde page. La valeur de la variable "session_date" a alors la même valeur que celle de default.lasso car la même session est chargée sur les deux pages.

<?LassoScript
  // Démarrage de la Session
  Session_Start: -Name='Exemple', -Expires=5;
?>
[Variable: 'session_date']

Utiliser les Sessions

Ces deux exemples très simples sont tout ce qu'il faut pour commencer à utiliser des sessions sur vos sites. Placez simplement les balises [Session_Start] au début de chaque page sur lesquelles vous souhaitez utilisez des sessions. Créez des variables possédant des valeurs par défaut et ajoutez les à la session en utilisant [Session_AddVar]. A chaque fois que vous modifiez une variable, sa nouvelle valeur sera automatiquement disponible sur toutes les pages utilisant la même session pour le visiteur de votre site.

La technique ci-dessus consistant à préciser une valeur par défaut en utilisant la balise [Variable] et ensuite d'appeler [Session_Start] est courante. Ceci vous assure que les variables ont une valeur correcte dès le premier chargement pour un visiteur (lorsque la session est créée). Sur les pages suivantes la balise [Session_Start] remplacera la valeur par défaut dans chaque variable avec la valeur stockée dans la session, la dernière valeur précisée pour la variable pour le visiteur courant.

Une technique habituelle est de créer un fichier "session.lasso" qui précise les valeurs par défaut pour toutes les variables qui seront utilisées sur le site, démarre la session en utilisant la balise [Session_Start] et ajoute toutes les variables requises pour la session en utilisant [Session_AddVar]. Ce fichier est ensuite inclut en utilisant [include:'/session.lasso'] en haut de chaque page de votre site web. Ceci vous assure que la session est démarrée et que toutes les variables disposes des bonnes valeurs à chaque chargement de page.

Par exemple, le script Lasso ci-dessous pourrait être le contenu de ce fichier "session.lasso". Ce fichier crée trois variables (toutes nommées "session_..." de manière à savoir qu'il s'agit de variables passées de pages en pages automatiquement). Les variables sont précisées de valeurs par défaut, [Session_Start] est appelée et les variables ajoutées à la session.

<?LassoScript
  // Valeurs par défaut
  Variable: 'session_date' = (Date)->(Format: '%D %T');
  Variable: 'session_visitorname' = 'Nouveau Visiteur';
  Variable: 'session_sitecolor' = 'bleu'
  
  // Start Session
  Session_Start: -Name='Example', -Expires=(60 * 24 * 14);
  Session_AddVar: -Name='Example', 'session_date';
  Session_AddVar: -Name='Example', 'session_visitorname';
  Session_AddVar: -Name='Example', 'session_sitecolor';
?>

En incluant se fichier sur chaque page du site les variables "session_visitorname" et "session_sitecolor" pourront être utilisées à n'importe quel endroit et auront les mêmes valeurs sur toutes les pages utilisant la même session. Par exemple, un formulaire peut demander à chaque "Nouveau visiteur" leur nom et leur préférences de couleurs et enregistrer ces informations en utilisant simplement des variables appropriées.

Idées pour l'utilisation des Session

Les sessions rendent très simple la création de sites dynamiques personnalisés en utilisant Lasso. Elles peuvent être utilisées pour tous les besoins suivants.

- Pour stocker des valeurs qui identifient un visiteur comme leur numéro de caddie, leur numéro de client, leur nom. Ces valeurs peuvent être stockées de manière à ce qu'un visiteur retournant sur le site puisse voir le site dans le même état que lorsqu'il était lors de sa dernière visite.

- Pour stocker les préférences d'un site sans utiliser d'appels à une base. Les préférences comme la taille des polices, la couleur, afficher/masquer des portions du site, re-arranger des colonnes, les ordres de tris, le nombre maxi d'enregistrements,...,etc peuvent toutes être stockées dans une session. Tant que dure la session le site web sera ainsi "customisé" à partir de ces informations à chaque fois que le visiteur retournera le consulter. Lorsque la session expirera, le visiteur verra le site à nouveau avec ses valeurs par défaut.

- A chaque fois que vous souhaitez paramétrer plusieurs cookies ou passer plusieurs valeurs à travers des formulaires en utilisant des éléments "hidden" vous pouvez stocker ces données dans des variables et ajoutez ses variables à une session. Ainsi vous n'utiliserez qu'un seul cookie ou une seule paramètre de session dans l'URL pour toutes ses valeurs.

- Les sessions peuvent stocker des valeurs de n'importe quel type de données. Certaines valeurs comme les arrays ou maps sont diffciles à stocker dans des cookies ou à passer par des éléments de formulaires ou des URLs. Ces valeurs peuvent facilement être stockées dans des variables et passées de pages en pages dans une session.

- Les valeurs peuvent être mise en cache dans des variables de session. Par exemple, si des valeurs requièrent de lourds calculs ou process pour s'afficher, vous pouvez en stocker le résultat dans une session et les afficher instantanément aux visiteurs sur chaque page. Les données ne devront pas être recalculées sur chaque page. Ceci peut vous aider à accélérer l'affichage de sites Web complexes et très consultés.

Plus d'informations

Plus d'informations peuvent être trouvées sur ce sujet dans LDML Reference ainsi que dans le manuel Lasso Language Guide.

Produit:    Lasso Professional
Plateformes:    Mac OS X, Windows 2000, Windows XP, Windows 2003, Red Hat Linux
Versions:    6.x, 7.x
Auteur:    Fletcher Sandbeck - OmniPilot


     
Retour accueil
Lasso Studio
Lasso Professional
Communiqués Presse
Tutoriaux
Lasso & Filemaker
Evaluation gratuite
Hébergement Lasso/MySQL
Revendeurs
Historique logiciel
Tarifs - Commander
Nous contacter
     

Notre numéro de téléphone : +33 5 57 22 89 35

Hébergement mutualisé Lasso




Hébergement et location de baies de serveurs et Transit IP par ELIDEE


-  Accueil  -  Développer avec Lasso Studio  -  Déployer avec Lasso Professional  --
Administration du site webmaster@elidee.com | Copyright 2004-2010, Elidée SARL. Tous droits réservés
Toutes les marques citées sont déposées par leur propriétaire respectif