SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées...

97
T TECHNIQUE OUR DE FRANCE 2005 Vous méritez le meilleur DÉVELOPPEZ 10 FOIS PLUS VITE ® Fournisseur Officiel de la Préparation Olympique SUPPORT DE COURS COMMENT LE FAIRE EN

Transcript of SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées...

Page 1: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

TTECHNIQUEOUR DE FRANCE 2005

Vous méritez le meilleurDÉVELOPPEZ 10 FOIS PLUS VITE

®

Fournisseur Officiel de la Préparation Olympique

SUPPORT DE COURSCOMMENT LE FAIRE EN

Page 2: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 1(C) PC SOFT - www.pcsoft.fr

Vos Notes

Avertissement

Le document que vous avez entre les mains n’a pas la finalité de remplacer les documentations techniques ou commerciales livrées avec WinDev, WebDev, WinDev Mobile.

Ce document n’est pas un cours d’auto-formation, mais uniquement un support “papier” à la présentation tech-nique que vous allez suivre.

(C) PC SOFT 2005« Reproduction et diffusion interdite sans l’autorisation écrite de PC SOFT. »

Page 3: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 2(C) PC SOFT - www.pcsoft.fr

Vos Notes

SOMMAIRE6 Présentation de WinDev8 Présentation de WinDev Mobile10 Présentation de WebDev

Les Concepts Internet

14 Thème 1 : Gains développeur14 Ancrages Avancés

Gestion avancée des ancrages et conflits d’ancrage

15 Table Multi-sélection Gestion de la multi-sélection sur une table fichier

16 Les configurations Gérer les configurations multiples de projets

18 Clés composées Exploitation de la nouvelle syntaxe de construction des clés com-posées

19 Différences de code Comparer le code d’un projet après modification

20 Patchs de mise à jour Mise en place et utilisation des patchs de mise à jour

21 Multi-Langues Comment créer une application en plusieurs langues ?

24 Pattern RAD Comment créer un pattern pour générer “son code”

26 Installation Réseau Mettre en place une installation réseau ou Internet de son application

30 Installation Internet Installation avec téléchargement automatique du framework

31 Installation MSI Comment générer une procédure d’installation au format MSI ?

32 Thème 2 : Gains utilisateur32 MCU : les macros

Les utilisateurs gèrent leurs macros

33 Les splitters Personnaliser l’environnement de l’utilisateur sans programmation

34 Persistance des champs Mémoriser le contenu des variables ou des champs

35 Boutons MinuterieValidation automatique des boutons après un délai défini

36 Ajouter une aide Comment ajouter une aide au format CHM dans une application

37 Documentation FAA La documentation “utilisateur” des FAA

Page 4: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 3(C) PC SOFT - www.pcsoft.fr

Vos Notes38 Thème 3 : Base de données38 Installation

Installer Hyper File Client/Serveur sur Windows

40 Base de données Comment créer une base de données sur le serveur Hyper File Client/Serveur

41 Transfert de données Transférer une base de données Hyper File Classic vers Hyper File Client/Serveur

42 Analyse et code Modifier l’analyse et le code pour prendre en compte Hyper File Client/Serveur

43 Applications Installation d’une application réseau exploitant Hyper File Client/Serveur

45 Gestion des droits Configurer les droits sur une base de données Hyper File Client/Serveur

46 Installation Linux Installer un serveur Hyper File Client/Serveur sur Linux

47 Accès natifs Accès natifs et bases tierces depuis une application WinDev

48 Optimisation Optimisation des tables fichiers sur une base de données SQL Server

49 Thème 4 : Accès distant49 Sites distants

Partager en temps réel une base de données entre sites distants via ADSL

50 Accès GPRSAccéder à une base distante par GPRS depuis un Pocket PC ou un Smartphone

51 Citrix / TSE Comment exploiter une application WinDev sur serveur Citrix ou TSE ?

53 Thème 5 : Réplication53 Réplication Hyper File

Réplication classique et réplication hétérogène sur une base Hyper File

54 Réplication hétérogène Réplication entre une base de données Hyper File et une base de données SQL Server

56 Synchronisation Mobile Synchroniser des bases de données Hyper File Classic et Hyper File Mobile

Page 5: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 4(C) PC SOFT - www.pcsoft.fr

Vos Notes58 Thème 6 : Architecture d’application58 Fenêtre interne

Utilisation des fenêtres internes

59 Composants Utilisation des composants et des fenêtres internes

60 Multi-produits Composant Multi-produits et code cible conditionnel

61 Composant métier Mise à jour à chaud, importation, compatibilité...

62 Thème 7 : Communication62 Récupération HTML

Récupération automatique d’informations sur un site Internet

64 Mailing E-mail Réaliser un mailing e-mail personnalisé

65 Mailing Fax Réaliser un mailing fax personnalisé

66 Thème 8 : La sécurité66 WebDev et SSL

Traitement sécurisé avec WebDev et SSL

68 Paiement sécurisé Implémenter un paiement par Carte bleue dans un site WebDev

69 Thème 9 : Internet / Intranet69 Installation

Installer un serveur d’application WebDev sur Windows

71 Mode AWP AWP ? Ca change quoi concrètement ? Quand l’utiliser ?

72 Site PHP Créer un site PHP et le déployer chez un hébergeur

73 Portage d’application Porter une application WinDev vers WebDev

74 Installation Linux Installer un serveur d’application WebDev sur Linux

76 Thème 10 : La Mobilité76 Portage d’application

Porter une application WinDev sur un Pocket PC

77 Déploiement Déploiement d’une application Mobile (Internet ou par média de type CD-ROM)

79 Thème 11 : Autres technologies79 .NET : Utilisation

Utiliser un traitement .Net depuis une application WinDev

80 .NET : PublierPublier un traitement .Net réalisé depuis un projet WinDev

Page 6: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 5(C) PC SOFT - www.pcsoft.fr

Vos Notes81 Java

Créer une application Java depuis un projet WinDev

83 Service WebCréer un Service Web d’accès aux données

85 Thème 12 : Les états85 Etats croisés

Réaliser un état croisé

86 Facture et PDF Créer une facture et l’envoyer par e-mail au format PDF

87 WDEtat Utilisateur Utilisation de “WDEtat Utilisateur”

88 Thème 13 : Optimisation de l’application88 Performances

Utiliser l’analyseur de performances et optimiser les requêtes

89 Tailles de pages Optimiser la taille de pages Web

90 Thème 14 : Suivi de projet90 Suivi de planning

Utilisation du centre de suivi de projets

91 Partage d’éléments Partage d’éléments entre développeurs le Groupware développeur

92 Suivi des incidents Suivi des incidents et des suggestions

93 Tests de non régression Création d’un test de non régression

94 Annexe A : Les commandes W-Langage96 Annexe B : Les touches de raccourci

Page 7: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 6(C) PC SOFT - www.pcsoft.fr

Vos Notes

PRÉSENTATION DE WINDEV

WinDev est un AGL (Atelier de Génie Logiciel).

L’éditeur d’IHM de WinDev

WinDev permet de développer simplement tout type d’applica-tions Windows dans les domaines de la gestion, de l’industrie, du médical,etc

Les applications développées peuvent inclure l’accès à des bases de données.WinDev inclut un puissant moteur de base de données : Hyper File.Il est conseillé d’utiliser Hyper File pour vos applications afin d’ob-tenir les meilleures performances dans vos traitements de fichiers. Une version Hyper File Client/Serveur est aussi disponible.

L’environnement de développement intégré de WinDev se compose de différents éditeurs :

• Un éditeur de projet permettant de visualiser et d’agir sur le gra-phe du projet.• Un éditeur d’analyses permettant l’accès à tout type de base de données (Hyper File, Hyper File Client/Serveur, xBase, AS/400*, Oracle*, SQL Server*, Access**, ODBC, OLE DB )• Un éditeur UML permettant une modélisation objet de vos données et traitements• Un éditeur d’IHM avec correcteur d’interface en temps réel• Un éditeur de code évolué (avec assistants, vérification du code saisi, coloration syntaxique, aide contextuelle …) incluant un puis-sant débogueur.

Page 8: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 7(C) PC SOFT - www.pcsoft.fr

Vos Notes• Un éditeur de requêtes pour les sélections dans les fichiers• Un éditeur d’états• Un éditeur d’aide permettant de générer des fichiers d’aide au format CHM• Un éditeur d’installation• Un éditeur de dossier technique reprenant intégralement toutes les informations techniques de votre projet* accès natif optionnel, ** accès natif inclus

Des outils facilitant le développement sont également fournis (WDMAP, WDOUTIL, WDVERSION... ) ainsi que de nombreux exemples et assistants réutilisables.

Des centres de contrôle permettent la gestion du cycle de vie de vos applications ainsi que leur administration.

Une aide en ligne vous guide tout au long du développement de votre application. Cette aide inclut également une aide à la correction d’erreur.

Les différents éditeurs seront utilisés, depuis la définition d’une ana-lyse jusqu’à l’installation, en passant par toutes les phases du déve-loppement (création des fenêtres, des états, des traitements...), sans oublier les sauvegardes.

Le moteur Hyper File sera utilisé pour les fichiers de données exem-ples de l’application.

L’utilisation d’autres moteurs de base de données est également possible sur le même principe.

Page 9: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 8(C) PC SOFT - www.pcsoft.fr

Vos Notes

PRÉSENTATION DE WINDEV MOBILE

L’éditeur d’IHM de WinDev Mobile

WinDev Mobile permet de développer simplement tout type d’appli-cations destinées à être utilisées sur un Pocket PC, un SmartPhone, et la plupart des terminaux mobiles (Symbol, Psion, ...)

Les applications développées peuvent inclure l’accès à des bases de données.WinDev Mobile inclut un puissant moteur de base de données : Hyper File Mobile.Il est conseillé d’utiliser Hyper File pour vos applications afin d’ob-tenir les meilleures performances dans vos traitements de fichiers. Une version Hyper File Client/Serveur est aussi disponible.WinDev Mobile permet également d’accéder aux bases de données CEDB, bases de données standard des Pockets PC.

L’environnement de développement intégré de WinDev Mobile se compose de différents éditeurs :

• Un éditeur de projet permettant de visualiser et d’agir sur le gra-phe du projet.• Un éditeur d’analyses permettant l’accès à tout type de base de données (Hyper File, Hyper File Client/Serveur, Oracle Lite * )• Un éditeur UML permettant une modélisation objet de vos données et traitements• Un éditeur d’IHM avec correcteur d’interface en temps réel• Un éditeur de code évolué (avec assistants, vérification du code saisi, coloration syntaxique, aide contextuelle ?) incluant un puis-sant débogueur• Un éditeur de requêtes pour les sélections dans les fichiers• Un éditeur d’états• Un éditeur d’installation

Page 10: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 9(C) PC SOFT - www.pcsoft.fr

Vos Notes• Un éditeur de dossier technique reprenant intégralement toutes les informations techniques de votre projet* accès natif optionnel

Des outils facilitant le développement sont également fournis (WDREGISTRE, WDCAPTURE, WDVERSION... ) ainsi que de nombreux exemples et assistants réutilisables.

Des centres de contrôle permettent la gestion du cycle de vie de vos applications ainsi que leur administration.

Une aide en ligne vous guide tout au long du développement de votre application. Cette aide inclut également une aide à la correction d’erreur.Le moteur Hyper File Mobile sera utilisé pour les fichiers de données exemples de l’application.

L’utilisation d’autres moteurs de base de données est également possible sur le même principe.

Page 11: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 10(C) PC SOFT - www.pcsoft.fr

Vos Notes

PRÉSENTATION DE WEBDEV

L’éditeur de pages de WebDev

WebDev est un AGL (Atelier de Génie Logiciel) orienté développe-ment de sites Intranet et Internet.

WebDev permet de développer tout type de sites dynamiques incluant l’accès à des bases de données. Il permet aussi de dévelop-per des sites semi-dynamiques et statiques.

Il est composé de différents éditeurs :· Un éditeur de projet permettant de visualiser et d’agir sur le gra-phe du projet.· Un éditeur de pages.· Un éditeur d’analyses permettant l’accès à tout type de base de données (Hyper File, Hyper File Client/Serveur, xBase, AS/400*, Oracle*, SQL Server*, Access**, OLE DB, etc.).· Un éditeur de code évolué (avec assistants, vérification du code saisi, coloration syntaxique, aide contextuelle …) incluant un puis-sant débogueur.· Un éditeur de styles incluant police, couleur, position, etc.· Un éditeur de requêtes pour les sélections dans les fichiers.· Un éditeur d’états.· Un éditeur de dossier technique reprenant intégralement toutes les informations techniques de votre projet.· Un éditeur d’installation.* accès natif optionnel, ** accès natif inclus

L’éditeur d’installation assure la mise en place des sites créés, ainsi que leur maintenance. Cet outil permet de réaliser une installation sur le serveur via FTP ou par média physique (CD, Zip, etc.).

Page 12: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 11(C) PC SOFT - www.pcsoft.fr

Vos NotesDes outils facilitant le développement sont également fournis (WDMAP, WDOUTIL, WDSQL, etc.) ainsi que de nombreux exemples et assistants réutilisables.

Les principaux éditeurs sont utilisés, depuis la définition d’une analyse jusqu’à l’installation, en passant par toutes les phases du développement (création de pages, traitements, états, etc.), sans oublier les sauvegardes.

Les Concepts InternetLes différents services de l’InternetInternet est un réseau mondial d’ordinateurs pouvant dialoguer entre eux. Ces ordinateurs peuvent être de types différents (micros, minis, …) et fonctionner sur des systèmes d’exploitation différents (Windows, Linux, MacOS, Unix, …) Tous ces ordinateurs sont reliés par le biais du protocole TCP/IP.

WWW (World Wide Web) ou “toile d’araignée mondiale” a été créé en 1990. Il peut véhiculer des pages pouvant contenir du texte, des images, du son, de la vidéo. Un regroupement de pages constitue un site.

Le terme Internet regroupe plusieurs services d’utilisation diffé-rente :• FTP (File Transfer Protocol) est un service permettant de transférer des fichiers d’un ordinateur vers un autre à travers Internet.• SMTP (Simple Mail Transfer Protocol) permet d’envoyer des messa-ges ou mails à un utilisateur défini. Chaque utilisateur doit disposer d’une adresse Email qui lui sert de boîte aux lettres.• HTTP (Hypertext Transfer Protocol). HTTP est un protocole de niveau application qui est utilisé pour le transfert de pages sur Internet.

Chacun de ces services nécessite un gestionnaire de services installé sur un serveur :• Le gestionnaire de services FTP gère l’hébergement des fichiers, les droits d’utilisation des fichiers et la réponse aux demandes en provenance des autres postes.• Le gestionnaire de services SMTP prend en charge les demandes d’envoi de messages et le routage vers les serveurs POP (réception des messages) concernés.• Le gestionnaire Web (www) permet l’hébergement des pages et répond aux demandes de consultation de la part des postes client.

Le Web en détailLes pages Web sont visualisées sur un poste par l’intermédiaire d’un navigateur Web (Internet Explorer, Netscape, Opera, etc.).

Le navigateur interprète le contenu des fichiers au format HTML décrivant les pages. On parle de pages HTML.WebDev génère automatiquement le code HTML et Javascript

HTML (HyperText Markup Language) est un langage de description de pages. Toute la mise en page est décrite par l’intermédiaire de balises.

Page 13: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 12(C) PC SOFT - www.pcsoft.fr

Vos NotesExemple de code HTML :

<B>Bonjour !</B> indique que ‘Bonjour !’ va apparaître en gras.Une page peut aussi être composée de scripts en langage Javascript.

Javascript est utilisé pour réaliser des traitements dynamiques au niveau du navigateur, par exemple contrôler la saisie par l’utilisateur d’une valeur dans une page.Il est possible d’afficher directement une page dans un navigateur en tapant son URL dans la zone adresse du navigateur.

L’URL (Uniform Resource Locator) correspond au chemin d’accès de la page sur le serveur qui l’héberge.

Exemple d’URL : http://www.monserveur.com/page3.htm

Une URL peut aussi être composée simplement du nom du domaine. Dans ce cas, c’est la page du sommaire du serveur qui s’affichera.

Exemple : http://www.pcsoft.fr

Si l’URL ne correspond pas à une adresse valide, une erreur de con-nexion est retournée dans l’écran du navigateur.

Si l’URL est valide, la page demandée s’affiche dans le navigateur.L’utilisateur peut alors déclencher une action en cliquant sur un lien ou un bouton. La requête correspondante est alors envoyée au ser-veur qui l’analyse.

Le lien permet de lancer le chargement d’une autre page ou bien de lancer une application Web.

Site statique, semi-dynamique ou dynamique ?• Le site statique est composé de pages conçues à l’avance de manière définitive. Dans ce cas, le contenu des pages n’évoluera pas dynamiquement en fonction d’un choix de l’utilisateur.• Le site semi-dynamique est un site statique composé de pages conçues à l’avance mais enrichies par une base de données. Dans ce cas, le contenu des pages n’évoluera pas dynamiquement en fonc-tion d’un choix de l’utilisateur. L’un des meilleurs exemples est un catalogue de pièces détachées.• Le site dynamique est constitué de pages enrichies de données provenant d’une base de données. Il est nécessaire d’exécuter des traitements d’accès aux données sur le serveur permettant de cons-tituer la page.

WebDev permet de développer des sites dynamiques composés de pages, de traitements serveur (accès aux bases de données, calculs, etc.) et de traitements exécutés par le navigateur (contrôles, traite-ments répétitifs, etc.).WebDev permet aussi de développer des sites statiques et semi-dynamiques.

Fonctionnement d’une application WebDevUne application WebDev hébergée sur un serveur peut être exécutée en appelant une URL particulière depuis un navigateur.Exemple :http://www.monserveur.com/wd90awp/wd90awp.exe/CONNECT/monappliLe lanceur de WebDev ‘wd90awp.exe’ permet d’exécuter l’applica-tion sur le serveur grâce au serveur d’application wd90session.exe.Le serveur d’application construit dynamiquement la première page

Page 14: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 13(C) PC SOFT - www.pcsoft.fr

Vos Notesde l’application et l’envoie au navigateur par l’intermédiaire du serveur Web.Le schéma ci-dessous illustre le fonctionnement d’une application WebDev.

Principe de programmation WebDevLe débit entre le serveur Internet et le poste client est plus lent qu’avec un réseau local classique. Les échanges de données entre le poste client et le serveur doivent donc être réduits pour que l’appli-cation puisse s’exécuter sans ralentissement.WebDev permet de différencier les traitements exécutés sur le ser-veur et les traitements exécutés sur le poste client.

1. Les traitements sur le serveurLes traitements exécutés sur le serveur sont les traitements princi-paux de l’application. Ils concernent la gestion de la base de don-nées (Hyper File et Hyper File Client/Serveur, xBase, AS/400, Oracle, SQL Server, Access, OLE DB, etc.), les traitements de calcul.Ces traitements sont écrits en W-Langage.

2. Les traitements sur le poste clientLes traitements exécutés sur le poste client sont les traitements de contrôle de saisie, de vérification qui ne nécessitent pas d’accéder au serveur. Ces traitements utilisent uniquement les informations contenues dans la page. Ces traitements peuvent être écrits en Javascript ou W-Langage. Dans ce dernier cas, WebDev se charge de convertir automatiquement le code W-Langage en Javascript pour qu’il puisse être exécuté par le navigateur.

3. Administrateur WebDevL’administrateur WebDev est un exécutable installé sur le serveur.L’administrateur permet de configurer le nombre de connexions autorisées en même temps pour le serveur, par site, par utilisateur. Il permet aussi de fixer le temps maximum d’exécution d’une requête et le temps limite pour la déconnexion des utilisateurs inactifs.L’administrateur peut à tout moment afficher la liste des utilisateurs connectés au site.

�����������

��������������������

�������������������������

������������

����������������������������

����������������������������

Page 15: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 14

Vos Notes

(C) PC SOFT - www.pcsoft.fr

ANCRAGES AVANCÉSGestion avancée des ancrages et conflits d’ancrage

WinDev, vous le savez sans doute déjà propose la notion d’ancrage sur les fenêtres.L’ancrage permet de définir le positionnement des champs lors d’un changement de taille de la fenêtre.Cet exemple utilise le projet “GainsDeveloppeur” et la fenêtre “Fenêtre Ancrage”. Ce projet est accessible depuis le kouglof.

Ancrage proportionnel en largeurLorsque l’utilisateur va agrandir la fenêtre, les champs “nom” et “prénom” doivent s’agrandirent sans se chevaucher.Il n’y a aucune raison que le nom s’agrandisse plus que le prénom ou inversement, il faut donc “répartir” l’agrandissement.Il suffit de sélectionner les deux champs et de choisir un ancrage “proportionnel vers la droite”.

Testez : Go ! Les 2 champs s’agrandissent bien proportionnellement lors du redimensionnement de la fenêtre.

Ancrage proportionnel en hauteurMaintenant, le champ “adresse” doit s’agrandir en largeur et en hauteur.En largeur pas de problème, car les boutons sont ancrés à droite. Ils vont suivre le bord de la fenêtre lors de son agrandissement et lais-ser ainsi de la place au champ “adresse” pour s’agrandir.Pour la hauteur, il est possible de choisir un pourcentage d’agrandis-sement 50% par exemple.WinDev détecte un conflit d’ancrage : les champs apparaissent en rouge.Normal : il faut ancrer les champs en-dessous du champ “adresse” pour éviter la superposition lors de l’agrandissement.Il suffit de décaler donc vers le bas de 50%, le champ “adresse” s’agrandissant potentiellement de 50 % seulement.

Testez : GO! En bas, c’est dommage de perdre cette place. Pourquoi ne pas agrandir le champ “observation” ?

Il suffit de définir pour le champ “Observation”, un ancrage “largeur et hauteur” avec une hauteur à 50 %.

Si vous voulez tester l’IHM de la fenêtre sans exécuter les trai-tements, cliquez sur l’icône de l’œil, ou sélectionnez le menu “Affichage…Afficher la fenêtre” ou Shift + F9.

De la même façon, les champs “adresse” et “Observations” augmen-teront de façon proportionnelle. Les champs “Code Postal”, “ville”, “téléphone”, ... devront se déplacer vers le bas du fait que le champ “adresse” peut augmenter de 50% : il faut modifier l’ancrage en hauteur à 100%.

Thème 1 : Gains développeur

Page 16: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 15

Vos Notes

(C) PC SOFT - www.pcsoft.fr

La gestion de la multi-sélection a été étendue aux “tables fichier” depuis WinDev 9.C’est très simple à gérer.

Cet exemple utilise la fenêtre “fenmultisélection” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Cette fenêtre contient une table fichier basée sur les Clients

Pour permettre à l’utilisateur d’imprimer les fiches Clients à partir d’une sélection qu’il aura faite, les étapes sont les suivantes :• Indiquer que la table fichier autorise la multi-sélection (cocher l’option “sélection multiple” dans la fenêtre de description du champ table). Il y a alors deux possibilités: • Soit un traitement manuel de la multi-sélection. Ce traite-ment se fait exactement comme pour la gestion des listes en parcou-rant les différents éléments sélectionnés. • Soit un traitement automatique de la multi-sélection en modi-fiant la description de l’état qui imprime les fiches.C’est ce second cas qui est utilisé dans l’état “Etat_MultiSelection”.• Indiquer dans la description de l’état que l’état imprime, non plus, toutes les lignes de la table mais seulement les lignes sélection-nées.

Il suffit de tester le programme pour voir le fonctionnement :• Go, faire une sélection multiple et imprimer.Pour sélectionner plusieurs fiches, les touches standard de sélection sont utilisées à savoir le CTRL pour sélectionner ou désélectionner une ligne supplémentaire ou le SHIFT pour une sélection de lignes contiguës.• Lancement de l’impression : seules les fiches des Clients sélection-nés sont imprimées.

Gestion de la multi-sélection sur une table fichier

TABLE MULTI-SÉLECTION

Page 17: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 16

Vos Notes

(C) PC SOFT - www.pcsoft.fr

La configuration de projet c’est quoi ?C’est la possibilité de créer des applications distinctes, des exécutables, des composants, des assemblages .NET, etc à partir d’un projet unique.

Cet exemple utilise la fenêtre “FenGestionParc” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.Les configurations de projet vont être utilisées pour réaliser une ver-sion “adaptée” d’un projet (sans modifier le projet “normal”).

Création d’une configurationPour créer une nouvelle configuration, il suffit d’utiliser l’option “Nouveau” du menu “Projet…Gestion des configurations”. Les informations nécessaires sont les suivantes :• Le nom de la nouvelle configuration, Montpellier.• Le type de génération : un exécutable.• Le nom de l’exécutable.

La nouvelle configuration apparaît dans la liste des configurations.Cette liste est rappelée dans le volet WinDev.

Association à une configurationUne fois la nouvelle configuration créée, il est possible de partager différents objets (fenêtres, états, requêtes, etc...) entre les 2 con-figurations (celle créée et celle correspondante au projet principal) ou avoir d’autres objets spécifiques à une configuration.Pour l’exemple, nous allons définir une première fenêtre spécifique à chaque configuration.Pour la rendre spécifique, il suffit de changer le libellé de la fenêtre et de le remplacer, par exemple, par “MONTPELLIER”.Enregistrez la fenêtre “FenGestionParc” par exemple sous le nom “FenGestionParc_MONTPELLIER.wdw” et définissez cette fenêtre comme “1ère fenêtre du projet”.

Nous avons maintenant 2 fenêtres qui sont adaptées à chacune des 2 configurations.Il nous reste à retirer de la configuration MONTPELLIER, la fenêtre initiale principale (clic droit sur la fenêtre “FenGestionParc” et sélectionnez “exclure de la configuration courante”).

A tout moment, il est possible de travailler sur une configuration spécifique : les éléments n’appartenant pas à cette configuration apparaissent grisés sous l’éditeur de projet.

Gérer les configurations multiples de projets

LES CONFIGURATIONS

Page 18: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 17

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Bien entendu, lors de la génération de la configuration (un exécuta-ble, une bibliothèque, etc…) seuls les éléments appartenant à cette configuration sont intégrés dans la cible.

Création de l’exécutableCliquez sur le bouton “créer l’exécutable”, dans la liste des élé-ments de la bibliothèque, seuls les éléments de la configuration courante sont intégrés.

Le raccourci Alt+F8 ou le menu “Atelier… Génération mul-tiple” vous permet de générer plusieurs configurations en même temps.

Page 19: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 18

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Une nouvelle syntaxe est disponible en version 9 pour utiliser les clés composées.

Cet exemple utilise le projet “GainsDeveloppeur” et la fenêtre “ClesComposees”. Ce projet est accessible depuis le kouglof.

Sans cette nouvelle syntaxe, un code de recherche avec une clé composée est de la forme :

sValRech est une chaîne sValRech = HConstruitValClé (Client, ... CléCodePostalSocieté,... RechercheCodePostal, RechercheSociete)HLitRecherche(Client,CléCodePostalSocieté,... sValRech)TableAffiche(Table_Client,taCourantPremier)

Maintenant, il suffit d’indiquer les valeurs de la clé entre crochets directement.Il n’y a plus besoin d’utiliser HConstruitValClé.

HLitRecherche(Client,CléCodePostalSocieté,... [RechercheCodePostal,RechercheSociete])TableAffiche(Table_Client,taCourantPremier)

Cette nouvelle syntaxe simplifie l’écriture du code, mais aussi sa compréhension et donc sa maintenance.

Exploitation de la nouvelle syntaxe de construction des clés composées

CLÉS COMPOSÉES

Page 20: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 19

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Très souvent, vous avez besoin de connaître dans vos projets les différences entre votre sauvegarde de la semaine et votre version actuelle afin de comprendre par exemple un comportement différent.Une fenêtre fonctionnait très bien et elle ne fonctionne plus maintenant.

Cet exemple utilise le projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Recherche des différences sur la classe cPayboxDirect• Allez sur le code de la classe “cPayboxDirect”.• Choisissez le choix “Comparer l’élément en cours” dans le menu “fichier”.• Sélectionnez la classe “cPayBoxDirect-old” dans le répertoire “\Ancienne Classe”, puis cliquez sur le bouton “Terminer”.• Sélectionnez la classe à comparer avec la classe actuelle.

Le comparateur de WinDev présente les différentes méthodes qui ont été modifiées. Vous pouvez par exemple voir que la méthode “sMsgErreurAppel” n’existait pas dans l’ancienne version.

Visualisation des différencesPour visualiser les différences de la méthode “Credite”, double-cliquez sur la méthode “Credite”. A gauche, s’affiche la version actuelle, à droite l’ancienne version. • En rose, c’est le code modifié, • En bleu, le code supprimé dans la classe actuelle, • En vert, le code ajouté.

C’est la même chose pour tous les éléments : les requêtes, les fenê-tres, les états, ...

Comparer le code d’un projet après modification

DIFFÉRENCES DE CODE

Page 21: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 20

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Un patch pourquoi et quand ?Le patch répond à un besoin précis : modification limi-tée, diffusion urgente.

Cet exemple utilise la fenêtre “Ancrage” du projet “WD Patch”. Ce projet est accessible depuis le kouglof.

Supposons, par exemple, que dans cette fenêtre le développeur ait oublié d’inclure le champ de saisie “Email”.La rubrique e-mail a bien été prévue au niveau de l’analyse mais oubliée dans l’IHM.

Pour ajouter le champ, il suffit de faire un simple “Drag and Drop” depuis l’analyse (fichier “Client”) vers la fenêtre.Pensez à remplir les informations RAD dans l’analyse. Cela sera très utile dans vos développements notamment dans le cas présent.

Pour propager cette évolution sans passer par la création d’une pro-cédure d’installation, il suffit de créer un patch. Cette fonctionnalité est accessible depuis l’option “Créer un patch de la bibliothèque” du menu “Atelier..Bibliothèque”.

Les étapes de la création du patch sont les suivantes :• Indiquer les éléments à intégrer dans le patch. Ici la fenêtre modi-fiée : la fenêtre “ancrage”. • Ajouter un libellé explicatif du patch.• Cliquer sur l’option “Générer une installation”.• Cliquer sur “Terminer”.

Un répertoire “Patch” est créé dans le répertoire du projet. Ce répertoire contient un fichier “auto extractible” d’installation à exécuter sur le poste client : il suffit alors d’envoyer ce fichier “auto extractible” à votre client.

Ce fichier patch (de la forme fichier.wdl.001) sera simplement ins-tallé à coté de l’exécutable de l’application en clientèle.

Lors du prochain lancement de l’application par l’utilisateur, le patch sera pris en compte et l’application intégrera les modifica-tions définies dans le patch.

Mise en place et utilisation des patchs de mise à jour

PATCHS DE MISE À JOUR

Page 22: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 21

Vos Notes

(C) PC SOFT - www.pcsoft.fr

WinDev prend en compte jusqu’à 20 langues différentes par application et ceci à toutes les étapes du dévelop-pement d’une application.

Cet exemple utilise la fenêtre “FenMultilangue” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Paramétrage du projetVoici les différentes étapes pour rendre un projet multi-langues :1- Tout d’abord définir dans la description du projet les langues (20 langues maxi par projet) qui seront utilisées par le projet (fran-çais, anglais, allemand, espagnol, italien, portugais, russe, chinois, etc….).Dans cet exemple, nous ajoutons la gestion de l’anglais à notre pro-jet qui sera donc français et anglais.2- Ensuite, il sera nécessaire de convertir les chaînes de caractères en ressources multi-langues.

Conversion des chaînes en ressources multi-languesEn effet, un message affiché par un ordre “Info” est une ressource multi-langues, par exemple le message “confirmez-vous la modifica-tion, etc…” sera à traduire. Par contre un nom de fichier ne devra pas être traduit !Pour réaliser cette conversion, utilisez l’option “convertir les chaî-nes simples en messages multi-langues” du menu “Code .. Message multi-langues”.

WinDev parcourt automatiquement tout le code source et pour chaque chaîne propose de la convertir ou non en ressource multi-langues.Remarquez le petit drapeau qui apparaît juste derrière la chaîne pour spécifier qu’il s’agit maintenant d’une ressource multi-langues et donc qu’elle pourra être traduite.

Arrêtons-nous sur cette chaîne :

“Le client ”+TXT_NOM+” a bien été ”+sOperation

Nous avons ici le cas typique d’erreur due à la construction syntaxi-que liée au multi-langues : la chaîne est construite dynamiquement par programmation en intégrant une variable.Mais la construction syntaxique en français est différente de l’an-glais.

“Le client ” + variable + “ a bien été ” +variable ne se traduit pas par

Comment créer une application en plusieurs langues ?

MULTI-LANGUES

Page 23: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 22

Vos Notes

(C) PC SOFT - www.pcsoft.fr

“The customer ”+variable+ “a bien été “+variable, mais plutôt par “The customer” + variable + “ has been ”+ variable +“successfully”.Dans ce cas comment faire ?Tout simplement, utiliser l’ordre du W-langage ChaîneConstruit avec le paramètre optionnel pour-cent “%”.La chaîne pourra ainsi être traduite en toute sécurité.

Traduction des ressources multi-languesUne ressource multi-langues peut être un message mais également le titre d’une fenêtre, le Libellé d’un champ, le message d’aide d’un champ, la bulle d’aide d’un champ, le contenu d’un champ (liste, combo, interrupteur et sélecteur) etc….

Vous pouvez traduire les ressources une à une sous l’éditeur, soit directement à la main, soit à l’aide d’un outil de traduction de type Systran (bouton “traduire”).Cette solution est difficilement envisageable sur un projet consé-quent…

L’autre solution est d’utiliser WDMSG. WDMSG est un module optionnel qui va industrialiser cette phase de traduction.

Tout d’abord, WDMSG va automatiquement extraire du projet toutes les ressources multi-langues et générer un fichier texte en utilisant l’option “extraction des messages” du menu “outils…WDMSG”.

Vous pouvez alors soit directement traduire dans ce fichier texte, soit utiliser WDTRAD.

Utilisation de WDTradWDTRAD va permettre de mettre en forme ce fichier texte pour en faciliter la traduction, mais surtout, WDTrad va vous seconder dans la traduction.Le grand plus de WDTRAD est de gérer un dictionnaire de traduction que vous allez pouvoir enrichir au fur et à mesure.Par défaut le dictionnaire est alimenté par plus de 10.000 traduc-tions (les plus courantes).

Pour utiliser ce dictionnaire et faire une première passe de traduc-tion automatique sur notre fichier texte, il suffit d’utiliser le bouton “AutoTrad”.WDTRAD va donc pour chaque ressource, regarder si une correspon-dance exacte et une traduction sont disponibles dans le dictionnaire. Si oui, la traduction est automatiquement affichée.

Ensuite pour les ressources non trouvées dans le dictionnaire, il suf-fira de les saisir dans la colonne de droite, et alimenter ainsi auto-matiquement le dictionnaire.Vous pouvez très bien avoir plusieurs dictionnaires dans différentes langues.

Il ne reste maintenant plus qu’à réimporter dans le projet le fichier texte traduit vers la langue anglaise grâce à l’option “Réintégration des messages” du menu “Outils…WDMSG”

Page 24: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 23

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Changement de langue par programmationCréez deux boutons :• un avec “français” • un avec “english” puis éditez le code du bouton.

Pour passer l’application dans la langue anglaise, le code à utiliser est simplement la fonction Nation du W-Langage avec le n° de la langue. Pour l’anglais c’est 3.Et ensuite, la fonction Utilise permet de réafficher la fenêtre :

Nation(3)Utilise(Nom de la fenêtre)

Et pour repasser en français, il suffit d’utiliser la fonction Nation avec le code 5.

Nation(5)Utilise(Nom de la fenêtre)

Go du projet !L’application est en françaisLors d’un clic sur le bouton “english”, l’application passe en anglais.Cliquez sur le bouton “english” puis “français” pour tester.

Page 25: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 24

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Nous allons maintenant voir comment on peut créer un pattern pour générer “son” code à soi.WinDev propose des modèles RAD que l’on peut modi-fier.Dans cet exemple, nous allons ajouter un bouton dans un modèle “fiche” qui permettra de bloquer l’enregis-trement en cours du fichier.

Cet exemple le projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Voici comment procéder pour modifier un pattern existant.• Ouvrir le projet “GainsDeveloppeur”.• Sélectionner l’option de menu “Atelier..Modèle RAD personnalisé (Pattern)..Ouvrir un modèle RAD..”.• Dans le sélecteur de fichiers qui s’ouvre, sélectionner le chemin “..\<Répertoire d’installation de WinDev 9>\Programmes\Donnees\Modeles\RAD\WD”.• Choisir le modèle “fiche.MDL” : celui-ci s’affiche.• Enregistrer sous pour mettre dans le répertoire “Personnel” du produit.Le mode “Mode édition des zones” permet de définir l’aspect visuel de la fenêtre (IHM).

Une fois dans ce mode d’édition de zone, il est possible d’agrandir la zone contenant les boutons pour ajouter un nouveau bouton.• Sélectionnez la zone de boutons “Bouton_Fiche_Parcours” pour l’agrandir vers le bas.• Créez un nouveau bouton.• Menu “Affichage”, option “mode gabarit” (pour décocher l’option “mode gabarit”).• Modifiez le nom du bouton (BTN_BLOQUE) et son libellé (Bloque).• Tapez le code suivant dans le bouton :

%ifdef PROC%ifdef FICHIERH B l o q u e N u m E n r ( { R A D _ F I C H I E R _A},hNumEnrEnCours, hBlocageLectureEcri-ture)%endif %endif

Reportez-vous à la documentation pour la signification des mots-clés du RAD (%ifdef PROC, etc...)

Comment créer un pattern pour générer “son code”

PATTERN RAD

Page 26: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 25

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Le code est réalisé, il suffit d’enregistrer le modèle RAD “modifié” pour pouvoir le tester.• Créez une nouvelle fenêtre grâce à l’option “Fichier – Nouvelle fenêtre – Onglet RAD”. • Sélectionnez le modèle qui vient d’être créé : “fiche avec par-cours” (il est possible de changer ce nom dans la fenêtre de descrip-tion du pattern). Le modèle personnalisé dispose d’un icone spécifi-que pour le distinguer des modèles “classiques”.• Validez.• Sélectionnez le mode de programmation “Programmation Procédurale”.• Choisissez le fichier Client.• Laissez toutes les options par défaut et terminez l’assistant.

Le bouton “ajouté” est disponible dans la fenêtre ainsi que le code généré.

Page 27: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 26

Mettre en place une installation réseau ou Internet de son application

INSTALLATION RÉSEAU

Une fois le développement terminé, il reste à installer l’application sur les différents postes qui vont l’utiliser.Ensuite, lorsque l’application va évoluer, il faudra mettre à jour les postes pour qu’ils bénéficient de la dernière version.Ces 2 phases sont gérées par l’éditeur d’installation réseau de WINDEV 9.Nous allons voir comment créer une installation avec mise à jour automatique.Cet exemple le projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Déroulement de la création de la procédure d’installation• Ouvrir le projet “GainsDeveloppeur”.• Lancer la procédure d’installation par l’icone “CD”.• Accepter la création de l’exécutable.• Plan 1 : “Choix du modèle d’installation” : cocher le choix 2 d’ins-tallation par mise à jour réseau.• Plan 2 : Choisir la langue.

Nous allons commencer par créer une installation “classique”.Rappel : vous pouvez créer des installations gérant jusqu’à 20 lan-gues.Le moteur d’installation (WDSetup) est livré en standard en français et en anglais avec son code source pour une éventuelle traduction.

Dans cette phase, il suffit de décrire l’installation en répondant tout simplement aux questions posées par l’assistant.• Plan 3 : Choix du décor de l’installation. Le décor de l’assistant est bien entendu complètement paramétrable pour le mettre aux couleurs de votre application ou de votre entreprise.Il vous suffit d’indiquer ici les différents éléments graphiques qui seront utilisés pour l’installation.• Plan 4 : Choix des fichiers installés. Ce plan permet de définir les fichiers qui sont concernés par l’installation.Bien entendu WINDEV sélectionne automatiquement tous les fichiers nécessaires au fonctionnement de l’application.Ce que nous allons préciser ce sont les fichiers que l’on souhaite ajouter. Par exemple nous allons ajouter les fichiers contenant un jeu de données par défaut.A noter que les fichiers qui apparaissent en vert sont les “nouveaux” fichiers depuis la dernière génération d’installation. • Plan 5 : Choisir un répertoire d’installation par défaut• Plan 6 : “Modules additionnels” : cocher la licence et le désinstal-

Page 28: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 27

Vos Notes

(C) PC SOFT - www.pcsoft.fr

lateur. Ce plan permet d’indiquer à l’installateur s’il doit exécuter automatiquement la modification des fichiers de données (si les fichiers installés chez le Client ne sont plus en phase avec l’analyse du projet).De même, il est possible de paramétrer l’affichage ou non d’un fichier de licence et l’installation ou non de l’outil de désinstallation d’application standard de WinDev.• Plan 6 : “Licence” : Sélectionner le fichier Licence.rtf du réper-toire du projet à l’aide du bouton “Parcourir”.• Plan 7 : Contrôle des versions. Jusqu’à maintenant nous avons vu les paramètres qui concernent l’installation.Ce plan est spécifique à la mise à jour de l’application.C’est ici qu’il faut indiquer ce qui doit être fait en cas de présence d’un ancienne version de l’application en utilisant la notion de ver-sion minimale.

Deux cas peuvent alors se présenter :• soit cette nouvelle version peut coexister avec d’anciennes ver-sions de l’application et la mise à jour des postes utilisateurs sera optionnelle. Dans ce cas, le numéro de version minimale ne doit pas être modifié.• soit les utilisateurs doivent se mettre obligatoirement à jour de cette dernière version. Le numéro de version minimale doit être modifié en indiquant le numéro de version de cette dernière ver-sion.

Configuration de la mise à jour automatiqueLe bouton avancé permet d’indiquer comment est géré le système de mise à jour (un répertoire partagé dans lequel est stocké une version étalon de l’application). • dans le cas d’une utilisation locale ce sera un répertoire partagé du réseau • dans le cas d’un déploiement sur des postes distants via un accès HTTP ce sera une URL.

• Premier onglet : Définit la fréquence de contrôle de version par l’application installée sur le poste utilisateur.L’application vérifiera qu’elle est bien en dernière version par rap-port à la dernière installation réseau.Sinon elle vérifiera si la mise à jour est optionnelle ou obligatoire.Il est également possible de préciser les messages à afficher en cas d’intervention sur l’application (mise à jour en cours, arrêt annoncé, arrêt forcé et reprise d’installation en cas d’échec).• Deuxième onglet : permet de forcer le lancement automatique de la mise à jour au lancement de l’exécutable dans un délai défini.• Troisième onglet : permet d’ajouter des informations dans un his-torique qui sera proposé à l’utilisateur. Ceci est optionnel mais il est conseillé de le remplir régulièrement • Quatrième onglet : Une application réseau peut également être référencée dans le Centres de Contrôle. C’est ici qu’il faudrait le préciser, mais ce n’est pas l’objet ici, les Centres de contrôles seront vu ultérieurement.• Fermeture de l’assistant : Tous les paramètres spécifiés sont bien entendu conservés et pourront être modifiés ultérieurement grâce à l’interface du contrôle à distance de l’application. Ce centre de contrôle des applications réseau, le programme WDAdminExe sera

Page 29: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 28

Vos Notes

(C) PC SOFT - www.pcsoft.fr

installé dans le répertoire de l’application de référence.• Cliquez sur “Suivant” :C’est ici que l’on choisit d’installer l’application de référence sur un réseau local ou de la diffuser sur Internet.On choisit ici de placer l’application de référence dans un répertoire partagé (fonctionnement en réseau local).• Cochez le choix 1 et cliquez sur le bouton “Suivant”:Par défaut, le centre de contrôle de l’application permet de gérer automatiquement la liste des utilisateurs connectés. • Laissez OUI et cliquez sur le bouton “Suivant”:Au niveau de l’installation, indiquez à quel endroit, sur quel support la créer, par défaut dans un sous-répertoire du projet.• Cliquez sur “Suivant” puis “Terminer”.

A ce stade, la préparation de l’installation est terminée, laissez WINDEV générer l’installation.

Test de la procédure d’installationWINDEV permet de lancer la procédure d’installation qui vient d’être créée.Cela permet de déployer la nouvelle version de l’application directe-ment pour les utilisateurs qui sont connectés sur le même réseau.Pour tester la procédure d’installation, il suffit de :• Cliquer sur OUI, WDSetup se lance.La proposition de sauvegarde de projet se lance : chaque fois que l’on crée un exécutable ou une installation d’une application, l’édi-teur vous propose de réaliser une sauvegarde du projet correspon-dant à cette version.• Choisir la langue d’installation.• Choisir une interface en Français.• Paramétrer le répertoire réseau.

Pour déployer l’application de référence, il reste à choisir un réper-toire partagé du réseau :• Choisir un répertoire d’une machine du réseau grâce au bouton “parcourir” puis cliquer sur suivant.• Cliquer sur “Suivant” sans cocher.

L’installateur affiche un résumé des paramètres de l’installation.• Cliquer sur “Suivant” : Ce plan informe de l’impact de cette ins-tallation pour les utilisateurs de l’application. Ici il s’agit d’une première installation, donc rien ne s’oppose au lancement de l’ins-tallation.• Cliquer sur “Suivant” puis “Terminer”.

Voilà, l’installation de référence est prête.Les nouveaux utilisateurs de l’application installeront l’application sur leur poste en utilisant le programme “install.exe”.Par la suite, ils n’auront plus rien à faire.En cas de mise à jour, c’est l’application elle-même qui s’auto-véri-fiera et proposera ou imposera l’installation de la mise à jour.

Page 30: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 29

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Installation HTTPNous venons de voir le déploiement pour des utilisateurs qui sont sur un même site.Comment cela se passe si les utilisateurs sont sur des sites dis-tants ?Et bien c’est la même chose !La création d’une installation avec mise à jour http se déroule de la même façon. La différence réside dans la façon de la déployer.

Pour déployer une application chez un hébergeur, il suffit d’indiquer l’URL de connexion au site Internet, les paramètres de connexion FTP pour pouvoir y poser mon installation de référence.

A l’issue de l’installation, il est possible de tester l’URL. C’est cette URL qu’il suffit de communiquer aux utilisateurs.

Pour l’installation, cette page de téléchargement s’affiche, il suffit de cliquer sur le lien Install.exe pour télécharger puis installer l’ap-plication.

Le mécanisme de mise à jour est le même que précédemment. Le lancement de l’application détecte les mises à jour et les lance.

Voilà nous savons maintenant créer et mettre à jour très simplement nos applications même sur des sites distants.

Page 31: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 30

Vos Notes

(C) PC SOFT - www.pcsoft.fr

INSTALLATION INTERNET Installation avec téléchargement automatique du framework

Dans certains cas, il peut être intéressant de créer une procédure d’installation très légère, par exemple pour en accélérer le téléchargement par Internet ou pour en minimiser la taille (à cause du choix du support physi-que).Une des solutions est l’utilisation d’une installation avec téléchargement automatique du framework.

Cet exemple utilise la fenêtre “Ancrage” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Création de la procédure d’installationPour démarrer l’assistant de création de procédure d’installation, cliquez sur l’option “Créer la procédure d’installation” du menu “Atelier”.La procédure d’installation permet de créer l’exécutable :• Demandez la création de l’exécutable.• Indiquez que l’exécutable utilise le framework commun.• Cliquez sur “Terminer”.

La procédure de création d’installation se poursuit automatique-ment. Pour une application diffusée sur Internet, il faut que l’instal-lateur soit le plus compact possible. Pour réaliser ce type d’installation avec WinDev il suffit de :• Choisir “Créer une installation autonome”.• Choisir ensuite “Installation compacte”.• Limiter au maximum l’ajout de modules additionnels.• Choisir comme support un exécutable auto extractible.

L’installation ainsi définie sera la plus compacte possible.

Si l’utilisateur installe l’application sur une machine qui n’est pas encore équipée du framework, le framework sera téléchargé auto-matiquement depuis le site PC SOFT.

Page 32: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 31

Vos Notes

(C) PC SOFT - www.pcsoft.fr

WinDev permet de créer des installations au format MSI de façon aussi simple qu’une installation “classique”.

Cet exemple le projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Création de la procédure d’installationPour créer une installation au format MSI, il suffit de :• Ouvrir le projet “GainsDeveloppeur”.• Lancer la procédure d’installation par l’icône CD.• Valider la demande de création d’exécutable.• Plan 1 : Passer le plan “Choix du modèle d’installation” en gardant le premier choix.• Plan 2 : Sélectionner “Installation par un package MSI” (3ème choix).• Plan 3 : Valider la liste fichiers nécessaires à l’application (la liste des fichiers est détectée automatiquement par l’installation).Les fichiers en vert sont “nouveaux” depuis la dernière génération d’installation.• Plan 4 : Choisir un répertoire d’installation par défaut.• Plan 5 : “Modules additionnels” : Cocher la licence.• Plan 6 : “Licence” : Sélectionner le fichier Licence.rtf du réper-toire du projet à l’aide du bouton Parcourir.• Cliquer sur “Terminer”• A la fin de la génération, cliquer sur « Explorer » pour visualiser le fichier “.MSI”.

Déroulement de l’installation• Lancer le fichier “.MSI”.• Valider l’assistant et choisir “Installation complète”.• Terminer l’installation : l’application est installée.

Principales limitations du format MSIPar rapport à l’installeur WinDev, une installation MSI dispose de certaines limitations. Ainsi, une installation au format MSI :• ne permet pas de mettre en oeuvre le mécanisme de mises à jour automatiques.• ne permet pas la modification automatique des fichiers Hyper File.• ne contient pas les options : ajout d’outils redistribuables, instal-lation du driver ODBC et du MDAC, paramétrage des répertoires des fichiers de données …

Comment générer une procédure d’installation au format MSI ?

INSTALLATION MSI

Page 33: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 32(C) PC SOFT - www.pcsoft.fr

Le MCU (Macro Code Utilisateur) permet à l’utilisateur final de créer ses propres traitements complémentaires dans l’application.Et ceci indépendamment du développeur.

Cet exemple utilise le projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Ajout d’un raccourciSur la fenêtre “FenMultiselection”, le développeur n’a pas placé de raccourcis clavier sur les boutons et notamment sur le bouton “Imprimer”.Regardons comment l’utilisateur final peut ajouter un raccourci CTRL + P sur ce bouton.• Lancez un test de la fenêtre “FenMultiselection”.• Cliquez sur le bouton du MCU.• Ajoutez un MCU de type “Une action sur une combinaison de tou-ches.”.• Choisissez de détecter la touche.• Détectez la touche “CTRL+P”.

Etudions maintenant le code pour appeler le bouton “Imprimer”.La fonction permettant de simuler un code de clic est ExécuteTraitement avec en paramètre le nom du bouton.Dans la liste des champs, on voit que le bouton s’appelle “Imprimer”.

ExecuteTraitement(“Imprimer”,trtclic)

Voilà c’est terminé, l’utilisateur final a ajouté son propre raccourci clavier à l’application.

Pour tester, il suffit d’appuyer sur “CTRL+P”.La combinaison de touches “CTRL+P” appelle le traitement d’im-pression.

Vous pouvez limiter l’utilisation du MCU à certaines fenêtres.Cette limitation est accessible depuis la fenêtre de description de la fenêtre, dans l’onglet détail (coche “interdire l’utilisation du MCU”).

Lors de la création de l’exécutable, vous pouvez également restrein-dre l’utilisation du MCU par un mot de passe, voir même le désacti-ver totalement.

Par défaut, les ordres de modification de fichiers ne sont pas accessi-bles : vous pouvez cependant les autoriser si vous le souhaitez.

Les utilisateurs gèrent leurs macros

MCU : LES MACROS

Thème 2 : Gains utilisateur

Page 34: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 33

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Autre fonctionnalité qui permet d’améliorer la vie des utilisateurs : les splitters.

Cet exemple utilise la fenêtre “Fiche_CLIENT” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Prenons par exemple le cas de la fenêtre “Fiche_CLIENT”. Cette fenêtre présente une liste des appels téléphoniques en attente de traitement.• Un technicien, ce qui l’intéresse c’est de visualiser la liste des appels techniques.• Par contre, un commercial, lui, veut visualiser la liste des appels commerciaux.

Pour ne pas faire deux fenêtres, une solution peut être d’ajouter un champ “splitter”.Lors de l’ouverture de la fenêtre “Fiche_CLIENT”, l’AAD propose de créer automatiquement ce splitter.

Ici, le champ “splitter” va être créé dans l’éditeur :• Choisir le champ “splitter” dans la barre d’outils.• Positionner le champ “splitter” entre les deux tables pour que l’utilisateur puisse agrandir l’une ou l’autre.• Au passage, ajouter un deuxième “splitter” sous le champ “obser-vations”.

Il suffit ensuite de définir les ancrages : dans cette fenêtre, les 3 champs sont agrandis en hauteur et en largeur.

C’est terminé, vous pouvez tester le redimensionnement de la fenê-tre en exécution.

Personnaliser l’environnement de l’utilisateur sans programmation

LES SPLITTERS

Page 35: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 34

Vos Notes

(C) PC SOFT - www.pcsoft.fr

La persistance des champs permet de mémoriser auto-matiquement les valeurs saisies par l’utilisateur et de les lui reproposer par défaut lors de sa prochaine saisie.

Cet exemple utilise la fenêtre “Fenêtre_persistance” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Pour qu’un champ soit persistant, il suffit de cocher la case “mémo-riser la valeur” dans l’onglet “Détail” de la fenêtre de description du champ.

Les valeurs mémorisées sont alors stockées soit :• dans la base de registres.• dans un fichier XML.• dans un fichier de configuration (.ini).

Les fonctions du W-Langage InitParamètre, SauveParamè-tre et ChargeParamètre permettent de gérer la persistan-ce par programmation.

Très pratique pour gérer la persistance de variables globa-les.

Retrouvez plus d’informations sur le sujet dans la LST 60.

Attention : la persistance d’un champ exécute automatiquement le traitement de modification du champ. Attention à vos traitements assez longs.

Mémoriser le contenu des variables ou des champs

PERSISTANCE DES CHAMPS

Page 36: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 35

Vos Notes

(C) PC SOFT - www.pcsoft.fr

WinDev permet de demander la validation automati-que d’un bouton d’une fenêtre ou d’une fenêtre système (Info, OuiNon...) après un délai déterminé.

Cet exemple utilise la fenêtre “Fenetre_maj” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Cette fenêtre lance un calcul de statistiques d’une demi-heure.Le traitement simulé est long, donc un message prévient l’utilisateur qu’il va bloquer sa machine : on lui demande confirmation.

Mise en place sur un boutonPour ajouter une minuterie au bouton “OK” afin qu’il se valide tout seul au bout de 5 secondes, il suffit de :• Ouvrir la fenêtre de description du bouton “OK”.• Sélectionner l’onglet “Détail”.• Indiquer le temps en secondes qui s’écoulera avant l’exécution du traitement du bouton. Par exemple 5 secondes.

Lors du test de la fenêtre, on remarque le décompte automatique dans le bouton “OK”. Sans aucune action de l’utilisateur au bout de 5 secondes, le bouton “OK” sera automatiquement exécuté.

Mise en place sur une fenêtre systèmePour appliquer la minuterie sur les fenêtres de type OuiNon, Info, Erreur, Confirmer, il suffit de l’indiquer par programmation.

Dans le code de clic du bouton, ajoutez un appel à la fonction DelaiAvantFermeture en indiquant en paramètre le délai de valida-tion en centièmes de secondes

DélaiAvantFermeture(500)SI OuiNon(Oui,“Confirmez-vous la sortie ?”) ALORS FermeFIN

Validation automatique des boutons après un délai défini

BOUTONS MINUTERIE

Page 37: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 36

Vos Notes

(C) PC SOFT - www.pcsoft.fr

CHM est le nouveau format d’aide qui remplace le for-mat HLP.Un fichier d’aide CHM, c’est tout simplement un ensem-ble de pages HTML regroupées et compilées pour ne produire qu’un seul fichier. Cet exemple utilise la fenêtre “Fenetre_maj” du projet “GainsDeveloppeur”. Ce projet est accessible depuis le kouglof.

Création d’un système d’aideDepuis le menu “Fichier..Nouveau” sélectionnez la création d’un système d’aide.L’assistant permet ensuite de choisir les éléments du projet (fenê-tres et états) pour lesquels l’aide doit être générée. WinDev va alors préparer un squelette de pages d’aide pour chaque élément sélectionné.

Gestion des mots-clésLa génération de l’aide trouve des mots-clés à associer à chaque page grâce à l’option “Index Automatiques” du menu “Menu Système d’aide”.Les mots-clés sont affichés dans l’onglet “Index” de l’aide et sont associés à la page.

Compilation du fichier CHMUne fois l’aide écrite et mise en forme, il faut la compiler :1. D’abord, il faut définir le compilateur à utiliser depuis l’option “Option de compilation” du menu “Système d’aide”. On choisit d’utiliser le compilateur HTML.2. Saisir le nom du fichier compilé : “Aide.chm”.3. Générer le fichier d’aide (menu “Système d’aide..Compiler”).

Association du fichier CHM à l’application WinDev• Ouvrir la fenêtre “Fiche_client”.• Créer un bouton d’appel de l’aide.• Utiliser la fonction W-Langage WHelp.

Il y a alors deux possibilités • Vous voulez lancer le CHM directement donc vous passez simple-ment en paramètre le chemin du fichier CHM. • Vous voulez lancer et positionner le CHM directement à la bonne page. Dans ce cas, il faut ajouter l’identifiant de la page d’aide que vous souhaitez ouvrir. Cet identifiant, vous le trouvez dans les pro-priétés de la page d’aide.

Whelp(“Aide.chm”, NuméroIndex)

Comment ajouter une aide au format CHM dans une application

AJOUTER UNE AIDE

Page 38: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 37

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Les FAA sont les fonctionnalités automatiques de l’ap-plication.Les utilisateurs bénéficient automatiquement de ces fonctionnalités sans qu’il soit nécessaire de coder quoi que ce soit.Une documentation standard sur ces fonctionnalités est fournie avec WinDev pour les livrer avec vos applica-tions.

Cette documentation peut être livrée directement aux utilisateurs finaux.

Livrez simplement le fichier PDF “Documentation_Utilisateur_WD9.pdf” disponible dans le répertoire “Aide” de WinDev.Ce fichier d’aide est également disponible en téléchargement sur le site de PC SOFT : www.pcsoft.fr

La documentation “utilisateur” des FAA

DOCUMENTATION FAA

Page 39: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 38(C) PC SOFT - http://www.pcsoft.fr

InstallationLes principales étapes de l’installation d’un moteur de base de don-nées Hyper File Client/Serveur sont les suivantes :• Lancer l’installation• Sélectionner l’option “Installer un nouveau serveur”• Indiquer le répertoire allant contenir les éléments du serveur HYPER FILE, à savoir: • le serveur en lui-même • les différentes bases de données Par exemple, saisir “C:\Serveur HF”• Indiquer le nom de la machine serveur (par exemple “ServeurHF”).• Indiquer le port qui va être utilisé par le serveur pour le transfert des données, c’est-à-dire pour communiquer avec les applications clientes.• Indiquer s’il faut aussi installer le Centre de contrôle Hyper File.

Voila l’installation est terminée… Et un serveur Hyper File est disponible sur une machine serveur Windows.

Compléments d’informations

Qu’est ce qu’un port ?Un port est un point d’entrée à un service (service web, service DNS, service mail, serveur Hyper File,...) sur un équipement (PC, serveur,...) connecté à un réseau.Sur un réseau (TCP-IP) chaque équipement possède au moins une adresse IP. Chaque adresse supporte pas moins de 65000 ports offrant chacun un service. L’ensemble des services est référencé et donne lieu à une affectation précise des ports. Un site web est ainsi visible sur le port 80, l’envoi de mail se fait sur le port 25 et sa réception sur le port 110, un serveur Hyper File est accessible par défaut via le port 4900 et MantaManager sur le port 5002.

Autrement dit : sur un serveur, il y a des applications qui tournent. Pour dialoguer avec ces applications, il faut un «tuyau» identifié par un numéro : le numéro de port.Exemple : un serveur web utilise le port 80, Telnet port 23, Serveur Hyper File : 4900 (par défaut).

Installer Hyper File Client/Serveur sur Windows

INSTALLATION

Thème 3 : Base de données

Page 40: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 39

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Ports utilisés :• Le serveur Hyper File utilise par défaut le port 4900. Ce port peut être configuré via le fichier HFConf.ini [INIT] AccessPort = 4920

• mantamanager utilise un port fixe 5002. Ce service n’est pas néces-saire pour accéder à un serveur Hyper File (il permet de lister les serveurs d’une machine et de démarrer un serveur sur la machine).Il n’est donc pas obligatoire d’ouvrir ce port sur Internet.

Utilisation via InternetIl faut préciser dans la connexion de l’application cliente le nom du serveur (par son nom ou son adresse IP) :• si votre serveur peut être identifié par un nom (exemple : zeus.org), vous pouvez utiliser celui-ci dans la connexion. Ce nom doit être enregistré dans un service DNS (qui peut être dynamique comme dyndns, no-ip par exemple)• si le serveur possède une IP fixe, vous pouvez utiliser directement celle-ci (de la forme 87.180.12.1).

Pour pouvoir accéder au serveur depuis Internet, il faut ouvrir un port dans le firewall protégeant le serveur.On pourra au choix :1) Placer le serveur dans la DMZ, l’ensemble des ports du serveur sera alors visible depuis Internet. Si le serveur est protégé par son propre FireWall logiciel (par exemple celui du “Service Pack 2” de Windows XP, IpTable sous Linux), il faut alors ouvrir le port du ser-veur Hyper File (qui est par défaut 4900).2) Effectuer un forward de port sur son routeur-firewall.Il faut rajouter une règle dans le routeur qui spécifie que les con-nexions arrivant sur un port X depuis Internet seront transférées sur la machine hébergeant le serveur Hyper File sur le port 4900 (ou celui précisé dans le fichier “HFConf.ini”).Il faudra utiliser pour le client le port X visible depuis Internet.

Si le poste client utilise un firewall, de la même manière, il faut que celui-ci permette aux applications de se connecter via le port utilisé vers l’extérieur.

Comment préciser le port dans l’application cliente1. Via l’analyse (onglet avancé dans la description de la connexion)2. Par programmation en faisant suivre le nom ou l’IP du serveur par : (deux point) puis le numéro du port (ex «zeus.org:4920» ou «192.172.1.99:4920» ). Exemple : HOuvreConnexion(«MaConnexion»,»user»,»mdp»,»monsite:4920»,...)

Pourquoi certains ports sont fermés par défaut ?En limitant le nombre de ports ouverts sur la machine, on améliore la sécurité : faille logiciel de l’OS, service mal configuré, service non protégé...

Page 41: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 40

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Nous avons installé le moteur Hyper File Client/Serveur, nous allons maintenant détailler comment créer une base de données.

Une base de données au sens Client/Serveur,c’est quoi ?Une base de données regroupe l’ensemble des fichiers Hyper File Client/Serveur.

Comment créer une base de données ?Nous allons ici créer une base de données à l’aide du centre de con-trôle Hyper File. Les étapes sont alors les suivantes :1. Ajouter la nouvelle machine serveur dans le centre de contrôle. On recherche un “Serveur Hyper File” grâce au nom de la machine sur laquelle nous venons d’installer le moteur de la base de données Hyper File Client/Serveur.2. Dérouler le serveur dans le treeview.3. S’identifier auprès du serveur. A l’installation, un administrateur a été créé par défaut, c’est l’utilisateur “ADMIN”.Cet utilisateur n’a pas encore de mot de passe et possède tous les droits sur le serveur et sur les bases de données…4. Se positionner sur “Base de données”.5. Cliquer sur “Créer une base de données”.6. Donner un nom à la base de données, par exemple “base HFCS”.

La base de données est créée.

Comment créer une base de données sur le serveur Hyper File Client/Serveur

BASE DE DONNÉES

Page 42: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 41

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Transfert des donnéesPour transférer les données d’une base de données Hyper File Classic vers la base Hyper File Client/Serveur, nous allons utiliser le centre de contrôle Hyper File.

Il suffit de cliquer le bouton “Importer une Base de données Hyper File Classic” et de se laisser guider par l’assistant :• Choisir le répertoire où se trouvent les fichiers Hyper File Classic à transférer.• Sélectionner la base de données dans laquelle seront importés nos fichiers Hyper File Classic.• Sélectionner les fichiers Hyper File Classic à importer dans la base Client/Serveur.• Valider l’opération par un clic sur le bouton “Importer”

C’est terminé, les données sont accessibles !

A noter que cette opération est également réalisable par programma-tion grâce à la fonction HCopieFichier (ce qui vous permet d’auto-matiser des traitements sans passer par le centre de contrôle).

Règles d’intégritésPar défaut, lors d’un transfert d’une base de données Hyper File Classic vers une base de données Hyper File Client/Serveur, les règles d’intégrité ne sont pas transférées sur la base Hyper File Client/Serveur.

Pour créer les règles d’intégrité de la base, il faut :• soit utiliser la fonction HCréation sur chaque fichier de l’analyse AVANT le transfert des données (ATTENTION : cette fonction écrase les fichiers existants).• soit utiliser la fonction HAjouteLiaison pour définir les liaisons existantes entre les différents fichiers avant ou après le transfert des données.

Transférer une base de données Hyper File Classic vers Hyper File Client/Serveur

TRANSFERT DE DONNÉES

Page 43: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 42

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Maintenant que notre base est créée et importée, nous devons modi-fier nos programmes pour qu’ils utilisent la base Hyper File Client/Serveur en lieu et place des fichiers Hyper File Classic.

Cet exemple utilise le projet “WDclientserveur”. Ce projet est accessible depuis le kouglof.

Par programmationC’est très simple c’est 2 lignes de code à ajouter !• décrire la connexion• utiliser la connexion

Pour décrire la connexion, il suffit d’utiliser la fonction HDécritConnexion, en indiquant en paramètre :• le nom de la connexion• l’utilisateur qui va se connecter• le mot de passe• le serveur Hyper File• le nom de la base de donnée• le type de connexion : il s’agit d’une connexion Hyper File Client /Serveur.La connexion est décrite !

Deuxième ligne de code à jouter, hChangeConnexion pour définir la connexion à utiliser.Le premier paramètre correspond à “*” pour appliquer la modifica-tion à tous les fichiers de l’analyse :

HChangeConnexion(“*”, “Nom de la connexion”)

Dans l’analyseIl est possible de définir les connexions directement depuis l’éditeur d’analyses. Il suffit ensuite d’associer les fichiers souhaités à une connexion de type “Hyper File Client/Serveur”.

Modifier l’analyse et le code pour prendre en compte Hyper File Client/Serveur

ANALYSE ET CODE

Page 44: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 43

Vos Notes

(C) PC SOFT - www.pcsoft.fr

L’objectif ici est de déployer une application WinDev exploitant une base de données Hyper File Client/Serveur.Dans ce cas, l’installation avec mise à jour réseau est particulièrement bien adaptée.

Création de l’installation de référenceLa création de la procédure d’installation s’effectue comme pour une application classique grâce à l’option “Créer la procédure d’ins-tallation” du menu “Atelier”.

Il suffit alors de choisir de générer une installation avec mise à jour automatique en réseau.L’éditeur d’installation détecte automatiquement que l’application utilise une base de données Hyper File Client/Serveur.

Il faut distinguer deux cas de fonctionnement :• 1ère possibilité : l’application a été développée en utilisant la base réelle.Donc le serveur Hyper File Client/Serveur est déjà installé : inutile de proposer l’installation d’un serveur Hyper File Client/Serveur au client.De plus, les paramètres de connexion définis dans l’analyse sont vali-des, le client n’a pas besoin de paramétrer quoi que ce soit. • 2nde possibilité : l’application a été développée en utilisant une base test.

Dans ce dernier cas, il faut proposer au client pendant la phase d’installation :• d’installer un serveur Hyper File Client/Serveur (pour Windows ou Linux).• et de définir les paramètres de connexion au serveur Hyper File Client/Serveur qu’il aura installé.

Vous pouvez ensuite choisir les fichiers de données à déployer sur le serveur du client (par exemple des fichiers de base comme Catégorie, Pays … )Les autres plans sont alors les plans classiques d’une installation.

Installation d’une application réseau exploitant Hyper File Client/Serveur

APPLICATIONS

Page 45: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 44

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Installation en clientèleL’installation est une installation avec mise à jour automatique en réseau, elle se fera donc en 2 étapes.1. Première étape, l’installation de référence :• Elle permet d’installer le serveur Hyper File• Elle doit être faite par un utilisateur averti (l’administrateur) qui va alors définir : • le répertoire d’installation de cette installation de réfé-rence. • la connexion Hyper File Client/Serveur, en spécifiant l’adresse de la machine serveur, le port de connexion, etc…

La base de données Hyper File est alors accessible sur la machine serveur et l’installation utilisateur est disponible.

2. Seconde étape : installation de l’application par chacun des utili-sateurs sur leur machine à partir de l’installation de référence.

Page 46: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 45

Vos Notes

(C) PC SOFT - www.pcsoft.fr

FonctionnementLes droits peuvent s’appliquer à plusieurs niveaux. Il y a : • les droits au niveau du serveur (droit de créer une base de don-nées sur un serveur par exemple).• Les droits au niveau de la base de données (droit de se connecter, etc...).• Les droits au niveau d’un fichier (le droit de lire un fichier, de le modifier).

Les droits sont hérités, c’est-à-dire que si un utilisateur n’a pas le droit de “modification d’un fichier” (Droit défini au niveau de la base de données), il ne sera pas autorisé à modifier un enregistrement.

Par contre, si on spécifie dans les droits d’un fichier particulier que notre utilisateur a les droits de modification de CE fichier alors c’est ce droit qui va s’appliquer pour ce fichier.

La gestion des droits peut être faite de deux façons : • à travers le centre de contrôle Hyper File.• par programmation.

Configuration par le Centre de contrôle Hyper File.Dans le centre de contrôle Hyper File (CC90HF.exe), la gestion des droits s’effectue via l’onglet de gestion des droits au niveau du ser-veur, de la base de données ou des fichiers.

Configuration par programmationLa modification des droits s’effectue grâce à des fonctions du W-Langage comme HModifieDroitBaseDeDonnées pour modifier les droits sur une base de données. Il suffit de préciser le nom de la connexion, l’utilisateur ou le groupe pour lequel on veut modifier un droit, le droit que l’on souhaite modifier, la valeur (autorisé ou interdit), le nom de la base de don-nées.

Configurer les droits sur une base de données Hyper File Client/Serveur

GESTION DES DROITS

Page 47: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 46

Vos Notes

(C) PC SOFT - www.pcsoft.fr

L’installation d’un serveur Hyper File Client/Serveur sur Linux s’ef-fectue à l’aide d’un installateur.Consultez l’aide en ligne pour plus de détails.

Installer un serveur Hyper File Client/Serveur sur Linux

INSTALLATION LINUX

Page 48: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 47

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Il est bien entendu possible de travailler sur d’autres bases de don-nées, pour respecter un existant par exemple.Pour manipuler une base de données externe, il est possible d’utili-ser soit :• des pilotes ODBC ou OLE DB.• des accès natifs spécifiques (pour Oracle, SQL Server, AS/400, Informix, DB2, Progress et Sybase).

L’avantage d’utiliser les accès natifs : le code source de l’application est strictement le même quelle que soit la base de données accé-dée.

Il est ainsi possible de manipuler une base Hyper File, oracle, Sql Server, As/400, etc… avec les mêmes ordres W-Langage.

Mise en oeuvreLa solution la plus rapide consiste à définir la connexion à l’accès natif dans l’éditeur d’analyses :1- Dans le menu “Analyse…connexion”, définissez une nouvelle con-nexion.2. Choisissez d’utiliser une base externe.3. Choisissez le type d’accès natif (par exemple SQL Server).4. Renseignez les paramètres de connexion : nom de la machine ser-veur, base de données, nom d’utilisateur, mot de passe.4. Donnez un nom à la connexion, par exemple “connexionSQL Server”.5. Générez l’analyse.

Voilà la connexion a été définie.Cette connexion peut aussi être décrite par programmation grâce à la fonction hDécritConnexion.

Création des tablesPour utiliser cette nouvelle connexion, il suffit d’ouvrir (ou de changer) la connexion grâce aux fonctions HOuvreConnexion ou HChangeConnexion du W-Langage.

Note : HCreationSiInexistant permet de créer simplement les struc-tures des fichiers dans la base de données externe s’ils n’existent pas encore.

Accès natifs et bases tierces depuis une application WinDev

ACCÈS NATIFS

Page 49: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 48

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Les accès natifs des versions 9 ont été optimisés et permettent notamment une utilisation plus efficace des “tables fichier”.

Cet exemple utilise le projet “WD AccèsNatifs” et nécessite de dis-poser de l’accès natif SQL Server.

Optimisation des tables fichiers sur une base de données SQL Server

OPTIMISATION

Page 50: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 49(C) PC SOFT - http://www.pcsoft.fr

Thème 4 : Accès distant

Comment accéder à une base de données de San Francisco via une liaison Internet ?

Opérations à effectuer sur le serveur de San Francisco1 – Installer le moteur Hyper File Client/Serveur sous windows ou sous Linux.2 – Configurer le firewall pour ne pas bloquer les connexions au ser-veur Hyper File Client/Serveur (les ports utilisés sont rappelés dans le chapitre concernant l’installation d’un serveur Hyper File).3 – Ouvrir la machine au monde, c’est-à-dire rendre le serveur accessible par internet via une adresse IP ou un nom de domaine (www.monserveur.com).

Dans le code de l’application, il suffit alors d’utiliser les fonctions hDécritConnexion et HChangeConnexion en donnant les informa-tions de connexion à la base de San Francisco.

Quelques caractéristiques concernant la liaison• Coté Serveur, c’est-à-dire côté San Francisco, prévoir une liaison avec un bande passante de 2 Mb/s minimum.• Coté Client, une connexion ADSL à 512 Ko est largement suffi-sante.

Prévoyez de la mémoire pour la gestion des utilisateurs (environ 150 Ko par utilisateur), ainsi que pour le cache interne (commun à tous les utilisateurs) : environ 10 Mo.

Reportez-vous à la LST 59 pour plus de détails.

Partager en temps réel une base de données entre sites distants via ADSL

SITES DISTANTS

Page 51: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 50

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Comment accéder à la base de données de San Francisco depuis mon mobile ou mon Pocket PC ?Cet exemple utilise le projet “Pocket HF GPRS”. Ce projet est acces-sible depuis le kouglof.

Connexion GPRSUne liaison GPRS est un “tuyau de communication” qui permet d’échanger des données au travers du réseau de téléphonie mobile, en gros via votre carte SIM.La différence par rapport à la téléphonie classique c’est que vous serez facturé à la quantité de données envoyées/recues et non au temps passé.• Si vous avez un Smartphone ou un Pocketphone, vous avez direc-tement accès au réseau GPRS, si votre abonnement le permet bien entendu.• Si vous utilisez un Pocket PC dépourvu de carte SIM, vous pourrez utiliser votre mobile pour vous connecter si le Pocket PC et le GSM intègrent la gestion du bluetooth.

AstucesQuelques trucs et astuces pour utiliser une connexion GPRS.L’utilisation d’une connexion GPRS nécessite à peu près les mêmes contraintes que l’utilisation du RPC :1 – éviter au maximum les aller/retour inutiles c’est-à-dire que les données devront être récupérées toutes en même temps.2 – limiter au maximum le nombre d’informations à récupérer.Pour cela et comme pour le RPC, il est conseillé d’utiliser au maxi-mum des requêtes, des vues. Il faut que celles-ci soient les plus restrictives possibles et qu’elles renvoient le moins de données possible sur le pocket.

ProgrammationLa fonction NetOuvreAccèsDistant permet d’ouvrir la connexion GPRS en indiquant en paramètre le nom de la connexion. La configuration de la connexion GPRS se fait directement sur le pocket PC indépendamment de WinDev Mobile.Une fois la connexion GPRS ouverte, la connexion au serveur Hyper File s’effectue en utilisant hOuvreConnexion vu précédemment.

Les deux fonctions suivantes sont des optimisations faites pour l’uti-lisation du GPRS :• La fonction HGèreCache permet de désactiver le mécanisme de cache de Hyper File et de ne rapatrier à chaque lecture qu’un seul enregistrement sur le Pocket PC.• La fonction HGèreMémo permet de désactiver la gestion des mémos toujours dans le but de minimiser la taille des informations transférées.

Accéder à une base distante par GPRS depuis un Pocket PC ou un Smartphone

ACCÈS GPRS

Page 52: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 51

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Une autre possibilité pour accéder à distance à des données ou des traitements est l’utilisation d’une archi-tecture TSE ou CITRIX.

Avec ce type d’architecture l’application et les données se trouvent à un seul endroit, le siège social.Les utilisateurs se connectent à l’application en utilisant ce que l’on appelle un terminal.Un terminal est un Client léger qui fonctionnera sur PC, Mac ou via un navigateur internet.

Au niveau de cette architecture tout s’exécute sur le serveur.• Seule la partie IHM se trouve sur le terminal.• Les clics souris et les frappes au clavier sont transférés par le ter-minal au serveur.• Le serveur fait les traitements correspondants.• En retour le serveur renvoie les écrans au terminal.• Chaque terminal bénéficiera d’une machine virtuelle (une session) sur le serveur dans laquelle s’exécute l’application.Il est donc fondamental d’avoir un serveur performant.

Comment mettre en place un TSE :1. Première étape : choisir un serveur adapté en terme de perfor-mances.2. Deuxième étape : installer la couche serveur de TSE sur le ser-veur.3. Troisième étape : installer les différentes applications qui seront utilisées via TSE.4. Quatrième étape : configurer le “tuyau de communication” entre le serveur et les terminaux.Pour faire ceci de façon sécurisée, il faut établir un VPN ou Virtual Private Network entre le serveur et le terminal.Un VPN est un canal de connexion sécurisé entre une ou plusieurs machines. 5. Cinquième étape qu’il vaut mieux évaluer avant de commencer.Acheter le nombre de licences Client TSE qui correspond aux nom-bres de terminaux qui se connecteront.Installer la couche Client TSE sur ces postes Client.

Voilà pour la configuration.Chaque terminal pourra alors utiliser les applications du serveur.

Comment exploiter une application WinDev sur serveur Citrix ou TSE ?

CITRIX / TSE

Page 53: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 52

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Particularités de développementLes applications et notamment celles développées avec WinDev fonctionnent en TSE sans modifications spécifiques.Il faut quand même prendre quelques précautions.

En effet l’application ne va pas s’exécuter sur la machine de l’utili-sateur mais sur une machine qui tourne sur le serveur.Ces différentes machines virtuelles partagent de nombreux éléments système.Il faut donc faire attention de ne pas utiliser ces éléments parta-gés :• Si l’application doit fonctionner sous TSE il ne faut pas utiliser les clés de registres correspondant à la machine comme par exemple la clé “HKEY LOCAL MACHINE”.Il faut préférer l’utilisation de la clé “HKEY CURRENT USER”.C’est d’ailleurs ce que fait WinDev par défaut lors de la mémorisa-tion automatique.(SauveParamètre, case à cocher “Mémoriser la valeur”…)• De même, si vous utilisez des fichiers locaux, ou temporaires, fai-tes bien attention de les créer à un endroit ou vous aurez les droits en écriture.• Faite aussi attention au nom de ces fichiers locaux.Ils seront stockés sur le serveur.Si vous utilisez le même répertoire et le même nom comme “C:\Temp\Monfichier” pour stocker ces informations chaque utilisateur risque d’écraser les paramètres d’un autre utilisateur connecté.

Vous n’avez pas ce genre de soucis avec un déploiement classique car le programme s’exécute sur la machine de l’utilisateur.Chaque utilisateur a donc son propre “C:\temp”.

Pour stocker ce genre d’informations, utilisez le répertoire “Application Data”. Pour récupérer le chemin de ce répertoire, vous utiliserez la fonction W-Langage SysRep(srAppData).

Consultez la LST 51 pour plus de détails.

Page 54: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 53(C) PC SOFT - www.pcsoft.fr

La réplication est l’opération permettant de synchroni-ser des bases de données distantes.

Par exemple, prenons le cas d’un commercial, qui part en déplace-ment chez un client dans le Cantal. Il sait qu’il ne pourra pas avoir accès à sa base car il n’y a pas l’ADSL.

Dans ce cas, il réplique tout ou partie de la base de données du siège de sa société sur son ordinateur portable afin de pouvoir travailler.• La base de données du commercial sur son portable et la base de données du siège évoluent alors complètement indépendamment.• Le commercial fait ses modifications.• Une fois le commercial revenu, il synchronise SA base de données avec celle du siège et évite ainsi la ressaisie d’informations.

Deux types de réplication sont disponibles avec WinDev : • La réplication avec journaux qui implique une utilisation de l’outil WDReplic. Ce type de réplication existe depuis WinDev 7 et ne fonc-tionne qu’avec des bases de données Hyper File.• Et La réplication sans journaux, dite hétérogène.Le terme hétérogène signifie que cette réplication peut s’effectuer sur des bases de données différentes (Hyper File – SQL Server par exemple).

Réplication classique et réplication hétérogène sur une base Hyper File

RÉPLICATION HYPER FILE

Thème 5 : Réplication

Page 55: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 54

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Cet exemple utilise les projets “RéplicationMaître” et “RéplicationAbonné”. Ce projet est accessible depuis le kouglof.

Réplication hétérogèneCette réplication hétérogène est extrêmement simple à mettre en œuvre.• La base de données de référence, appelée “Réplica Maître” se trouve par exemple au siège de la société à San Francisco.• La base de données secondaire, ou base distante, appelée “Réplica abonnée” se trouve dans la ou les agences à travers le pays ou le monde.• Lors de chaque modification d’un enregistrement (ajout, suppres-sion, modification, etc..) d’une part ou de l’autre, l’enregistrement est automatiquement horodaté dans la base.• Ensuite, lors de la demande de réplication, WinDev va simplement extraire de la base tous les enregistrements horodatés depuis la der-nière réplication.

Ce fichier d’extraction est alors envoyé aux abonnés pour mettre à jour leur base de données.Le terme hétérogène signifie que vous pouvez utiliser des bases de données différentes (Hyper File et Oracle, Hyper File et SQL Server…)

Attention : Les bases de données doivent obligatoirement avoir une structure compatible. Bien entendu la réplication hétérogène sup-porte des bases Hyper File d’un coté et de l’autre.

ProgrammationAu niveau du réplica maître : 1- Tout d’abord, dire à la base de données Maître qu’elle va être répliquée de façon hétérogène. C’est l’ordre hGèreRéplication(rplRéplicationHétérogène)Ensuite, initialiser le réplica Maître, pour spécifier que cette base de données sera la base maître. C’est l’ordre HCréeRéplicaMaitre.Le paramètre de cette fonction spécifie le répertoire où les fichiers de la réplication vont être créés. Ce sont ces fichiers qui spécifient que la base est répliquée (ces fichiers ne doivent pas être suppri-més).

2- Inscrire les abonnés auprès du maître et définir les règles de répli-cation. Sur quels fichiers la réplication va-t-elle intervenir ? C’est l’ordre hCréeRéplicaAbonné. Spécifier le répertoire où se trou-vent les fichiers de réplication du maître (pour qu’il puisse inscrire l’abonné). Donner un identifiant, dans l’exemple ce sera le portable

Réplication entre une base de données Hyper File et une base de données SQL Server

RÉPLICATION HÉTÉROGÈNE

Page 56: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 55

Vos Notes

(C) PC SOFT - www.pcsoft.fr

du commercial.

Cette opération doit être répétée pour chacun des commerciaux.Le dernier paramètre de la fonction hCréeRéplicaAbonné définit le ou les fichiers que l’on va répliquer ainsi que la ou les rubriques qui vont déterminer si l’enregistrement est à synchroniser ou non.

3- Créer la première mise à jour. (C’est ce qu’on appelle un réplica transportable, c’est-à-dire une exportation de la base de données maître).Cet export est réalisé grâce à la fonction hCréeRéplicaTransporta-ble. Il suffit de lui passer le répertoire du réplica maître ainsi que l’identifiant de l’abonné. Cet identifiant va permettre de retrouver le ou les fichiers à répliquer.

AssistantLe projet “WD Réplication Hétérogène” livré sur le CD-ROM d’ac-compagnement (et accessible depuis le kouglof) est un assistant permettant de mettre en place une réplication hétérogène entre deux bases de données.

Consultez la LST 61 et l’aide en ligne pour plus de détails.

Page 57: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 56

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Cet exemple utilise les projets “PC Gestion des listes d’achats” et “Pocket Gestion des listes d’achats”. Ces projets sont accessibles depuis le kouglof.

Les deux applications utilisent une base de données Hyper File, l’une en version Classic et l’autre en version Mobile.Le but est de synchroniser les 2 bases de données lors de la con-nexion du Terminal Mobile.

Pour cela, deux possibilités : 1 – Paramétrer la synchronisation lors de la création de l’installa-tion.2 – Utiliser l’outil “WDSynchro” livré avec WinDev Mobile (menu “Outils..WDSynchro”) si vous n’aviez pas prévu de synchronisation lors du déploiement des applications mobiles. “WDSynchro” permet alors d’ajouter cette synchronisation à ActiveSync.

Vous pouvez choisir d’effectuer une synchronisation personnalisée ou classique.

Synchronisation personnaliséePrenons le cas d’une application diffusée sur toute la France. Toutes les données sont au siège à Paris. Je suis Commercial à Lyon. Je veux récupérer les fiches “client” sur mon Pocket. Mais les fiches des clients de Strasbourg ne m’intéressent pas. Je ne veux que les clients de Lyon.

Pour réaliser cette opération, les étapes sont les suivantes :1. Il est nécessaire d’utiliser une bibliothèque WinDev (.WDL) conte-nant une collection de procédures nommée “WDSynchro” ainsi que les éléments dont vous avez besoin pour la personnalisation.

La collection de procédures WDSynchro contient différentes procédu-res permettant de gérer la synchronisation par programmation. Vous pouvez utiliser la collection de procédures “WDSynchro.wdg” livrée avec WinDev Mobile (répertoire : “WinDev\Personnel\Wdsynchro\”). Cette collection peut être intégrée dans un projet WinDev et peut être adaptée ou modifiée dans un projet.La fenêtre “fnStatusSynchronisation” est ouverte au démarrage de la synchronisation.2. Générer la bibliothèque après avoir choisi les éléments à intégrer dans cette bibliothèque. Ici, le projet, l’analyse, la collection de procédures et la fenêtre “fnStatusSynchronisation”.

Notre bibliothèque est générée, si l’application est déjà installée sur le terminal mobile, il suffit de définir la synchronisation entre les données sur le terminal et les données sur le PC.

Synchroniser des bases de données Hyper File Classic et Hyper File Mobile

SYNCHRONISATION MOBILE

Page 58: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 57

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Création d’une synchronisationPour créer une nouvelle synchronisation, il suffit d’utiliser l’outil “WDSynchro” puis de :• Saisir le nom de l’application (Liste d’achats dans l’exemple).• Saisir les emplacements des analyses des deux applications sur le PC et sur le terminal mobile.• Définir la liste des fichiers qu’ActiveSync devra synchroniser.• Indiquer l’emplacement des fichiers Hyper File Classic, donc sur le PC.• Indiquer l’emplacement des fichiers Hyper File Mobile.• Choisir la bibliothèque que l’on vient de générer.

Voila, la synchronisation est effective et vous pouvez tester que ActiveSync synchronise bien l’application.

Consultez la LST 59 pour plus de détails.

Page 59: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 58(C) PC SOFT - www.pcsoft.fr

Le champ “Fenêtre Interne” permet d’inclure une fenêtre (et son code) dans une autre fenêtre. Regardons com-ment gérer une fenêtre interne sur un exemple concret.Dans nos applications, on souhaite que dans toutes les fenêtres, il y ait dans la partie basse, les heures locales des places boursières du monde entier. Cet exemple utilise le projet “WD Horloge Mondiale”. Ce projet est accessible depuis le kouglof.

Mise en oeuvre• Ouvrir la fenêtre “fnIntHeureMondiale”. Cette fenêtre interne affiche l’heure du fuseau horaire de votre choix.• Ouvrir la fenêtre de description. Cette fenêtre ne dispose pas de cadre ni de couleur de fond : c’est une fenêtre interne.• Créer une nouvelle fenêtre.Nous allons ajouter dans cette fenêtre une horloge, voir même trois, pour afficher les heures de Paris, New-York et Sydney simultané-ment.• Créer un champ fenêtre interne.• Dans la fenêtre de description du champ fenêtre interne : sélec-tionner la fenêtre interne “fnIntHeureMondiale”.• Clic droit sur le champ fenêtre interne - Aperçu à 100%.• Clic droit sur le champ fenêtre interne - Adapter la taille.• Copier-coller le champ fenêtre interne pour avoir 3 champs.• Renommer les 3 champs : Paris, New_York, Sydney.

Les fenêtres internes peuvent contenir des procédures localesNous allons utiliser ces procédures pour définir les villes dont on veut visualiser l’heure.

Tapez le code suivant dans le code d’initialisation de la fenêtre

Paris.ChangeVille(«Paris»)New_York.ChangeVille(«New-York»)Sydney.ChangeVille(«Sydney»)

Si vous changez la ville de l’une des 3 horloges, vous constaterez que les 3 champs “fenêtre interne” sont totalement indépendants.

Propagation des modificationsPour illustrer la propagation des modifications dans les fenêtres internes, créer une nouvelle fenêtre contenant un champ “fenêtre interne”, associer le champ à la fenêtre interne utilisée précédem-ment et saisir le code suivant :

// Code d’initialisation de la fenêtreFenêtreInterne1.ChangeVille(«Paris»)

Go : modifier la fenêtre interne (libellé en gras et rouge par exem-ple), refaire GO.

Utilisation des fenêtres internes

FENÊTRE INTERNE

Thème 6 : Architecture d’application

Page 60: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 59

Vos Notes

(C) PC SOFT - http://www.pcsoft.fr

Intérêt fondamental des fenêtres internes : la pos-sibilité d’inclure ces fenêtres dans un composant, cela permet ensuite de les utiliser dans diverses applications.Cet exemple utilise le projet “WD Horloge Mondiale” utilisé dans le chapitre précédent. Ce projet est accessible depuis le kouglof.

Génération du composant• Sélectionnez l’option “Générer un composant” du menu “Atelier - Composant”.• Sélectionnez les éléments à intégrer : cochez tout sauf les 2 fenê-tres créées dans le chapitre précédent.• Sélectionnez les éléments accessibles : “fnIntHeureMondiale”Le composant est généré.

Importation et utilisation du composant• Créez un nouveau projet sans analyse.• Sélectionnez l’option “Importer un composant – à partir d’un fichier” du menu “Atelier – Composant”.• Créez une fenêtre vierge.• Créez un champ fenêtre interne avec la fenêtre interne du compo-sant (Menu “Insertion -spécial-champ fenêtre interne”).• Tapez le code suivant dans le code d’initialisation de la fenêtre :

// Code d’initialisation de la fenêtreFenêtreInterne1.ChangeVille(«Paris»)

• Testez la fenêtre.

Pour plus de détails sur ces opérations, reportez-vous à l’article “Fenêtre Internes : intégrer WDOptimiseur direc-tement dans une application WinDev” de la LST numéro 60.

Utilisation des composants et des fenêtres internes

COMPOSANTS

Page 61: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 60

Vos Notes

(C) PC SOFT - http://www.pcsoft.fr

Vous voulez fournir à vos clients la possibilité d’intégrer dans leur application une confirmation de prise de RDV et cela le plus simplement possible? Que cette appli-cation soit une application Windows, Mobile ou un site internet ou Intranet.• Par l’application Windows, la confirmation se fera par l’envoi d’un fax.• Par l’application Mobile, la confirmation se fera grâce à l’envoi d’un SMS.• Par Internet, la confirmation sera un fichier PDF.

Exemple• Ouvrir le projet “WD Confirmation RDV” (voir le kouglof).• Ouvrir la procédure globale “EnvoieConfirmation” de la collection “pConfirmationRDV”.Pour définir les différents modes d’envoi selon la plate-forme cible de l’application, nous utilisons des codes-cibles conditionnels.Il suffit ensuite de définir les plate-formes cibles (ici WinDev, WinDev mobile et WebDev) et de coder les différents modes de confirmation (envoi pdf, fax ou mail) selon la cible.

Composant multi-ciblesIl reste à régler la différence d’IHM entre ces trois plate-formes cibles : sous Windows : une fenêtre Windows, sous Mobile : une fenê-tre adaptée à un support mobile, sous navigateur : une page Web.Pour cela :• Créer un projet sous WinDev Mobile pour créer la fenêtre adaptée à un Pocket PC ou à un Smartphone.• Créer un projet WebDev pour créer la page adaptée pour le web.Dans cet exemple, il est possible d’utiliser les projets “WW_ConfirmationRDV” et “Pocket ConfirmationRDV” en partageant la collection de procédures, les états et l’analyse.

Il suffit ensuite de définir le projet WinDev comme étant un projet multi-produits en référençant le projet WebDev et le projet WinDev Mobile dans l’option “Description du projet” du menu “Projet”. Dans l’onglet Multi-produits :• Spécifier le chemin du projet WebDev• Spécifier le chemin du projet WinDev Mobile

Ceci nous permet alors de créer un composant contenant à la fois des pages web, des fenêtres pour application windows et des fenê-tres pour support mobile.

A noter que lors de la génération du composant, une couleur indique le type d’élément selon son produit (WinDev, WebDev ou WinDev Mobile).

Composant Multi-produits et code cible conditionnel

MULTI-PRODUITS

Page 62: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 61

Vos Notes

(C) PC SOFT - http://www.pcsoft.fr

Gestion de la compatibilitéSi la modification du composant touche la syntaxe d’appel des fonctions du composant, par exemple le renommage d’une fenêtre, ajout/suppression d’un paramètre d’une procédure, la recompila-tion des projets utilisant ce composant est nécessaire.

La modification de la syntaxe d’appel d’un composant est fortement déconseillée.Mais si vous avez à le faire, pensez à changer le n° de version mini-male du composant autorisé à fonctionner.Vous éviter ainsi un message d’erreur de l’application utilisatrice du composant.

Mise à jour “à chaud”C’est la possibilité d’avoir à côté de l’exécutable de l’application, un fichier de configuration (fichier .INI) contenant l’emplacement du composant sur le réseau.Ce fichier de configuration doit obligatoirement porter le nom du composant et contenir :[Général]Localisation=<Répertoire du composant>

L’intérêt c’est quoi ?En cas d’évolution du composant, il suffit de mettre le composant (fichier .wdk) à jour une seule fois sur le réseau !Et automatiquement, grâce au .ini de localisation, toutes les appli-cations utiliseront le nouveau composant.

Mise à jour à chaud, importation, compatibilité...

COMPOSANT MÉTIER

Page 63: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 62(C) PC SOFT - www.pcsoft.fr

Thème 7 : Communication

Comment depuis une application WinDev analyser et récupérer des informations sur une page internet ?Il faut récupérer le code source de la page (code HTML) et “parser” cette page afin de récupérer les informa-tions souhaitées.

Cet exemple utilise le projet “WD Pilotage et analyse HTML”. Ce projet est accessible depuis le kouglof.

Pour récupérer une page, nous avons deux possibilités : • Utiliser l’ActiveX de Internet Explorer (pour cela une classe est disponible sur le CD livré ainsi que dans l’exemple WD Pilotage de IE livré en standard avec WinDev).• Utiliser la fonction HTTPRequête pour récupérer directement les sources de la page internet.

Dans cet exemple, nous utiliserons l’ActiveX d’Internet Explorer ainsi que la classe CIExplore. Cette classe permet d’afficher les informations d’une page, d’en récupérer le contenu, de modifier le contenu d’un champ de la page, de valider une page (submit), etc

Remplir les champs d’une page HTML Le code correspondant dans l’exemple est disponible dans la procé-dure “Remplissage”.Dans un premier temps, il faut récupérer les noms des différents champs du formulaire afin de les adresser depuis notre application.1. Récupérer le nombre d’objets dans la page :

CliExplore :nObjetsFormulaire()

2. Parcourir tous les objets pour récupérer le nom et la valeur des champs :

CliExplore :bSelectionneObjet(i) CliExplore :m_sNom

3. Ajouter le nom et la valeur du champ dans la table.

Affecter une valeur à un champ d’une page HTML1. Recherche le champ que l’on souhaite modifier :

bRechercheChampParNom

2. Affecter sa valeur :

SetValeur

Récupération automatique d’informations sur un site Internet

RÉCUPÉRATION HTML

Page 64: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 63

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Récupérer le résultat d’une rechercheUne fois les champs remplis, il suffit de valider le formulaire de la page :

CliExplore:bSubmit

Ensuite, attendre que la page soit complètement chargée pour récu-pérer la source de la page (code HTML) :

CliExplore:sSource()

Il faut alors rechercher la position d’un délimiteur fixe. Ce délimi-teur dépend entièrement de la page HTML analysée. Vous devez bien entendu le trouver avant de procéder à l’analyse du code source.Parser une page HTML revient à analyser une grosse chaîne de carac-tères.Vous utilisez les fonctions Position, ExtraitChaine, les opérateurs crochets...

Pour utiliser directement cet exemple, il faut rendre la page “PageRecherche” de l’exemple “WW_AnalyseHTML” accessible depuis un client HTTP.Pour cela, il suffit d’ouvrir le projet “WW_AnalyseHTML” avec WebDev et de faire au moins un test de la page “PageRecherche” afin de créer l’alias correspondant.

Page 65: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 64

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Cet exemple utilise la fenêtre “fnMailing” du projet “WD Emailing XML” et présente comment envoyer un mailing e-mail personnalisé avec WinDev… Ce projet est accessible depuis le kouglof.

Dans cet exemple, les données sont utilisées au format XML grâce aux ordres hLitxx. C’est l’accès natif XML. Ces données peuvent bien entendu être au format Hyper File ou autre : le principe reste le même.

Notre but : Créer un mailing e-mail personnalisé. On souhaite pou-voir envoyer un mail au format HTML. Si le client n’a pas d’adresse e-mail, on lui envoie un fax (voir chapitre suivant).L’e-mail envoyé est réalisé sous forme d’un état. Voila, pour le prin-cipe : détaillons tout de suite le code du bouton “Lancer”.

Les étapes sont alors les suivantes :1. Ouvrir une session SMTP Cette session SMTP va permettre d’en-voyer un mail pour les clients qui possèdent une adresse e-mail. Vous remarquez le paramètre supplémentaire qui est le mot de passe. Si vous précisez ce mot de passe, la session SMTP sera ouverte de façon Authentifiée.2. Parcourir le fichier de données (au format XML dans l’exemple) avec les ordres Hxx classiques.3. Spécifier ensuite l’adresse e-mail du client dans la structure Email du W-Langage. Si celle-ci est valide, on spécifie que l’état sera imprimé au format HTML.4. Générer l’état correspondant au mailing sous forme d’une page HTML (iDestination(iHTMLGénérique)).5. Modifier si nécessaire le chemin des images dans le fichier HTML générée (utilisation d’un identifiant).

sCID=”cid:wdcid”+nImage Email.IdentifiantAttache[Email.NbAttache] = sCID

6. Associer le fichier HTML et les images associées en tant que pièce jointe à l’e-mail.7. Envoyer l’e-mail.8. Fermer la connexion avec le serveur SMTP.

Vous le remarquez dans l’exemple, les envois de mail sont effectués par paquets de 20. Pourquoi ? Tout simplement parce que cela évite de surcharger le serveur SMTP et permet en cas d’erreur de savoir à 20 e-mails près où le mailing en était.Vous pouvez alors : • Soit vous réenvoyez ces e-mails (avec risque d’envoyer en double et aussi d’être traité en tant que “spammeur”).• Soit vous ne renvoyez pas ces e-mails, et dans le pire des cas, vous perdez 20 mails.

Consultez la LST 54 pour plus de détails.

Réaliser un mailing e-mail personnalisé

MAILING E-MAIL

Page 66: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 65

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Cet exemple utilise la fenêtre “fnMailing” du projet “WD Emailing XML” et présente comment envoyer un mailing personnalisé par fax avec WinDev… Ce projet est accessible depuis le kouglof.

Reportez-vous au préalable au chapitre précédent pour la présenta-tion de l’exemple et du fonctionnement.

Les étapes de réalisation du mailing par fax sont les suivantes :1. Connexion au serveur de fax grâce à la fonction FaxConnecte.2. Parcours des fichiers de données (ici au format XML) avec les ordres Hxx classiques.3. Génération de l’état correspondant au mailing sous forme d’un fax (iDestination(ifax)) en indiquant directement le numéro de téléphone du destinataire. Le fax est automatiquement envoyé4. Fermeture de la connexion avec le serveur de fax.

Consultez la LST 54 pour plus de détails.

Réaliser un mailing fax personnalisé

MAILING FAX

Page 67: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 66(C) PC SOFT - www.pcsoft.fr

Thème 8 : La sécurité

Cet exemple utilise le projet “WWExempleSSL”. Ce projet est acces-sible depuis le kouglof.

Qu’est-ce qu’un Certificat de sécurité SSL ?Un certificat de sécurité SSL (Secure Socket Layer) est un fichier unique et numérique permettant d’authentifier et de crypter toute information circulant sur Internet.

Comment obtenir un Certificat de sécurité SSL ?En l’achetant auprès de sociétés spécialisées (appelées Autorité de certification) telles que Verisign, GéoTrust… Un certificat SSL coûte entre 60€ et 1150€ par an (tarif indicatif, à la date d’impression. Merci de vérifier ces tarifs directement avec les prestataires).Le prix dépend du niveau de cryptage, de la garantie apportée et de l’utilisation de ce certificat.

Que se passe-t-il techniquement ?Sans certificat, les trames qui circulent sur le réseau ne sont pas cryptées.C’est-à-dire que si un pirate scanne les trames, il peut voir en clair les informations que vous recevez et celles que vous envoyez.Grâce au certificat SSL, ces trames sont désormais cryptées et ne peuvent donc plus être interprétées par un pirate.Le cryptage peut se faire sur une clé de 40 à 128 octets.Pour une clé sur 128 octets, il y a donc 2 puissance 128 combinaisons possibles.C’est-à-dire 1 bonne combinaison sur 2 puissance 128.Avec la puissance des ordinateurs actuels, il faudrait 10 fois la durée de l’univers pour trouver la bonne combinaison.

Comment savoir si un site possède un Certificat de sécurité SSL ?Lorsque les pages d’un site sont protégées, l’url commence par https, le “S” signifiant Sécurisé et un cadenas s’affiche dans la barre des tâches du navigateur.

Comment installer un Certificat de sécurité SSL ?Le certificat s’installe au niveau d’un serveur web (apache, IIS…).Par exemple, pour un serveur IIS :• Dans les propriétés de l’ordinateur, choisir l’option “gestion de l’ordinateur”.• Puis “Services Internet” et “Propriétés”.• Dans l’onglet sécurité de répertoires, cliquez sur certificat de

Traitement sécurisé avec WebDev et SSL

WEBDEV ET SSL

Page 68: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 67

Vos Notes

(C) PC SOFT - www.pcsoft.fr

serveur.• Un assistant vous guide alors pour installer le certificat que vous avez acheté.

Comment gérer ce certificat SSL c’est-à-dire com-ment afficher une page sécurisée avec WebDev ?

Prenons par exemple le projet de site d’annonces en ligne.Regardons la page “mon compte”.Cette page permet de saisir le pseudo et le mot de passe.Cette page n’est pas sécurisée car dans l’adresse de l’URL il y a HTTP et non HTTPS.De plus le petit cadenas n’apparaît pas dans la barre de messages du navigateur.Cela signifie donc que le pseudo et le mot de passe vont être trans-mis au serveur en clair, non cryptés et donc interceptables par un pirate.

Le traitement en W-langage pour gérer cette sécurité SSL va être ajouté:• Sur la page “Pageaccueil”, effectuer un clic droit sur le bouton “mon compte” et demander l’édition du code.• Ajouter un appel à la fonction SSLActive (code navigateur) lors de la demande d’affichage de la page de saisie du pseudo et du mot de passe.

SSLActive(Vrai)

Lorsque l’internaute va cliquer sur le bouton “mon compte”, la page va passer en mode sécurisé et donc les informations envoyées au serveur seront cryptées.

Page 69: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 68

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Consultez la documentation du composant PayBox livré en standard avec WinDev ou les articles de la LST 50.

Implémenter un paiement par Carte bleue dans un site WebDev

PAIEMENT SÉCURISÉ

Page 70: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 69(C) PC SOFT - www.pcsoft.fr

Thème 9 : Internet / Intranet

Nous allons ici préciser quelques points sur l’instal-lation du serveur d’application WebDev avec IIS sur Windows.

InstallationPour l’installation sur Windows du serveur d’application WebDev, il suffit de suivre les différents plans de l’assistant en indiquant prin-cipalement :• Le répertoire d’installation du serveur d’application,• Le serveur Web utilisé,• Le mode de fonctionnement (exécutable ou service).

Création des comptesPour créer ou gérer les comptes utilisateur, il est possible d’utiliser soit :• l’administrateur WebDev• l’administrateur distant accessible par une URL de la forme : “http://nom-de-la-machine/WD90AWP/WD90AWP.EXE/CONNECT/WDAdministrateurDistant”.

Depuis l’administrateur WebDev, les opérations sont les suivantes :• Cliquer sur le bouton “Comptes WebDev”• Sélectionner l’option “Créer” pour créer un utilisateur• Sélectionner un répertoire FTP pour les installations à distance (un compte FTP doit exister et correspondre à ce répertoire, voir plus bas).

Installer un serveur d’application WebDev sur Windows

INSTALLATION

Page 71: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 70

Vos Notes

(C) PC SOFT - www.pcsoft.fr

• Sélectionner un répertoire de base pour les sites (ce répertoire sera accessible depuis Internet ou votre Intranet)• Sélectionner un répertoire pour les fichiers de données

Configuration de IIS (droits et sécurité)• Lancer “inetmgr” ou l’option “Services Internet (IIS)” dans les outils d’administration de Windows.• Créer un répertoire virtuel sur le serveur FTP.• Dans l’assistant, renseigner : • Le nom de l’alias • Le chemin du répertoire FTP • Les permissions d’accès (Lecture et écriture) • Créer un utilisateur local qui a le même nom que l’alias FTP.• Editer la base de registres et donner les droits d’écriture et lec-ture à l’utilisateur précédemment créé sur HKEY_LOCAL_MACHINE\SOFTWARE\PC SOFT\WEBDEV\9.0\Applications. Cette opération per-met au serveur d’application d’ajouter le site déployé dans la base de registres.

Complément de configuration sur IISSi vous souhaitez que vos sites accèdent à des ressources partagées sur votre réseau (imprimante, fichiers, etc.) vous devez reconfigurer IIS.

Pour cela :• Ouvrez IIS.• Editez les propriétés du site web (Clic-droit..Propriétés).• Sélectionnez l’onglet “Sécurité de répertoire”.• Cliquez sur “Modifier”.• Sélectionnez un compte de votre domaine qui a les droits nécessai-res pour accéder aux ressources désirées de votre réseau.

Page 72: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 71

Vos Notes

(C) PC SOFT - www.pcsoft.fr

WebDev gère les pages dynamiques avec ou sans ges-tion automatique du contexte :• avec gestion automatique est le mode par défaut.• sans contexte automatique appelé mode AWP.

Cet exemple utilise le projet “WW_UtilisationAWP”. Ce projet est accessible depuis le kouglof.

Les 2 modes (standard et AWP) peuvent êtres utilisés conjointement dans un même site WebDev. L’intérêt majeur du mode AWP est un meilleur référencement des pages du site auprès des moteurs de recherche : chaque page est adressable directement.

La création d’une page AWP est en tout point identique à la création d’une page dynamique normale.La différence réside dans le mode de génération de la page et dans la programmation.

Il suffit de cocher l’option “génération en mode AWP” dans les options de génération HTML dans la fenêtre de description de la page. La page est alors utilisable en mode AWP.

Par exemple, dans le projet “WW_UtilisationAWP”, dans la procé-dure globale “HotelDiscount”, le code “lienhotel”+i,inchmap)..URL= “PageDétail.awp….”” permet le passage de paramètre d’une page à l’autre et ce directement via l’adresse URL.

Par exemple dans le code du lien “Hôtel discount”, l’URL contient l’identifiant de l’hôtel choisi. Testez le site (Go), cliquez sur le lien hôtel discount : sous le navi-gateur, on retrouve dans l’adresse URL, l’identifiant de l’hôtel, dans l’exemple le n°1563.Il est alors possible de :• Copier l’URL complète depuis le navigateur.• Lancer un nouveau navigateur et faire un coller dans l’URL.

Dans 2 jours, dans 3 semaines, dans 2 mois, ou depuis un autre navi-gateur, il est possible de réafficher la même page avec les mêmes informations.

Dans le code de la “PageDétail”, le code source de la page qui affiche le détail de l’hôtel récupère l’identifiant de l’hôtel qui se trouve dans l’URL : niHotel=PageParemetre(“iddehotel”).

L’identifiant de l’hôtel permettra entre autre de reconstruire la page dynamiquement en intégrant les informations de l’hôtel.

Reportez-vous à la LST 57 pour plus de détails sur le mode AWP.

AWP ? Ca change quoi concrètement ? Quand l’utiliser ?

MODE AWP

Page 73: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 72

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Cet exemple utilise le projet “WW_VoituresOccasions”. Ce projet est accessible depuis le kouglof.

Comment créer un site PHP utilisant une base MySQL ?Pour créer un site PHP, il suffit de spécifier dans la description du projet que c’est un projet PHP.

Le projet “WW_VoituresOccasions” correspond à un site en PHP.La création des pages se fait de façon classique.La seule différence majeure concerne l’aspect programmation de l’accès à la Base de données.Le mode de programmation se fait par les ordres SQL.

La base de données la plus utilisée en PHP est MySQL.Par défaut l’analyse associée à un projet PHP est en MySQL.Vous pouvez bien entendu utiliser une base Hyper File.

Manipulation de la base de donnéesPour manipuler la base de données, il faut établir la connexionDans cet exemple, la connexion est réalisée dans la procédure glo-bale “gConnexion”.L’ordre SQLConnecte permet de se connecter à la base de données. Détaillons les paramètres :• La source de données (la machine serveur)• Le nom de l’utilisateur• Son mot de passe• Le nom de la base de donnéesUne fois la connexion établie, voyons comment accéder au don-nées.

La page “Page_Recherche” contient le code de remplissage de la zone répétée : on exécute une requête sous forme SQL.Cette requête sélectionne les produits dont le prix est compris entre 2 paramètres.Le code qui remplit la zone répétée avec le résultat de la requête est défini dans la procédure “gremplitZR”, et est de la forme :

TantQue SQLAvance(…) = 0

La fonction SQLAvance renvoie 0 tant qu’il y a des enregistrements à lire.

Il est également possible de créer la sélection via l’éditeur de requê-tes et d’exécuter cette requête par la fonction SQLexecWDR.

Pour déployer votre site vers votre hébergeur, vous pouvez utiliser l’outil “WDDéploie” ou un simple Client FTP.

Créer un site PHP et le déployer chez un hébergeur

SITE PHP

Page 74: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 73

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Voici quelques conseils pour bien réussir une conversion d’une appli-cation WinDev en un site WebDev.

1 – Partager les élémentsVous pouvez partager des éléments entre un projet WinDev et un projet WebDev :• L’analyse• Les états• Les requêtes• Les collections de procédures, les classes.

2 – Utiliser les collections de procéduresUtilisez au maximum les collections de procédures. Cela évite de dupliquer du code si le traitement est identique en WinDev et en WebDev.Pour les traitements qui ont quelques différences, utilisez le Code Cible Conditionnel.

3 – Utiliser une Approche n-TiersLe développement n-Tiers permet de répartir les traitements. Utilisez les procédures afin de découper votre code.Dans l’idéal, la fenêtre ou page ne devrait contenir que :• du code de validation des champs (contrôles de saisie), • des traitements relatifs à l’interface (rendre inactif un champ selon un sélecteur) • des appels de procédures contenant les traitements (accès aux données, traitements, etc..)

4 – Utiliser des Services Web (WebServices)Vous pouvez également fournir des Services Web afin de rendre accessibles vos données à l’extérieur (ce qu’on appelle l’EDI : l’échange de données informatisées).

Cela permet notamment à vos clients, fournisseurs, partenaires de récupérer des informations qui concernent leur commande en cours par exemple.

Porter une application WinDev vers WebDev

PORTAGE D’APPLICATION

Page 75: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 74

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Les sites réalisés avec WebDev 9 peuvent être déployés sur une distribution Windows ou Linux. Nous avons vu précédemment comment installer et configurer un moteur WebDev sur une plate-forme Windows, nous allons ici voir les quelques spécificités du déploiement sur Linux.

Pour cet exemple, nous allons utiliser une configuration classique : distribution linux “Mandrake” avec un serveur ftp et un serveur Web Apache.

Installation du serveur d’application WebDevPour installer un serveur d’application WebDev sur la configuration Linux définie précédemment, les étapes sont les suivantes :• Copier les fichiers d’installation correspondant au serveur d’appli-cation de WebDev sur la machine linux.• Ouvrir un terminal en tant que “root”.• Rendre l’installation exécutable et lancer la procédure d’installa-tion :

chmod +x WebDev_Install_Test./WebDev_Install_Test

• Accepter la licence.• Vérifier que les pré-conditions sont installés sur le système.• Choisir le chemin d’installation, ici on conserve le choix par défaut.• Préciser que le fichier de configuration est “/etc/httpd/conf/commonhttpd.conf” et que la commande de rechargement de la configuration est “/etc/init.d/httpd reload”.Les fichiers spécifiés ici dépendent de la distribution linux utilisée. • Terminer l’assistant.L’installation est maintenant terminée, faire OK puis “Terminer”.

Installer un serveur d’application WebDev sur Linux

INSTALLATION LINUX

Page 76: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 75

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Création du compte utilisateur systèmeVoici un exemple de création d’un compte utilisateur “système” : “demolinux”.

Le serveur d’application WebDev sera associé à ce compte utilisateur pour permettre de définir les droits d’accès aux fichiers du système. Les opérations sont les suivantes :• Créer le compte :

adduser demolinux• Associer un mot de passe à cet utilisateur :

passwd demolinux• Changer le groupe de l’utilisateur demolinux :

usermod -g webdev9 demolinux• Changer d’utilisateur courant pour se connecter en tant qu’utilisa-teur “demolinux” :

su - demolinux• Créer les répertoires utilisés par les sites WebDev : • Un répertoire va contenir les données des sites (accessible par la fonction fRepDonnées) • Un répertoire va contenir les pages et les images du sites (accessible par la fonction fRepWeb) • Un répertoire accessible par ftp pour permettre la mise à jour des sites à distance :

mkdir sites datas• Associer le groupe “webdev 9” à ces deux répertoires :

chgrp webdev9 . sites datas• Donner les droits en écriture au groupe “webdev9” sur ces deux répertoires :

chmod g+wx . sites datas

C’est terminé. Il est ensuite possible de paramétrer le serveur d’ap-plication WebDev (sites, utilisateurs, nombre de connexion, etc...) grâce à l’adminstrateur distant.

• Ouvrir un navigateur sur l’adresse :

http://nom-de-la-machine/WD90AWP/WD90AWP/CONNECT/WDAdministrateurDistant90

Page 77: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 76(C) PC SOFT - www.pcsoft.fr

Thème 10 : La Mobilité

Voici quelques conseils pour bien réussir une conversion d’une appli-cation WinDev en une application WinDev Mobile.

1 – PartagerVous pouvez partager des éléments entre un projet WinDev et un projet WebDev :• L’analyse• Les états• Les requêtes• Les collections de procédures, les classes

2 – Utiliser les collections de procéduresUtilisez au maximum les collections de procédures. Cela évite de dupliquer du code si le traitement est identique en WinDev et en WebDev.Pour les traitements qui ont quelques différences, utilisez le Code Cible Conditionnel.

Porter une application WinDev sur un Pocket PC

PORTAGE D’APPLICATION

Page 78: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 77

Vos Notes

(C) PC SOFT - http://www.pcsoft.fr

Distribution classique avec installation depuis un PC (utilisation de ActiveSync)

Cet exemple utilise le projet “Pocket Notes”. Ce projet est accessi-ble depuis le kouglof.

Première installation1. Ouvrir le projet “pocket notes” livré avec WinDev Mobile.2. Créer une version client (menu “Atelier..Créer la procédure d’ins-tallation”).3. Valider l’assistant de création d’exécutable.4. Valider l’assistant de création d’installation.L’installation est maintenant créée .

Test de l’installation1. Sur la fenêtre de fin de création d’installation : faire “Tester”.2. Pendant l’installation, répondre “Oui” ou “Suivant” à toutes les questions/plans.3. Lancer l’installation sur le pocket.4. Faire un dessin dns l’application sur le Pocket PC et l’enregistrer en utilisant la disquette en bas à gauche, l’appeler “demo”.5. Quitter le logiciel avec la croix de la fenêtre système (en haut à droite de l’écran).

Seconde installation avec modification des données1. Dans WinDev Mobile, ouvrir l’analyse2. Ouvrir la description du fichier “Note” et changer la rubrique “Nom” : définir en tant que “non clé” et passer en son type en “mémo texte”.3. Générer l’analyse (bouton drapeau dans l’éditeur). L’éditeur per-met de faire une modification automatique à ce moment, nous ne le faisons pas pour simuler le poste client.4. Création d’une version client (menu “Atelier..Créer la procédure d’installation”).5. Valider l’assistant de création d’exécutable.6. Valider l’assistant de création d’installation.

Test de l’installation1. Sur la fenêtre de fin de création d’installation : faire “Tester”.2. Pendant l’installation, répondre “Oui” ou “Suivant” à toute les questions/plans.Cette fois-ci, une modification automatique des données est effec-tuée pendant l’installation.3. Lancer l’installation sur le pocket.

Déploiement d’une application Mobile (Internet ou par média de type CD-ROM)

DÉPLOIEMENT

Page 79: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 78

Vos Notes

(C) PC SOFT - http://www.pcsoft.fr

4. Dans l’application sur le Pocket PC, ouvrir le dessin précédem-ment créé pour montrer que la modification automatique a bien fonctionné : cliquer sur le dossier pour ouvrir, et prendre le dessin nommé “démo”.

Distribution d’une application autonome sur Internet (directement utilisable à partir d’un pocket sans passer par un PC)

Afin de distribuer une application mobile sans passer par une instal-lation nécessitant un poste Windows (distribution via une SDCard, téléchargement via internet directement du pocket PC), on doit se passer de la création d’une procédure d’installation.

Exemple pour distribution via SDCard :1. Générer un exécutable.2. Copier l’ensemble du répertoire Exe sur la SDCard (sans le framework).3. Mettre la SDCard dans un pocket.4. Le lancement de l’exécutable va télécharger et installer automa-tiquement le framework et la base de registres de WinDev Mobile.

Exemple pour distribution par internet (si on veut que l’utilisateur n’ait à télécharger qu’un exécutable, on ne peut pas associer de données en dehors de l’exécutable) :1. Générer un exécutable.2. Publier sur un site internet le fichier .exe.3. Télécharger le fichier .exe à partir du pocket.4. Le lancement de l’exécutable va télécharger et installer automa-tiquement le framework et la base de registres de WinDev Mobile.

Page 80: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 79(C) PC SOFT - www.pcsoft.fr

Thème 11 : Autres technologies

Le projet “WD AutreTechnologies” est un exemple WinDev qui utilise un assemblage .Net. Ce projet est accessible depuis le kouglof.

Cet exemple WinDev liste les services installés sur le poste avec cet assemblage .Net. Un service est un processus qui tourne en tâche de fond et qui effectue différents traitements.

Comment a-t-on utilisé cet assemblage .Net dans notre exemple ?Pour utiliser un assemblage .NET dans le projet, la première étape est d’importer l’assemblage dans le projet. Cette opération s’effec-tue grâce à l’option “Utiliser un assemblage dans ce projet” du menu “Atelier.. .Net” de WinDev.L’assistant propose la liste des assemblages .NET installés sur le poste. Il suffit de choisir l’assemblage .NET à utiliser.

Dans notre exemple, les assemblages ont déjà été importés : c’est System.ServiceProcess que l’on visualise dans le volet WinDev..NET est un langage orienté objet : on retrouve donc les méthodes et membres de l’assemblage .NET dans le volet de WinDev.

Reportez-vous aux LST 57 et 60 pour plus de détails sur l’utilisation d’assemblages .NET spécifiques.

Utiliser un traitement .Net depuis une application WinDev

.NET : UTILISATION

Page 81: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 80

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Si vous devez générer un assemblage .NET, vous pouvez le faire avec WinDev en codant en W-Langage.

Cet exemple utilise le projet “WD AutreTechnologies”. Ce projet est accessible depuis le kouglof.

Qu’est-ce qui caractérise un assemblage .NET ?.NET est un langage orienté objet, donc il a besoin de points d’en-trées. Ces points en WinDev, ce sont des collections de procédures ou des classes.

Par exemple, il est possible d’ouvrir une fenêtre WinDev depuis un assemblage, il suffit de prévoir une fonction WinDev qui va effectuer l’ouverture de la fenêtre.Cette fonction pourra être soit dans une collection de procédures soit dans une classe.

L’exemple “WD AutreTechnologies” contient une collection de procédures “pDivers”. Dans cette collection, la procédure “OuvreFenAssemblage” ouvre la fenêtre WinDev.

Génération de l’assemblageLa génération d’un assemblage .Net s’effectue par l’option “Générer une DLL d’assemblage .NET” du menu “ATELIER .. .NET”, l’assistant permet alors de :• choisir les éléments qui doivent être exportés dans cet assem-blage, ici la fenêtre, le projet et la collection de procédures.• choisir les classes et collections de procédures qui seront accessi-bles depuis les autres langages.Les éléments cochés vont constituer les points d’entrées de l’assem-blage.

C’est terminé, l’assemblage .NET est généré : c’est le fichier UtiliseDOTNET.DLL.

Publier un traitement .Net réalisé depuis un projet WinDev

.NET : PUBLIER

Page 82: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 81

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Deux méthodes permettent de créer une application Java en WinDev : • Utiliser le RAD Java.• Générer une application Java de toute pièce.

Cet exemple utilise le projet “WDEtalonJava”. Ce projet est acces-sible depuis le kouglof.

Pour qu’un projet soit défini comme générant du code Java, il suffit de cocher la case “Java” dans la fenêtre de description du projet.

L’exemple “WDEtalonJava” est une messagerie qui utilise un fichier Hyper File, le fichier “Message”.

Accès à la base de donnéesEn Java, l’accès aux données s’effectue uniquement avec les ordres SQL (SQLConnecte, SQLExec).Pour récupérer les messages sans accusé de réception, les étapes sont les suivantes :1. D’abord il faut se connecter à la base de données :

SQLConnecte(“EtalonJava.wdd”,“”,“”,... “”,”Hyper File”)

L’ordre, c’est SQLconnecte avec comme paramètres :• Le nom de l’analyse.• Le type de la base de données: ici Hyper File.

Il est possible de manipuler toute autre base de données (Oracle, MySQL …) du moment qu’il existe un pilote JDBC.

Pour une base Hyper File, sous windows et linux, l’accès est natif.Par contre pour les autres plates-formes (Mac, Solaris par exemple) vous devez utiliser le serveur RMI livré avec WinDev.

Un serveur RMI c’est quoi ?Le RMI (Remote Method Invocation) est un mécanisme permettant d’utiliser des objets distribués en Java.Son but est de permettre l’appel, l’exécution et le renvoi du résultat d’une méthode exécutée dans une machine virtuelle Java différente de celle de l’objet l’appelant. Cette machine virtuelle peut être sur une machine différente pourvu qu’elle soit accessible par le réseau. La machine sur laquelle s’exécute la méthode distante est appelée “serveur”.

Créer une application Java depuis un projet WinDev

JAVA

Page 83: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 82

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Dans notre exemple, la connexion est réalisée sur la base de données Hyper File Classic.2. Créer la requête :

sRequête est une chaine = [SELECT EXPEDITEUR, DATE, HEURE, SUJET, CORPS FROM MESSAGESWHERE AR=%1AND DESTINATAIRES=’%2’]// Construction en fonction des paramètressRequête = ChaineConstruit(sRequête,.....)

Si vous ne parlez pas couramment SQL, vous pouvez simplement générer la requête grâce à l’éditeur de requêtes de WinDev et ensuite récupérer directement le code SQL de la requête.

Pour aller plus vite, dans l’exemple “WD EtalonJava”, la requête de remplissage de la table n’est pas paramétrable

sNomRequete est une chaîne = «RequeteAffichage»sRequête est une chaîne = [SELECT EXPEDITEUR, DATE, HEURE, SUJET, CORPS FROM MESSAGESWHERE AR=0AND DESTINATAIRES=’Marc’]

3. Exécuter la requêteL’exécution s’effectue à l’aide de la fonction SQLExec :

SQLExec(sRequete, sNomRrequete)

4. Remplir la table des messages grâce à la fonction SQLTable :

SQLTable(sNomRequete,TABLE_MESSAGE)

L’ordre des rubriques dans la requête doit correspondre à l’ordre des colonnes dans la table.

5. Afficher le corps du message sélectionné dans le champ de saisie prévu en dessous.Pour cela, dans le code “Sélection d’une ligne” de la table, affichez le corps du message dans la zone de texte.

TXT_CORPS = TABLE_MESSAGE.Corps[TABLE_MESSAGE]

Génération de l’exécutable JavaUn exécutable JAVA est une archive .JAR.Pour générer un exécutable .Jar, il suffit d’utiliser l’option “Générer l’archive JAR” du menu “Atelier”.

WinDev compile l’application et génère le point Jar.

Page 84: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 83

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Pour expliquer la création d’un Service Web, nous uti-liserons un projet qui permet de vérifier la solvabilité d’un compte client.Cet exemple utilise le projet “WD Service Web”. Ce projet est acces-sible depuis le kouglof.

Génération du Service Web• Ouvrir le projet WD Service Web, il contient une collection de pro-cédures contenant les procédures du futur Service Web.• Parcourir la procédure “VerifieCompte” pour visualiser rapidement le code.• Sélectionner l’option “Générer un Service Web à partir de ce pro-jet” du menu “Atelier..Service Web XML”.

Les différents plans de l’assistant permettent de spécifier :• Le nom du fichier XML qui sera généré.• L’adresse du serveur où le Service Web sera déployé.• Les éléments à intégrer dans le Service Web.• Le nom de la bibilothèque (WDL) qui va être générée.

Une fois le service Web généré, il faut le déployer (Partie non illus-trée ici, reportez vous à l’aide en ligne) sur la machine serveur et à diffuser le wsdl aux clients. Cette installation s’effectue grâce aux outils “WDSoapInst” et “WDSoapSetup” disponibles dans le réper-toire “Programmes” de WinDev.

Reportez-vous à la LST 52 pour plus de détails sur le déploiement d’un service Web.

Utilisation du Web ServicePour intégrer le Service Web dans n’importe quel projet WinDev ou WebDev, il suffit de :• Créer un projet.• Créer une fenêtre vierge.• Sélectionner l’option “Importer” du menu “Atelier..Service Web XML”.Dans cet exemple, saisissez le chemin du fichier XML précédemment généré et installé.

Nous avons la possibilité d’importer le service web dans une collec-tion de procédures ou une classe. Ici, nous vous conseillons d’utiliser une collection de procédures.

Une fois le Service Web importé, une collection de procédures est créée. Elle contient les procédures permettant d’utiliser le Service Web.

Créer un Service Web d’accès aux données

SERVICE WEB

Page 85: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 84

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Il suffit alors d’initialiser les paramètres de la structure et d’appeler les procédures décrites dans le Service Web.

Par exemple :

// Définition de la structure d’appelCompte est un WD_Service_Web.STVerifieCompte

Compte:m_sNumeroCompte = «XXXX»Compte:m_sNomTitulaire = «ALBERT Jean»Compte:m_nMontantTransaction=»152»

// Vérification du compteVerifieCompte(Compte)

Reportez-vous aux LST 58 et 60 pour des exemples d’utilisation des Services Web de Google et de ViaMichelin.

Page 86: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 85(C) PC SOFT - www.pcsoft.fr

Thème 12 : Les états

Un état croisé permet d’avoir un tableau à 2 entrées.Par exemple avoir une synthèse du nombre de ventes par produit et par an.

Cet exemple utilise le projet “WD Etats”. Ce projet est accessible depuis le kouglof.

Pour créer un état croisé, les étapes sont les suivantes :• Créer un nouvel état de type “Tableau croisé”.• Indiquer les rubriques qui rempliront les libellés des colonnes.• Sélectionner Commande…DateCommande : Les colonnes corres-pondront aux années des commandes.• Sélectionner Produit…Reference : les libellés des produits seront les lignes du tableau croisé.• Sélectionner … somme LIGNECDE…Quantité : le contenu des cellu-les du tableau sera la somme des quantités vendues par produit.

Il est possible d’effectuer des totaux sur les lignes : le total des pro-duits vendus, toutes années confondues.Et sur les colonnes : le total des ventes sur une année, tous produits confondus.• Choisir le gabarit, ou charte graphique.• Donner un titre à l’état.• Redimensionner les colonnes si nécessaire.

Tester l’état en exécution : GO !Lors du test les années sont affichées en colonnes, les références de produits en lignes et dans les cellules la somme des quantités de chaque produit vendue par année est affichée.A droite et en bas les cumuls automatiques. Pour modifier l’état, par exemple pour avoir le chiffre d’affaires en euros par produit et par an, il suffit de modifier la requête intégrée à l’état (Clic droit .. “Description de l’état”), et par exemple d’ajou-ter ou de modifier le calcul sur une rubrique.

Réaliser un état croiséETATS CROISÉS

Page 87: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 86

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Cet exemple utilise le projet “WD Etats”. Ce projet est accessible depuis le kouglof.

Création de l’étatPour réaliser une facture, avec l’éditeur d’états, les principales opé-rations sont les suivantes :• Création d’un nouvel état de type “Tableau”.• Association de l’état au fichier “LigneCDE” avec la rubrique “NumCommande” comme rubrique de parcours.• Validation de l’utilisation d’une borne minimale et d’une borne maximale.• Sélection des différentes rubriques de l’état : la référence du produit, sa désignation, son prix unitaire, la quantité commandée, etc... • Désélection de “IDLigneCommande”, “Numcommande”, “Livré”, “Remise” et “taux TVA”. • Sélection de la somme sur le prix de vente.• Saisie du titre du document.

L’état est réalisé, il est possible d’afficher une facture, par exemple la facture n°6226.

Ajout de nouvelles informationsNous allons maintenant compléter la facture et afficher le nom de la société du client. Pour cela :• Agrandir le haut de page• Ajouter les nouvelles rubriques sur la société du client : nom, adresse, code postal, ville, etc…

Envoi par e-mail au format PDFNous allons voir maintenant comment créer un fichier PDF de la fac-ture et l’envoyer par e-mail.Cette opération est très simple :1. Rediriger l’impression de l’état non pas sous forme d’aperçu mais sous forme d’un fichier PDF.

iAperçu(iPDFGénérique, “c:\temp\fichier.pdf”)2. Créer un e-mail en renseignant la structure Email puis en ajoutant le PDF précédemment généré en pièce jointe à l’e-mail.

Créer une facture et l’envoyer par e-mail au format PDF

FACTURE ET PDF

Page 88: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 87

Vos Notes

(C) PC SOFT - www.pcsoft.fr

WDEtat Utilisateur est un module destiné à l’utilisateur final d’applications réalisées avec WinDev.L’utilisateur d’une application développée avec WinDev va pouvoir créer ses propres états imprimés, ses requê-tes ou modifier les états conçus par le développeur : modifier un logo, changer une position d’un libellé, etc…

Création du projetPour fonctionner, WDETAT Utilisateur a seulement besoin de certains éléments de votre projet : c’est ce qu’on appelle le projet allégé.Ce projet allégé doit être fourni à l’utilisateurCe projet allégé est créé par le menu “Atelier…Wdetat Utilisateur…Créer le projet pour WDEtat Utilisateur”.

Ce projet allégé permet en outre de définir la localisation des fichiers de données, et de déterminer si le code du projet doit être visible ou non par l’utilisateur final.

L’assistant propose ensuite de créer le nouveau programme d’instal-lation de votre application en intégrant le projet allégé et les états modifiables par l’utilisateur.

Rendre un état accessiblePour les états que vous souhaitez rendre accessibles en modification à l’utilisateur, il faut modifier la description de l’état en cochant l’option “Intégrer le code compilé” (Cliquer sur le menu “Etat…Description” puis onglet “Détail”).Cette option permet de rendre l’état imprimé indépendant et auto-nome, donc utilisable via WDEtat Utilisateur.

Eléments de l’analyse accessiblesAu niveau de l’analyse de votre projet, il est tout à fait possible de définir pour chacune des rubriques si elle est visible ou non pour WDETAT Utilisateur et donc pour l’utilisateur (Onglet “Avancé”, case à cocher “Visible sous WDEtat Utilisateur”).

Ainsi il est possible de cacher une rubrique servant uniquement au développement, un flag par exemple et sans intérêt pour une édi-tion ou alors une information confidentielle qui ne doit pas être lue directement (le montant des salaires...).

N’oubliez pas de livrer à vos clients les états (fichiers .WDE), que vous souhaitez qu’ils puissent modifier.

Utilisation de “WDEtat Utilisateur”

WDETAT UTILISATEUR

Page 89: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 88(C) PC SOFT - www.pcsoft.fr

Thème 13 : Optimisation de l’application

Consultez l’aide en ligne sur l’utilisation de l’analyseur de perfor-mances.Cet exemple utilise le projet “Optimisation”. Ce projet est accessi-ble depuis le kouglof.

Il est possible de définir le début et la fin de l’analyse par program-mation grâce aux fonctions AnalyseurDébut et AnalyseurFin.

Rappel : pour optimiser une requête, utiliser l’option du menu con-textuel correspondante dans l’éditeur de requêtes. Cette option permet de rechercher les clés (simples ou composées) manquantes de l’analyse pour obtenir des performances optimales en fonction des conditions de la requête.

Utiliser l’analyseur de performances et optimiser les requêtes

PERFORMANCES

Page 90: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 89

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Les tables de positionnement permettent d’optimiser la taille d’une page et donc son temps de chargement.

Pour illustrer cet exemple, ouvrez la page “Page_à_Optimiser” du projet “WWTablePositionnement”. Ce projet est accessible depuis le kouglof.

Qu’est ce qu’une table de positionnement ?Les tables de positionnement permettent de positionner les champs dans une page HTML.WebDev génère à votre place cette table en fonction de l’emplace-ment de vos champs.

Activer le mode visualisation de la table de positionnementUn mode spécifique permet d’afficher les tables de positionnement générées. Ce mode est accessible par le menu “Affichage” ou par le raccourci “CTRL+U”.En mode «Visualisation de la table de positionnement», chaque trait horizontal et vertical représente une ligne ou colonne de la table de positionnement. Autrement dit, plus il y a de traits, plus la table est lourde et complexe. Pour optimiser une page, l’idée consiste à simplifier la table de positionnement en supprimant un maximum de traits horizontaux et verticaux.

Quelques trucs • Mettre un maximum de champs à la même taille (notamment les titres).• Coller les champs de saisie entre eux.• Agrandir les libellés d’explication afin qu’ils soient “collés” au champ juste en dessous.

La page “Page_Optimisée” correspond au résultat obtenu après manipulations.

Les ancragesLors du redimensionnement du navigateur, la page ne s’adapte pas toujours.Il est possible de modifier les propriétés de la zone pour qu’elle s’étende en hauteur et en largeur grâce aux ancrages (pourcenta-ges définis en mode “Table de positionnement” dans les bords de la page). Cette fonctionnalité est accessible grâce à un clic droit.

Optimiser la taille de pages Web

TAILLES DE PAGES

Page 91: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Vos Notes

Tour de France Technique PC SOFT - Juin 2005 - page 90(C) PC SOFT - www.pcsoft.fr

Thème 14 : Suivi de projet

Les centres de contrôles permettent de centraliser toutes les informations nécessaires au suivi et à la gestion d’un projet.

Le centre de suivi de projet est accessible depuis le Menu “Outils…Outils associés au centre de contrôle…Centre de suivi de projet” ou par l’exécutable “CC90Suivi.exe”.

Le centre de suivi de projet permet de :• Visualiser les différents intervenants (les intervenants sont parta-gés avec le groupware de WinDev).• Visualiser les tâches des intervenants.• Visualiser le planning prévisionnel des intervenants.• Visualiser l’historique des tâches des intervenants.

La liste des tâches est accessible depuis le kouglof (contextuel par rapport au projet et à l’intervenant courant).

Dès qu’il débute une tâche, un intervenant peut l’indiquer dans son planning.S’il est bloqué sur une tâche, il peut également l’indiquer et passer à sa tâche suivante.L’ensemble des intervenants et surtout le chef de projet auront ainsi une vision globale de l’état d’avancement du projet.

Utilisation du centre de suivi de projets

SUIVI DE PLANNING

Page 92: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 91

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Pour gérer au mieux le groupware développeur, il est conseillé de :

1. Mettre les sources du projet dans un répertoire partagé.

Pour utiliser le groupware développeur, utilisez soit un chemin UNC soit la même lettre de lecteur pour accéder au projet.

2. Utiliser un nom d’utilisateur pour travailler (pas d’utilisateur anonyme).

3. Spécifier dans la description du projet que vous travaillez à plu-sieurs.

4. Utiliser un répertoire de compilation local (défini dans la fenêtre de description du projet) pour optimiser les temps de compilation.

Partage d’éléments entre développeurs le Groupware développeur

PARTAGE D’ÉLÉMENTS

Page 93: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 92

Vos Notes

(C) PC SOFT - www.pcsoft.fr

Le centre de suivi de la qualité et des évolutions est disponible depuis le menu “Outils .. Outils associés aux centres de contrôle ou depuis l’exécutable “CC90CSQE.exe”.

Centre de contrôleCette application permet de saisir, rechercher et consulter les fiches d’incidents ou de suggestions sur des applications.Ces informations sont accessibles depuis le kouglof.Consultez l’aide en ligne pour plus de détails.

Le composant “MesIncidents”Ce composant est lié aux centres de contrôle et dispose de 2 modes de fonctionnement :• 1er cas : l’application réalisée est une application interne : vous êtes votre propre client. Dans ce cas, les incidents et les suggestions vont être directement enregistrés dans la base de données des cen-tres de contrôles qualité. • 2ème cas : l’application est utilisée en externe, non reliée au réseau de votre société. Les incidents et les suggestions vont vous êtes transmis par un e-mail formatés.

Voici le code à inclure dans votre projet pour gérer ce composant incident.1.Initialiser le composant avec l’adresse e-mail ou envoyer le mail

SpécifierEmailDestination(“[email protected]”)

Ensuite il y a 2 cas de figures :L’utilisateur souhaite signaler soit : • un incident ou bug• une suggestion

Pour la gestion de l’incident, il suffit de rajouter dans le code du projet un “Quand Exception”

Quand exception IncidentClientAjoute(Standard, lsSujetMessage) FinProgrammeFin

Un message e-mail sera construit automatiquement à l’aide d’un assistant.

Pour gérer l’envoi d’une suggestion, ajouter dans l’application un bouton “suggestion” avec le code suivant :

Créer un bouton suggestion avec le code :

IncidentClientAjoute(Standard, lsSujetMessage)

L’e-mail formaté par l’assistant est envoyé soit directement depuis cet assistant, soit depuis la messagerie habituelle de l’utilisateur.

Suivi des incidents et des suggestions

SUIVI DES INCIDENTS

Page 94: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 93

Vos Notes

(C) PC SOFT - www.pcsoft.fr

WDTest permet d’enregistrer et d’exécuter automatiquement des scripts de test d’application.

Création d’un testPour créer un test de non régression, les étapes sont les suivantes :• Lancer l’outil WDTest• Cliquer sur le bouton “Nouveau” pour créer un nouveau test• Donner un nom à ce test

Avant de valider la création du test, il est conseillé de lancer l’exé-cutable à tester. Lors de la validation du test, WDTest propose d’en-registrer le test maintenant : acceptez.

Lorsque l’enregistrement du test est commencé, toutes les opéra-tions souris et clavier sont mémorisées, il ne vous reste plus qu’à tester le fonctionnement de l’application.

Une fois le test complet, appuyez sur la touche “Arrêt Défilement” et enregistrez le test.

Lancer un testPour lancer l’exécution d’un test, il suffit alors de :• Se placer dans la configuration du test (ici par exemple, relancer l’exécutable utilisé pour le test).• Cocher le ou les tests à réaliser.• Cocher l’option “Mode sécurisé” pour arrêter le test dès la détec-tion d’un dysfonctionnement.• Lancer l’exécution des tests.

Note : L’outil WDTest n’est plus sensible à la position des champs ou des fenêtres, ce qui permet de conserver un même test même si l’interface graphique de l’application testée est modifiée.

Il est important de noter qu’il est préférable d’avoir plusieurs petits tests qu’un seul principal.Cela permet de cerner plus facilement et rapidement une régres-sion, ou de rajouter plus facilement un nouveau test.

Création d’un test de non régression

TESTS DE NON RÉGRESSION

Page 95: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 94(C) PC SOFT - www.pcsoft.fr

ANNEXE A : LES COMMANDES W-LANGAGEAttention : Le lexique ci-dessous n’est qu’un extrait des possibilités du langage de WinDev. La lecture des manuels fournis avec WinDev reste incontournable. Ne sont présentées ici que les commandes nécessaires à la bonne compréhension de cette formation.

Commandes de gestion de fichiersCommande / Syntaxe But

EcranVersFichier Renseigner le buffer fichier d’après les données saisies par l’utilisateur dans la fenêtre.

FichierVersEcran Initialiser une fenêtre d’après les dernières valeurs lues dans le fichier.

HAjoute(NomFichier) Ajouter dans le fichier l’enregistrement préparé en mémoire.

HCréationSiInexistant(NomFichier)

Ouvrir le fichier en le créant à vide auparavant s’il n’existait pas sur disque.

HErreurDoublon() Tester le compte-rendu renvoyé par le moteur de base de données en cas de tentative de création de doublon.

HErreurIntégrité() Tester le compte-rendu renvoyé par le moteur de base de données en cas de tentative d’écriture d’enregistrement ne respectant pas les contraintes d’intégrité.

HFiltre(NomFichier,Clé,Valeur) Filtrer les enregistrements du fichier dont la clé indiquée correspond à la valeur choisie.

HLitDernier(NomFichier, Clé)

Se positionner sur le dernier enregistrement du fichier selon la clé spécifiée et charger l’enregistrement en mémoire.

HLitPrecedent(NomFichier, Clé) Se positionner sur l’enregistrement précédent du fichier selon la clé spécifiée et charger l’enregistrement en mémoire.

HLitPremier(NomFichier,Clé)

Se positionner sur le premier enregistrement du fichier selon la clé spécifiée et charger l’enregistrement en mémoire.

HLitRecherchepremier(NomFichier,... Clé, Valeur)

Rechercher le premier enregistrement du fichier dont la clé indiquée correspond à la valeur choisie, puis charger l’enregistrement en mémoire.

HLitSuivant(NomFichier,Clé)

Se positionner sur l’enregistrement suivant du fichier selon la clé spécifiée et charger l’enregistrement en mémoire.

HModifie(NomFichier) Réécrire l’enregistrement courant du fichier avec les valeurs stockées en mémoire.

HRaz(NomFichier) Remettre à zéro (réinitialiser) l’enregistrement du fichier.

HSupprime(NomFichier) Supprimer l’enregistrement courant du fichier.

Page 96: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 95(C) PC SOFT - www.pcsoft.fr

Compte-rendu du moteur de bases de données

Valeur

HEnDehors(NomFichier) Renvoie Vrai si on tente de lire un enregistrement au delà du début ou de la fin du fichier.

HTrouve(NomFichier) Renvoie Vrai après une recherche si la recherche a abouti.

Autres commandesCommande / Syntaxe But

DateSys() Récupérer la date système au format AAAAMMJJ.Erreur(“Message”) Afficher un message d’erreur.

ExécuteTraitement( Champ,... Traitement)

Exécuter le traitement d’un champ ou d’une fenêtre.

HeureSys() Récupérer l’heure système au format HHMMSSCC.

Info(“Message”) Afficher un message d’information.

Confirmer(“Question”) Poser une question à l’utilisateur (la réponse est un booléen) .

RAZ() Remettre à zéro (réinitialiser) tous les champs de l’écran.

RepriseSaisie(NomChamp) Interrompre le traitement en cours et positionner le curseur sur le champ spécifié.

TableAffiche( NomTable, Position) Réafficher un champ table fichier (à l’écran) d’après les données du fichier sur disque.

ListeAjoute(NomListe, chaine) Ajouter une ligne dans un champ liste ou combo.

ListeSupprime(NomListe) Supprimer une ligne de liste ou combo.

Les commandes sont indiquées avec la syntaxe utilisée dans les exemples réalisés.Certaines fonctions acceptent d’autres paramètres ; se référer à l’aide en ligne pour plus de d’informations.

Page 97: SUPPORT DE COURS - PC SOFT WINDEV Gérer les configurations multiples de projets 18 Clés composées ... et la plupart des terminaux mobiles (Symbol, Psion, ...) Les applications développées

Tour de France Technique PC SOFT - Juin 2005 - page 96(C) PC SOFT - www.pcsoft.fr

ANNEXE B : LES TOUCHES DE RACCOURCILa liste ci-dessous présente les touches de fonction et les combinaisons de touches permettant d’accéder directement à une fonctionnalité de WinDev. Cette liste n’est pas exhaustive.Important : Sous WinDev, dans l’éditeur de fenêtres, comme dans l’éditeur de code, il est possibles d’accéder simplement aux différentes actions possibles grâce au menu contextuel. (Il suffit de faire un clic droit à la position de la souris).

Principales touches de raccourcis de l’éditeur de fenêtresTouche But

F1 Aide en ligne.

F5 Visualiser l’ordre de saisie (ordre de tabulation).F6 Visualiser le nom des champs.

CTRL Permet de sélectionner plusieurs champs à la souris.CTRL+C, CTRL+V, CTRL+X Copier, Coller, Couper un champ, avec ses propriétés et son

code associé.CTRL+R Affiche ou rend invisible les règles d’alignement.

SHIFT+F9 Tester l’IHM d’une fenêtre sans exécuter les traitements.

Principales touches de raccourcis de l’éditeur de codeTouche But

F1 Aide en ligne.

F2 Accéder au code d’une procédure en étant positionné sur le nom de la procédure auparavant (CTRL-F2 pour revenir).

F4 Créer une procédure locale (Shift-F4 pour créer une procédure globale).

F8 Liste des procédures locale (CTRL-F8 pour la liste des procédures globales).

F11 Liste des fichiers, requêtes et rubriques.CTRL+C, CTRL+V, CTRL+X Copier, Coller, Couper du code.

CTRL + « / » (pavé numérique) Mettre en commentaire (CTRL + Shift + « / » pour enlever les commentaires).

ALT + T Activer la pipette pour sélectionner le nom d’un champs d’une fenêtre.