DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Editeurs / Editeur de fenêtres et de pages / Editeur de pages
  • Présentation
  • Importance des sessions prélancées
  • Principe d'une requête d'affichage d'une page AWP
  • Intérêt des sessions prélancées
  • Mise en place
  • Les différentes étapes
  • Activer la gestion des sessions prélancées
  • Corriger les erreurs spécifiques aux sessions prélancées
  • Activer les sessions prélancées sur le serveur
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Présentation
Une session prélancée est une session d'un site Web (ou d'un Webservice) lancée automatiquement sur le serveur Web depuis le Serveur d'Application WEBDEV.
L'utilisation des sessions prélancées permet d'accélérer l'affichage des pages en effectuant par anticipation des traitements longs : connexions aux bases de données, chargement des configurations de pages, etc.
Les sessions prélancées peuvent être utilisées avec :
  • les sites WEBDEV en mode Session,
  • les sites WEBDEV AWP,
  • les Webservices SOAP et les Webservices REST.
    Nouveauté 2025
    Pour les Webservices, il est également possible d'utiliser le "recyclage des sessions prélancées".
Le mode de fonctionnement est identique dans tous les cas.
Remarque : Les sessions prélancées sont autorisées uniquement sur le serveur illimité ou 10 connexions. Elles ne sont pas actives sur le poste de développement.
Importance des sessions prélancées

Principe d'une requête d'affichage d'une page AWP

Pour comprendre l'importance des sessions prélancées (notamment pour les pages AWP), revenons un instant sur le principe des pages AWP.
Lorsqu'un internaute effectue une requête à partir d'une page AWP, les opérations suivantes sont réalisées :
  1. La requête est transmise du navigateur au serveur Web.
  2. Le serveur Web analyse la requête.
  3. Le serveur Web transmet la requête au Serveur d'application WEBDEV.
  4. Le Serveur d'application WEBDEV :
    • charge le projet correspondant à la page.
    • exécute le code d'initialisation du projet, puis le code de la page.
    • renvoie la réponse au serveur Web.
  5. Le serveur Web renvoie la réponse au navigateur.

Intérêt des sessions prélancées

Lors de l'affichage d'une page AWP, chaque appel au Serveur d'application WEBDEV est totalement indépendant.
Conséquence : A chaque requête (et donc à chaque changement de page, chaque appel Ajax), le Serveur d'application WEBDEV recharge le projet et ré-exécute le code d'initialisation. Ce code d'initialisation du projet exécute souvent des opérations "longues" :
  • connexion à la base de données,
  • chargement des fichiers de configuration,
  • ...
Les sessions prélancées permettent de demander au Serveur d'application WEBDEV de faire ces opérations à l'avance, par anticipation.
Ainsi, lorsque la requête de l'internaute arrive au Serveur d'application WEBDEV, le serveur d'application n'a plus qu'à exécuter la requête et envoyer le résultat.
Les sessions prélancées présentent donc un bénéfice en temps de réponse puisqu'une partie du code est exécuté en avance. Cependant, les sessions pré-lancées ne réduisent pas la charge sur le serveur (le code étant tout de même exécuté) et ne remplacent pas l'optimisation des codes d'initialisation.
Nouveauté 2025
Option supplémentaire pour les Webservices :
Dans le cas des Webservices, il est possible d'activer une option supplémentaire : le recyclage des sessions prélancées.
Si cette option est activée :
  • A la fin de l'appel au Webservice, le Serveur d'application WEBDEV ne termine pas la session prélancée qui lui est associée.
  • L'événement "Recyclage d'une session prélancée" associé au projet est alors exécuté. Cet événement peut par exemple ré-initialiser des variables ou des connexions spécifiques au client ayant appelé le Webservice.
  • Le Serveur d'application WEBDEV se remet en attente de connexion au Webservice (en mode session prélancée).
Mise en place

Activer la gestion des sessions prélancées

Pour activer la gestion des sessions prélancées :
  1. Affichez la description de la configuration de projet (de votre site ou de votre Webservice) :
    • Dans le volet "Explorateur de projet", sélectionnez la configuration voulue.
    • Dans le menu contextuel, sélectionnez l'option "Description".
  2. Dans l'onglet "Options", cochez l'option "Activer les sessions prélancées sur le serveur d'application".
    Nouveauté 2025
    Pour un Webservice, il est également possible d'activer le recyclage des connexions en cochant l'option "Activer le recyclage des sessions prélancées".
  3. Validez. Le projet est recompilé.
Pour gérer les sessions prélancées, plusieurs événements sont associés au projet :
  • l'événement "Initialisation" du projet, exécuté avant l'arrivée de la requête sur le Serveur d'application WEBDEV. Ce code est exécuté lors du lancement de la session prélancée.
  • l'événement "Initialisation lors d'une connexion à une session prélancée", exécuté lorsque le Serveur d'application WEBDEV traite la requête.
  • Nouveauté 2025
    l'événement "Recyclage d'une session prélancée" si le recyclage des sessions a été demandé pour la configuration de type Webservice".
Si votre configuration de projet utilise des sessions prélancées, certaines fonctions ne peuvent plus être utilisées dans le code d'initialisation du projet. Les erreurs correspondantes sont affichées dans le volet "Erreur de compilation".
Rappel : Pour afficher le volet "Erreurs de compilation", sous le volet "Accueil", dans le groupe "Environnement", déroulez "Volets" et sélectionnez "Volets" puis "Erreurs de compilation".

Corriger les erreurs spécifiques aux sessions prélancées

Les erreurs des sessions prélancées indiquent les fonctions WLangage interdites dans l'événement "Initialisation" du projet.
Pour corriger les erreurs spécifiques aux sessions prélancées, il suffit de déplacer le code correspondant dans l'événement "Initialisation lors d'une connexion à une session prélancée".
Lorsque le site ou le Webservice est compatible avec le mécanisme des sessions prélancées, il est possible de le déployer et d'activer les sessions prélancées sur le Serveur d'application WEBDEV.
La liste des fonctions ne devant pas être utilisées dans le code d'initialisation du projet sont les suivantes :
AnnuleContexteAWPSupprime du contexte AWP une variable ajoutée par la fonction DéclareContexteAWP.
AnnuleContexteWebserviceSupprime du contexte du webservice une variable ajoutée par la fonction DéclareContexteWebservice.
ASPAfficheAppelle un script ASP externe et renvoie la page résultat dans la fenêtre en cours du navigateur.
CertificatClientInfoRenvoie des informations sur le certificat utilisé par le poste client.
ChaîneAfficheRenvoie une chaîne spécifique (ou un buffer) sur le navigateur du client en réponse à la requête reçue.
ConfigureContexteAWPConfigure le mode de fonctionnement du contexte AWP.
ConfirmerAffiche un message dans une boîte de dialogue standard proposant les réponses "Oui", "Non", "Annuler" et renvoie la réponse de l'utilisateur.
ContexteFermeFerme un contexte de page.
ContexteOuvreOuvre un nouveau contexte de page sans renvoyer les informations vers le navigateur.
CookieLitRécupère la valeur d'un cookie enregistré sur le poste de l'internaute.
DéclareContexteAWPPermet de déclarer une liste de variables dont la valeur sera persistante entre les affichages successifs des pages AWP.
DéclareContexteWebservicePermet de déclarer une liste de variables dont la valeur sera persistante entre les appels successifs à un Webservice.
ExécuteProcédureDifféréeExécute une procédure différée (dans le serveur d'application WEBDEV).
FichierAfficheAffiche un fichier sur le navigateur de l'internaute.
FramesetActualiseActualise un frameset affiché dans le navigateur de l'internaute à partir du contexte présent sur le serveur.
FramesetAfficheAffiche un frameset WEBDEV dans le navigateur de l'internaute.
FramesetUtiliseAffiche un frameset WEBDEV dans le navigateur de l'internaute et ferme tous les contextes de pages et de framesets en cours.
GglConnectePermet de s'authentifier auprès d'un serveur Google (via le mode d'authentification "OAuth 2.0").
gpwOuvreOuvre la fenêtre ou la page de login du groupware utilisateur.
IdentifiantContexteAWPRenvoie l'identifiant du contexte AWP.
ImagePosXRenvoie la position horizontale (X) du curseur de souris par rapport au champ Image considéré.
ImagePosYRenvoie la position verticale (Y) du curseur de souris par rapport au champ Image cliquable considéré.
ImageZoneRenvoie le numéro de la zone de l'image cliquée par l'internaute.
LibèreContexteAWPLibère de manière anticipée le contexte AWP (sur disque) pour permettre à d'autres appels sur le même contexte AWP d'être traités en parallèle.
NavigateurAdresseIPRenvoie l'adresse IP du poste de l'Internaute connecté au site WEBDEV.
NavigateurNomRenvoie le nom du navigateur de l'internaute ("user agent").
NavigateurPlateformeRetourne la plateforme du navigateur utilisée par l'internaute.
NavigateurTypeRetourne le type du navigateur utilisé par l'internaute.
NavigateurVersionRetourne la version du navigateur utilisé par l'internaute.
OKAnnulerAffiche un message dans une boîte de dialogue standard proposant les réponses "OK" et "Annuler" et renvoie la réponse de l'utilisateur.
OuiNonAffiche un message dans une boîte de dialogue standard proposant les réponses "Oui" et "Non" et renvoie la réponse de l'utilisateur.
PageActualiseActualise une page affichée dans le navigateur de l'internaute à partir du contexte présent sur le serveur.
PageAfficheAffiche une page du site dans le navigateur de l'internaute.
PageAfficheDialogueAffiche une page de manière modale. Cette fonction permet de créer un dialogue avec l'utilisateur. La page est affichée devant et en arrière-plan se trouve la page ouvrante, grisée par le mécanisme de GFI.
PageFermeDialogueFerme la page courante. Cette page a été ouverte avec la fonction PageAfficheDialogue. Une valeur de retour peut être renvoyée à la page appelante.
PageParamètreRenvoie la valeur d'un paramètre passé à la page en cours.
PageUtiliseAffiche une page WEBDEV dans le navigateur de l'internaute et ferme tous les contextes de pages actuellement ouverts sur le serveur.
PHPAfficheAppelle un script PHP externe et renvoie la page résultat dans la fenêtre en cours du navigateur.
rssAfficheConstruit un flux RSS et renvoie le contenu du flux RSS au client.
ScriptAfficheAppelle un script ou une page externe (par exemple .php, .asp, .mhtml ou .mht) et renvoie la page résultat dans la fenêtre en cours du navigateur.
UploadCopieFichierEnregistre sur le serveur un fichier "uploadé" par l'internaute.
UploadNomFichierRenvoie le nom d'un fichier "uploadé" par l'internaute. Cet upload a pu être effectué :
  • via un champ de saisie de type "Upload".
  • via un champ Upload monofichier ou multifichier.
WebserviceAdresseIPClientRenvoie l'adresse IP du poste utilisant et appelant le Webservice.

Activer les sessions prélancées sur le serveur

Pour activer les sessions prélancées pour un site ou un Webservice :
  1. Lancez l'administrateur WEBDEV.
  2. Affichez l'onglet "Configuration".
  3. Cochez l'option "Autoriser les sessions prélancées.". Par défaut, tous les sites et webservices ont un nombre de sessions prélancées égal à 0.
  4. Sélectionnez le site ou le webservice à configurer (onglet "Sites" ou onglet "Webservices").
  5. Dans les paramètres du site (option "Paramètres" de l'onglet "Sites") ou du Webservice (option "Paramètres" de l'onglet "Webservices"), précisez le nombre maximum de sessions prélancées à utiliser.
  6. Validez.
Remarques :
  • Les sessions prélancées sont comptées dans le nombre total de connexions au site (ou au Webservice). Cette information doit être prise en compte lors du paramétrage du serveur d'application WEBDEV.
  • Le nombre de sessions prélancées à définir dépend de l'utilisation du serveur et du nombre de requêtes.
    • Quand un utilisateur se connecte (dans le cas d'un site en mode Session) ou affiche une page (cas d'un site AWP), le serveur d'application WEBDEV utilise une session prélancée de cette application s'il en existe une, sinon le serveur d'application WEBDEV lance une session normale (comme si le site n'avait pas de sessions prélancées).
    • Le nombre de sessions prélancées disponibles est vérifié (par site) chaque seconde. Donc le nombre de sessions prélancées dépend du nombre de connexions (cas d'un site en mode Session) ou d'affichages de page (cas d'un site AWP) par seconde.
    • Attention, il faut tenir compte du temps de lancement des sessions prélancées : si une session prend plus de une seconde à se (pré)lancer, le nombre de sessions prélancées effectivement disponible diminue.
  • Nouveauté 2025
    Cas des Webservices avec recyclage de sessions :
    • le recyclage de sessions n'est pas effectué en cas de problème (par exemple, erreur WLangage).
    • le recyclage de sessions peut être effectué au maximum 200 fois. Au delà, le système habituel des sessions prélancées est utilisé.
    • la fonction EnModeRecyclage permet de savoir si le code en cours d'exécution est exécuté depuis l'événement "Recyclage d'une session prélancée".
Version minimum requise
  • Version 20
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 11/02/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale