PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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 détection des erreurs spécifiques aux sessions prélancées
  • Corriger les erreurs spécifiques aux sessions prélancées
  • Activer les sessions prélancées sur le serveur
Produits
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurWINDEV MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
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, ...
Les sessions prélancées peuvent être utilisées avec les sites WEBDEV classiques, les sites WEBDEV AWP et les webservices WEBDEV. Le mode de fonctionnement est identique dans tous les cas.
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.
Mise en place

Les différentes étapes

Pour mettre en place les sessions pré-lancées dans un projet WEBDEV :
  1. Activez la détection des erreurs spécifiques aux sessions prélancées.
  2. Corrigez les erreurs en utilisant le traitement "Initialisation du projet après connexion au site".
  3. Activez les sessions prélancées sur le Serveur d'application WEBDEV.

Activer la détection des erreurs spécifiques aux sessions prélancées

Si votre projet utilise des sessions prélancées, certaines fonctions ne peuvent plus être utilisées lors de l'initialisation du projet.
Pour connaître les problèmes potentiels lors de l'utilisation des sessions prélancées, il suffit d'activer le mode de détection des erreurs spécifiques aux sessions prélancées :
  1. Affichez si nécessaire le volet "Erreurs de compilation" : sous le volet "Accueil", dans le groupe "Environnement", déroulez "Volets" et sélectionnez "Erreurs de compilation".
  2. Dans le volet des erreurs de compilation, cliquez sur l'icône .
  3. La liste des erreurs s'affiche.

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

Les erreurs des sessions prélancées indiquent les fonctions WLangage interdites dans le traitement d'initialisation du projet.
Ces fonctions sont les suivantes :
Versions 12 et supérieures
AnnuleContexteAWP
Nouveauté 12
AnnuleContexteAWP
AnnuleContexteAWP
Supprime du contexte AWP une variable ajoutée par la fonction DéclareContexteAWP.
Versions 16 et supérieures
AnnuleContexteWebservice
AnnuleContexteWebservice
Supprime du contexte du webservice une variable ajoutée par la fonction DéclareContexteWebservice.
Versions 09 et supérieures
ASPAffiche
Nouveauté 09
ASPAffiche
ASPAffiche
Appelle un script ASP externe et renvoie la page résultat dans la fenêtre en cours du navigateur.
Versions 16 et supérieures
CertificatClientInfo
CertificatClientInfo
Renvoie des informations sur le certificat utilisé par le poste client.
Versions 09 et supérieures
ChaîneAffiche
Nouveauté 09
ChaîneAffiche
ChaîneAffiche
Renvoie une chaîne spécifique (ou un buffer) sur le navigateur du client en réponse à la requête reçue.
Versions 12 et supérieures
ConfigureContexteAWP
ConfigureContexteAWP
Configure le mode de fonctionnement du contexte AWP.
Versions 09 et supérieures
Confirmer
Nouveauté 09
Confirmer
Confirmer
Affiche un message dans une boîte de dialogue standard proposant les réponses "Oui", "Non", "Annuler" et renvoie la réponse de l'utilisateur.
Versions 09 et supérieures
ContexteFerme
Nouveauté 09
ContexteFerme
ContexteFerme
Ferme un contexte de page.
Versions 09 et supérieures
ContexteOuvre
Nouveauté 09
ContexteOuvre
ContexteOuvre
Ouvre un nouveau contexte de page sans renvoyer les informations vers le navigateur.
Versions 09 et supérieures
CookieLit
Nouveauté 09
CookieLit
CookieLit
Récupère la valeur d'un cookie enregistré sur le poste de l'internaute.
Versions 10 et supérieures
DéclareContexteAWP
Nouveauté 10
DéclareContexteAWP
DéclareContexteAWP
Permet de déclarer une liste de variables dont la valeur sera persistante entre les affichages successifs des pages AWP.
Versions 16 et supérieures
DéclareContexteWebservice
DéclareContexteWebservice
Permet de déclarer une liste de variables dont la valeur sera persistante entre les appels successifs à un webservice.
Versions 18 et supérieures
ExécuteProcédureDifférée
ExécuteProcédureDifférée
Exécute une procédure différée (dans le serveur d'application WEBDEV).
Versions 09 et supérieures
FichierAffiche
Nouveauté 09
FichierAffiche
FichierAffiche
Affiche un fichier sur le navigateur de l'internaute.
Versions 09 et supérieures
FramesetActualise
Nouveauté 09
FramesetActualise
FramesetActualise
Actualise un frameset affiché dans le navigateur de l'internaute à partir du contexte présent sur le serveur.
Versions 09 et supérieures
FramesetAffiche
Nouveauté 09
FramesetAffiche
FramesetAffiche
Affiche un frameset WEBDEV dans le navigateur de l'internaute.
Versions 09 et supérieures
FramesetUtilise
Nouveauté 09
FramesetUtilise
FramesetUtilise
Affiche un frameset WEBDEV dans le navigateur de l'internaute et ferme tous les contextes de pages et de framesets en cours.
Versions 14 et supérieures
GglConnecte
Nouveauté 14
GglConnecte
GglConnecte
Permet de s'authentifier auprès d'un serveur Google.
Versions 09 et supérieures
gpwOuvre
Nouveauté 09
gpwOuvre
gpwOuvre
Ouvre la fenêtre ou la page de login du groupware utilisateur.
Versions 12 et supérieures
IdentifiantContexteAWP
IdentifiantContexteAWP
Renvoie l'identifiant du contexte AWP.
Versions 09 et supérieures
ImagePosX
Nouveauté 09
ImagePosX
ImagePosX
Renvoie la position horizontale (X) du curseur de souris par rapport au champ Image considéré.
Versions 09 et supérieures
ImagePosY
Nouveauté 09
ImagePosY
ImagePosY
Renvoie la position verticale (Y) du curseur de souris par rapport au champ Image considéré .
Versions 09 et supérieures
ImageZone
Nouveauté 09
ImageZone
ImageZone
Renvoie le numéro de la zone de l'image cliquée par l'internaute.
Versions 18 et supérieures
LibèreContexteAWP
Nouveauté 18
LibèreContexteAWP
LibèreContexteAWP
Libè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.
Versions 09 et supérieures
NavigateurAdresseIP
Nouveauté 09
NavigateurAdresseIP
NavigateurAdresseIP
Renvoie l'adresse IP du poste de l'Internaute connecté au site WEBDEV.
Versions 09 et supérieures
NavigateurNom
Nouveauté 09
NavigateurNom
NavigateurNom
Renvoie le nom du navigateur de l'internaute ("user agent").
Versions 16 et supérieures
NavigateurPlateforme
NavigateurPlateforme
Retourne la plateforme du navigateur utilisée par l'internaute.
Versions 16 et supérieures
NavigateurType
Nouveauté 16
NavigateurType
NavigateurType
Retourne le type du navigateur utilisé par l'internaute.
Versions 16 et supérieures
NavigateurVersion
Nouveauté 16
NavigateurVersion
NavigateurVersion
Retourne la version du navigateur utilisé par l'internaute.
Versions 09 et supérieures
OKAnnuler
Nouveauté 09
OKAnnuler
OKAnnuler
Affiche un message dans une boîte de dialogue standard proposant les réponses "OK" et "Annuler" et renvoie la réponse de l'utilisateur.
Versions 09 et supérieures
OuiNon
Nouveauté 09
OuiNon
OuiNon
Affiche un message dans une boîte de dialogue standard proposant les réponses "Oui" et "Non" et renvoie la réponse de l'utilisateur.
Versions 09 et supérieures
PageActualise
Nouveauté 09
PageActualise
PageActualise
Actualise une page affichée dans le navigateur de l'internaute à partir du contexte présent sur le serveur.
Versions 09 et supérieures
PageAffiche
Nouveauté 09
PageAffiche
PageAffiche
Affiche une page du site dans le navigateur de l'internaute.
Versions 12 et supérieures
PageAfficheDialogue
Nouveauté 12
PageAfficheDialogue
PageAfficheDialogue
Affiche 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.
Versions 12 et supérieures
PageFermeDialogue
Nouveauté 12
PageFermeDialogue
PageFermeDialogue
Ferme la page courante. Cette page a été ouverte avec la fonction PageAfficheDialogue. Une valeur de retour peut être renvoyée à la page appelante.
Versions 09 et supérieures
PageParamètre
Nouveauté 09
PageParamètre
PageParamètre
Renvoie la valeur d'un paramètre passé à la page en cours.
Versions 09 et supérieures
PageUtilise
Nouveauté 09
PageUtilise
PageUtilise
Affiche une page WEBDEV dans le navigateur de l'internaute et ferme tous les contextes de pages en cours.
Versions 09 et supérieures
PHPAffiche
Nouveauté 09
PHPAffiche
PHPAffiche
Appelle un script PHP externe et renvoie la page résultat dans la fenêtre en cours du navigateur.
Versions 14 et supérieures
rssAffiche
Nouveauté 14
rssAffiche
rssAffiche
Construit un flux RSS et renvoie le contenu du flux RSS au client.
Versions 09 et supérieures
ScriptAffiche
Nouveauté 09
ScriptAffiche
ScriptAffiche
Appelle 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.
Versions 09 et supérieures
UploadCopieFichier
Nouveauté 09
UploadCopieFichier
UploadCopieFichier
Enregistre sur le serveur un fichier "uploadé" par l'internaute. Cet upload a pu être effectué :
  • via un champ de saisie de type "Upload".
  • via un champ Upload mono ou multi-fichiers.
Versions 09 et supérieures
UploadNomFichier
Nouveauté 09
UploadNomFichier
UploadNomFichier
Renvoie 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 mono ou multi-fichiers.
Versions 16 et supérieures
WebserviceAdresseIPClient
WebserviceAdresseIPClient
Renvoie l'adresse IP du poste effectuant l'appel au webservice.
Pour gérer les sessions prélancées, deux traitements sont désormais associés au projet :
  • le traitement "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.
  • le traitement "Initialisation du projet après connexion au site", exécuté lorsque le Serveur d'application WEBDEV traite la requête.
Pour corriger les erreurs spécifiques aux sessions prélancées, il suffit de déplacer le code correspondant dans le traitement "Initialisation du projet après connexion au site".
Lorsque le site 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.

Activer les sessions prélancées sur le serveur

Pour activer les sessions prélancées pour un site :
  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 "Webservice").
  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 de sessions prélancées à utiliser.
  6. Validez.
Remarque : 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.
Version minimum requise
  • Version 20
Commentaires
Attention en cas de plusieurs profils de déploiement d'un webservice
Si vous avez plusieurs profils de déploiement pour votre webservice, et malgré le fait d'avoir spécifié un nom de déploiement du webservice différent pour chaque profil, la session prélancée cherchera à lancer un fichier awws du nom du profil, mais le fichier généré lors du déploiement reste au nom du projet Windev.
Vous pouvez au moment de l'analyse des fichiers à déployer, constater que le nom du .awws n'a pas été modifié.
Vous pouvez visualiser l'erreur toutes les 2 secondes dans le fichier logErreur.
Le webservice est inexploitable, puisque la session prélancée ne peut pas l'être.
Vous pouvez changer le nom du fichier awws directement dans le répertoire de votre serveur (en attendant que ce problème soit corrigé).
CV
12 oct. 2016