Publication 2
Publication 2
Pour une formation rapide et efficace à WEBDEV, nous vous conseillons l’ordre d’apprentissage
suivant :
1
Lecture des "Concepts".
Ce manuel présente les principaux concepts nécessaires à la création d’un site WEBDEV
performant. Certains concepts sont suivis d’une partie "Pratique" détaillant certaines fonc-
tionnalités de l’éditeur.
2
"Tuto" (cours en ligne + exercices).
Le tutoriel WEBDEV permet une première approche "pratique" de WEBDEV. Vous pouvez
ainsi vous familiariser avec les principaux éditeurs de WEBDEV.
3
Test des exemples.
Testez les différents exemples livrés avec WEBDEV dans les domaines qui vous intéressent
Visitez régulièrement le site www.pcsoft.fr, espace actualités pour vérifier si des mises à jour (e-commerce, annuaire, planning, ...).
sont proposées.
L’aide en ligne, accessible par Internet à l’adresse http://doc.pcsoft.fr ou installée avec WEBDEV
permet de trouver rapidement la syntaxe d’une fonction du WLangage, d’obtenir une aide sur
Adresse e-mail Support Technique Gratuit : [email protected] l’interface, ... Pour chaque thème de programmation, vous trouverez une description de la fonc-
tionnalité associée et la liste des fonctions du WLangage correspondantes.
Remarque : En cas de divergence entre les manuels et l’aide en ligne, suivez les instructions de
Conseil : Pour recevoir directement des mises à jour intermédiaires et des conseils d’utilisa- l’aide en ligne.
tion, abonnez-vous à la LST (revue trimestrielle + clé USB), en français.
Nous vous souhaitons une agréable prise en main de WEBDEV.
Cette documentation n’est pas contractuelle. PC SOFT se réserve le droit de modifier ou de
supprimer tout sujet traité dans ce document.
Tous les noms de produits ou autres marques cités dans cet ouvrage sont des marques déposées par leurs propriétaires respectifs.
© PC SOFT 2021 : Aucune reproduction intégrale ou partielle du présent ouvrage sur quelque support que ce soit ne peut être effec
tuée sans l’autorisation expresse de PC SOFT.
Introduction 3
Organisation du manuel Sommaire
Ce manuel présente les principaux concepts nécessaires à la création d’un site Partie 1 - Internet : Concepts de base
WEBDEV performant. Certains concepts sont suivis d’une partie "Pratique" détaillant certaines Qu’est-ce qu’un site Web ?..................................................................................................11
fonctionnalités de l’éditeur. Site statique ou dynamique ?.............................................................................................12
Les différents types de sites dynamiques..........................................................................13
Deux types de pages sont donc présents dans ce manuel : Les différents types de pages.............................................................................................14
Principe d’affichage d’un site WEBDEV dynamique..........................................................18
Principe d’affichage d’un site AWP.....................................................................................20
Technologie AJAX.................................................................................................................. 24
Si vous connaissez déjà WINDEV....................................................................................... 27
Machines et logiciels nécessaires......................................................................................28
4 Introduction Sommaire 5
Partie 3 - Environnement de développement Les requêtes.......................................................................................................................180
Les éditeurs de WEBDEV..................................................................................................... 87 Les requêtes intégrées......................................................................................................181
Tableau de bord du projet................................................................................................... 91 Le champ Table/Zone répétée..........................................................................................182
WEBDEV, WINDEV, WINDEV Mobile : 100% compatibles.................................................92 Récupérer des données sur un site................................................................................. 184
Configuration de projet........................................................................................................93 Réplication universelle......................................................................................................189
Génération multiple.............................................................................................................94 Architecture 3-tiers............................................................................................................190
Gestionnaire de sources (GDS)...........................................................................................95
Composant interne............................................................................................................102 Partie 6 - Tester un site Web
Composant externe............................................................................................................105 Tester un site : Les éléments à tester..............................................................................193
Modes de génération.........................................................................................................113 Comment tester un site ?..................................................................................................194
Centre de suivi de projets..................................................................................................116 Le débogueur.....................................................................................................................196
Gestion des exigences.......................................................................................................117 Quand peut-on utiliser le débogueur ?.............................................................................197
Gestion des tâches............................................................................................................118
Gestion des règles métier.................................................................................................119
Partie 7 - Déployer un site Web
Déploiement d’un site statique.........................................................................................207
Partie 4 - Concepts avancés Déploiement d’un site dynamique WEBDEV................................................................... 209
RAD RID............................................................................................................................. 123 Mise en service d’un site dynamique WEBDEV...............................................................213
Le modèle UML..................................................................................................................124
Groupware utilisateur........................................................................................................130
Les sites multilingues........................................................................................................136 Partie 8 - Hébergement de sites WEBDEV
10 conseils d’ergonomie ..................................................................................................140 A quoi sert l’administrateur WEBDEV ?........................................................................... 223
Superposer les champs.....................................................................................................144 Configuration du serveur.................................................................................................. 229
Personnaliser l’aspect d’un site : éléments d’ambiance................................................145 Serveur dédié ou mutualisé ?.......................................................................................... 230
Choisir un type de bouton/lien.........................................................................................147 Quel type de serveur choisir ?......................................................................................... 232
Empêcher le retour sur une page.....................................................................................148 Centre de contrôle d’hébergement.................................................................................. 233
Avantage sécuritaire : la gestion du "Back".....................................................................149 Site dynamique sur des configurations spécifiques....................................................... 234
Cookies : des informations conservées chez l’internaute..............................................155 Statistiques de fréquentation des sites dynamiques......................................................237
Protéger l’accès au site : mots de passe.........................................................................156 Surveillez vos sites, serveurs, ......................................................................................... 238
TLS/SSL : Crypter les informations sur le Web................................................................157
Paiement sécurisé avec prestataire.................................................................................158 Partie 9 - Annexes
Envoyer des emails............................................................................................................159 Fonctions du WLangage spécifiques à WEBDEV 27........................................................241
Exemples et composants livrés avec WEBDEV................................................................251
Partie 5 - Bases de données
Analyse : Structure de la base de données.....................................................................163
Les différents types de fichiers accessibles....................................................................172
HFSQL Classic.................................................................................................................... 174
HFSQL Client/Serveur.......................................................................................................175
Clusters HFSQL Client/Serveur......................................................................................... 176
HFSQL : les fichiers créés physiquement.........................................................................177
Associer les champs et les données................................................................................178
6 Sommaire Sommaire 7
PARTIE 1
Internet : Concepts
de base
8 Sommaire
Qu’est-ce qu’un
Contenu
site Web ?
Un site Web est un ensemble de pages HTML (HyperText Markup Language) stockées sur un ser-
veur Web. Ces pages HTML sont organisées dans un but précis (par exemple, présenter une entre-
prise, vendre des produits, ...).
Un site est destiné à être utilisé par des internautes. Les internautes utilisent un simple naviga-
teur pour accéder au site.
WEBDEV permet de créer facilement des sites Web qui gèrent ou non des données.
Serveur
Page HTML
Site statique WEBDEV : le Serveur d’Applica- Site dynamique WEBDEV : le Serveur d’Appli-
tion WEBDEV n’est pas nécessaire. cation WEBDEV ou le langage PHP est néces-
saire.
Remarque : Un site dynamique peut contenir une partie statique (présentation de l’entreprise, ...).
WEBDEV permet de créer :
• des pages statiques,
HFSQL ODBC OLE DB Connecteurs MySQL
• des pages dynamiques. Natifs
Oracle Informix
SQL Server Progress
MySQL Sybase
DB2 Oracle Lite
XML AS/400...
DÉPLOIEMENT DÉVELOPPEMENT
• Les pages statiques. Ce type de page permet d’afficher des données fixes.
• Les pages dynamiques WEBDEV en mode Session. Ces pages permettent d’afficher dynami-
quement les informations contenues dans une base de données. Le contenu de la page varie
en fonction de l’enregistrement affiché. Lors de l’affichage d’une page dynamique en mode
session, le contexte de page associé est automatiquement créé sur le serveur. Ce contexte de
page contient principalement les variables globales et les variables de positionnement dans
les fichiers de données.
• Les pages dynamiques WEBDEV AWP (Active WEBDEV Page). Ces pages permettent d’afficher Création d’une page statique sous WEBDEV (fichier “.WWH”)
dynamiquement des données contenues dans une base de données. Le contenu de la page
varie en fonction de l’enregistrement affiché.
Une page AWP est une page dynamique WEBDEV sans contexte persistant sur le serveur. Le
contexte de page AWP est temporaire. Il est créé dans une session temporaire. Poste
Serveur
• Les pages dynamiques PHP. Ces pages permettent d’afficher dynamiquement des données
contenues dans une base de données. Ces pages peuvent uniquement être utilisées dans un
site PHP.
Poste de
l’internaute
CONSULTATION
Page statique visualisée sous le navigateur
Poste de Poste de
développement développement
DÉPLOIEMENT DÉVELOPPEMENT
DÉPLOIEMENT DÉVELOPPEMENT
Création d’une page dynamique
Création d’une page PHP
sous WEBDEV (fichier “.WWH”)
sous WEBDEV (fichier “.WWH”)
Poste Poste
Serveur Serveur
Poste de Poste de
l’internaute l’internaute
CONSULTATION
CONSULTATION
Page dynamique en exécution sous le navigateur.
Page PHP en exécution sous le navigateur.
Les données affichées dans les pages varient en fonction
Les données affichées dans les pages varient en fonction
des manipulations de l’internaute.
des manipulations de l’internaute.
Session WEBDEV
La session WEBDEV
Lors de l’affichage d’une page WEBDEV en mode Session, les opérations suivantes sont effec- Connexion de l’internaute à un site
- Création automatique de la session WEBDEV
dynamique WEBDEV
tuées :
- Création automatique du contexte de la Page 1
1. Demande d’affichage de la page.
1
CONTEXTE
2. Lancement du moteur WEBDEV. Le moteur sera présent sur le serveur jusqu’à la fin de l’appli-
cation.
Affichage de la Page 1 - Renvoi de la Page 1
3. Création du contexte de l’application. Ce contexte sera présent sur le serveur jusqu’à la fin de
l’application.
4. Le moteur WEBDEV exécute le code serveur et construit la page HTML (à partir des données
de la base de données par exemple).
5. Lorsque le moteur a fini de construire la page HTML, le serveur transmet le résultat au client
(le navigateur). L’internaute clique dans la Page 1
pour afficher la Page 2 - Création automatique du contexte de la Page 2
1 2
CONTEXTE
CONTEXTE
Les contextes de page
Pour chaque page affichée dans le navigateur, un contexte de page est créé automatiquement sur
le serveur. Ce contexte de page contient tous les éléments qui ont été nécessaires à la construc- Affichage de la Page 2 - Renvoi de la Page 2
CONTEXTE
CONTEXTE
CONTEXTE
Les contextes de page restent en mémoire sur le serveur jusqu’à la fin de la session WEBDEV.
Si la même page est appelée plusieurs fois : - Renvoi de la Page N
Affichage de la Page N
• Si la fonction PageAffiche est utilisée pour afficher la page, le contexte de page est détruit et
recréé.
• Si la fonction PageActualise est utilisée pour afficher la page, le même contexte de page est
réutilisé.
Par défaut, la gestion de la session WEBDEV et des contextes de page est entièrement automa-
tique. Vous n’avez rien à programmer. Au bout du Time Out (défini dans
l’Administrateur WEBDEV), la session
WEBDEV et les contextes de page
sont détruits.
CONTEXTE
sur le serveur. Le contexte de page AWP est temporaire. Il est créé dans une session temporaire.
Rappel : Dans un site WEBDEV en mode Session, chaque page affichée possède un contexte de - Création de la page web
page persistant sur toute la durée de vie de la session sur le serveur. Affichage de la Page 1 - Renvoi de la page web à l’internaute
- Libération du contexte de la Page 1
CONTEXTE
La session temporaire contient le contexte de page AWP temporaire. Lorsque la page AWP a été
envoyée à l’internaute, le contexte de page temporaire et la session temporaire sont détruits. Il ne - Création de la page web
Affichage de la Page 2 - Renvoi de la page web à l’internaute
reste rien en mémoire sur le serveur. - Libération du contexte de la Page 2
CONTEXTE
Lorsque la page AWP a été envoyée à l’internaute, ces éléments sont détruits.
- Création de la page web
Affichage de la Page N - Renvoi de la page web à l’internaute
- Libération du contexte de la Page N
Déconnexion de l’internaute
(fermeture du Navigateur)
CONTEXTE
"http:\\Serveur Web\...\mapage.awp?NomParam1=Valeur1& NomParam2=Valeur2". - Création de la page web
Affichage de la Page 1
Cette méthode permet un meilleur référencement de la page car les informations passées dans - Renvoi de la page web à l’internaute
- Libération du contexte de la Page 1
l’URL sont visibles et analysées par les robots de référencement. - Suppression de la session temporaire
Sauvegarde des informations (valeurs) dans des contextes AWP (par programmation).
il est possible de stocker sur le serveur des valeurs communes à plusieurs pages AWP, grâce aux L’internaute clique dans la Page 1
- Création de la session WEBDEV temporaire
contextes AWP. Un contexte AWP est créé sur le disque sur le serveur. Ce contexte est disponible pour afficher la Page 2
- Création du contexte de la Page 2
tant que des pages AWP sont affichées et que le time out des contextes AWP n’est pas écoulé.
2
CONTEXTE
Le time out des contextes AWP est défini dans l’administrateur WEBDEV (onglet "Configuration",
option "Durée des contextes AWP"). - Création de la page web
Affichage de la Page 2
Pour gérer les contextes AWP, il est nécessaire d’utiliser les fonctions WLangage DéclareContex- - Renvoi de la page web à l’internaute
- Libération du contexte de la Page 2
teAWP, LibèreContexteAWP, ... - Suppression de la session temporaire
CONTEXTE
- Création de la page web
Affichage de la Page N - Renvoi de la page web à l’internaute
- Libération du contexte de la Page N
Déconnexion de l’internaute
(fermeture du Navigateur)
Au bout du
Time Out des
contextes AWP
(défini dans
l’Administrateur
WEBDEV), le contexte
AWP est détruit.
• le serveur est moins sollicité. Il peut alors supporter un plus grand nombre de connexions
simultanées. 3 Exécution de
la requête
5
Mise à jour
• les informations qui circulent sont de taille réduite. AUTOMATIQUE
• la durée de transmission est plus courte. des éléments modifiés
• l’affichage pour l’internaute est immédiat et sans effet visuel.
4
AJAX peut être utilisé à deux niveaux différents dans un site WEBDEV : Envoi des éléments
• AJAX automatique et immédiat : un simple clic suffit pour accéder aux avantages AJAX. Le code modifiés uniquement
reste le même.
• AJAX programmé : utilisation des fonctions de gestion AJAX pour les traitements complexes.
Par exemple, une page d’un site permet de connaître différentes caractéristiques d’un pays (capi-
tale, devise, drapeau, situation, ...). En fonction du pays sélectionné par l’internaute, les informa-
Remarque : Seuls les navigateurs suffisamment récents supportent la technologie AJAX. La fonc-
tions correspondantes sont affichées.
tion AJAXDisponible permet de savoir si le navigateur en cours supporte la technologie AJAX. Si
un traitement utilisant la technologie AJAX est exécuté sur un navigateur ne supportant pas cette Action de l’internaute. Dans notre exemple, sélection du pays dans la combo "Sélec-
technologie, le traitement s’exécute "comme si" il n’utilisait pas la technologie AJAX (rafraîchisse- tionner le pays souhaité".
ment de la page entière par exemple).
Envoi de la requête au serveur.
1 2 3
• De nouvelles fonctions du WLangage spécifiques au Web sont disponibles.
Exécution de la
Action procédure serveur • Certaines fonctions du WLangage inadaptées au Web n’existent plus.
• Certaines fonctions du WLangage sont uniquement utilisables dans un traitement/événement
exécutable en code serveur.
• Certaines fonctions du WLangage sont uniquement utilisables dans un traitement/événement
Envoi du résultat exécutable en code navigateur.
uniquement
• De nouveaux types de champs plus spécifiques à une application Web sont disponibles :
7 5 4
Mise à jour Génération du résultat : • Champ d’affichage formaté,
AUTOMATIQUE Document XML, chaîne
des éléments modifiés • Champ Applet Java,
6
de caractères
• Champ Bandeau défilant,
• Champ Barre de navigation,
Analyse du résultat • Champ Captcha,
• Champ Cellule,
• Champ Chemin de navigation,
Exécution d’un traitement navigateur (fonction AJAXExécute ou AJAXExécuteAsyn-
chrone). • Champ Composant Web,
• Champ IFrame,
Demande d’exécution d’une procédure serveur.
• Champ Lien,
• Champ Ligne,
Exécution de la procédure serveur. • Champ Page Interne,
• Champ Page cornée,
Génération du résultat. Le résultat de la procédure sera exprimé sous forme d’une • Champ Plan du site,
chaîne de caractères ou d’un document XML. • Champ Popup,
Envoi du résultat de la procédure (Mot-clé RENVOYER). • Champ Réglette,
• Champ Réseau social,
• Champ SilverLight,
Analyse du résultat de la procédure.
• Champ Tableau HTML,
• Champ Upload,
Affichage des informations modifiées. Seuls les champs nécessaires sont rafraîchis. • Champ Vignette,
• Champ Zone de Texte Riche.
• Certains types de champs inutiles sur Internet ont disparu : Ascenseur, ActiveX, Objet OLE,
Spin, ...
* Les données peuvent se trouver sur une autre machine reliée en réseau.
Un Projet WEBDEV est un ensemble d’éléments : pages, états, champs, classes, composants, ...
dont l’assemblage permet de réaliser un site Web.
Projet 1
Analyse
Projet 2 Projet n
Test et
Conception Développement génération Déploiement
Déploiement du site
Test et débogage
sur un Serveur
Cahier des charges Création du projet du site d’Application WEBDEV
Génération du site :
Test final
- Site de type Session
Modélisation UML Création de l’analyse - Site AWP
- Site PHP
Ouverture du site
- Webservice
aux utilisateurs
Importation de Développement
fichiers existants - RAD Projet
- RAD Page
- Requêtes
- Etats
- Saisie du code source
Phase de conception : Il est possible de concevoir un site à partir d’un simple cahier des charges, Phase de tests et génération : WEBDEV offre toute une panoplie d’outils de tests automatiques
d’une modélisation UML des traitements ou même à partir de fichiers de données préexistants. pour garantir la fiabilité des applications et assurer la non-régression entre les phases de déve-
loppement.
Phase de développement : La création du projet et de l’analyse est réalisée à l’aide d’assistants
très complets. Le développement peut être effectué en mode RAD (Rapid Development Applica- Phase de déploiement : Le déploiement d’un site dynamique WEBDEV (en mode Session ou AWP)
tion) avec génération automatique du code et des UI ou être le résultat d’une création manuelle est réalisé sur un Serveur d’Application WEBDEV. Lorsque le site est déployé, il est possible de
des différents éléments du projet. réaliser les derniers tests avant d’ouvrir le site aux utilisateurs.
HTML
générique .HTM .AWP .PHP
WDL
Saisie du code (étape optionnelle).
Fichiers générés
Légende :
.WWH : Format source des pages .WDL : Bibliothèque du projet
Ce fichier contient la description complète Générée lors du déploiement du site WEBDEV
de la page (champ, code navigateur, code (en mode Session ou AWP), la bibliothèque
serveur). Ce fichier est utilisé par l’éditeur et contient le code serveur des pages du projet.
Code navigateur reste sur la machine du développeur. Ce fichier sera présent sur le serveur.
.HTML générique .AWP : Page AWP
Ce fichier contient la description complète de Généré à partir du fichier WWH, ce fichier
la page (champ, code navigateur, code ser- contient la description des champs, le code
veur). Certains paramètres de cette page sont serveur, le code navigateur. Ce fichier sera
génériques et seront remplis dynamiquement présent sur le serveur.
lors de l’affichage de la page.
.HTM : Page HTML du site .PHP : Page PHP
Généré à partir du fichier WWH, ce fichier Généré à partir du fichier WWH, ce fichier
Code serveur contient la description des champs en HTML contient la description des champs, le code
et le code navigateur (si le code a été saisi serveur, le code navigateur au format PHP. Ce
en WLangage, il est automatiquement traduit fichier sera présent sur le serveur.
en Javascript). Ce fichier sera présent sur le
Enregistrement de la page.
serveur.
http://monsite.com/mapage
Même URL,
mais pages
différentes
L’édition respecte la position relative des champs contenus dans chaque zone ainsi que leur an-
crage.
Ordinateur Mobile
Principe
Le site dispose de 2 jeux de pages : les pages pour ordinateur et les pages pour mobile. Ces pages
sont associées 2 à 2.
Lorsque l’adresse d’une page est saisie dans le navigateur, l’environnement utilisé est automa-
tiquement détecté et la page correspondante (ordinateur ou mobile) est affichée dans le naviga-
teur. L’adresse affichée dans le navigateur ne change pas : seul le contenu affiché est adapté au
système.
Tous les liens et les pages ouvertes dans le code sont automatiquement redirigés vers la page
correspondante dans la plateforme en cours.
Remarques :
Il est possible d’associer une information sémantique HTML 5 à chaque zone : cela améliore la • La détection de l’environnement est réalisée selon les recommandations Google : les tablettes
pertinence du référencement par certains moteurs de recherche. ne sont pas considérées comme des mobiles.
• Les pages sont vues par Google comme étant en mode "Dynamic serving". Ainsi, les différentes
versions des pages sont référencées. Si les pages mobiles sont correctement réalisées, le site
est considéré comme "Mobile friendly".
WEBDEV utilise par défaut la méthode du "Desktop first" : le développeur doit tout d’abord penser
à l’interface de son site Web en mode "Bureau". Ensuite, il réalisera la version en mode "Tablette",
puis il terminera par la version en mode "Mobile".
Mobile
Tablette
Bureau
(Desktop)
Dans l’exemple, une page interne permet de gérer le panier.
En termes de conception, un site Web est tout d’abord réalisé pour une utilisation "bureau". En
réduisant les résolutions d’affichage (taille de la page), le contenu et les fonctionnalités sont soit 2. Utilisation d’une page interne
déplacés, soit retaillés, soit masqués.
Pour utiliser une page interne, il suffit de :
Sous l’éditeur WEBDEV, la représentation des différentes résolutions possibles se fait à l’aide de
• créer un champ de type page interne.
tranches. Une tranche représente une taille de navigateur pour un appareil spécifique. Dans le
cas de WEBDEV, 3 tranches sont présentes par défaut : • sélectionner dans la description du champ la page interne à utiliser et valider.
• La tranche Mobile correspondant à des appareils de type smartphone.
• La tranche Tablette correspondant à des appareils de type tablette.
• La tranche Bureau correspondant à des appareils de type PC, MAC, etc.
Exemple
Remarques :
• Il n’est pas possible de modifier par programmation la page interne utilisée dans le champ
"Page interne".
Mobile Tablette Bureau • La zone d’accueil est rectangulaire et aucune surcharge n’est possible. Pour réaliser des sur-
charges, il est conseillé d’utiliser des modèles de champs.
42 Partie 2 : Développement d’un site Partie 2 : Développement d’un site 43
Modèles de
Contenu
Page
Contenu
pages Popup
WEBDEV permet de créer des modèles de pages. Un modèle est destiné à contenir des éléments WEBDEV permet de créer des pages Popup. Les pages Popup permettent de dialoguer avec l’utili-
communs à un ensemble de pages du site. sateur d’une manière simplifiée.
Les modifications effectuées dans un modèle de pages sont automatiquement reportées sur Une page Popup est associée à une page. Une page peut avoir plusieurs pages Popup.
toutes les pages utilisant ce modèle. L’utilisation des Popups permet de manipuler sous l’éditeur la fenêtre de dialogue comme un élé-
Un modèle de pages permet, par exemple, de respecter la charte graphique définie pour un site. ment différent de la page, tout en étant intégré à la page.
Sous l’éditeur :
En exécution :
Pour créer une page utilisant un modèle, sélectionnez le modèle à utiliser lors de la création de
la page.
Remarque : La programmation associée aux éléments du modèle peut être directement réalisée
dans le modèle.
Les caractéristiques des éléments peuvent être désolidarisées du modèle. Par exemple, désoli-
dariser la position d’un champ du modèle pour positionner le champ ailleurs tout en conservant
les autres évolutions sur le champ (code, style, ...). On parle alors d’héritage. Dans ce cas, les
éléments sont identifiés par un carré bleu.
Champ Image
Champ Calendrier
Champ Planning,
Champ Upload
Champ Agenda
Champ Notation
WEBDEV propose de nombreux types de champs, Tous les champs peuvent bien sûr être manipulés Pour tous les champs d’une page, il est possible • Support des indirections, ...
facilement intégrables dans vos pages. Ces par programmation. d’afficher la fenêtre de description des champs. Le contenu de cet onglet varie beaucoup en fonc-
champs peuvent être créés directement par le volet Cette fenêtre est une fenêtre à onglets, regroupant tion du type de champ en cours.
"Création" du ruban WEBDEV. toutes les caractéristiques paramétrables d’un ou
de plusieurs champs. Onglet Liaison
Remarque : Il est également possible de visualiser L’onglet "Liaison" permet de sélectionner la ru-
1 Créer un champ et/ou de modifier les caractéristiques d’un ou de brique (d’un fichier de données ou d’une requête) à
plusieurs champs dans le modifieur. Pour plus de laquelle le champ est relié. Selon l’enregistrement
détails, consultez l’aide en ligne. en cours, le contenu de la rubrique reliée sera affi-
Les champs disponibles sous l’éditeur de pages de • Champ Arbre, • Champ Ligne, ché dans le champ.
WEBDEV sont les suivants : • Champ Tableau de • Champ "Composant 2.1 Affichage des caractéristiques La liaison peut être monofichier ou multifichier.
• Champ Libellé, • Champ Planning, bord, Web",
Pour afficher la fenêtre de description d’un champ : Onglet Contenu
• Champ Zone de • Champ Calendrier, • Champ Agenda, • Champ Disposition.
• soit double-cliquez sur le champ. L’onglet "Contenu" est disponible uniquement pour
texte, • Champ Graphe, 1.1 Créer un nouveau champ • soit sélectionnez l’option "Description" du menu les champs des pages.
• Champ d’affichage • Champ Code-Barres,
Pour créer un champ : contextuel du champ (clic droit de la souris). L’onglet "Contenu" permet de définir :
formaté, • Champ Jauge,
1. Sélectionnez le type de champ à créer grâce à • soit sélectionnez le champ et utilisez le raccour- • soit le contenu initial du champ (pour les
• Champ Bouton, • Champ Cellule,
l’icône correspondante dans le volet "Création" du ci clavier Alt + Entrée. champs de saisie uniquement).
• Champ Lien, • Champ Onglet, menu de WEBDEV. Remarques : • soit la source de données utilisée pour remplir le
• Champ Image, • Champ Tiroir, champ (pour les champs Liste, Combo et Table
2. La forme du nouveau champ apparaît sous le • Il est possible d’afficher la fenêtre de description
• Champ Popup, • Champ Bandeau uniquement).
curseur de la souris. pour un ensemble de champs sélectionnés.
• Champ Vignette, défilant, 3. Cliquez dans la page à la future position de Seules les caractéristiques communes aux diffé- Onglet Aide
• Champ Page cor- • Champ Editeur création du champ. Le champ est automatique- rents champs sélectionnés seront affichées. L’onglet "Aide" permet de :
née, d’images, ment créé. • Plusieurs fenêtres de description peuvent être • décrire le fonctionnement détaillé du champ.
• Champ Réseau • Champ Editeur de Remarque : D’autres modes de création sont dis- affichées simultanément. Chaque fenêtre de Ces informations seront imprimées dans les
social, diagrammes, ponibles. Pour plus de détails, consultez l’aide en description affiche alors les caractéristiques documentations techniques (documentation du
• Champ Multimédia, • Champ Page ligne. d’un ou de plusieurs champs. projet, de la page, ...).
• Champ Web Ca- interne, • configurer tous les types d’aides associés au
méra, 1.2 Créer un champ associé à une rubrique 2.2 Caractéristiques par onglet
• Champ Modèle de champ. Un champ peut avoir :
• Champ de saisie, champs, Mis à part les types de champs suivants, tous les Ce paragraphe présente rapidement les différentes • Une bulle d’aide, affichée lors du survol du
• Champ Combo, • Superchamp, champs d’une page peuvent être associés à une catégories de caractéristiques affichées par onglet. champ.
• Champ Liste, • Champ Tableau rubrique d’un fichier de données : Pour plus de détails, consultez l’aide en ligne. • Un message d’aide, affiché dans la barre de
• Champ Notation, HTML, • Champ Bouton, • Champ "Composant Onglet Général message lors de l’entrée dans le champ.
• Champ Captcha, • Menu, • Champ Onglet Web" L’onglet "Général" permet de spécifier le nom du Onglet Avancé
• Champ Sélecteur, • Champ Réglette, • Champ Ligne • Champ Plan du site champ et toutes les caractéristiques d’affichage du L’onglet "Avancé" permet de saisir le code HTML
• Champ Interrupteur, • Champ Plan du site, • Champ HTML • Champ Réglette champ (libellé, masque de saisie, ...). généré avant et après le champ. Il permet éga-
• Champ Potentio- • Champ Chemin de • Champ Applet Java • Champ Cellule et Onglet UI lement de saisir la valeur ajoutée dans l’attribut
mètre, navigation, champ Tableau ’class’ du champ.
HTML L’onglet "UI" permet de définir les différents para-
• Champ Zone répé- • Champ HTML, mètres de l’interface du champ : Onglet Style
tée, • Champ IFrame, Pour créer un champ associé à une rubrique (ou
récupérer une rubrique), plusieurs méthodes sont • Etat initial du champ à l’ouverture de la page, L’onglet "Style" permet de définir le style des diffé-
• Champ Zone répé- • Champ Zone répé- disponibles : • Visibilité du champ, rents éléments du champ. Cet écran permet de :
tée linéaire, tée de type Galerie • Taille du champ, • Modifier l’aspect d’un champ : il suffit alors de
d’images, • Drag and Drop depuis le volet "Analyse".
• Champ Table, • Ancrage, ... sélectionner l’élément du champ à modifier, puis
• Champ Silverlight, • Utilisation de l’onglet "Liaison" de la fenêtre de
• Champ Table hiérar- ses caractéristiques de style. Seul l’aspect du
description du champ. Onglet Détail
chique, • Champ Applet Java, champ en cours est modifié.
L’onglet "Détail" permet de définir les différents • Créer ou modifier un style.
paramètres du champ :
• Choisir un style.
• paramètres de saisie,
Les pages d’un site WEBDEV peuvent être redimen- • la gestion de la largeur et/ou de la hauteur : ce
sionnables à l’exécution : le navigateur peut être paramètre permet de gérer le comportement du
redimensionné, le site peut être affiché sur des champ lors de son étirement. La largeur ou la
plateformes différentes (iPhone, PC, ...). Grâce au hauteur peut être adaptée au contenu du champ • ancrage en largeur : permet de définir le
mécanisme d’ancrage, la taille et la position des ou au navigateur. Il est également possible de comportement du champ en largeur lors du
4. Il est également possible de définir le compor-
champs s’adaptent automatiquement lors d’un définir la taille minimale du champ. redimensionnement du navigateur. Le champ
tement du champ lorsque le contenu est plus
redimensionnement de la page. Ces paramètres peuvent être configurés sous l’édi- peut :
grand que le champ. Il est possible :
teur de pages. • conserver sa largeur,
• d’agrandir le champ et pousser les autres
• s’adapter au contenu, champs de la page,
6.1 Ancrer un champ sous l’éditeur • suivre le comportement du navigateur. • tronquer le contenu,
Pour ancrer un champ : • toujours activer un ascenseur,
1. Sélectionnez un ou plusieurs champs à ancrer. • afficher un ascenseur uniquement en cas de
2. Définissez l’ancrage du / des champs : dépassement.
• soit dans l’onglet "UI" de la fenêtre de descrip- 5. Validez. Si l’option "Ancrage" est activée (sous
tion du champ (option "Description" du menu le volet "Affichage", dans le groupe "Voir (tous les
contextuel). champs)"), les signes d’ancrage apparaissent
• soit grâce à l’option "Ancrage" du menu automatiquement dans le champ (flèches rouges).
contextuel (clic droit) du champ. Remarque : Pour gérer l’ancrage des champs, il est
3. Dans la fenêtre qui s’affiche, choisissez le type également possible d’utiliser les tables de position-
La gestion de l’ancrage d’un champ est constituée
d’ancrage à utiliser. nement. Pour plus de détails, consultez l’aide en
de plusieurs paramètres :
ligne.
• l’ancrage du champ : ce paramètre permet de
définir la modification à appliquer au champ en
fonction du changement de la taille de la page.
Le champ peut se déplacer vers la gauche ou
vers le bas, s’agrandir en largeur et/ou en hau-
teur.
Poste de Poste
l’internaute Serveur
1 2
Actions pouvant être
effectuées en local Actions nécessitant un
(sur le poste de retour au poste serveur
l’internaute) (pages Session ou AWP)
Création de la zone répétée sous
l’éditeur de WEBDEV.
vérification simple d’une saisie, ... lecture d’informations dans la base de
données, calculs / traitements par
programmation, ...
Pour gérer ces deux sortes d’actions, l’éditeur de code de WEBDEV différencie deux types de
code :
• Code Serveur (code Jaune ou Rose sous l’éditeur de code) : Ce code est écrit en WLangage
(code jaune) ou en PHP (code rose, disponible uniquement dans les pages PHP). Ce code est
exécuté sur le serveur.
Ce code est disponible uniquement dans les pages dynamiques (en mode Session ou AWP).
• Code Navigateur (code Vert ou Bleu) : Ce code est écrit en WLangage (code vert) ou en Javas-
cript (code bleu).
A l’enregistrement de la page, ce code est automatiquement traduit en Javascript et intégré
aux pages HTML WEBDEV. Ce code est exécuté en local (sur le poste de l’internaute) et ne
Affichage de la zone répétée
nécessite pas d’action du serveur.
sous le navigateur.
Pour chaque champ de la zone répétée, plusieurs caractéristiques peuvent être modifiées lors de
la répétition : libellé, couleur du texte, ...
Les répétitions peuvent être réalisées :
• sur une colonne,
• sur plusieurs colonnes. Dans ce cas, on parle de "Zone répétée horizontale".
Lors de la création d’un champ Zone répétée, il est possible de lier le champ directement à un
fichier de données ou à une requête. Les attributs du champ Zone répétée sont automatiquement
définis. Aucune programmation n’est nécessaire.
Pour passer d’un code vert (WLangage) à un code bleu (Javascript), il suffit de cliquer sur le sigle
WL précédant l’intitulé du code (ou inversement en cliquant sur JS). A l’enregistrement de la page, • bandeau Jaune = WLangage : le sigle WL précède l’intitulé du code.
le code WLangage est automatiquement converti en Javascript. • bandeau Rose = PHP : le sigle PHP précède l’intitulé du code.
Nous vous conseillons de développer en WLangage. Pour passer d’un code jaune (WLangage) à un code rose (PHP), il suffit de cliquer sur le sigle WL
précédant l’intitulé du code (ou inversement en cliquant sur PHP). Lors de l’enregistrement de la
Evénements supplémentaires page PHP, le code WLangage est automatiquement converti en code PHP.
Le lien "Ajouter d’autres événements" présent dans la fenêtre de code permet de gérer des événe- Nous vous conseillons de développer en WLangage.
ments supplémentaires à ceux proposés par défaut. Il suffit de cliquer sur le lien "Ajouter d’autres
événements à xxx" situé à la fin de la fenêtre de code : la liste des événements supplémentaires
disponibles s’affiche.
Il suffit de sélectionner les événements voulus pour les ajouter aux codes affichés par l’éditeur
de code.
Exemples d’événements supplémentaires : double-clic, touche enfoncée, touche pressée, touche
relâchée, bouton enfoncé, souris déplacée, ...
Rappel : Le code navigateur est disponible dans les pages dynamiques (en mode Session ou AWP)
et statiques.
Le code WLangage est plus facile à écrire, à comprendre, à maintenir. La fiabilité est améliorée.
Les évolutions sont plus simples.
Serveur Web
initialisés à vide ou à 0 et exécution du code d’initialisa-
tion de chacun des champs puis de la page).
Ne rien Action associée : Exécuter les codes navigateur unique-
envoyer au ment. Poste serveur chez l’hébergeur
serveur Codes exécutés : Sur le navigateur de l’internaute
Code navigateur du champ uniquement.
Action associée : Exécuter les codes serveur et navigateur.
Attention : L’aspect du bouton "Choisir un fichier" (forme, couleur ou libellé affiché) est défini par
Codes exécutés : le navigateur et ne peut généralement pas être personnalisé.
1. Code de clic navigateur du champ.
2. Code serveur du champ.
Remarque : WEBDEV propose un champ métier permettant également de réaliser un upload. Ce
Action associée : Afficher une page du site. Affichage automatique champ permet de gérer une jauge de progression, la multisélection des fichiers, ...
de la page
Codes exécutés :
1. Code de clic navigateur du champ.
2. Code serveur du champ.
3. Affichage de la page.
Etat
(Editeur
Requête d’états)
Fichiers Texte
Utilisation du modèle dans une page : les éléments appartenant au modèle sont Fichier texte Fichiers PCL
entourés en rouge et identifiés par un carré jaune.
Pour utiliser un modèle de champs dans une page, créez un champ de type "Modèle de champs".
Données Fichiers HTML, XML, ...
Remarque : La programmation associée aux éléments du modèle peut être directement réalisée
dans le modèle.
Les caractéristiques des éléments peuvent être désolidarisées du modèle. Par exemple, désolida-
Variable WLangage
riser la position d’un champ du modèle pour positionner le champ ailleurs tout en conservant les
autres évolutions sur le champ (code, style, ...). On parle alors d’héritage de champ. Dans ce cas, Navigateur
les éléments sont identifiés par un carré bleu.
Pour créer un état utilisant un modèle, sélectionnez le modèle à utiliser lors de la création de
l’état.
Remarque : La programmation associée aux éléments du modèle peut être directement réalisée
dans le modèle.
Les caractéristiques des éléments peuvent être désolidarisées du modèle. Par exemple, désoli-
dariser la position d’un champ du modèle pour positionner le champ ailleurs tout en conservant
les autres évolutions sur le champ (code, style, ...). On parle alors d’héritage. Dans ce cas, les
éléments sont identifiés par un carré bleu.
Impression en HTML Impression en PDF
Lors du choix de la destination pour un champ Bouton, un champ Lien, un champ Image (avec
zones de clic), une option de menu, ... il est possible de choisir :
• une destination prédéfinie : quatre destinations prédéfinies sont proposées :
• Navigateur en cours (_top pour les habitués),
• Frame en cours (_self), Clic sur
le bouton
• Frame parent (_parent),
• Nouveau navigateur (_blank). Dans ce cas, le nouveau navigateur peut correspondre à un
nouvel onglet du navigateur ou bien un nouveau navigateur avec des caractéristiques spéci-
fiques (présence de la barre de menu, de la barre message, ...). Page initiale Nouvelle page affichée
• une frame du frameset en cours. (imbrication de 2 framesets) dans la page contenant le
second frameset
Remarque : dans les schémas ci-dessous, la zone grisée représente la zone dans laquelle la page
est affichée lors du clic sur le champ Bouton.
Clic sur
le bouton
Clic sur
le bouton
Clic sur
le bouton
Remarque : L’onglet "CSS personnalisé" permet de saisir directement du code CSS. Ce code sera
ensuite ajouté dans la feuille de styles.
Dans ce cas, l’écriture des données dans les fichiers de données doit s’effectuer UNIQUEMENT
dans le code du bouton de validation de la commande : tous les éléments de la commande
doivent être mémorisés jusqu’à la validation finale. N’écrivez pas dans les fichiers de données en
cours de traitement.
Remarque : Il est également possible d’utiliser une transaction, mais nous vous recommandons
de mémoriser les informations de la commande.
• la possibilité de saisir une description et des mots-clés sur chaque page de votre site.
Il est possible d’intégrer une page d’accueil à votre site lors du développement du projet, en
créant une nouvelle page.
Remarque : le référencement est une technique dont les règles sont dictées par les moteurs de
recherche (Google, Bing, etc.). Ces règles ne sont pas toujours explicites et évoluent très vite.
N’hésitez pas à consulter des ouvrages ou des sites spécialisés sur ce sujet.
Remarques :
• Le type de mise en page est défini grâce aux options d’ancrage de la page (option "Ancrage" du
menu contextuel de la page).
• Le type de mise en page (centré ou ancré en largeur) configuré dans un modèle de pages sera
automatiquement utilisé par les pages associées à ce modèle.
Pour référencer une page statique ou AWP de votre 4. Dans l’onglet "Mots-clés" de la fenêtre de
site : référencement, saisissez les mots-clés associés
1 Principes du référencement 1. Affichez la fenêtre de description de la page. à la page. Ces mots-clés (ou expressions) seront
2. Dans l’onglet "Détail", une zone spécifique les mots-clés pour lesquels la page sera référen-
Pour que votre site WEBDEV soit visité, il faut que 1.2 Les différents outils à votre disposition permet de gérer le référencement de la page. cée : si l’internaute saisit un de ces mots-clés, le
les internautes puissent le trouver. Pour cela, votre Dans cette zone, cliquez sur le bouton "Editer les moteur de recherche proposera la page corres-
Pour vous aider, WEBDEV propose : pondante. La saisie des mots-clés se fait de la
site doit être proposé lorsque l’internaute saisira expressions et les mots-clés".
les mots-clés caractérisant votre site dans un mo- • Un référencement de chaque page statique et manière suivante : saisissez le premier mot-clé
AWP : pour chaque page, il est possible de défi- 3. Dans l’onglet "Description" de la fenêtre de ré- puis appuyez sur la touche Entrée pour saisir le
teur de recherche. férencement, saisissez la description de la page.
nir une description et un ensemble de mots-clés. suivant.
Cette description apparaît le plus souvent dans
1.1 Optimiser le référencement d’un site Ces mots-clés permettront aux internautes d’ac-
l’affichage du résultat d’une recherche effectuée
Quelques conseils :
WEBDEV céder directement à la page. Il est également
avec un moteur de recherche. Quelques conseils : • Les trois premiers mots-clés sont les plus
possible de ne pas référencer une page. importants. Utilisez des mots-clés usuels et
Pour optimiser le référencement de vos pages dans • Utilisez des phrases courtes, limitez le
les moteurs de recherche, il est conseillé d’utiliser • Un assistant d’aide au référencement, indiquant discriminants.
pour chaque page les améliorations pouvant nombre de mots (200 caractères maximum).
des pages AWP. • Les mots-clés ne doivent pas être répétés.
être effectuées pour optimiser le référencement. • Cette description doit donner aux internautes
Si vous devez référencer un site en mode Session, envie d’afficher la page. • Utilisez des variantes (singulier/pluriel, mas-
utilisez : • La possibilité d’intégrer ou d’utiliser une page culin/féminin, nom/verbe ...).
spécifique en tant que page d’accueil. Cette Remarque : Cette description peut être
• une page d’accueil. modifiée dynamiquement grâce à la propriété Remarque : Ces mots-clés peuvent être
solution permet par exemple de référencer les modifiés dynamiquement grâce à la propriété
• une partie du site en statique. Le site statique pages en mode Session, en associant des mots- Description.
MotsClés.
permettra d’effectuer le référencement et de clés à la page d’accueil. Cette page d’accueil
lancer le site en mode Session. 5. Validez la fenêtre de référencement, puis la
contient tous les mots-clés qui permettront aux fenêtre de description de la page.
• une partie du site en mode AWP. Le site AWP internautes de trouver votre site.
permettra d’effectuer le référencement et de
lancer le site en mode Session. 4 Utiliser l’assistant d’aide au référencement
Remarque : En AWP, pour passer des paramètres
entre vos pages, préférez le passage de para-
mètres par l’URL à l’utilisation des contextes AWP. Pour vous aider à optimiser le référencement de Pour lancer l’assistant d’aide au référencement
En effet, le contenu de l’URL est référençable, alors vos sites et de vos pages, WEBDEV propose un as- sur une page :
que les contextes AWP ne le sont pas. sistant d’aide au référencement. Cet assistant peut 1. Affichez la page voulue dans l’éditeur.
être utilisé sur une page spécifique, ou sur toutes 2. Sous le volet "Page", dans le groupe "Référen-
les pages de votre projet. Cet assistant analyse la cement", cliquez sur "Optimiser".
2 Référencer ou non une page statique ou AWP d’un site composition des pages du site et indique les amé-
3. L’assistant de référencement se lance. Vous
liorations à apporter pour maximiser le positionne-
ment des pages dans les moteurs de recherche. pouvez double-cliquer directement sur une pro-
Pour référencer une page statique ou AWP de votre 3. Il est possible de : position pour effectuer l’optimisation correspon-
Quelques exemples d’optimisations détectées par dante. Le bouton "Rafraîchir" permet de mettre la
site : • Ne pas référencer la page en cours. l’assistant :
1. Affichez la fenêtre de description de la page. liste des propositions à jour.
• Référencer la page en cours, en lui associant • Le titre de la page doit être renseigné.
2. Dans l’onglet "Détail", une zone spécifique per- des expressions et des mots-clés (bouton "Edi- Pour lancer l’assistant d’aide au référencement
• Trois mots-clés doivent être spécifiés au mini- sur l’ensemble des pages du site :
met de gérer le référencement de la page. ter les expressions et les mots-clés"). mum dans la page. 1. Sous le volet "Projet", dans le groupe "Web",
• La description de la page doit être renseignée. déroulez "Référencement" et sélectionnez "Optimi-
• Le texte alternatif doit être saisi pour tous les ser le référencement".
champs le proposant (si possible en utilisant les 2. L’assistant de référencement se lance. Vous
mots-clés définis pour la page) ... pouvez double-cliquer directement sur une pro-
position pour effectuer l’optimisation correspon-
dante. Le bouton "Rafraîchir" permet de mettre la
liste des propositions à jour. Les résultats peuvent
être triés par page ou par type de conseils.
Editeur d’états
Les différents éléments de ce tableau de bord sont présentés sous forme de Widgets. Ces Wid-
gets peuvent être paramétrés, déplacés, activés, désactivés, ... Il est possible d’ajouter de nou-
veaux indicateurs.
La configuration du tableau de bord est sauvegardée par utilisateur. La configuration du tableau
de bord est la même pour tous les projets d’un même utilisateur.
Quel que soit le produit avec lequel un projet a été créé, il est possible de l’ouvrir avec les autres
produits. Projet WEBDEV
Lorsque vous ouvrez un projet dans un produit différent
de celui qui a permis de le créer, un assistant s’affiche,
permettant de créer une configuration de projet spéci-
fique au produit utilisé.
multiple (GDS)
Les configurations de projets permettent de définir simplement les différentes "Cibles" de votre
projet. Vous pouvez ainsi définir pour un même projet plusieurs sites, plusieurs bibliothèques ou Présentation
plusieurs composants.
Pour simplifier vos développements en équipe, WEBDEV propose un gestionnaire de sources.
Pour générer le résultat de chaque configuration, vous pouvez bien entendu sélectionner une à Ce gestionnaire de sources permet à plusieurs développeurs de travailler simultanément sur le
une chaque configuration et générer l’élément correspondant. même projet et de partager aisément des éléments entre différents projets.
Un autre moyen plus rapide existe : la génération multiple. Vous sélectionnez en une seule opéra-
tion les configurations à générer et le résultat est immédiat.
Réseau
(intranet)
ADSL
(internet)
Cloud
GDS Déconnecté
Une base de sources regroupe les éléments du projet, chaque poste possède une copie en local
des éléments nécessaires au développement
2 1 Le Gestionnaire de Sources
Projet A
Extraction 9h57 Projet A
Version 1 Version 1
3 Modification
1.1 Présentation
WEBDEV innove dans la gestion du travail en
1.2 Principe d’utilisation
4
également GDS). COPIE LOCALE
Serveur GDS
Totalement intégré à l’environnement, le gestion- Projet
local
Développeur
Réseau local
naire de sources (GDS) permet : COPIE LOCALE
Projet A
Poste Local 2 • un développement performant en équipe,
Version 3 Développeur
5
Projet de Projet
ADSL (Internet)
• l’historique des modifications et des versions, référence
local
COPIE LOCALE
Extraction 14h28
• l’automatisation de la sauvegarde des sources Développeur
Projet A Projet
Poste Nomade
Extraction de la fenêtre Beta du Dimensionné pour des équipes de 1 à 100 déve-
Tous les éléments du projet sont enregistrés dans
Projet A Version 1 à 9h13 loppeurs, le GDS favorise et normalise sans
la base de sources (sur le serveur). Cette opération
Poste Nomade contrainte les échanges entre développeurs (même
Poste Local 1 est effectuée à la création du projet ou lors de
en développant seul, le GDS est utile car il contient
1
Extraction de la fenêtre Alpha du
l’importation d’un projet existant dans le Gestion-
Projet A Version 1 à 9h57 l’historique de vos applications).
Réintégration de la fenêtre Alpha modifiée naire de Sources.
Projet A Extraction 9h57 dans le Projet A Version 2 à 10h41 Le GDS utilise une base de sources : procédures, Chaque développeur utilisant le Gestionnaire de
Version 1
classes, pages, états, composants, analyses, ... Sources récupère une copie du projet en local.
6
Poste Local 2
Modification Extraction de la fenêtre Alpha du Cette base de sources peut être à votre choix :
en clientèle Projet A Version 2 à 14h28 Utilisation
• en mode HFSQL Client/Serveur : Pour travailler sur un élément du projet (fenêtre,
Projet A Réintégration 18h32
Version 3
Poste Nomade • installée sur un serveur personnalisé, page, état, ...), le développeur doit extraire l’élé-
Réintégration de la fenêtre Beta modifiée
Projet
onduleur.
N
4 local
CH
• Faites des sauvegardes régulières de la base 3. Dans l’assistant qui s’affiche, sélectionnez la
N
IS
Déconnecté
N
Projet mum). • Une nouvelle base de sources. Dans ce cas, le partage. Pour plus de détails, consultez l’aide en
local
2.1 Présentation • le nom et le mot de passe d’un administra- 4.1 Options d’un projet concernant le GDS • Extraire/Réintégrer automatiquement le projet :
teur de la base de données HFSQL. Cette option permet une gestion automatique
Pour partager un projet grâce au gestionnaire de Plusieurs options permettent de configurer un pro-
• localement, dans un répertoire partagé sur le du "fichier projet". Si cette option est cochée, le
sources, il est nécessaire de créer une base de jet manipulé avec le Gestionnaire de Sources. Ces
réseau : tous les utilisateurs du GDS doivent fichier projet est extrait uniquement si l’action
sources. Cette base de sources doit être créée une options sont regroupées dans l’onglet "GDS" de la
avoir tous les droits sur ce répertoire. La base réalisée le nécessite. Lorsque l’action sur le
seule fois sur un poste serveur. description du projet (sous le volet "Projet", dans le
de sources sera au format HFSQL Classic. projet a été effectuée, le fichier projet est auto-
Le système d’exploitation et le système de fichiers groupe "Projet", cliquez sur "Description").
Il suffit de préciser le répertoire réseau où la matiquement réintégré.
sur lequel est installée la base de sources du GDS • Proposer la récupération de la dernière version Cette option permet de ne plus avoir la gestion
base de sources doit être créée. des éléments à l’ouverture du projet :
doivent savoir gérer les fichiers de plus de 4 Go. "Maître / Invité" sur le projet. Il est également
Il est possible de créer la base de sources : 2.2 Quand créer une base de sources ? Cette option permet lors de l’ouverture d’un possible d’activer cette option sous le volet
projet présent dans le GDS, de proposer la récu- "GDS", dans le groupe "Projet", en déroulant
• via la solution "clé en main" GDSDrive (solution La base de sources doit être créée une seule fois. pération de la dernière version des différents "Maître / Invité" et en sélectionnant l’option
conseillée). Dans ce cas, un serveur mutualisé WEBDEV permet de créer cette base de sources à éléments du projet. "Gérer automatiquement l’extraction du projet".
est utilisé. Cette solution payante permet de différents moments : Par défaut, la dernière version des éléments est
simplifier toutes les manipulations d’installation
du serveur GDS. • lors de l’installation de WEBDEV. automatiquement récupérée. 4.2 Extraire un élément
• lors de la création d’un projet utilisant le GDS. • Proposer la réintégration des éléments à la fer-
• via la solution "clé en main" PCSCloud. Dans ce Les différents modes d’extraction
• lors de l’importation d’un projet dans le Gestion- meture du projet :
cas, un serveur dédié est utilisé. Cette solution Le GDS propose deux modes d’extraction des élé-
naire De Sources. Cette option permet d’afficher lors de la fer-
payante permet de simplifier toutes les mani- ments du projet :
meture du projet la liste de tous les éléments
pulations d’installation du serveur GDS. Vous • directement dans l’administrateur du GDS.
actuellement extraits, afin de réintégrer certains • le mode classique : si vous affichez un élément
utilisez une plateforme dimensionnée selon vos Lorsque la base de sources est créée, il est pos- ou tous ces éléments. du GDS non extrait, un panneau indique que cet
besoins. Pour plus de détails, consultez PCS- sible d’importer dans cette base de sources tous Par défaut, à la fermeture du projet, les élé- élément doit être extrait pour être modifié. Vous
Cloud. les projets WEBDEV à partager. ments extraits ne sont pas réintégrés. pouvez extraire immédiatement l’élément (bou-
• sur un serveur HFSQL Client/Serveur : la base ton d’extraction présent dans le panneau).
de sources sera au format HFSQL Client/Ser- 2.3 Sauvegardes
veur. Dans ce cas, il est nécessaire de préciser : Il est conseillé de faire régulièrement des sauve-
• le serveur, gardes de la base de sources du GDS. Ces sauve-
• la base de données, gardes peuvent être effectuées grâce à l’adminis-
• le port utilisé, trateur du GDS.
1
Projet 2
Création du
composant interne 2 Créer un composant interne
Pages
2.1 Les différentes étapes
2
Remarque : Les éléments du composant interne
Partage du accessibles (ou "public") seront automatiquement
composant interne Pour créer un composant interne :
proposés par la complétion. Ils pourront être uti-
Classes via le GDS 1. Sous le volet "Projet", dans le groupe "Configu- lisés par les éléments présents dans le projet ou
ration de projet", déroulez "Nouvelle configuration" depuis un autre composant interne. Les éléments
et sélectionnez "Composant Interne". L’assistant non accessibles (ou "privés") pourront être manipu-
création d’un composant interne se lance. lés uniquement par un autre élément du compo-
Requêtes
2. Indiquez les caractéristiques du composant sant interne (la complétion proposera ces éléments
interne : "privés" uniquement depuis les éléments d’un com-
• son nom. Le nom du composant interne sera posant interne).
utilisé pour le fichier WCI correspondant à la 5. Indiquez le mode de gestion des données et
description du composant interne. Ce nom des contextes d’exécution. Trois modes de gestion
sera également utilisé pour créer un sous-ré- des données et des contextes d’exécution sont
pertoire dans votre projet contenant tous les disponibles :
Fichier WCI
Sous-répertoire éléments du composant interne. • Utiliser l’analyse du projet ou aucune analyse
(Liste des éléments)
du projet • son libellé. (partage complet) : Le composant interne
<MonComposant> • sa description. accède aux fichiers de données du projet.
3. Indiquez les éléments à intégrer dans le compo- Le composant interne utilise également les
sant interne. Un composant interne peut contenir mêmes contextes d’exécution que le projet.
Les éléments d’un composant interne peuvent être privés ou publics : tous les types d’éléments présents dans un pro- Ce mode correspond au mode par défaut si le
jet : pages, états, modèles, ... composant interne n’utilise pas d’analyse.
• Les éléments privés pourront être manipulés uniquement par les autres éléments du compo-
sant. 4. Indiquez les éléments du composant interne
qui seront directement accessibles dans le code
• Les éléments publics pourront être manipulés par les éléments du projet utilisant le compo- et dans les actions prédéfinies du projet accueil-
sant interne. lant le composant interne.
ments.
2 Génération du
composant
3
projet présent dans le GDS. Le composant Importation du
interne sera automatiquement présent dans le composant
GDS.
4 Utilisation du
composant 4 Utilisation du
composant 4 Utilisation du
composant
Composants externes
Les composants externes sont des briques applicatives permettant de par-
tager une ou plusieurs fonctionnalités spécifiques entre différentes applica-
tions. Un composant généré avec WINDEV peut également être utilisé dans
un projet WEBDEV ou WINDEV Mobile.
2.1 Création d’un projet PHP Dès que le projet est configuré comme un projet
PHP, tous les outils WEBDEV disponibles sont auto-
La création d’un projet PHP est effectuée de la
matiquement paramétrés pour le projet PHP :
même façon que tout autre projet WEBDEV :
• Le RAD PHP qui génère du code PHP depuis
1. Cliquez sur parmi les boutons d’accès
un projet pour de nombreuses fonctionnalités
rapide de WEBDEV. La fenêtre de création d’un
de WEBDEV.
nouvel élément s’affiche : cliquez sur "Projet".
• Le compilateur indique les fonctions ou
2. L’assistant de création de projet se lance.
champs non utilisables en PHP. Un message
3. Dans un des premiers écrans de l’assistant, apparaît en violet dans le volet "Erreurs de
vous pouvez choisir le type de génération de votre compilation".
projet. Il suffit de sélectionner "PHP" et de suivre
• Le déploiement du site PHP est proposé via
l’assistant.
l’outil WDDéploie.
Centre de
Tâches Suivi de Projets
Fenêtre de login
de WEBDEV
Base de données des
Centres de Contrôle
Incidents
Remarque : Lors de l’installation de WEBDEV, le programme d’installation propose de choisir une 3 Suivi des exigences (Centre de Suivi de Projets) :
Définition des
Règles Métier
Après avoir listé l’ensemble des tâches d’un projet, le Centre de Suivi de Projets s’occupe de tout.
Application des Règles
La saisie du temps passé est quasi automatique, elle ne demande aucune action spécifique et ne
Métier dans le projet
génère aucune contrainte particulière.
Lors de l’ouverture du projet concerné, le Centre de Suivi de Projets demande ou indique la tâche
en cours. Dès qu’une tâche est réalisée, il suffit d’indiquer que cette tâche est terminée et de
spécifier la nouvelle tâche.
Une tâche peut être reliée à un élément du projet (fenêtre, état, ...). Chaque fois que l’élément Utilisation du site
concerné est ouvert, le temps passé sur cet élément est décompté et mémorisé dans le Centre
de Suivi de Projets. Inversement, depuis la liste des tâches, il est possible d’ouvrir automatique-
ment l’élément correspondant à la tâche que vous voulez réaliser.
Chaque développeur peut également visualiser directement sa liste de tâches dans le volet Une règle métier peut être simple ou élaborée.
"Centre de Suivi de Projets" présent sous l’éditeur.
Les règles métier peuvent provenir :
• du cahier des charges (correspondant aux exigences).
• de suggestions faites par les utilisateurs de l’application.
Pendant le développement, les règles métier définies pour le projet sont affichées directement
dans le volet "Règles métier" de l’environnement de développement. Ce volet présente le nombre
d’éléments du projet auxquels les règles métier s’appliquent et le pourcentage de règle actuelle-
ment réalisé.
Concepts avancés
En génération RAD, les pages générées contiennent tout le code nécessaire à leur fonctionne-
ment. Ces pages peuvent être testées immédiatement, avec les données présentes sur le poste
de développement.
En génération RID, les pages générées contiennent uniquement les champs liés aux rubriques
de l’analyse. Tout le code nécessaire au fonctionnement de ces pages reste à la charge du déve-
loppeur. Vous pouvez directement saisir votre code personnalisé.
2.6 Diagramme de séquence
Un diagramme de séquence représente l’ordre
chronologique des messages envoyés et reçus par Un diagramme de collaboration est composé des
un ensemble d’objets. éléments suivants :
Un diagramme de séquence est composé des élé- • objet : représente les différents objets utilisés.
ments suivants : • acteur : représente un élément externe du sys-
• objet : représente les différents objets utilisés. tème. Par exemple une personne.
Chaque objet est représenté par un carré sur- • message : représente les messages échangés
entre les différents objets.
128 Partie 4 : Concepts avancés Partie 4 : Concepts avancés 129
Groupware
Contenu
Le groupware utilisateur en pratique
utilisateur
1 Présentation
Le Groupware Utilisateur permet d’inclure simplement une gestion des utilisateurs et de leurs
droits dans un site WEBDEV.
Un site Intranet ou Internet nécessite la définition • les commerciaux peuvent consulter le tarif et
Deux types d’utilisateurs sont pris en compte : du rôle des différents intervenants. Il est souvent établir les commandes, gérer de nouveaux
• utilisateur simple, utilisant directement le site. nécessaire de prévoir différents niveaux d’accès clients.
• superviseur, pouvant configurer les utilisateurs et leurs droits. selon les fonctions de l’utilisateur. • les directeurs commerciaux ont accès à toutes
En effet, tous les utilisateurs n’ont pas les mêmes les options.
fonctions, ni les mêmes besoins. Leur domaine Pour gérer ces niveaux d’accès dans vos sites
d’action doit donc être plus ou moins limité. WEBDEV, il suffit d’intégrer le groupware utilisateur
Prenons un exemple simple : lors de la mise en à votre site. Quelques clics de souris suffisent à
Utilisateur place d’une gestion commerciale, l’application pro- transformer une application classique en une ap-
1 Lancement du site
pose les fonctionnalités suivantes :
• Consultation du tarif,
plication gérant de nombreux niveaux d’accès. La
mise en place est instantanée.
• Modification du tarif, Lors de l’exécution du site, le responsable pourra
3
créer des utilisateurs (identifiés par leur login et
2 Utilisation • Saisie des commandes,
Identification
du site
leur mot de passe) et leur donner accès à l’une ou
• Saisie des clients. l’autre des fonctionnalités du site.
Selon l’utilisateur les accès possibles sont diffé- Remarque : Le groupware utilisateur est disponible
rents. Quelques exemples : dans les sites dynamiques WEBDEV exécutés sous
Utilisation Vérification • les secrétaires peuvent consulter le tarif et créer
des droits des droits
Windows ou Linux. Le groupware utilisateur n’est
des commandes. pas disponible dans les sites statiques, PHP, AWP
ou Ajax.
Superviseur
HFSQL Classic,
Client/Serveur,
Accès Natif,
LDAP
2 Comment fonctionne le groupware utilisateur ?
Base de données
du Groupware Utilisateur Un site utilisant le groupware utilisateur a deux La configuration du groupware consiste à créer des
niveaux d’utilisation : utilisateurs, des groupes et d’associer des utilisa-
Configuration des • le niveau utilisateur. teurs aux groupes, à gérer les droits de chaque uti-
droits et des utilisateurs lisateur (ou groupe) sur chacune des pages du site.
4 Menu du • le niveau superviseur.
Les droits sont définissables au niveau des options
superviseur
2.1 Le niveau utilisateur de menu, des groupes de champs et des champs.
Le superviseur peut rendre ces éléments grisés,
L’utilisateur se connecte à l’application grâce à une inactifs ou invisibles. Ces configurations sont prio-
page de login et accède aux fonctionnalités qui lui ritaires sur toute configuration effectuée dans le
sont autorisées. programme.
2.2 Le niveau superviseur Pour plus de détails sur la configuration du
groupware par le superviseur, consultez le chapitre
Historique Le superviseur se connecte à l’application par "Paramétrer le site utilisant le groupware utilisateur
des connexions une page de login et accède à un menu avancé lui classique", page 134.
permettant de configurer les utilisateurs et leurs Remarque : Toutes les informations concernant les
droits, ou bien de lancer l’application. utilisateurs et leurs droits sont stockées dans des
Le menu avancé permet au superviseur de : fichiers de données au format HFSQL.
• lancer le site.
• configurer le groupware.
4 Paramétrer le site utilisant le groupware utilisateur classique 5.1 Utilisation de groupes de champs Lors de la configuration du groupware utilisateur, le
superviseur peut définir d’autres caractéristiques
Pour simplifier le paramétrage de la gestion du
Lorsque le site est déployé, le paramétrage du • afficher les statistiques. de visibilité. Les caractéristiques définies par le
groupware utilisateur en fonction des utilisateurs, il
groupware utilisateur classique est réalisé par le superviseur sont prioritaires.
• migrer les données provenant d’un groupware est conseillé d’utiliser des groupes de champs.
superviseur du site. utilisateur version 18 et antérieure. Par exemple, un bouton permet de rendre un
Il est par exemple possible de créer dans vos
Ce paramétrage consiste à créer des utilisateurs, champ actif. Or ce champ a été grisé par le super-
pages des groupes de champs correspondant aux
des groupes d’utilisateurs et à leur attribuer cer- 4.1 Gérer les utilisateurs viseur. Votre code ne sera pas pris en compte et le
champs à afficher pour un type d’utilisateur.
tains droits pour chaque champ de chaque page champ ne sera pas actif.
La gestion des utilisateurs consiste à : La possibilité d’associer un champ à plusieurs
du site. groupes de champs augmente les combinaisons 5.3 Définition des droits
• créer des utilisateurs,
Ces droits consistent à rendre visible, invisible ou disponibles.
• créer des groupes, Pour obtenir une définition des droits correspon-
grisé des champs, des groupes de champs, des Ces groupes de champs peuvent être créés dans
options de menus. • associer des utilisateurs à des groupes. dant aux fonctionnalités de votre site, il est conseil-
votre site uniquement en vue d’une gestion du lé :
Pour paramétrer le groupware utilisateur, il suffit La création d’un nouvel utilisateur consiste à don- groupware, sans programmation spécifique de
de : ner les informations suivantes : votre part. • soit d’effectuer la configuration des droits vou-
• le nom de l’utilisateur (obligatoire) lue par le gestionnaire du site développé avant
1. Lancer le site et de se connecter en tant que de créer la procédure d’installation. Il suffit alors
superviseur : • le prénom de l’utilisateur 5.2 Visibilité des champs
d’ajouter les fichiers de données du groupware
• Nom : SUPERVISEUR • le login de l’utilisateur. Ce login correspond à Lors du développement de votre application, vous lors de la création de l’installation du site.
• Mot de passe : SUPERVISEUR l’identifiant de l’utilisateur lors de sa connexion pouvez définir les caractéristiques de visibilité des
à l’application. • soit de livrer une documentation technique per-
différents éléments de vos pages :
2. Choisir l’option "Configurer le groupware". mettant de donner les noms des champs, des
• le mot de passe de l’utilisateur. Ce mot de passe • soit lors de la description de l’élément (fenêtre groupes de champs et des options à gérer selon
3. La page de gestion du groupware utilisateur
n’est pas obligatoire et peut être saisi par l’utili- à 7 onglets), le niveau d’utilisation du site.
s’affiche. Cette page permet de :
sateur lui-même lors de sa première connexion • soit par programmation (propriété Etat ou pro-
• gérer les utilisateurs et les groupes. (cochez l’option correspondante). priété Visible).
• gérer les droits.
5 Programme d’installation
- Langues proposées
Les différentes langues sélectionnées seront pro-
posées pour toutes les informations des différents
colonne d’un champ Table affichant des données
de type numérique (nombre, monétaire, date,
- Traduction du programme
heure, durée, ...), le masque de saisie utilisé sera
éléments ou objets pouvant être traduites (libellés
d’installation automatiquement le masque défini dans les op-
des champs, options de menus, messages d’aide
tions de langue du projet. Cette option est dispo-
associés à un champ, ...).
nible dans les pages.
Lors de la modification des différentes langues du
En exécution, lorsqu’un champ de saisie ou une co-
projet, les modifications seront automatiquement
lonne d’un champ Table a pour masque "Défini par
prises en compte :
le projet", le masque de saisie / d’affichage s’adap-
• pour tout nouvel élément ou objet créé sous tera automatiquement selon les options choisies
l’éditeur de WEBDEV, dans le projet pour la langue affichée en exécution.
• pour tout élément ou objet ouvert sous l’éditeur Remarque : Les options linguistiques permettent
de WEBDEV. également de définir le sens d’écriture et l’alphabet
La langue principale correspond à la langue utilisée utilisé (option "Divers").
par défaut en exécution.
2 Contactez-moi
Lorsque l’internaute arrive sur un site, il doit facilement identifier la personne ou la société res-
ponsable du site par un choix de la page d’accueil : il suffit d’indiquer un nom, une adresse pos- Début de la page Fin de la page avec un bouton
tale et une adresse Internet, ... permettant à l’internaute de vous contacter. permettant de revenir en haut de page
9 L’internaute doit saisir une quantité ? Utilisez une combo pour simplifier la saisie des
quantités.
Par exemple, pour superposer un champ Libellé sur un champ Image, il faut rendre le champ
Libellé superposable et positionner le champ Libellé sur le champ Image.
Palettes de couleur
Les palettes de couleurs définissent un jeu de couleurs qui sont proposées dans tous les sélec-
teurs de couleurs du projet. Les palettes de couleurs sont un moyen simple de personnaliser
l’aspect visuel d’un site.
Ces couleurs sont également appliquées sur les styles définis dans l’ambiance du projet afin de
permettre de changer rapidement et facilement l’aspect visuel d’un projet.
Voici quelques exemples d’utilisation "classique" de boutons / liens dans une page :
La palette de couleurs d’une page peut être définie à trois niveaux différents (par ordre décrois-
sant de priorité) : • Envoyer les données de la page en cours au serveur pour traitement
• Dans le projet. Exemple : Formulaire d’enregistrement : le lien permet de vérifier la validité des informations
• Dans le modèle de pages dont la page hérite des propriétés. saisies et d’afficher une page de confirmation.
Pour effectuer ce type de traitement, utilisez un lien ayant pour action "Envoyer les valeurs au
• Dans la page elle-même.
serveur". Les données de la page sont envoyées au serveur pour être traitées.
Il faut définir la palette générale au niveau du projet. Si un ensemble de pages doit utiliser une
• Effectuer un traitement sur le serveur, sans récupérer les données de la page en cours
palette particulière (par exemple les pages de la partie "Administration" d’un site), il est possible
Exemple : Page de menu constituée de boutons : chaque bouton permet de lancer une page
de remplacer la palette du projet en la redéfinissant au niveau d’un modèle de pages. Enfin, si
du site.
une page particulière doit avoir une palette différente, la palette peut être choisie au niveau de la
Pour effectuer ce type de traitement, utilisez un bouton ayant pour action "Ne rien envoyer au
page elle-même.
serveur".
Par exemple, dans un site commercial, si l’internaute revient sur la page de validation de com- A chaque nouvelle page de type Session affichée sur le navigateur, un contexte de page spéci-
mande, il pourrait valider sa commande 2 fois et donc passer 2 commandes. fique à son traitement est créé sur le serveur.
Lorsqu’une même page de type Session est utilisée pour afficher des données différentes (page
avec table fichier, zones répétées ou page de type "Fiche avec parcours", ...), le contexte de page
présent sur le serveur varie en fonction des données affichées.
Lorsque l’internaute appuie sur le bouton "Précédent" (ou "Back"), le navigateur ne prévient ni
le site ni le serveur. Le navigateur revient à la page précédente sans le contexte correspondant.
Aucune gestion particulière n’est nécessaire lorsque l’on fait un "Back" entre des pages diffé-
rentes.
Une gestion spécifique est nécessaire pour une même page de type Session affichant des don-
nées différentes.
Pour empêcher le retour sur une page par le bouton "Précédent" du navigateur :
1. Affichez la page sous l’éditeur de pages de WEBDEV.
2. Sous le volet "Page", cliquez sur l’icône de regroupement du groupe "Edition" ( ). La fenêtre
de description de la page s’affiche.
3. Affichez l’onglet "UI".
4. Pour l’option "Utilisation du bouton "Précédent" du navigateur", sélectionnez "Interdit".
5. Validez.
La page de type Session affichée sur le navigateur correspond à la page affichée à l’étape 1.
La sécurité totale !
Cependant le serveur n’est pas informé par le navigateur que l’internaute a utilisé la touche Back.
Le contexte de page sur le serveur est toujours celui correspondant aux clients.
Si l’internaute sélectionne dans le champ Table un élément (un fournisseur), l’élément sélec-
tionné sera l’élément correspondant dans le contexte : un client. Il y a désynchronisation entre
la page dynamique visualisée et le contexte de page présent sur le serveur. Le moteur WEBDEV
détecte cette désynchronisation.
Une gestion du bouton Back est nécessaire.
de synchronisation)".
Pour gérer la synchronisation par programmation : Remarques : Le nouvel internaute doit ici
1. Affichez la fenêtre de description de la page : • La fonction ChangeAction est initialisée avec saisir son nom et son mot de passe
sous le volet "Page", dans le groupe "Description", l’action "Ne rien faire" si une fonction du WLan-
cliquez sur "Description". gage permettant d’afficher ou de ré-afficher une
page est utilisée dans le code de synchronisa- Connexions suivantes
2. Dans l’onglet "UI", pour l’option "Utilisation du
bouton "Précédent" du navigateur", sélectionnez tion de la page. Le site WEBDEV lit des
"Autorisé". • Pour personnaliser le message de désynchroni- données précédemment
enregistrées sur le poste
3. Configurez si nécessaire les champs de la page sation, il suffit de saisir dans le code de synchro- de l’internaute.
pour lesquels la synchronisation ne doit pas être nisation de la page :
gérée. 1. le message personnalisé.
Pour chaque champ déclenchant une action sur le 2. le ré-affichage de la page en cours sur le
serveur, il est possible de paramétrer si la gestion serveur (avec la fonction PageActualise par
de la synchronisation de la page doit être effec- exemple).
tuée (option par défaut) ou ignorée lors de cette • Pour réaliser une synchronisation à partir des
action. Pour ignorer la gestion de la synchronisa- informations présentes sur le poste de l’inter-
tion, il suffit de décocher l’option "Appeler le traite- naute, il est conseillé de :
ment de synchronisation de la page si l’internaute Le site WEBDEV affiche par
a utilisé le bouton précédent du navigateur" dans 1. Utiliser un champ caché contenant l’identifiant défaut les informations lues dans le cookie
Par défaut, un site Internet est accessible à n’importe quel internaute. Mais un site n’est pas tou-
jours destiné au grand public : certaines fonctionnalités peuvent être réservées à certains types
d’internautes (administrateur de site, ...). Poste de Poste
l’internaute Serveur
Dans ce cas, le gestionnaire du site attribue un mot de passe à chaque internaute. Ce mot de Clic sur un bouton
passe ne pourra pas être modifié. Ce mot de passe permet un accès à des fonctionnalités plus ou SSLActive(Vrai)
Ouverture de la page
moins limitées.
Page sécurisée
Par exemple, dans un site commercial :
• un mot de passe spécifique sera attribué aux commerciaux : ils accéderont aux statistiques de Opérations en
mode sécurisé
nouveaux produits.
Page non sécurisée
La mise en place d’une transaction sécurisée est effectuée lors de l’ouverture d’une nouvelle
page par un bouton (ou un lien). Il suffit d’utiliser la fonction SSLActive dans le code navigateur du
bouton (ou du lien). Dès l’ouverture de la page sécurisée, toutes les actions effectuées seront en
mode sécurisé (c’est-à-dire crypté).
Pour revenir en mode non sécurisé, il suffit d’utiliser la fonction SSLActive(Faux) dans le code
navigateur d’un bouton (ou d’un lien) permettant d’ouvrir une nouvelle page.
156 Partie 4 : Concepts avancés Partie 4 : Concepts avancés 157
Paiement sécurisé avec
Contenu
Envoyer des
Contenu
prestataire emails
Différents prestataires permettent de proposer un paiement sécurisé pour tous les sites commer- Dans un site Web, les emails permettent :
ciaux. Tout paiement réalisé avec une carte bancaire est validé par le prestataire auprès du centre • de simplifier la communication entre les internautes : envoi d’emails au responsable du site,
de carte bancaire. site de mailing-list, ...
Les différentes étapes du paiement sont les suivantes : • de valider une prise de commande : dans un site commercial, un email est envoyé aux inter-
nautes pour valider leur commande.
• de transférer des données d’un poste à un autre : les nouvelles commandes saisies sur un site
3
1 2 commercial sont transférées par email au siège de la société pour traitement, ...
WEBDEV permet d’envoyer des emails depuis un site par 2 méthodes.
4
Poste 9c
Serveur 1 Envoi de l’email depuis le poste de l’internaute
client 9d Marchand Utilisez cette méthode lorsque l’internaute doit envoyer un email à une adresse défini : auteur du
site, support technique, service commercial, ...
La fonction navigateur EmailOuvreMessagerie permet d’ouvrir le logiciel de messagerie de l’inter-
5 9b naute. Certains paramètres peuvent être remplis par défaut : adresse email du destinataire, ...
SSL 9a SSL
4 6 Internaute 3 Internaute n
Opérateur Serveur
8 Banque Web
de paiement
1 Consultation du site
Remplissage du panier 5 Affichage de la page
de paiement 9a
Réponse pour le site
marchand
2 Identification
(saisie des coordonnées) 6 Saisie du numéro
de la carte bancaire 9b
Réponse pour le
client
Internaute 2
Envoi d’emails
Internaute 1
entre internautes
3 Vérification de la
commande 7 Autorisation bancaire 9c Redirection de la page
de confirmation de la
Cette méthode permet d’utiliser directement la messagerie de l’internaute : aucun traitement spé-
9d commande
cifique n’est à effectuer dans le site WEBDEV.
4 Redirection vers le
paiement sécurisé 8 Réponse de la banque
Internaute 3 Serveur
Web
Serveur d’emails
(administrateur WEBDEV)
Internaute 2 ou
Internaute 1
Système étudié
Analyse correspondante
L’analyse d’un projet WINDEV, WEBDEV ou WINDEV Mobile correspond au MLD (Modèle Logique
des données). Toute la structure et l’organisation des données sont décrites : les données sont
regroupées par fichier (appelé fichier de données). Chaque fichier de données contient plusieurs
données appelées rubrique.
Dans l’analyse, il est possible de lier la description d’un fichier de données à un type de fichier
(HFSQL Classic, HFSQL Client/Serveur, SQLite, ...).
WEBDEV permet de gérer les différentes versions Remarque : lorsqu’une analyse est endommagée,
de l’analyse : il est possible de sélectionner directement l’ana-
1. Sous le volet "Analyse", dans le groupe "Ana- lyse endommagée pour restaurer par exemple une
lyse", cliquez sur "Génération" et sélectionnez des versions précédentes.
"Gestion des versions". Toutes les versions de l’analyse sont visualisées
2. Dans l’assistant, indiquez si vous voulez tra- sous forme d’un graphique. Le carré jaune indique
vailler sur l’analyse en cours ou sur une analyse le numéro de version de l’analyse ; le libellé à
spécifique. droite rappelle la date de la génération.
UNIVERSAL DATA CONNEC UNIVERSAL TOR DATA CONNEC TOR CONNECTEURS CONNECTEURS
(HLitRecherche, HExécuteRequête, Fichier, Rubrique,
(HLitRecherche, HExécuteRequête, Fichier, Rubrique,
Liaison Fichier Automatique, Databinding, Réplication, SQLExec...)
NATIFS APPLICATIFS NATIFS APPLICATIFS
Liaison Fichier Automatique, Databinding, Réplication, SQLExec...) - Google - Outlook - XML
- iCalendar - SalesForce - ... - Google - Outlook - XML
- JSON - SAP R/3 - iCalendar - SalesForce - ...
- LDAP - RSS - JSON - SAP R/3
- Lotus Notes - Webservice - LDAP - RSS
- MATLAB SOAP/REST - Lotus Notes - Webservice
- MATLAB SOAP/REST
CONNEC TEURS NATIFS CONNEC TEURS NATIFSHFSQL NATIF
Déploiement illimité,
- MQTT Déploiement
- XLS/XLSX
Puissante base de données SQL : Windows - Linux - Android - iOS HFSQL NATIF
libre et gratuit
Puissante base de données SQL : Windows - Linux - Android - iOS
illimité,
libre et gratuit - MQTT - XLS/XLSX
AS/400 DB2
ODBC ODBC
AS/400 DB2 32 & 64 bits
32 & 64 bits
S
Windows et Linux
S
Windows et Linux
Client/Serveur Client/Serveur
Windows, Linux, Docker, PCSCLOUD PCSCLOUD
Progress Sybase Progress Sybase
Spare, 32 & 64 bits Windows, Linux, Docker,
pour applications PC SOFT
pour applications PC SOFT
Spare, 32 & 64 bits
OLE DB OLE DB
32 & 64 bits
32 & 64 bits
PostgreSQL Informix PostgreSQL Informix
Serveur Serveur
Web WEB
Site WEBDEV Site WEBDEV
Session 1 Session 1
Serveur HFSQL
Windows ou Linux
Client 1 Client 1
Serveur Manta
Session 2 Session 2
Bases de
données
HFSQL Classic
Client 2 Client 2
Bases de données
Session n Session n HFSQL
Client/Serveur
Client n Client n
Pour afficher ces informations dans une page, il est nécessaire de lier les champs de cette page
avec :
• les différentes rubriques de la base de données.
• les différentes variables WLangage disponibles. PageVersFichier FichierVersPage
Variable liée
La méthode d’affichage et de récupération des informations est très simple :
Champ simple
• La liaison d’un champ avec une rubrique ou une variable est définie sous l’éditeur de pages, Liaison avec :
- Variable simple
lors de la description du champ (onglet "Liaison"). - Instance d’un membre de
classe ou de structure
• La fonction PageVersFichier permet de mettre à jour soit l’enregistrement, soit la variable avec - Propriété d’un objet dynamique
les données présentes dans la page. Liste, Table, Combo, ...
Liaison avec :
• La fonction FichierVersPage permet de mettre à jour les données affichées dans la page avec - Tableau de classes ou de struc-
soit les informations enregistrées dans le fichier de données, soit les informations enregistrées tures
- Types avancés (par exemple
dans la variable. xlsLigne, xlsColonne)
PageVersFichier FichierVersPage
Base de données
Requêtes
Remarque : En programmation, une requête peut être manipulée de la même façon qu’un fichier
de données. En particulier, elle peut être associée à un champ d’affichage (un champ Table par
exemple) qui présentera les données retournées par la requête. Requête intégrée : MaPage_1$Requête
Dans ce cas, la requête est intégrée à la page. Elle est présente dans le fichier WWH correspon-
dant à la page. Si le fichier WWH est copié (dans un autre projet par exemple), les requêtes inté-
grées utilisées par cette page seront également copiées.
Un champ Table fichier de type accès direct permet d’afficher directement les données provenant Champ Table Fichier chargé en mémoire
d’un fichier de données ou d’une requête. La structure du fichier de données a été décrite sous
l’éditeur d’analyses et les données ont été saisies par exemple dans le site. Les champs Table fichier chargé en mémoire combinent les avantages des champs Table fichier à
Un parcours du fichier de données permet d’afficher les données dans le champ Table. Pour accès direct et ceux des champs Table mémoire.
chaque ligne affichée, le fichier de données est lu : l’enregistrement lu est affiché dans une ligne Le champ Table est lié au fichier de données, mais le contenu du fichier de données est totale-
du champ Table. ment chargé en mémoire. Le tri et la recherche sont disponibles sur toutes les colonnes.
Les données non liées au fichier de données sont conservées lors de la manipulation de l’ascen-
seur (colonne de type Interrupteur par exemple).
Les enregistrements du fichier de données étant chargés en mémoire, ce type de champ est
conseillé pour les fichiers de données de moins de 100 000 enregistrements (pour éviter une
saturation mémoire).
Fichier
Client
Il est possible de limiter les enregistrements affichés dans le champ en utilisant un filtre (fonc-
tion HFiltre utilisée dans le code d’initialisation du champ). Fichier
Client
Plusieurs fonctions du WLangage permettent de manipuler les champs Table fichier. Ces fonc-
tions commencent toutes par "Table". Fichier chargé
en mémoire
Pour ajouter un enregistrement dans le champ Table, ajoutez l’enregistrement dans le fichier de
données HFSQL correspondant (fonction HAjoute), puis ré-affichez le champ Table avec la fonc-
tion TableAffiche.
Pour supprimer un enregistrement dans le champ Table, supprimez l’enregistrement dans le
fichier de données HFSQL correspondant (fonction HSupprime), puis ré-affichez le champ Table
avec la fonction TableAffiche.
Remarque : Les différents modes de remplissage (mémoire, fichier, fichier chargé en mémoire)
sont disponibles pour les champs Liste, Combo, Table, Zone répétée, ...
Les pages AWP présentes sur le serveur Web sont interrogées régulièrement par des requêtes
HTTP exécutées par l’application Back Office. Les données sont renvoyées sous forme de chaînes
Accès aux données Accès aux données et traitées par l’application WINDEV.
Serveur Siège de
Web la société Avantages :
Site WEBDEV Application de
• Solution simple à mettre en place.
Back Office • Equivalent à un service Web personnalisé.
• Ne nécessite aucun exécutable supplémentaire sur le serveur. Aucune session supplémentaire
n’est exécutée sur le serveur.
Serveur de données Inconvénient : Récupération monodirectionnelle des données : pas de mise à jour des données
vers le serveur.
- Base de données HFSQL Client/Serveur
- 3 comptes d’accès :
o Internet Invité Cette solution peut être utilisée avec un serveur mutualisé.
o Administrateur
o Back Office
Cette solution est conseillée pour un site installé sur un serveur dédié.
Exécution du Webservice
4 Email de
confirmation
Internaute
Serveur Siège de
Web
- Site WEBDEV
Transmission des données
(chaînes, XML, ...)
la société
- Application WINDEV
2 1
Email de Commande
- Base de données (Back Office)
validation effectuée
- Webservice WEBDEV sur le site
Le Webservice présent sur le serveur Web est interrogé régulièrement par des requêtes HTTP exé- Siège de
cutées par l’application Back Office. Les données sont renvoyées sous forme XML, sous forme de la société
chaînes (ou autres) et traitées par l’application WINDEV.
Avantages :
• Solution simple à mettre en place. Serveur
• Ne nécessite aucun exécutable supplémentaire sur le serveur. Aucune session supplémentaire Web
n’est exécutée sur le serveur.
- Site WEBDEV
- Serveur d’application
Inconvénient : Récupération monodirectionnelle des données : pas de mise à jour des données
3
WEBDEV
vers le serveur. Email contenant
la commande
Attention : Il est nécessaire de prendre en compte les contraintes de la réplication dès la création
du projet. En effet, plusieurs règles doivent être respectées lors de la description de l’analyse et
des rubriques des fichiers de données.
La réplication peut être réalisée par email ou à l’aide de la réplication universelle assistée. Pour
plus de détails sur la réplication, consultez l’aide en ligne.
Réplication
Universelle
Il est possible d’adapter la synchronisation à des cas particuliers. Par exemple, il est possible de
récupérer uniquement les enregistrements concernant un produit spécifié ou les enregistrements
réalisés à une certaine date, de gérer les conflits, ...
Ces adaptations doivent être effectuées par programmation grâce à la fonction HRplProcédure-
Filtre.
Voici quelques exemples des principaux points à tester dans un site WEBDEV :
• le fonctionnement du site :
enchaînement des pages, exécution du code saisi, ...
• le "look" du site :
utilisez différents navigateurs (principalement Internet Explorer, Chrome, FireFox, Edge, ...), utili-
sez différentes résolutions écran, redimensionnez le navigateur, ...
Remarque : Pour connaître la couverture des tests réalisés, WEBDEV propose d’utili-
ser le "Code Coverage". Le code coverage est la mesure de la couverture des tests réali-
sés sur un site. Chaque ligne de code qui a été exécutée est considérée comme "testée".
Attention : Le code coverage ne permet pas de savoir si les tests ont réussi : il permet juste de
savoir si la ligne de code a été exécutée.
Le code coverage permet donc de détecter les lignes de code d’un site qui n’ont jamais été exé-
cutées.
192 Partie 6 : Tester un site Web Partie 6 : Tester un site Web 193
Comment tester
Contenu
un site ?
Administrateur Le lancement du test depuis l’ad- Lancez l’administrateur WEBDEV
WEBDEV ministrateur permet par exemple (menu "Démarrer") puis cliquez
de tester : sur le bouton "Page de test" (on-
(site dynamique
• les fonctionnalités du site, glet "Avancé").
WEBDEV unique-
Plusieurs outils sont disponibles pour tester un site WEBDEV : ment) • les fonctions spécifiques au Ce test permet d’utiliser le site
• l’éditeur principal de WEBDEV. Web (cookies, ...), WEBDEV dans des conditions
• l’administrateur WEBDEV. • l’utilisation du site dans des identiques à celles d’un inter-
Ce module est indispensable à l’exécution d’un site dynamique WEBDEV (en mode Session ou conditions réelles. naute.
en mode AWP). Sur le poste de développement, il est possible de tester les sites dynamiques
depuis une page de test créée par l’administrateur. Les droits de l’internaute (accès,
écriture et lecture) correspondent
• WDTestSite, l’outil de test de montée en charge.
aux droits de l’utilisateur par dé-
faut défini dans le serveur Web
Le tableau ci-dessous présente quand et comment utiliser ces différents modes de test. utilisé.
WDTestSite WDTestSite permet de réaliser des 1. Créez un scénario de test
Mode de test Type de test Lancement du test (site dynamique tests de montée en charge. (avec WDTestSite).
WEBDEV unique- WDTestSite permet de lancer plu- 2. Installez WDTestSite et le
Editeur Le lancement du test depuis • Sous le volet "Projet", dans le ment) sieurs connexions simultanées à scénario sur différents postes
l’éditeur permet par exemple de groupe "Mode test", déroulez un site WEBDEV. pour simuler un grand nombre
tester : "Mode test" et sélectionnez d’accès.
"Déboguer le projet". Chaque connexion effectue une
• les fonctionnalités du site, succession d’actions dans le site 3. Spécifiez le nombre de
• le code utilisé dans les diffé- • Sous le volet "Projet", dans le WEBDEV (scénario prédéfini). connexions à effectuer.
rents événements et traite- groupe "Mode test", déroulez
"Mode test" et sélectionnez Ce test doit être effectué sur un 4. Lancez le scénario de test sur
ments. Un puissant débogueur site WEBDEV installé sur un poste chaque poste.
permet de suivre pas à pas "Déboguer le projet depuis la
page d’accueil". de déploiement, prêt à être mis
l’exécution des différents évé- en service. Remarques :
nements et traitements. • Chaque poste effectue un
Les droits de l’internaute (droits
• l’utilisation du site avec diffé- d’accès, d’écriture et de lecture) nombre de connexions défini.
rents navigateurs (installés sur correspondent aux droits du déve- • Chaque connexion effectue le
le poste de développement). loppeur. scénario sélectionné.
Ce type de test : Tests automa- Les tests automatiques per- 1. Affichez la procédure ou la
tiques mettent de tester les procédures classe dans le volet "Eplorateur
• permet l’utilisation du débo-
et les classes d’un site à différents de projet".
gueur.
niveaux de développement. 2. Affichez le menu contextuel
• est pris en compte par le "Code
Les scénarios de test sont géné- de l’élément (clic droit) et sélec-
Coverage".
rés en WLangage à partir du test tionnez l’option "Créer un test
de la procédure ou de la classe. unitaire".
Les scénarios peuvent être modi-
fiés sous l’éditeur de code.
Ce type de test est pris en compte
par le "Code Coverage" .
194 Partie 6 : Tester un site Web Partie 6 : Tester un site Web 195
Le
Contenu
Quand peut-on utiliser
Contenu
débogueur le débogueur ?
Pour mettre au point votre code, un débogueur est livré en standard avec WEBDEV. Lorsqu’un test est réalisé depuis l’éditeur, le débogueur peut toujours être utilisé. Il suffit de pla-
Le débogueur permet une exécution pas à pas de vos sites dynamiques, en visualisant le code cer les points d’arrêt aux endroits voulus, pour pouvoir déboguer pas à pas le site.
WLangage exécuté, le contenu des variables, ... Les différents types de tests disponibles depuis l’éditeur sont les suivants :
• Le "Go" de page :
Le test de la page en cours sous l’éditeur peut être lancé par présent parmi les boutons d’ac-
cès rapide de WEBDEV.
• Le "Go" de projet :
Le test du projet sur le poste de développement peut être lancé par :
• présent parmi les boutons d’accès rapide de WEBDEV,
• sous le volet "Projet", dans le groupe "Mode test", déroulez "Mode test" et sélectionnez l’op-
tion "Déboguer le projet".
• Le projet déployé :
Il est possible de déboguer le projet déployé. Cette fonctionnalité est très utile pour reproduire
un problème survenant uniquement dans des conditions spécifiques.
Pour lancer le projet déployé, sous le volet "Projet", dans le groupe "Mode test", déroulez "Mode
test" et sélectionnez l’option "Se connecter à un site et déboguer la connexion".
Remarque : Cette option est utilisable avec un serveur de développement ou de déploiement.
Le serveur doit être configuré pour autoriser le débogage à distance.
• le mot-clé serveur STOP du WLangage directement dans votre code WLangage : le débogueur
sera automatiquement lancé dès que cette ligne de code sera exécutée.
• l’option "Déboguer le projet" : le débogueur est lancé en même temps que le test du site dyna-
mique. Sous le volet "Projet", dans le groupe "Mode test", déroulez Mode test et sélectionnez
"Déboguer le projet".
196 Partie 6 : Tester un site Web Partie 6 : Tester un site Web 197
Test d’un site en pratique 3. Le navigateur précisé dans les options de WEB-
DEV s’ouvre et la page d’accueil du site s’affiche.
2.2 Tester le projet depuis l’administrateur
WEBDEV
Pour tester un site dynamique (Session ou AWP) Le lancement du test depuis l’administrateur WEB-
1 Présentation depuis l’éditeur, plusieurs méthodes sont dispo- DEV (WD270Admin) permet par exemple de tester :
nibles : • les fonctionnalités du site.
WEBDEV propose plusieurs méthodes pour tester Le test d’une requête seule permet d’exécuter uni- • Sous le volet "Projet", dans le groupe "Mode • les fonctions spécifiques au Web (utilisation des
vos sites : quement la requête en cours. Vous pouvez ainsi test", déroulez "Mode test" et sélectionnez cookies, ...).
• test de l’ensemble du projet, choisir de tester le fonctionnement d’une requête "Déboguer le projet" (ou Ctrl + F9). Remarque : L’administrateur WEBDEV permet uni-
• test d’une page seule, dès que son développement est terminé. • Cliquez sur parmi les boutons d’accès quement de tester les sites dynamiques (Session
• test d’une requête seule (consultez le livre "Etats Le test d’un état seul permet d’exécuter unique- rapide. ou AWP) ou la partie dynamique des sites statique
et Requêtes" pour plus de détails), ment l’état en cours. Vous pouvez ainsi choisir de L’éditeur est automatiquement réduit en icône, le + dynamique.
tester le fonctionnement d’un état dès que son navigateur précisé dans les options de WEBDEV Le lancement du test depuis l’administrateur WEB-
• test d’un état seul (consultez le livre "Etats et développement est terminé. Comme pour le test du
Requêtes" pour plus de détails), s’ouvre et la première page du site s’affiche. DEV est équivalent au lancement du site depuis un
projet, il est possible de lancer le débogueur dès poste distant.
• exécution du projet pas à pas, qu’un problème est rencontré. Pour tester un site statique + dynamique (Session
• test des performances de votre site, ou AWP) depuis l’éditeur : Avant de déployer un site WEBDEV, il est conseillé
L’exécution du projet pas à pas permet de lancer de tester au moins une fois ce site depuis l’admi-
• test de non-régression/test automatique, le débogueur au lancement du site. Cette solution • pour tester la partie statique du site : effectuez
les manipulations correspondant au test d’un nistrateur WEBDEV.
• test de montée en charge. permet de suivre méticuleusement le déroulement
du site. site statique. Pour lancer le test depuis l’administrateur WEB-
Le test de l’ensemble du projet permet de simuler Le test des performances de votre site permet de • pour tester la partie dynamique (Session ou DEV :
le lancement du site. Il est ainsi possible de tester vérifier et d’optimiser le temps d’exécution de votre AWP) du site : effectuez les manipulations cor- 1. Lancez l’administrateur WEBDEV : sous le volet
le site dans son ensemble, même si son dévelop- site. respondant au test d’un site dynamique. "Outils", dans le groupe "Utilitaires Web", cliquez
pement n’est pas terminé. Dès qu’un problème sur "WDAdmin".
apparaît, vous pouvez lancer le débogueur pour Le test de non-régression (ou test automatique)
Site dynamique (mode Session ou
connaître et solutionner le problème rencontré. est basé sur l’exécution de scripts. Il permet de 2. Dans l’onglet "Avancé" de l’administrateur WEB-
AWP) : Lancement
vérifier que lors de l’exécution de votre site, ... les DEV, cliquez sur le bouton "Page de Test".
Le test d’une page seule permet d’exécuter unique- fonctionnalités existantes sont toujours suppor- Les modules suivants sont automatiquement lan-
ment la page en cours. Vous pouvez ainsi choisir de Pour arrêter le test, affichez l’administrateur WEB-
tées. cés lors d’un test d’un site dynamique (mode Ses-
tester votre projet à partir d’une page donnée ou de DEV (en cliquant sur l’icône 27 présente dans la
sion ou AWP) WEBDEV :
tester le fonctionnement d’une page dès que son Le test de montée en charge permet de lancer barre des tâches) et cliquez sur le bouton "Décon-
plusieurs connexions simultanées à un même site • Le serveur Web installé sur le poste et configuré necter" (onglet "Connexions").
développement est terminé. Comme pour le test du pour WEBDEV lors de l’installation de WEBDEV.
projet, il est possible de lancer le débogueur dès dynamique WEBDEV. Remarque : L’administrateur WEBDEV permet éga-
Si le serveur Web n’est pas lancé, le test ne
qu’un problème est rencontré. Pour compléter ces différentes méthodes, WEB- lement d’effectuer un test du projet équivalent au
peut pas se faire.
DEV propose également de connaître le "Code test du projet depuis l’éditeur :
• L’administrateur WEBDEV (WD270ADMIN.EXE).
coverage" du site, c’est-à-dire la mesure de la cou- 1. Lancez l’administrateur WEBDEV : sous le volet
L’administrateur permet de gérer les connexions
verture des tests réalisés sur un site. Pour plus de "Outils", dans le groupe "Utilitaires Web", cliquez
au serveur Web et de paramétrer les sites WEB-
détails, consultez l’aide en ligne. sur "WDAdmin".
DEV.
Remarque : un test de projet peut être lancé 2. Dans l’onglet "Connexions", sélectionnez le site
2 Tester un projet WEBDEV depuis la page de test de l’administrateur (On- et cliquez sur le bouton "Tester".
glet "Avancé" de WD270ADMIN, bouton "Page
de test").
2.3 Test de montée en charge / Test de non-
régression
2.1 Tester le projet depuis l’éditeur "Options" et sélectionnez "Options générales de • Le moteur WEBDEV (WD270AWP.EXE).
WEBDEV". Le navigateur peut être sélectionné Le moteur WEBDEV permet de gérer les L’outil WDTestSite permet de réaliser des tests de
Le lancement du test depuis l’éditeur permet par requêtes effectuées par les internautes depuis montée en charge : WDTestSite permet de lancer
dans l’onglet "Web".
exemple de tester : leur navigateur et de leur renvoyer la page HTML plusieurs connexions simultanées à un site dyna-
• dans les options du mode test : sous le volet
• les fonctionnalités du site, dynamique correspondante. mique WEBDEV (Session ou AWP).
"Projet", dans le groupe "Mode test", déroulez
• l’utilisation du site avec différents navigateurs. "Mode test" et sélectionnez "Navigateur de test". Remarque : Le moteur WEBDEV est lancé uni- Chaque connexion effectue une succession d’ac-
Le test d’un projet peut être lancé quel que soit quement si le projet contient des pages dyna- tions dans le site WEBDEV (scénario prédéfini).
l’élément en cours sous l’éditeur. Différents types de test miques. Pour plus de détails sur WDTestSite, consultez
Remarque : Le navigateur de test utilisé pour le test Pour tester un site statique depuis l’éditeur : • Le navigateur Internet. l’aide en ligne.
du projet peut être choisi : 1. Sous le volet "Projet", dans le groupe "Mode Le navigateur Internet permet d’afficher les
• dans les options de WEBDEV : sous le volet "Ac- test", déroulez "Mode test" et sélectionnez "Débo- pages HTML du site WEBDEV.
cueil", dans le groupe "Environnement", déroulez guer le projet depuis la page d’accueil".
2. L’éditeur est automatiquement réduit en icône.
198 Partie 6 : Tester un site Web Partie 6 : Tester un site Web 199
3 Tester un site WEBDEV distant • exécuter pas à pas avec possibilité de sauter Par exemple :
des blocs, PROCEDURE MaTrace(ChaîneATracer)
• utiliser des points d’arrêt conditionnels, SI EnModeTest() ALORS
WEBDEV offre plusieurs possibilités pour tester et Deux fonctionnalités sont disponibles : Trace(ChaîneATracer)
• modifier le code tout en continuant l’exécution,
déboguer un site directement sur le poste de déve- • Lancement et débogage du site sur un serveur FIN
loppement. Mais dans certains cas, il est néces- • ...
d’application distant.
saire de déboguer directement le site en exploita- Dans ce code, selon le résultat de la fonction En-
tion.
• Débogage d’un site en cours d’exécution sur un 5.4 Déboguer sans le débogueur ModeTest, la fenêtre de trace apparaît uniquement
serveur d’application distant.
Il est ainsi possible de déboguer depuis votre Dans certains cas, l’exécution d’un programme lors d’un test de l’application.
Pour ces deux fonctionnalités, une configuration avec ou sans le débogueur peut être différente.
bureau de Paris, un site lancé sur un serveur Web Une telle procédure permet de laisser l’appel aux
spécifique de la machine distante est nécessaire.
présent à Taïwan. Le débogage est effectué sans En effet, le débogueur introduit des pauses dans fenêtres de trace dans le code de l’application,
se déplacer, directement sur la configuration finale. l’exécution du traitement, durant lesquelles Win- sans risque d’apparition en clientèle.
dows effectue certaines tâches. L’appel à cette procédure de trace est identique à
Ainsi, le débogueur ne peut pas être utilisé dans l’utilisation de la fonction Trace :
4 Tester une page une procédure appelée par timer ou dans le code MaTrace("Client : "+...
de l’ascenseur. Client.NumClient)
Remarque : Pour connaître l’ensemble des limites
4.1 Tester la page depuis l’éditeur 4.2 Arrêter le test d’une page du débogueur, consultez l’aide en ligne. Créer un fichier de trace
Pour tester une page depuis l’éditeur : Pour arrêter le test, plusieurs méthodes sont pos- Pour déboguer ces applications, il peut être né- Lors de traitements longs (traitements Batchs, ...),
sibles : cessaire par exemple de suivre l’évolution d’une pour contrôler le bon déroulement du programme,
1. Ouvrez la page à tester. il est nécessaire de conserver une trace physique
2. Cliquez sur parmi les boutons d’accès • 1ère méthode : valeur, le passage dans différentes procédures, ...
des traitements effectués (un fichier texte par
rapide du menu de WEBDEV. Vous pouvez égale- Fermez la page en cours de test. WEBDEV Ces informations peuvent être : exemple).
ment utiliser le raccourci clavier F9. affiche l’éditeur en cours au moment du lance- • affichées à l’écran
ment du test. La procédure suivante permet de gérer par exemple
3. L’éditeur est automatiquement réduit en icône • stockées dans un fichier de trace. l’affichage de la trace :
et la page s’exécute. • 2ème méthode : Attention : Si les informations sont affichées à • soit à l’écran (paramètre /DEBUG en ligne de
Lors du test, l’ensemble des fonctionnalités de • Revenez dans l’éditeur avec la barre des l’écran, elles doivent être affichées uniquement commande).
la page pourra être exécuté. Il sera possible par tâches ou avec Alt + Tab. lors des tests de l’application. • soit dans un fichier texte (mode par défaut).
exemple de lancer d’autres pages. • Confirmez l’arrêt du test. WEBDEV affiche
Afficher des informations PROCEDURE MaTrace(ChaîneATracer)
l’éditeur en cours au moment du lancement
du test. Deux outils permettent d’afficher des informations : CheminFichier est un entier
• les boîtes d’informations : fonction Info du CheminFichier = fRepDonnéesUtilisa
WLangage. teur() + ProjetInfo(piNomProjet)+".
5 Tracer un projet Attention : L’affichage d’une boîte d’information txt"
NumFichier est un entier
est bloquant.
ModeDebug est un booléen = Faux
5.1 Principes du débogage 5.2 Présentation du débogueur • la fenêtre de trace : fonction Trace du WLan- SI Position(LigneCommande(), "/
gage. DEBUG") > 0 ALORS
Le débogage d’une application consiste à : Le débogueur permet de tracer les programmes en La fenêtre de trace s’affiche en haut à gauche ModeDebug = Vrai
• vérifier le bon fonctionnement d’un traitement, WLangage afin de faciliter la mise au point de pro- de l’écran, sans interrompre le déroulement du FIN
• comprendre le fonctionnement d’un programme grammes. programme. SI ModeDebug ALORS
existant, Le code source exécuté est visualisé à l’écran. Les Trace(ChaîneATracer)
Gérer l’affichage des informations de
différents traitements exécutés sont hiérarchisés SINON
• vérifier la valeur des variables, débogage
dans le volet "Débogueur". NumFichier = fOuvre(CheminFichier,
• vérifier le bon fonctionnement de cas particu- L’affichage à l’écran des informations de débogage foCréationSiInexistant + ...
liers dans une application ou un site. La valeur des variables peut être visualisée : est utile uniquement en mode test. foEcriture + foAjout)
• individuellement dans la bulle d’aide de survol Avant de diffuser une application, il est donc néces- SI NumFichier <> -1 ALORS
Le débogueur permet de réaliser ces opérations. de chaque variable. DateHeureTrace est un DateHeure
saire de supprimer tout affichage superflu.
Remarque : WEBDEV met également à votre dispo- • dans le volet "Débogueur". Pour éviter tout oubli, il est conseillé de gérer l’affi- DateHeureTrace = DateHeureSys()
sition divers outils de trace (fenêtre de trace, boîte DateTrace est une Date
chage des informations de débogage à l’aide d’une
d’information, ...). Pour plus de détails, consultez le 5.3 Fonctionnalités du débogueur DateTrace = Madate..PartieDate
procédure globale.
paragraphe "Déboguer sans le débogueur", page HeureTrace est une Heure
Le débogueur permet de :
HeureTrace = Madate..Par
201. • connaître la pile des appels, tieHeure
• visualiser le contenu des variables ou des fEcritLigne(NumFichier,
expressions, DateVersChaîne(DateTrace) + ...
200 Partie 6 : Tester un site Web Partie 6 : Tester un site Web 201
" - répertoire des données de l’utilisateur. Ce fichier 6.4 Choisir un traitement à optimiser • le pourcentage de temps passé dans le traite-
"+HeureVersChaîne(HeureTrace)) a pour nom le nom du projet. Ce fichier contient ment de la fonction ou de la procédure. Plus ce
fEcritLigne(NumFichier, les informations à tracer durant l’exécution du Le choix du traitement à optimiser se fait en fonc- pourcentage est important, plus le code peut
ChaîneATracer) programme. Les informations sont complétées tion de plusieurs critères : contenir des traitements pouvant être optimisés.
fEcritLigne(NumFichier, " ") • le temps d’exécution du traitement. Les traite-
par la date et l’heure de chaque "Trace". Il est Remarque : Si le traitement correspond à une
fFerme(NumFichier) ments les plus longs doivent bien entendu être
ainsi possible de déterminer un éventuel dys- fonction WLangage, il est relativement difficile de
FIN optimisés.
FIN
fonctionnement durant le traitement. l’optimiser.
• Exemple de contenu du fichier de trace :
Remarques :
01/12/2015 - 10:53:25:20
• Le fichier de trace est créé par défaut dans le Nom de client : Martin
7 Tests de non-régression
202 Partie 6 : Tester un site Web Partie 6 : Tester un site Web 203
PARTIE 7
Déployer
un site Web
Poste de
développement Hébergeur
Avant d’effectuer un déploiement par FTP, l’hébergeur doit communiquer au développeur les
informations suivantes :
• Nom du serveur Web où l’installation doit être réalisée (ou son adresse IP).
• Nom d’utilisateur et mot de passe définis dans le serveur FTP.
206 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 207
Déploiement d’un site
Déploiement d’un site statique ou PHP en Contenu
2 Création de l’installation
1 Création d’un programme
d’installation sur un média
physique (CD ROM, ...)
2 Installation du site
WEBDEV et para-
métrage de
Pour déployer votre site statique : • Caractéristiques du serveur FTP utilisé pour la l’administrateur
1. Sous le volet "Projet", dans le groupe "Généra- mise à jour du site. Ces caractéristiques vous
tion", cliquez sur "Déployer le site". L’outil WDDé-
ploie se lance.
sont fournies par l’hébergeur du site, ...
3. Cliquez sur le bouton "Préparer". WDDéploie 3 Mise en service du site
(lien de lancement)
2. Créez le profil correspondant à votre site. Ce prépare la liste des fichiers à installer. En cas
profil contient les informations suivantes : de mise à jour, WDDéploie compare les fichiers
présents sur le poste de développement et les Remarque : un serveur d’application WEBDEV peut être intégré à l’installation fournie par mé-
• Emplacement des fichiers locaux (sous-réper-
toire "<NomProjet>_WEB" de votre site). fichiers déjà installés. dia physique.
• Adresse du site WEBDEV. 4. Cliquez sur le bouton "Synchroniser". Les
fichiers de votre site sont copiés à l’emplacement • déploiement à distance directement depuis le poste de développement (par transfert de
• Emplacement des fichiers du site déployé spécifié dans le profil. fichiers par Internet en mode HTTP).
(réseau ou serveur FTP).
Pour plus de détails sur l’utilisation de WDDéploie,
consultez l’aide en ligne.
Poste de
développement Hébergeur
208 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 209
• déploiement à distance depuis un poste d’administration (par transfert de fichiers par Inter- L’installation à distance (par HTTP) directement depuis un poste de d’administration est conseil-
net, FTP). lée si les caractéristiques du serveur ne sont pas connues par le développeur lors de la création
du programme d’installation. Le programme d’installation est appelé dans ce cas un "Package".
Transmission Installation
du package du site
Si un site est destiné à plusieurs clients, il est ainsi possible de créer un seul package et de le
fournir à tous les clients voulus.
Les paramètres du serveur (Adresse, ...) ne seront renseignés que lors de l’exécution du package
Poste de Serveur Web sur le poste d’administration.
développement
2 Déploiement sur média physique : informations nécessaires
1
Création du
package
d’installation Configuration du
Lors d’un déploiement par média physique, les informations concernant l’installation et le para-
gestionnaire de métrage du site sont données à la fois dans l’assistant de préparation de l’installation et dans
4
Mise en comptes
service du l’assistant d’installation.
site (lien de
lancement) Lors de la préparation de l’installation, il est nécessaire de fournir :
• le répertoire d’installation,
• les fichiers à installer,
• le répertoire de génération de l’installation.
Lors de l’installation, il est nécessaire de fournir :
Poste d’administration
• le répertoire des fichiers de données,
3
• le répertoire des fichiers du site.
Après l’installation, il est nécessaire de paramétrer les caractéristiques du site (temps de
Exécution du package : connexion, nombre de connexions, ...) dans l’administrateur WEBDEV (version de déploiement).
Installation du site sur le serveur
par HTTP
210 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 211
Lors du déploiement par HTTP, le développeur doit préciser dans l’assistant :
Mise en service d’un site
Contenu
• les informations fournies par l’hébergeur,
• les fichiers à installer, dynamique WEBDEV
• le nom du sous-répertoire des fichiers de données,
• les différents paramètres de connexion au site. Votre site dynamique WEBDEV (en mode Session ou AWP) sera accessible par les internautes dès
qu’il aura été mis en service. La mise en service d’un site WEBDEV consiste à activer le site.
Remarques : L’activation d’un site WEBDEV peut se faire par plusieurs méthodes :
• Il est possible de réaliser une installation différée, à la date et à l’heure choisies. • soit lors de l’installation par HTTP : une case à cocher permet d’activer automatiquement le
• L’installation et la mise à jour par HTTP sont sécurisées par mot de passe et cryptage des don- site après son installation.
nées transmises.
212 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 213
Déploiement d’un site dynamique en Pour installer votre site WEBDEV, l’hébergeur
doit :
Remarque : Il est également possible de créer
une installation par média physique autonome,
214 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 215
4. Paramétrage du site. Ces options permettent Cas particulier : Si les fichiers de données présents 4. Création par l’hébergeur d’un compte WEBDEV 5. Le profil par défaut du serveur Web à utiliser.
de configurer les options de connexion au site dès sur le serveur sont au format Hyper File 5.5, il est (dans l’administrateur) et d’un compte FTP si Ces paramètres pourront être saisis ou modifiés
son installation. nécessaire de les migrer au format HFSQL Classic. nécessaire (dans le serveur FTP). par la personne qui installera le package de
Ces paramètres pourront être modifiés si néces- Cette migration doit être effectuée uniquement lors 5. Exécution du package de déploiement sur un déploiement.
saire : de la première mise à jour du site. poste et installation du site WEBDEV. 6. Paramétrage de l’installation : Choisissez le
• soit par l’administrateur de déploiement pré- 6. Spécifiez si votre site utilise le Connecteur Natif 6. Mise en service du site WEBDEV. type d’installation à distance à effectuer :
sent sur le serveur. AS/400. • Mise à jour différée :
• soit par l’administrateur à distance, utilisable Rappel : si votre site utilise le Connecteur Natif 3.2 Création de l’installation Les fichiers du site sont compactés et transfé-
par le gestionnaire du site. AS/400, il est nécessaire d’installer les DLL rés immédiatement sur le serveur Web (l’ac-
Il faut définir dans l’assistant :
5. Si une mise à jour de l’analyse a été réalisée, AS/400 sur le serveur Web. cès au serveur Web doit être possible depuis
Si vous utilisez une licence pour un nombre de 1. Les fichiers à installer. Par défaut, l’assistant
sélectionnez la modification automatique des le poste d’installation du package). Le site
postes limité, il est nécessaire de gérer dans le sélectionne la bibliothèque, les fichiers de don-
fichiers de données lors de l’installation. WEBDEV sera installé sur le serveur à la date
site WEBDEV le nombre de connexions en cours nées, les images et les pages HTML.
Remarque : si cette option est choisie, la mise à et à l’heure indiquée. Il est ainsi possible de
(fichier INI ou base de registres, ...). 2. Si une mise à jour de l’analyse a été réalisée, faire la mise à jour du site dans la nuit (entre
jour sera proposée lors de l’installation.
sélectionnez la modification automatique des minuit et 3h du matin par exemple), lorsque le
fichiers de données lors de l’installation. nombre d’internautes est moins important.
Récapitulatif des éléments installés et de leur localisation : Remarque : si cette option est choisie, la mise à Attention : la date et l’heure spécifiées sont
jour sera proposée lors de l’installation. celles du serveur. Assurez-vous de leur vali-
Cas particulier : Si les fichiers de données pré- dité.
Serveur de sites Serveur de données sents sur le serveur sont au format Hyper File 5.5,
• Activer le site immédiatement après instal-
il est nécessaire de les migrer au format HFSQL
Répertoire des sites WEBDEV Répertoire des données lation :
Classic. Cette migration doit être effectuée uni-
de l’utilisateur N de l’utilisateur N Le site sera disponible directement après son
quement lors de la première mise à jour du site.
installation : il sera possible de s’y connecter
Répertoire défini par l’hébergeur. Répertoire défini par l’hébergeur. 3. Paramétrage du site. Ces options permettent soit en utilisant l’adresse adéquate, soit par
de configurer les options de connexion au site dès une page statique contenant un lien sur le
Dans ce répertoire, un sous-répertoire sera créé Dans ce répertoire, un sous-répertoire sera créé
son installation. site. Si cette option n’est pas cochée, il sera
pour chaque site de l’utilisateur N. pour les fichiers de données de chaque site de
Ces paramètres pourront être modifiés si néces- possible d’activer le site grâce à l’administra-
l’utilisateur N.
saire : teur à distance.
Dans ce sous-répertoire de sites sont installés les Dans ce sous-répertoire de données sont installés • soit par l’administrateur de déploiement pré-
pages HTML, la bibliothèque (".WDL"), le répertoire les fichiers ".FIC", les fichiers ".NDX", les fichiers sent sur le serveur. 3.3 Installation du site dynamique
des images. ".MMO". • soit par l’administrateur à distance, utilisable Pour installer le site, il suffit de :
par le gestionnaire du site. 1. Exécuter le package de déploiement.
Exemple : Le répertoire des sites de l’utilisateur N Exemple : Le répertoire des données de l’utilisa-
est "C:\UtilN\Sites WEBDEV". teur N est "D:\UtilN\Données WEBDEV". 4. Spécifiez si votre site utilise le Connecteur Natif 2. Indiquer les caractéristiques du serveur Web
AS/400. sur lequel le site WEBDEV doit être installé (carac-
L’utilisateur N installe son site "Bateau". Ce site L’utilisateur N installe son site "Bateau". Par
Rappel : si votre site utilise le Connecteur Natif téristiques du compte FTP du serveur si néces-
sera installé dans le répertoire "C:\UtilN\Sites défaut, les fichiers de données seront installés
AS/400, il est nécessaire d’installer les DLL saire et caractéristiques du compte WEBDEV du
WEBDEV\Bateau". dans le répertoire "D:\UtilN\Données WEBDEV\
AS/400 sur le serveur Web. serveur).
Bateau".
Si vous utilisez une licence pour un nombre de
postes limité, il est nécessaire de gérer dans le 3. Valider l’installation du site.
site WEBDEV le nombre de connexions en cours
(fichier INI ou base de registres, ...).
3 Déploiement par package de déploiement
4 Déploiement par média physique
3.1 Les étapes 2. Transmission du package de déploiement (par
Internet, DVD, ...) à l’administrateur du serveur
Les étapes du déploiement sont les suivantes : Ce déploiement est réalisé en trois étapes : 2. Installation si nécessaire du serveur d’appli-
Web (hébergeur par exemple).
1. Création du package de déploiement depuis 1. Création de la version d’installation depuis cation WEBDEV sur le serveur Web. Pour plus de
3. Installation du serveur d’application WEBDEV détails, consultez la documentation du serveur
l’éditeur : sous le volet "Projet", dans le groupe l’éditeur : sous le volet "Projet", dans le groupe
chez l’hébergeur (étape optionnelle). Pour plus de d’application WEBDEV.
"Génération", déroulez "Déployer le site" et sélec- "Génération", déroulez "Déployer le site" et sélec-
détails, consultez la documentation du serveur
tionnez "Générer et déployer le site". Dans l’assis- tionnez "Générer et déployer le site". Dans l’assis- 3. Installation du site chez l’hébergeur.
d’application WEBDEV.
tant qui se lance, sélectionnez "Créer un package tant qui se lance, sélectionnez l’option "Créer une
de déploiement distant". Un fichier d’installation installation par média physique".
est créé.
216 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 217
4.1 Création de l’installation 9. Imprimez le dossier de déploiement : • Installez votre site sur un serveur "dédié" (solu- • Cas 3 : votre serveur Web peut être sélection-
Le dossier de déploiement précise la licence tion conseillée). Vous êtes propriétaire de ce né directement : sélectionnez votre serveur.
Il faut définir dans l’assistant : WEBDEV ainsi que tous les modules installés lors serveur. Vous pouvez demander la génération d’un
1. Un titre et un intitulé de version pour votre du déploiement. Il précise également les clés de Dans ce cas vous devez : fichier de configuration afin de pouvoir exécu-
installation. Un titre peut être donné dans cha- la base de registres générées pour le site WEB- • configurer le serveur Web, ter la configuration ultérieurement.
cune des langues susceptibles d’être choisies au DEV. Lors de l’installation du site sur le serveur, Vous pourrez modifier le fichier de configura-
moment de l’installation. • gérer les ressources mémoires nécessaires
ces clés pourront être mises à jour directement pour votre site. tion avant de l’exécuter.
2. Un répertoire par défaut. dans la base de registres ou enregistrées dans un Selon le serveur choisi, le fichier de configura-
3. Un décor pour la fenêtre d’installation. Vous fichier pour un examen ultérieur. Pour installer le site WEBDEV sur un serveur Web tion a une extension ".reg", ".conf" ou autre.
pouvez personnaliser le décor à l’aide du bouton Le dossier de déploiement doit être fourni à la (chez un hébergeur ou en Intranet) : 5. Sélectionnez le répertoire d’installation :
"Personnaliser". personne chargée d’installer votre site WEBDEV 1. Installez si nécessaire le serveur d’application <webroot> désigne le répertoire racine du serveur
4. Les fichiers de votre site. (hébergeur ou responsable réseau Intranet). WEBDEV sur le serveur Web. Web de la machine. En fonction du serveur Web
Remarque : les fichiers bibliothèques, HTML, 10. Modifiez éventuellement le répertoire de Attention : si le serveur d’application WEBDEV choisi, le répertoire racine est détecté et affiché.
Java, JavaScript et les fichiers images sont sélec- génération de l’installation. n’est pas installé sur le serveur Web, le site Si le répertoire racine du serveur Web n’est pas
tionnés par défaut. Par défaut l’installation est générée dans le sous- dynamique WEBDEV ne pourra pas fonctionner affiché, vous pouvez le saisir dans la zone grise ou
5. Les fichiers annexes : répertoire "INST" de votre projet. correctement. le rechercher à l’aide du bouton "…".
11. Générez l’installation. Remarque : Pour chaque serveur Web hébergeant Attention : si la zone est renseignée, évitez de la
• La licence (fichier au format txt) s’affichera au des sites WEBDEV, l’hébergeur doit posséder une modifier.
lancement de l’installation. Une fenêtre d’information signale la présence
éventuelle de noms longs de fichiers. En effet, en licence du serveur d’application WEBDEV. 6. Mise à jour des fichiers de données (étape
Remarque : si la licence n’est pas validée par
la personne chargée de l’installation, l’instal- cas d’installation sur un lecteur réseau, vérifiez 2. Pour installer le site WEBDEV, exécutez sur le optionnelle, uniquement dans le cas d’une mise à
lation sera abandonnée. que : serveur Web, le programme INSTALLE.EXE fourni jour du site).
• le lecteur réseau supporte correctement les avec l’installation du site WEBDEV. Pour mettre à jour les fichiers de données asso-
• Le "Lisez-moi" : ce fichier peut correspondre à Important : S’il s’agit d’une mise à jour d’un site ciés au site WEBDEV, choisissez l’exécution de la
différents formats (txt, htm, doc, hlp, pdf, …). noms longs,
• le lecteur réseau ne modifie pas les majus- existant, vous devez au préalable bloquer le site modification automatique des fichiers de donnés.
Quel que soit le format choisi, l’utilisateur doit à l’aide de l’administrateur WEBDEV (cochez "Site En cas de doute sur la nécessité d’opérer cette
posséder un logiciel permettant de visualiser cules/minuscules dans les noms de fichiers.
WEBDEV bloqué" dans l’onglet "Sites"). mise à jour, contactez le fournisseur du site.
ce fichier. 12. Lorsque la création de l’installation est termi- Attention : Les fichiers de données du site ne
née, WEBDEV propose de : 3. Choisissez la langue d’installation : un assis-
• Un exécutable à lancer à la fin de l’installa- tant d’installation se lance. Passez au plan sui- doivent pas être en cours d’utilisation. Utilisez
tion. • tester directement l’installation créée. vant. l’administrateur WEBDEV pour vérifier qu’aucune
Attention : Pensez à joindre les fichiers liés à • ouvrir l’explorateur Windows sur le répertoire connexion n’est en cours et arrêtez les sites
cet exécutable (DLL, fichiers de paramètres, 4. L’installation détecte automatiquement si un
de génération de l’installation. ou plusieurs des serveurs Internet suivants sont (cochez "Site bloqué" dans l’onglet "Sites").
autres fichiers exécutables, …). 13. Réalisez une sauvegarde de votre site. 7. Choisissez l’installation d’un pilote ODBC pour
Remarque : il est possible de sélectionner un installés sur le poste :
Il est recommandé de conserver une sauvegarde • IIS Version 7 et plus (Microsoft Internet Infor- HFSQL si des programmes non réalisés avec WEB-
fichier de licence et un fichier "Lisez-moi" pour des sources de votre site correspondant à une DEV doivent accéder aux fichiers HFSQL du site
chaque langue de l’installation. mation Server) : serveur Microsoft.
version installée. qui va être installé (étape optionnelle).
6. Si une mise à jour de l’analyse a été réalisée, • Apache Version 2.2 et 2.4 : serveur Web gra-
tuit fourni par l’Apache Group. 8. Le résumé de l’installation est affiché. Confir-
sélectionnez la modification automatique des 4.2 Installation du site dynamique sur un mez vos choix.
fichiers de données lors de l’installation. serveur Web (média physique) Trois cas peuvent se présenter :
Remarque : si cette option est choisie, la mise à 9. L’installation est terminée :
Si vous installez votre site chez un hébergeur, celui- • Cas 1 : votre serveur Web n’apparaît pas
jour sera proposée lors de l’installation. dans cette liste : sélectionnez "Autre serveur". • Cliquez sur l’adresse proposée pour tester
ci peut vous proposer deux possibilités : votre site en local. Cette option n’est utilisable
7. Si des programmes non réalisés avec WEBDEV Pour plus de détails sur la configuration de
• Installez votre site sur un serveur "mutualisé". que si le serveur Web a été configuré automa-
doivent accéder aux fichiers HFSQL de votre site, votre serveur, consultez l’aide en ligne.
Ce serveur gère les sites de plusieurs clients. tiquement.
choisissez l’installation d’un pilote ODBC. • Cas 2 : votre serveur Web apparaît dans la
Ce serveur est configuré lors de l’installation du • Cliquez sur "Copier" pour récupérer l’adresse
Remarque : si cette option est choisie, l’installa- liste mais en grisé : votre serveur Web n’a
serveur d’application WEBDEV. L’administrateur proposée. Pour plus de détails, consultez le
tion du pilote sera proposée lors de l’installation. pas été détecté. Vous pouvez toutefois le
WEBDEV (WD270ADMIN.EXE) permet de confi- paragraphe "Mise en service du site dyna-
8. Spécifiez si votre site utilise le Connecteur Natif gurer individuellement chaque site WEBDEV sélectionner en cochant "Afficher tous les
AS/400. serveurs". mique", page 220.
installé sur ce serveur.
Rappel : si votre site utilise le Connecteur Natif Vous devez alors demander la génération • Cliquez sur "Terminer" pour terminer l’instal-
Attention : Les ressources mémoires du serveur
AS/400, il est nécessaire d’installer les DLL d’un fichier de configuration afin de pouvoir lation.
sont partagées par tous les sites.
AS/400 sur le serveur Web. exécuter la configuration ultérieurement (si
Si vous utilisez une licence pour un nombre de vous avez prévu d’installer votre serveur plus
postes limité, il est nécessaire de gérer dans le tard par exemple).
site WEBDEV le nombre de connexions en cours
(fichier INI ou base de registres, ...).
218 Partie 7 : Déployer un site Web Partie 7 : Déployer un site Web 219
10. Configuration du serveur Web :
Si la configuration du serveur Web n’a pas été
• au nombre total de connexions autorisées sur
le site,
PARTIE 8
faite automatiquement, deux cas peuvent se pré- • au nombre de connexions autorisées pour un
senter : internaute,
• Cas 1 : votre serveur a été détecté et un
fichier de configuration a été généré : vous
• à la durée d’inactivité autorisée.
Testez le site WEBDEV depuis l’administrateur à
Hébergement de
pouvez visualiser, éventuellement modifier
puis exécuter ce fichier.
• Cas 2 : votre serveur n’a pas été détecté :
partir de l’option [page de test] (onglet "Avancé").
Remarques : sites WEBDEV
pour plus de détails, consultez l’aide en ligne. • L’administrateur WEBDEV (WD270ADMIN.EXE)
doit être lancé et tourner en permanence en
11. A l’aide de l’administrateur WEBDEV, déblo- tâche de fond. Il est possible de l’installer en
quez les sites éventuellement bloqués et configu- tant que service sous Windows NT.
rez les paramètres de votre site dynamique.
Ces paramètres correspondent : • Pour plus de détails sur l’administrateur WEB-
DEV, consultez le chapitre L’administrateur WEB-
DEV en pratique.
Pour permettre aux internautes l’accès à votre 2. Dans l’entête de cette page, utiliser les com-
site installé chez un hébergeur, créez un lien dans mandes html (META REFRESH) pour réaliser une
votre page d’accueil permettant de lancer votre redirection vers le site WEBDEV c’est-à-dire, par
site WEBDEV. exemple, vers l’adresse :
Si vous avez réalisé une installation par média phy- "http://205.51.231.57/WD270AWP/
sique, l’adresse à utiliser a été fournie à la fin de WD270AWP.EXE/CONNECT/jaidebeauxyeux"
l’installation. Remplacez <localhost> par l’adresse
de votre site. Exemple de balise META à placer dans la partie
<HEAD> d’une page HTML :
Exemple permettant de lancer un site "NOTRAP- <meta http-equiv="refresh"
PLI" à partir du site de PC SOFT : content="0;URL=http://205.51.231.57/
WD270AWP/WD270AWP.EXE.EXE/CONNECT/
http://www.pcsoft.fr/WD270AWP/
jaidebeauxyeux">
WD270AWP.EXE/ CONNECT/NOTRAPPLI
Pour lancer le site en utilisant directement son Cas particulier : Si une page d’accueil a été définie
adresse (jaidebeauxyeux.com par exemple), il suffit dans votre site dynamique, l’adresse de lancement
de : de cette page d’accueil est la suivante :
1. Créer une page d’accueil de type "index.html". http://<AdresseServeur>/<NomSite
>_WEB/
222 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 223
L’administrateur WEBDEV en pratique 2.2 Sites installés
L’onglet "Sites" fournit des informations concer-
2.3 Webservices installés
L’onglet "Webservices" fournit des informations
nant les sites WEBDEV dynamiques installés sur concernant les Webservices WEBDEV dynamiques
le poste. installés sur le poste.
1 Présentation
L’onglet "Sites" liste les différents sites WEBDEV L’onglet "Webservices" liste les différents Webser-
dynamiques installés sur le poste et gérés par vices WEBDEV dynamiques installés sur le poste et
L’administrateur WEBDEV est un module permet- Ce chapitre présente uniquement l’administrateur l’administrateur WEBDEV. Pour chaque site, les gérés par l’administrateur WEBDEV. Pour chaque
tant de gérer les sites WEBDEV dynamiques (de de WEBDEV version Développement. informations suivantes sont affichées : Webservice, les informations suivantes sont affi-
type Session ou AWP). Pour plus de détails sur les outils de déploiement, • le nom du site. chées dans un tableau :
Lors du développement d’un site WEBDEV, l’admi- consultez leur aide. • le répertoire complet d’installation du site sur • le nom du Webservice.
nistrateur permet principalement de : le poste. • le répertoire complet d’installation du Webser-
Lancement de l’administrateur
• tester le site grâce à la page de test. WEBDEV • le nom du fichier "projet" correspondant. vice sur le poste.
• régler les paramètres de connexion au site pour Pour lancer l’administrateur de WEBDEV version • l’état du site (bloqué ou non). Il est possible de • le nom du fichier "projet" correspondant.
vos tests : temps de déconnexion, ... Développement : cocher la case pour bloquer directement l’accès • l’état du Webservice (bloqué ou non). Il est
• supprimer directement les connexions de test • depuis WEBDEV version Développement : sous au site pendant la mise à jour du site. possible de cocher la case pour bloquer direc-
en cours. le volet "Outils", dans le groupe "Utilitaires Web", • le nombre de tâches planifiées utilisées par le tement l’accès au Webservice pendant sa mise
• changer le serveur Web utilisé pour vos tests. cliquez sur "WDAdmin". site. à jour.
• effectuer un diagnostic en cas de problème lors • sélectionnez l’option "Programmes .. WEB- L’onglet "Sites" permet aussi de : • le nombre de tâches planifiées utilisées par le
du lancement d’un site WEBDEV... DEV 27 .. Administrateur WEBDEV" depuis le • Supprimer le site sélectionné dans le tableau. Webservice.
En déploiement, deux types d’administrateur WEB- menu "Démarrer". Il s’agit uniquement de supprimer le site de L’onglet "Webservices" permet aussi de :
DEV existent : L’administrateur WEBDEV est lancé automatique- l’administrateur : le site WEBDEV sera toujours • Supprimer le Webservice sélectionné dans le
• l’administrateur WEBDEV Déploiement qui ment au premier test du site. présent sur le disque. tableau.
permet à l’hébergeur de gérer les sites WEBDEV L’administrateur peut ensuite être laissé en tâche • Rafraîchir l’affichage des sites présents dans le Il s’agit uniquement de supprimer le Webservice
dynamiques installés sur un serveur Web. de fond. tableau. de l’administrateur : le Webservice WEBDEV
• l’administrateur WEBDEV Distant qui permet au Par défaut, l’administrateur WEBDEV autorise dix Ce rafraîchissement permet de vérifier la pré- sera toujours présent sur le disque.
gestionnaire de site de gérer ses sites WEBDEV connexions simultanées à un même site WEBDEV sence d’un site dans l’administrateur après son • Rafraîchir l’affichage des Webservices présents
dynamiques à distance depuis n’importe quel dynamique (icône GO). installation. dans le tableau.
poste. • Ajouter un site dans le tableau. Ce rafraîchissement permet de vérifier la pré-
• Paramétrer individuellement les sites présents sence d’un Webservice dans l’administrateur
2 Interface de l’administrateur WEBDEV sur le poste. après son installation.
Par défaut, la configuration prise en compte est • Ajouter un Webservice dans le tableau.
celle de l’onglet "Configuration". • Paramétrer individuellement les Webservices
L’administrateur WEBDEV se présente sous la • Le Tableau des connexions en cours indique Il est également possible de créer une configura- présents sur le poste.
forme d’une fenêtre comportant plusieurs onglets : pour chaque connexion : tion spécifique pour le site sélectionné (bouton Par défaut, la configuration prise en compte est
• Onglet "Connexions". • l’identifiant de la connexion, "Paramètres"). celle de l’onglet "Configuration".
• Onglet "Sites" et onglet "Webservices". • le site concerné par la connexion, Cette configuration concerne le nombre de Il est également possible de créer une configu-
• Onglet "WebSockets". • l’identité du client connecté. En utilisation connexions autorisées, la durée d’inactivité ration spécifique pour le Webservice sélectionné
• Onglet "Configuration". réelle, le client est identifié par son adresse IP autorisée et le blocage éventuel du site pour (bouton "Paramètres").
ou son adresse Internet, une mise à jour. Pour plus de détails sur ces Cette configuration concerne le nombre de
• Onglet "Avancé". paramètres, consultez l’onglet "Configuration". connexions autorisées, la durée d’inactivité
• Onglet "Installations/Comptes". • le temps actuel de connexion,
Pour valider immédiatement le nouveau para- autorisée et le blocage éventuel du Webservice
• Onglet "Journaux". • le temps d’inactivité de la connexion. métrage, appuyez sur le bouton "Appliquer". pour une mise à jour. Pour plus de détails sur
• Rafraîchissement automatique : cette option Il est également possible de gérer les tâches ces paramètres, consultez l’onglet "Configura-
2.1 Caractéristiques des connexions en permet de rafraîchir automatiquement les don- planifiées associées au site sélectionné (bouton tion".
cours nées affichées. "Tâches planifiées"). Ce paramétrage est dispo- Pour valider immédiatement le nouveau para-
L’onglet "Connexions" fournit diverses informations L’onglet "Connexions" permet également de : nible uniquement lorsque le site est déployé. métrage, appuyez sur le bouton "Appliquer".
à propos des connexions en cours : • Arrêter une connexion en cours : sélectionnez • Tester directement les sites installés sur le poste Il est également possible de gérer les tâches
une des connexions et cliquez sur "Déconnec- (uniquement en version de développement) : planifiées associées au Webservice sélectionné
• Le Nombre de connexions en cours indique le
ter". Sélectionnez le site puis cliquez sur "Tester". (bouton "Tâches planifiées"). Ce paramétrage est
nombre de connexions totales aux sites WEB-
• Stopper toutes les connexions en cours et fer- disponible uniquement lorsque le Webservice
DEV dynamiques gérés par l’administrateur.
mer l’administrateur : cliquez sur "Déconnecter est déployé.
Tous".
224 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 225
2.4 Serveurs de WebSockets installés necté puis reconnecté. sion ".LOG") pour visualiser les statistiques de Serveur utilisé
Si ce paramètre est supérieur à zéro, un mes- fréquentation des sites WEBDEV à l’aide de Le bouton "Serveur" permet de choisir un des ser-
L’onglet "WebSockets" liste les différents serveurs sage d’erreur apparaîtra automatiquement au WDStatistiques. Pour plus de détails sur WDSta-
de WebSocket WEBDEV installés sur le poste et veurs WEB installés sur le poste en cours pour exé-
bout des x connexions simultanées. tistiques, consultez l’aide de WDStatistiques. cuter les sites WEBDEV. Attention : Ce serveur sera
gérés par l’administrateur WEBDEV. Pour chaque Ce nombre peut être modifié pour chaque site
serveur de WebSocket, les informations suivantes • Enregistrer dans le fichier global et dans le utilisé pour tous les sites dynamiques WEBDEV ins-
(onglet "Sites"). fichier de chaque application : tallés sur ce poste.
sont affichées : L’option "Une seule connexion recyclée auto- Cette option permet d’enregistrer les statis- Si le serveur utilisé n’est pas présent dans cette
• le nom du serveur, matiquement" permet de limiter la connexion tiques à la fois dans le fichier journal de l’appli- liste, choisissez "Autre". Il faudra alors configurer
• le répertoire complet d’installation du serveur d’un utilisateur à une connexion. La même cation et dans le fichier journal du serveur. En manuellement le serveur Web utilisé. Pour plus de
de WebSocket sur le poste, connexion sera réutilisée. effet, si le fichier journal est défini à la fois au détails sur la configuration de serveurs spécifiques,
• l’état du serveur de WebSocket (bloqué ou non). Le paramétrage des sessions et des requêtes niveau du serveur et au niveau des applications consultez l’aide en ligne.
L’onglet "WebSockets" permet aussi de : est réalisé par les options suivantes : (onglet "Sites"), des informations peuvent être Diagnostic
• Supprimer le ou les serveur(s) de WebSocket • Déconnecter les utilisateurs inactifs depuis : "perdues".
Le bouton "Diagnostic" permet d’effectuer une véri-
dans le tableau (bouton "Supprimer"). Il s’agit du temps maximum de connexions Remarque : Si le fichier journal est activé, il est fication de la configuration du poste en cours. Ce
• Rafraîchir l’affichage des webservices présents autorisées sans action de la part de l’inter- possible de visualiser le journal des erreurs dans diagnostic permet de vérifier :
dans le tableau (bouton "Rafraîchir"). naute. Si ce temps est dépassé, l’internaute l’onglet "Journaux" de l’administrateur.
est automatiquement déconnecté et un mes- • si le protocole TCP/IP est installé
• Ajouter un serveur de WebSocket dans le Gérer le débogage à distance
sage d’erreur est affiché. • si un serveur Web (serveur HTTP) est lancé
tableau (bouton "Ajouter"). L’administrateur WEBDEV permet d’autoriser ou
Ce nombre peut être modifié pour chaque site non le débogage à distance des sites WEBDEV • si le gestionnaire de protocole AWP est correcte-
2.5 Configuration générale dans l’onglet "Sites". dynamiques. ment configuré
• Durée des contextes AWP : Si le débogage à distance est autorisé, les para- • si les exécutables WEBDEV nécessaires sont
La configuration générale correspond aux diffé- Durée de validité des contextes AWP. Dès que présents.
rentes options de connexion par défaut pour les mètres suivants doivent être spécifiés :
la durée indiquée est écoulée et si aucune Si une de ces conditions n’est pas remplie, les sites
sites WEBDEV présents sur le serveur et gérés par nouvelle requête n’a été effectuée, le fichier • Port principal (27 271 par défaut).
l’administrateur. WEBDEV dynamiques ne pourront pas fonctionner.
des contextes est supprimé. • Plage des ports des sessions (entre 27 282 et
L’onglet "Configuration" permet de : 27 289 par défaut). Pour plus de détails, consultez l’aide en ligne.
• Durée des contextes Webservices : Nom ou adresse IP du poste en cours
• Paramétrer les connexions. Durée de validité des contextes correspon- Le bouton "Par défaut" permet de rétablir les va-
• Paramétrer les sessions et les requêtes. dants aux Webservices. leurs par défaut. L’administrateur WEBDEV permet de spécifier un
nom ou une adresse IP pour désigner un poste
• Gérer le fichier journal pour obtenir les statis- • Durée maximum d’une requête : 2.6 Options avancées spécifique. Il est également possible de spécifier le
tiques de fréquentation. Temps maximum d’attente autorisé entre le numéro de port. Par exemple : localhost:8080.
• Gérer le débogage à distance. déclenchement d’une action par l’internaute L’onglet "Avancé" permet de :
(par un bouton ou un lien) et l’affichage de la Ce poste sera utilisé :
Le paramétrage des connexions est réalisé par • Choisir un des serveurs Web installés sur le
les options suivantes : réponse. Si ce temps est dépassé, une page poste en cours pour exécuter les sites WEBDEV. • lors de l’utilisation du bouton "Diagnostic".
• Nombre maximum de connexions sur le d’erreur est affichée, mais l’internaute n’est • Effectuer un diagnostic de configuration du • lors de l’utilisation du bouton "Page de test".
serveur : pas déconnecté. poste en cours. • lors du test d’un site, d’une page, d’un état, ...
Nombre maximum de connexions simulta- • Durée maximum d’une tâche : • Spécifier le nom ou l’adresse IP du poste en depuis l’éditeur WEBDEV (icône "GO").
nées autorisées pour l’ensemble des sites Permet de limiter la durée d’exécution d’une cours. Test
gérés par l’administrateur (une connexion = tâche planifiée ou d’une tâche différée WEB- Le bouton "Page de test" permet d’afficher sous le
• Afficher sous le navigateur une page permettant
un internaute). DEV. Si la tâche dépasse cette durée, elle navigateur une page permettant de lancer chacun
de lancer tous les sites WEBDEV installés sur le
• Nombre maximum de connexions sur un sera automatiquement arrêtée. des sites WEBDEV dynamiques et des Webservices
poste en cours.
site : • Autoriser les sessions prélancées : WEBDEV dynamiques installés sur ce poste.
• Gérer la recherche des pages périmées.
Nombre maximum de connexions simulta- Permet de gérer les sessions prélancées sur Pour plus de détails sur les tests d’un site WEBDEV,
le serveur d’application WEBDEV. Cette option • Gérer les impressions.
nées autorisées pour chaque site géré par consultez le chapitre 5. Test d’un site en pratique.
l’administrateur. Ce nombre peut être modifié permet d’optimiser le temps de connexion • Gérer les messages d’erreur.
aux sites et Webservices WEBDEV présents Recherche des pages périmées
pour chaque site dans l’onglet "Sites". • Gérer les emails en mode asynchrone.
sur le serveur. Pour plus de détails, consultez Cette option permet d’activer et de paramétrer la
• Nombre maximum de connexions d’un utili- • Gérer les sockets serveur.
l’aide en ligne. recherche des pages périmées sur les sites WEB-
sateur sur un site : • Autoriser ou non certaines fonctions spécifiques. DEV gérés par le serveur d’application WEBDEV.
Nombre maximum de connexions simulta- L’administrateur WEBDEV permet de générer un
• Interdire le changement d’IP en cours de navi- Imprimante utilisée par défaut (site intranet uni-
nées autorisées pour un même internaute sur fichier journal spécifique permettant de suivre les
gation. quement).
chaque site géré par l’administrateur. statistiques de fréquentation.
• Interdire l’accès aux identifiants de contexte
Si ce paramètre est égal à zéro, l’internaute • Générer un fichier journal pour les statistiques
AWP depuis Javascript.
essayant de se connecter simultanément à de fréquentation (.log) :
un même site, sera automatiquement décon- Permet de générer un fichier journal (exten-
226 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 227
Le bouton "Impressions" permet de sélectionner Interdire l’accès aux identifiants de contexte AWP
Configuration du
l’imprimante utilisée par défaut lors d’une impres-
sion directe sur une imprimante locale ou réseau
du serveur Web.
depuis JavaScript
Dans un site AWP, le contexte du site est stocké sur
le serveur. L’identifiant de ce contexte est transmis
serveur
Messages d’erreur et mémorisé dans le navigateur par l’intermédiaire
Le bouton "Erreurs" affiche les différentes erreurs d’un cookie.
pouvant être affichées dans le navigateur de l’inter- Si l’option "Interdire l’accès aux identifiants de
naute. Il est possible de personnaliser le message contexte AWP depuis JavaScript" est cochée, les
Pour un site dynamique WEBDEV :
d’erreur ou encore la page HTML où l’erreur est cookies utilisés seront de type "HTTPOnly", type
affichée. ne pouvant pas être lu depuis du code Javascript.
Spooler de mails Ce mode protège contre les attaques de type XSS
Si l’option "Désactiver le spooler de mail" est déco- (Cross-Site scripting).
chée, vos sites pourront envoyer des emails sans Par défaut, l’accès aux identifiants de contexte
bloquer l’exécution des différents traitements AWP depuis Javascript est interdit.
Poste de Poste
l’internaute Serveur
(mode asynchrone). Gérer les fonctions fCopieFichierRépertoireWeb et
Il est également nécessaire d’activer le mode asyn- fSupprimeFichierRépertoireWeb
Connexion au site WEBDEV
chrone à l’ouverture de la session d’emails (à l’aide L’option "Autoriser les fonctions fCopieFichierRé- Seul un navigateur est Serveur Web
de la fonction EmailOuvreSessionSMTP ou Emai- pertoireWeb et fSupprimeFichierRépertoireWeb." nécessaire (IIS, Apache, ...)
lOuvreSession). doit être cochée si ces fonctions sont utilisées dans
Si le mode asynchrone est activé, tous les emails à le site Web.
envoyer seront transmis à un "Spooler". Les emails Ces fonctions permettent notamment de mettre Moteur WEBDEV
sont ainsi mis en file d’attente avant d’être envoyés. dans le répertoire des images du site des images
L’exécution des fonctions Email n’est alors plus blo- présentes dans le répertoire des données (cas par
quante pour le reste du programme. La fonction exemple d’images uploadées puis mises à disposi-
EmailEtat permet de connaître l’état d’un email. tion pour les internautes utilisant le site). Site WEBDEV
Remarque : Si l’administrateur WEBDEV est fermé, Attention : La copie est prise en charge par l’admi-
le spooler d’emails est vidé : les emails en attente nistrateur de WEBDEV sur le serveur (WD270AD-
ne sont pas envoyés et sont enlevés du spooler. MIN.EXE). Le compte Windows qui l’exécute doit Base de données
Si vous cochez l’option "Désactiver le spooler de disposer de droits suffisants sur l’emplacement
mail" alors que des emails sont en attente, ces cible de la copie.
emails ne seront pas perdus : l’administrateur
continue de les envoyer, mais aucun nouveau mail 2.7 Installations/Comptes
ne sera accepté par le spooler. L’onglet "Installations/Comptes" permet de : Pour un site statique :
Attention : Le mode asynchrone est utilisable uni- • Configurer le serveur pour les installations et les
quement lors de l’ouverture d’une session sur un mises à jour de site.
serveur SMTP (fonction EmailOuvreSessionSMTP • Gérer le journal des installations.
pour l’envoi d’emails ou fonction EmailOuvreSes-
sion). Ce mode est ignoré dans tous les autres cas. 2.8 Journaux
Sockets
Poste de Poste
L’onglet “Journaux” permet de visualiser le détail
Si l’option "Autoriser les sockets serveur" est co- des journaux sur une période donnée.
chée, vos sites pourront manipuler les sockets du
serveur (à l’aide des fonctions Socketxxx du WLan-
Attention : Pour utiliser cette fonctionnalité, les
journaux doivent avoir été activés pour le site. Les
l’internaute Serveur
gage). journaux peuvent être activés :
Interdire le changement d’IP en cours de naviga- • dans l’onglet “Configuration” pour gérer un jour- Connexion au site WEBDEV
tion nal général, Seul un navigateur est Serveur Web
Si cette option est cochée, l’adresse IP associée à nécessaire (IIS, Apache, ...)
• dans l’onglet “Sites” (bouton “Paramètres”)
la session ne peut pas changer en cours de naviga- et dans l’onglet “Webservices” (bouton “Para-
tion. Il est ainsi possible d’empêcher les attaques mètres”) pour gérer un journal spécifique.
du type "vol de session" (attaque consistant à se Site WEBDEV
faire passer pour un utilisateur légitime connecté L’activation du journal des statistiques entraîne au-
au serveur). tomatiquement la création du journal des erreurs.
228 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 229
Serveur dédié ou • serveur dédié : le serveur est réservé au client. L’hébergeur fournit uniquement l’accès à Inter-
Les hébergeurs proposent deux types de serveurs pour installer vos sites WEBDEV :
• serveur mutualisé :
serveur dont les ressources sont partagées par différents clients (client = société faisant
Serveur Web
héberger son site chez un hébergeur).
Poste dédié au client
- Serveur Web et si nécessaire serveur FTP
- Serveur d’application WEBDEV
Serveur Web
- Système d’exploitation
- Sites WEBDEV
Partie commune
- Serveur d’application WEBDEV Caractéristiques :
- Système d’exploitation L’hébergeur fournit uniquement l’accès à Internet (adresse IP, câble, ...).
- Base de registres Le client doit :
- Serveur Web
- Serveur FTP (si nécessaire)
• fournir éventuellement le poste serveur (location possible),
• configurer le poste (système, ...),
Espace disque Espace disque • installer le serveur Web,
Client 1 Client 3 • installer et configurer les sites WEBDEV (par HTTP, FTP ou par DVD-ROM).
Caractéristiques :
L’hébergeur fournit un poste serveur à différents clients.
L’hébergeur :
• configure le serveur FTP (nécessaire uniquement pour les déploiements effectués par FTP).
• détermine le nombre maximum de connexions sur l’ensemble des sites dynamiques d’un
même client (à l’aide du gestionnaire de comptes WEBDEV).
L’installation et les mises à jour d’un site dynamique ou statique peuvent être réalisées par
FTP.
230 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 231
Quel type de serveur Centre de contrôle
Contenu
choisir ? d’hébergement
Le tableau ci-dessous présente les avantages et inconvénients des différents types de serveurs. Destiné principalement aux hébergeurs et aux Webmasters, le Centre de Contrôle d’hébergement
Quel que soit le type de serveur choisi, il est nécessaire de posséder une licence de déploiement permet d’aider à héberger plus facilement les sites WEBDEV.
pour chaque serveur.
Chaque serveur héberge un ou plusieurs sites dynamiques WEBDEV (en mode Session ou en Le Centre de Contrôle gère bien sûr les comptes WEBDEV, mais également, le compte au niveau
mode AWP). du serveur web et les droits au niveau du système d’exploitation.
Serveur Avantages / inconvénients Quand utiliser Un choix par défaut est proposé : il permet d’installer un serveur par simple clic, sans compé-
ce serveur ? tences spécifiques.
Mutualisé Principaux avantages : Un serveur mutualisé est Le paramétrage des éléments suivants est centralisé :
• Coût moindre conseillé pour :
• Comptes Windows,
• Administration du serveur réalisée par
l’hébergeur • les sites peu visités • Groupes des utilisateurs FTP,
Principaux inconvénients :
(jusqu’à 20 ou 30 • Groupes des clients WEBDEV,
connexions simulta- • Home Directory,
• Ressources mémoire partagées entre les
nées), • Alias FTP,
sites présents sur le serveur.
• les sites nécessitant
• En cas de blocage d’un site, tous les sites • Comptes WEBDEV,
peu de mémoire (pas de
sur le serveur sont bloqués. • Répertoires des données,
calculs très importants
• Utilisation d’exécutables autonomes rare-
ment possible.
effectués sur le serveur), • Sites Web virtuels, ...
• les sites en phase de
• Accès non sécurisé aux données :
démarrage. Le Centre de Contrôle d’hébergement fonctionne sous environnement Windows avec le serveur
Des personnes non autorisées peuvent
avoir accès aux données : l’hébergeur et web IIS (Internet Information Server, toutes versions à partir de la 5).
potentiellement d’autres clients, si le ser-
veur n’est pas correctement configuré.
Conseil : cryptez les fichiers de données
pour éviter toute utilisation non autorisée.
232 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 233
Site dynamique sur des 2. Installation sur un serveur Windows avec un accès à Internet par
configurations spécifiques UNIX
La configuration est la suivante :
INTERNET
1. Installation sur un serveur Web sous Windows (2000 ou supérieur)
ou un serveur Linux Serveur
La configuration est la suivante :
1 Unix
INTERNET Sont installés sur le serveur :
- serveur Web Unix
- les pages statiques
Serveur
Windows
Sont installés sur le serveur :
2
- le serveur d’application WEBDEV
- le site WEBDEV (Session ou AWP) Serveur
3
- le serveur Web sous Windows
Windows
Sont installés sur le serveur :
- le serveur d’application WEBDEV
- le site WEBDEV (Session ou AWP)
- le serveur Web sous Windows
INTERNET
1. Ouverture d’une page statique. La page statique est présente sur le serveur UNIX.
Serveur 2. Lancement du site dynamique WEBDEV (présent sur le serveur Windows) par un lien présent
Linux dans la page HTML statique.
3. Fonctionnement normal du site WEBDEV.
Sont installés sur le serveur :
- le serveur d’application WEBDEV
- le site WEBDEV (Session ou AWP) Remarque : la même configuration peut être adoptée avec un serveur Linux.
- le serveur Web sous Linux
234 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 235
3. Installation sur un serveur Windows ou Linux avec Load Balancer
Statistiques de fréquenta-
Le système Load Balancer permet de répartir la charge de connexion sur un site dynamique WEB-
DEV sur différents postes.
tion des sites dynamiques
Il est souvent important de disposer de statistiques précises sur les visites des sites.
INTERNET Comment savoir qui est venu sur votre site, les pages qui ont été consultées, les applications qui
ont été utilisées, de quel site vient l’internaute ?
WEBDEV est fourni avec un outil complet de statistiques pour les pages dynamiques : WDStatis-
tique. Cet outil peut être installé sur n’importe quel poste.
Load Quelques exemples de statistiques fournies par WDStatistique : nombre de connexions par jour,
balancer pages consultées, systèmes d’exploitation et navigateurs des internautes, ...
Serveur de
données
Solution 1 : Installation du site dynamique WEBDEV uniquement sur le serveur de données.
Cette solution consiste à installer :
• sur chaque serveur Web, le serveur d’application WEBDEV,
• sur le serveur de données, les sites dynamiques WEBDEV et les fichiers de données.
Solution 2 : Installation du site dynamique WEBDEV sur tous les serveurs Web.
Cette solution consiste à installer :
• sur chaque serveur Web, le serveur d’application WEBDEV et les sites dynamiques WEBDEV.
• sur le serveur de données, les fichiers de données des sites dynamiques WEBDEV.
236 Partie 8 : Hébergement de sites WEBDEV Partie 8 : Hébergement de sites WEBDEV 237
Surveillez vos sites, PARTIE 9
serveurs, ...
Un site dépend souvent de nombreux paramètres extérieurs : site Web, Serveur HFSQL, réseau, ...
Annexes
Pour optimiser la gestion des incidents, WEBDEV propose d’utiliser un robot de surveillance.
Composé de trois exécutables lancés sur différents postes, le robot de surveillance permet d’exé-
cuter différents tests : tests Internet, tests réseau, ...
En cas de problèmes lors du passage d’un test, le robot de surveillance peut vous avertir de diffé-
rentes façons :
• Message envoyé dans la messagerie PC SOFT (WDBAL).
• Email
• Exécution d’un programme tiers.
De plus, une alerte sonore peut être mise en place sur le moniteur.
Configure
Poste Utilisateur : Poste 1 :
Moniteur Robot de surveillance
Test de
Configure
surveillance
Poste 2 :
Contre Robot
EmailEtat Renvoie l’état d’un email envoyé par une session SMTP ouverte HTMLClasseBascule Bascule une classe dans les classes HTML d’un champ : si la
en mode asynchrone. classe n’existe pas, elle est ajoutée, si la classe existe déjà,
elle est supprimée.
EmailOuvreMessagerie Ouvre le logiciel de messagerie par défaut :
HTMLClasseSupprime Supprime une classe des classes HTML d’un champ.
de l’internaute sur le poste navigateur.
de l’utilisateur sur le poste Windows en cours. IdentifiantContexteAWP Renvoie l’identifiant du contexte AWP.
sur le téléphone. ImageArrêteDéfilement Arrête le défilement automatique des images.
ExécuteProcédureDifférée Exécute une procédure différée (dans le serveur d’application ImageDernier Affiche la dernière image du défilement.
WEBDEV).
SaaSEcritParamètreSite Enregistre une information spécifique pour un site SaaS dans SSLActive Permet d’activer ou de désactiver le mode sécurisé SSL.
la configuration d’un compte client. StockageLocalAjoute Ajoute une valeur au stockage local.
SaaSEstConnecté Détermine si la connexion au webservice SaaS est toujours en StockageLocalDisponible Indique si le stockage local est disponible ou non pour le navi-
cours. gateur en cours.
SaaSLitParamètreSite Lit une information spécifique au client pour le site SaaS en StockageLocalNomValeur Renvoie le nom d’une valeur du stockage local.
cours.
StockageLocalOccurrence Renvoie le nombre de valeurs du stockage local.
SaaSUtilisateurConnecté Renvoie l’utilisateur actuellement connecté via la fonction
SaaSConnecte. StockageLocalRécupère Récupère une valeur du stockage local.
SaaSVérifieService Vérifie les droits d’accès de l’utilisateur à un service du site StockageLocalSupprime Supprime une valeur du stockage local.
SaaS. StockageLocalSupprimeTout Supprime toutes les valeurs du stockage local.
ScriptAffiche Appelle un script ou une page externe (par exemple .php, .asp, SysVersion Renvoie des renseignements sur la version de PHP utilisée sur
.mhtml ou .mht) et renvoie la page résultat dans la fenêtre en le poste serveur en cours.
cours du navigateur.
ToastAffichePopup Affiche une page de type popup pendant une durée donnée
ScriptExécute Appelle un script externe (par exemple .php ou .asp) et renvoie pour afficher un message de type "Toast".
le résultat dans une chaîne.
Exemples complets
WW_FAQ Cet exemple Responsive Web Design propose les principales WW_TamesShop Cet exemple fournit une boutique en ligne complète et immé-
fonctionnalités d’un site de FAQ (foire aux questions). diatement opérationnelle.
Le site prend en charge les catégories de produits, les carac-
WW_Forum_AWP Cet exemple propose les fonctionnalités principales d’un fo- téristiques détaillées, les photos et propose plusieurs compo-
rum utilisateur (création de forums, de sujets et de messages, sants internes modulaires pour gérer l’espace client, le panier,
modération par un administrateur, ...). le paiement...
WW_Forum_PHP Cet exemple propose les fonctionnalités principales d’un fo- WW_TicketTracker Cet exemple est un exemple de gestion de tickets d’incidents.
rum utilisateur (création de forums, de sujets et de messages, Cet exemple peut être utilisé dans tous les domaines où il est
modération par un administrateur, ...). nécessaire de suivre des interventions entre plusieurs per-
sonnes.
Des composants supplémentaires seront livrés avec la Lettre du Support Technique (LST) ou dis-
ponibles sur notre site (www.pcsoft.fr).