Vous êtes sur la page 1sur 97

TOUR DE FRANCE

TECHNIQUE 2005
SUPPORT
DE COURS
COMMENT LE FAIRE EN

Vous mritez le meilleur


DVELOPPEZ 10 FOIS PLUS VITE
Fournisseur Officiel de la Prparation Olympique


Vos Notes
Avertissement

Le document que vous avez entre les mains na pas la


finalit de remplacer les documentations techniques
ou commerciales livres avec WinDev, WebDev, WinDev
Mobile.

Ce document nest pas un cours dauto-formation, mais


uniquement un support papier la prsentation tech-
nique que vous allez suivre.

(C) PC SOFT 2005


Reproduction et diffusion interdite sans lautorisation crite de
PC SOFT.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 1
Vos Notes
SOMMAIRE
6 Prsentation de WinDev
8 Prsentation de WinDev Mobile
10 Prsentation de WebDev
Les Concepts Internet

14 Thme 1 : Gains dveloppeur


14 Ancrages Avancs
Gestion avance des ancrages et conflits dancrage
15 Table Multi-slection
Gestion de la multi-slection sur une table fichier
16 Les configurations
Grer les configurations multiples de projets
18 Cls composes
Exploitation de la nouvelle syntaxe de construction des cls com-
poses
19 Diffrences de code
Comparer le code dun projet aprs modification
20 Patchs de mise jour
Mise en place et utilisation des patchs de mise jour
21 Multi-Langues
Comment crer une application en plusieurs langues ?
24 Pattern RAD
Comment crer un pattern pour gnrer son code
26 Installation Rseau
Mettre en place une installation rseau ou Internet de son
application
30 Installation Internet
Installation avec tlchargement automatique du framework
31 Installation MSI
Comment gnrer une procdure dinstallation au format MSI ?

32 Thme 2 : Gains utilisateur


32 MCU : les macros
Les utilisateurs grent leurs macros
33 Les splitters
Personnaliser lenvironnement de lutilisateur sans
programmation
34 Persistance des champs
Mmoriser le contenu des variables ou des champs
35 Boutons Minuterie
Validation automatique des boutons aprs un dlai dfini
36 Ajouter une aide
Comment ajouter une aide au format CHM dans une application
37 Documentation FAA
La documentation utilisateur des FAA

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 2
Vos Notes
38 Thme 3 : Base de donnes
38 Installation
Installer Hyper File Client/Serveur sur Windows
40 Base de donnes
Comment crer une base de donnes sur le serveur
Hyper File Client/Serveur
41 Transfert de donnes
Transfrer une base de donnes Hyper File Classic vers Hyper File
Client/Serveur
42 Analyse et code
Modifier lanalyse et le code pour prendre en compte Hyper File
Client/Serveur
43 Applications
Installation dune application rseau exploitant Hyper File
Client/Serveur
45 Gestion des droits
Configurer les droits sur une base de donnes Hyper File
Client/Serveur
46 Installation Linux
Installer un serveur Hyper File Client/Serveur sur Linux
47 Accs natifs
Accs natifs et bases tierces depuis une application WinDev
48 Optimisation
Optimisation des tables fichiers sur une base de donnes
SQL Server

49 Thme 4 : Accs distant


49 Sites distants
Partager en temps rel une base de donnes entre sites distants
via ADSL
50 Accs GPRS
Accder 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 Thme 5 : Rplication
53 Rplication Hyper File
Rplication classique et rplication htrogne sur une base
Hyper File
54 Rplication htrogne
Rplication entre une base de donnes Hyper File et une base de
donnes SQL Server
56 Synchronisation Mobile
Synchroniser des bases de donnes Hyper File Classic et
Hyper File Mobile

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 3
Vos Notes
58 Thme 6 : Architecture
dapplication
58 Fentre interne
Utilisation des fentres internes
59 Composants
Utilisation des composants et des fentres internes
60 Multi-produits
Composant Multi-produits et code cible conditionnel
61 Composant mtier
Mise jour chaud, importation, compatibilit...

62 Thme 7 : Communication
62 Rcupration HTML
Rcupration automatique dinformations sur un site Internet
64 Mailing E-mail
Raliser un mailing e-mail personnalis
65 Mailing Fax
Raliser un mailing fax personnalis

66 Thme 8 : La scurit
66 WebDev et SSL
Traitement scuris avec WebDev et SSL
68 Paiement scuris
Implmenter un paiement par Carte bleue dans un site WebDev

69 Thme 9 : Internet / Intranet


69 Installation
Installer un serveur dapplication WebDev sur Windows
71 Mode AWP
AWP ? Ca change quoi concrtement ? Quand lutiliser ?
72 Site PHP
Crer un site PHP et le dployer chez un hbergeur
73 Portage dapplication
Porter une application WinDev vers WebDev
74 Installation Linux
Installer un serveur dapplication WebDev sur Linux

76 Thme 10 : La Mobilit
76 Portage dapplication
Porter une application WinDev sur un Pocket PC
77 Dploiement
Dploiement dune application Mobile (Internet ou par mdia de
type CD-ROM)

79 Thme 11 : Autres technologies


79 .NET : Utilisation
Utiliser un traitement .Net depuis une application WinDev
80 .NET : Publier
Publier un traitement .Net ralis depuis un projet WinDev

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 4
Vos Notes
81 Java
Crer une application Java depuis un projet WinDev
83 Service Web
Crer un Service Web daccs aux donnes

85 Thme 12 : Les tats


85 Etats croiss
Raliser un tat crois
86 Facture et PDF
Crer une facture et lenvoyer par e-mail au format PDF
87 WDEtat Utilisateur
Utilisation de WDEtat Utilisateur

88 Thme 13 : Optimisation de
lapplication
88 Performances
Utiliser lanalyseur de performances et optimiser les requtes
89 Tailles de pages
Optimiser la taille de pages Web

90 Thme 14 : Suivi de projet


90 Suivi de planning
Utilisation du centre de suivi de projets
91 Partage dlments
Partage dlments entre dveloppeurs
le Groupware dveloppeur
92 Suivi des incidents
Suivi des incidents et des suggestions
93 Tests de non rgression
Cration dun test de non rgression
94 Annexe A : Les commandes W-Langage
96 Annexe B : Les touches de raccourci

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 5
Vos Notes
PRSENTATION DE WINDEV

WinDev est un AGL (Atelier de Gnie Logiciel).

Lditeur dIHM de WinDev

WinDev permet de dvelopper simplement tout type dapplica-


tions Windows dans les domaines de la gestion, de lindustrie, du
mdical,etc

Les applications dveloppes peuvent inclure laccs des bases de


donnes.
WinDev inclut un puissant moteur de base de donnes : Hyper File.
Il est conseill dutiliser Hyper File pour vos applications afin dob-
tenir les meilleures performances dans vos traitements de fichiers.
Une version Hyper File Client/Serveur est aussi disponible.

Lenvironnement de dveloppement intgr de WinDev se compose


de diffrents diteurs :

Un diteur de projet permettant de visualiser et dagir sur le gra-


phe du projet.
Un diteur danalyses permettant laccs tout type de base de
donnes (Hyper File, Hyper File Client/Serveur, xBase, AS/400*,
Oracle*, SQL Server*, Access**, ODBC, OLE DB )
Un diteur UML permettant une modlisation objet de vos donnes
et traitements
Un diteur dIHM avec correcteur dinterface en temps rel
Un diteur de code volu (avec assistants, vrification du code
saisi, coloration syntaxique, aide contextuelle ) incluant un puis-
sant dbogueur.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 6
Vos Notes
Un diteur de requtes pour les slections dans les fichiers
Un diteur dtats
Un diteur daide permettant de gnrer des fichiers daide au
format CHM
Un diteur dinstallation
Un diteur de dossier technique reprenant intgralement toutes
les informations techniques de votre projet
* accs natif optionnel, ** accs natif inclus

Des outils facilitant le dveloppement sont galement fournis


(WDMAP, WDOUTIL, WDVERSION... ) ainsi que de nombreux exemples
et assistants rutilisables.

Des centres de contrle permettent la gestion du cycle de vie de vos


applications ainsi que leur administration.

Une aide en ligne vous guide tout au long du dveloppement de votre


application. Cette aide inclut galement une aide la correction
derreur.

Les diffrents diteurs seront utiliss, depuis la dfinition dune ana-


lyse jusqu linstallation, en passant par toutes les phases du dve-
loppement (cration des fentres, des tats, des traitements...),
sans oublier les sauvegardes.

Le moteur Hyper File sera utilis pour les fichiers de donnes exem-
ples de lapplication.

Lutilisation dautres moteurs de base de donnes est galement


possible sur le mme principe.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 7
Vos Notes
PRSENTATION DE
WINDEV MOBILE

Lditeur dIHM de WinDev Mobile

WinDev Mobile permet de dvelopper simplement tout type dappli-


cations destines tre utilises sur un Pocket PC, un SmartPhone,
et la plupart des terminaux mobiles (Symbol, Psion, ...)

Les applications dveloppes peuvent inclure laccs des bases de


donnes.
WinDev Mobile inclut un puissant moteur de base de donnes : Hyper
File Mobile.
Il est conseill dutiliser Hyper File pour vos applications afin dob-
tenir les meilleures performances dans vos traitements de fichiers.
Une version Hyper File Client/Serveur est aussi disponible.
WinDev Mobile permet galement daccder aux bases de donnes
CEDB, bases de donnes standard des Pockets PC.

Lenvironnement de dveloppement intgr de WinDev Mobile se


compose de diffrents diteurs :

Un diteur de projet permettant de visualiser et dagir sur le gra-


phe du projet.
Un diteur danalyses permettant laccs tout type de base de
donnes (Hyper File, Hyper File Client/Serveur, Oracle Lite * )
Un diteur UML permettant une modlisation objet de vos donnes
et traitements
Un diteur dIHM avec correcteur dinterface en temps rel
Un diteur de code volu (avec assistants, vrification du code
saisi, coloration syntaxique, aide contextuelle ?) incluant un puis-
sant dbogueur
Un diteur de requtes pour les slections dans les fichiers
Un diteur dtats
Un diteur dinstallation

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 8
Vos Notes
Un diteur de dossier technique reprenant intgralement toutes
les informations techniques de votre projet
* accs natif optionnel

Des outils facilitant le dveloppement sont galement fournis


(WDREGISTRE, WDCAPTURE, WDVERSION... ) ainsi que de nombreux
exemples et assistants rutilisables.

Des centres de contrle permettent la gestion du cycle de vie de vos


applications ainsi que leur administration.

Une aide en ligne vous guide tout au long du dveloppement de votre


application. Cette aide inclut galement une aide la correction
derreur.
Le moteur Hyper File Mobile sera utilis pour les fichiers de donnes
exemples de lapplication.

Lutilisation dautres moteurs de base de donnes est galement


possible sur le mme principe.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 9
Vos Notes
PRSENTATION DE WEBDEV

Lditeur de pages de WebDev

WebDev est un AGL (Atelier de Gnie Logiciel) orient dveloppe-


ment de sites Intranet et Internet.

WebDev permet de dvelopper tout type de sites dynamiques


incluant laccs des bases de donnes. Il permet aussi de dvelop-
per des sites semi-dynamiques et statiques.

Il est compos de diffrents diteurs :


Un diteur de projet permettant de visualiser et dagir sur le gra-
phe du projet.
Un diteur de pages.
Un diteur danalyses permettant laccs tout type de base de
donnes (Hyper File, Hyper File Client/Serveur, xBase, AS/400*,
Oracle*, SQL Server*, Access**, OLE DB, etc.).
Un diteur de code volu (avec assistants, vrification du code
saisi, coloration syntaxique, aide contextuelle ) incluant un puis-
sant dbogueur.
Un diteur de styles incluant police, couleur, position, etc.
Un diteur de requtes pour les slections dans les fichiers.
Un diteur dtats.
Un diteur de dossier technique reprenant intgralement toutes les
informations techniques de votre projet.
Un diteur dinstallation.
* accs natif optionnel, ** accs natif inclus

Lditeur dinstallation assure la mise en place des sites crs, ainsi


que leur maintenance. Cet outil permet de raliser une installation
sur le serveur via FTP ou par mdia physique (CD, Zip, etc.).

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 10
Vos Notes
Des outils facilitant le dveloppement sont galement fournis
(WDMAP, WDOUTIL, WDSQL, etc.) ainsi que de nombreux exemples
et assistants rutilisables.

Les principaux diteurs sont utiliss, depuis la dfinition dune


analyse jusqu linstallation, en passant par toutes les phases du
dveloppement (cration de pages, traitements, tats, etc.), sans
oublier les sauvegardes.

Les Concepts Internet


Les diffrents services de lInternet
Internet est un rseau mondial dordinateurs pouvant dialoguer
entre eux. Ces ordinateurs peuvent tre de types diffrents (micros,
minis, ) et fonctionner sur des systmes dexploitation diffrents
(Windows, Linux, MacOS, Unix, )
Tous ces ordinateurs sont relis par le biais du protocole TCP/IP.

WWW (World Wide Web) ou toile daraigne mondiale a t cr


en 1990. Il peut vhiculer des pages pouvant contenir du texte, des
images, du son, de la vido. Un regroupement de pages constitue un
site.

Le terme Internet regroupe plusieurs services dutilisation diff-


rente :
FTP (File Transfer Protocol) est un service permettant de transfrer
des fichiers dun ordinateur vers un autre travers Internet.
SMTP (Simple Mail Transfer Protocol) permet denvoyer des messa-
ges ou mails un utilisateur dfini. Chaque utilisateur doit disposer
dune adresse Email qui lui sert de bote 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 ncessite un gestionnaire de services install


sur un serveur :
Le gestionnaire de services FTP gre lhbergement des fichiers,
les droits dutilisation des fichiers et la rponse aux demandes en
provenance des autres postes.
Le gestionnaire de services SMTP prend en charge les demandes
denvoi de messages et le routage vers les serveurs POP (rception
des messages) concerns.
Le gestionnaire Web (www) permet lhbergement des pages et
rpond aux demandes de consultation de la part des postes client.

Le Web en dtail
Les pages Web sont visualises sur un poste par lintermdiaire dun
navigateur Web (Internet Explorer, Netscape, Opera, etc.).
Le navigateur interprte le contenu des fichiers au format HTML
dcrivant les pages. On parle de pages HTML.
WebDev gnre automatiquement le code HTML et Javascript
HTML (HyperText Markup Language) est un langage de description
de pages. Toute la mise en page est dcrite par lintermdiaire de
balises.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 11
Vos Notes
Exemple de code HTML :
<B>Bonjour !</B> indique que Bonjour ! va apparatre en gras.
Une page peut aussi tre compose de scripts en langage
Javascript.
Javascript est utilis pour raliser des traitements dynamiques au
niveau du navigateur, par exemple contrler la saisie par lutilisateur
dune valeur dans une page.
Il est possible dafficher directement une page dans un navigateur
en tapant son URL dans la zone adresse du navigateur.
LURL (Uniform Resource Locator) correspond au chemin daccs de
la page sur le serveur qui lhberge.
Exemple dURL : http://www.monserveur.com/page3.htm
Une URL peut aussi tre compose simplement du nom du domaine.
Dans ce cas, cest la page du sommaire du serveur qui saffichera.
Exemple : http://www.pcsoft.fr
Si lURL ne correspond pas une adresse valide, une erreur de con-
nexion est retourne dans lcran du navigateur.
Si lURL est valide, la page demande saffiche dans le navigateur.
Lutilisateur peut alors dclencher une action en cliquant sur un lien
ou un bouton. La requte correspondante est alors envoye au ser-
veur qui lanalyse.
Le lien permet de lancer le chargement dune autre page ou bien de
lancer une application Web.

Site statique, semi-dynamique ou dynamique ?


Le site statique est compos de pages conues lavance de
manire dfinitive. Dans ce cas, le contenu des pages nvoluera pas
dynamiquement en fonction dun choix de lutilisateur.
Le site semi-dynamique est un site statique compos de pages
conues lavance mais enrichies par une base de donnes. Dans ce
cas, le contenu des pages nvoluera pas dynamiquement en fonc-
tion dun choix de lutilisateur. Lun des meilleurs exemples est un
catalogue de pices dtaches.
Le site dynamique est constitu de pages enrichies de donnes
provenant dune base de donnes. Il est ncessaire dexcuter des
traitements daccs aux donnes sur le serveur permettant de cons-
tituer la page.
WebDev permet de dvelopper des sites dynamiques composs de
pages, de traitements serveur (accs aux bases de donnes, calculs,
etc.) et de traitements excuts par le navigateur (contrles, traite-
ments rptitifs, etc.).
WebDev permet aussi de dvelopper des sites statiques et semi-
dynamiques.

Fonctionnement dune application WebDev


Une application WebDev hberge sur un serveur peut tre excute
en appelant une URL particulire depuis un navigateur.
Exemple :
http://www.monserveur.com/wd90awp/wd90awp.exe/CONNECT/
monappli
Le lanceur de WebDev wd90awp.exe permet dexcuter lapplica-
tion sur le serveur grce au serveur dapplication wd90session.exe.
Le serveur dapplication construit dynamiquement la premire page

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 12
Vos Notes
de lapplication et lenvoie au navigateur par lintermdiaire du
serveur Web.
Le schma ci-dessous illustre le fonctionnement dune application
WebDev.

Principe de programmation WebDev


Le dbit entre le serveur Internet et le poste client est plus lent
quavec un rseau local classique. Les changes de donnes entre le
poste client et le serveur doivent donc tre rduits pour que lappli-
cation puisse sexcuter sans ralentissement.
WebDev permet de diffrencier les traitements excuts sur le ser-
veur et les traitements excuts sur le poste client.

1. Les traitements sur le serveur


Les traitements excuts sur le serveur sont les traitements princi-
paux de lapplication. Ils concernent la gestion de la base de don-
nes (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 client


Les traitements excuts sur le poste client sont les traitements de
contrle de saisie, de vrification qui ne ncessitent pas daccder
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
quil puisse tre excut par le navigateur.

3. Administrateur WebDev
Ladministrateur WebDev est un excutable install sur le serveur.
Ladministrateur permet de configurer le nombre de connexions
autorises en mme temps pour le serveur, par site, par utilisateur. Il
permet aussi de fixer le temps maximum dexcution dune requte
et le temps limite pour la dconnexion des utilisateurs inactifs.
Ladministrateur peut tout moment afficher la liste des utilisateurs
connects au site.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 13
Thme 1 : Gains dveloppeur

Vos Notes
ANCRAGES AVANCS
Gestion avance des ancrages
et conflits dancrage

WinDev, vous le savez sans doute dj propose la notion


dancrage sur les fentres.
Lancrage permet de dfinir le positionnement des
champs lors dun changement de taille de la fentre.
Cet exemple utilise le projet GainsDeveloppeur et la fentre
Fentre Ancrage. Ce projet est accessible depuis le kouglof.

Ancrage proportionnel en largeur


Lorsque lutilisateur va agrandir la fentre, les champs nom et
prnom doivent sagrandirent sans se chevaucher.
Il ny a aucune raison que le nom sagrandisse plus que le prnom ou
inversement, il faut donc rpartir lagrandissement.
Il suffit de slectionner les deux champs et de choisir un ancrage
proportionnel vers la droite.
Testez : Go ! Les 2 champs sagrandissent bien proportionnellement
lors du redimensionnement de la fentre.

Ancrage proportionnel en hauteur


Maintenant, le champ adresse doit sagrandir en largeur et en
hauteur.
En largeur pas de problme, car les boutons sont ancrs droite. Ils
vont suivre le bord de la fentre lors de son agrandissement et lais-
ser ainsi de la place au champ adresse pour sagrandir.
Pour la hauteur, il est possible de choisir un pourcentage dagrandis-
sement 50% par exemple.
WinDev dtecte un conflit dancrage : les champs apparaissent en
rouge.
Normal : il faut ancrer les champs en-dessous du champ adresse
pour viter la superposition lors de lagrandissement.
Il suffit de dcaler donc vers le bas de 50%, le champ adresse
sagrandissant potentiellement de 50 % seulement.
Testez : GO! En bas, cest dommage de perdre cette place. Pourquoi
ne pas agrandir le champ observation ?
Il suffit de dfinir pour le champ Observation, un ancrage largeur
et hauteur avec une hauteur 50 %.
Si vous voulez tester lIHM de la fentre sans excuter les trai-
tements, cliquez sur licne de lil, ou slectionnez le menu
AffichageAfficher la fentre ou Shift + F9.
De la mme faon, les champs adresse et Observations augmen-
teront de faon proportionnelle.
Les champs Code Postal, ville, tlphone, ... devront se
dplacer vers le bas du fait que le champ adresse peut augmenter
de 50% : il faut modifier lancrage en hauteur 100%.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 14
Vos Notes
TABLE MULTI-SLECTION
Gestion de la multi-slection
sur une table fichier

La gestion de la multi-slection a t tendue aux


tables fichier depuis WinDev 9.
Cest trs simple grer.

Cet exemple utilise la fentre fenmultislection du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Cette fentre contient une table fichier base sur les Clients

Pour permettre lutilisateur dimprimer les fiches Clients partir


dune slection quil aura faite, les tapes sont les suivantes :
Indiquer que la table fichier autorise la multi-slection (cocher
loption slection multiple dans la fentre de description du
champ table).
Il y a alors deux possibilits:
Soit un traitement manuel de la multi-slection. Ce traite-
ment se fait exactement comme pour la gestion des listes en parcou-
rant les diffrents lments slectionns.
Soit un traitement automatique de la multi-slection en modi-
fiant la description de ltat qui imprime les fiches.
Cest ce second cas qui est utilis dans ltat Etat_
MultiSelection.
Indiquer dans la description de ltat que ltat imprime, non plus,
toutes les lignes de la table mais seulement les lignes slection-
nes.

Il suffit de tester le programme pour voir le fonctionnement :


Go, faire une slection multiple et imprimer.
Pour slectionner plusieurs fiches, les touches standard de slection
sont utilises savoir le CTRL pour slectionner ou dslectionner
une ligne supplmentaire ou le SHIFT pour une slection de lignes
contigus.
Lancement de limpression : seules les fiches des Clients slection-
ns sont imprimes.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 15
Vos Notes
LES CONFIGURATIONS
Grer les configurations
multiples de projets

La configuration de projet cest quoi ?


Cest la possibilit de crer des applications distinctes,
des excutables, des composants, des assemblages
.NET, etc partir dun projet unique.

Cet exemple utilise la fentre FenGestionParc du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.
Les configurations de projet vont tre utilises pour raliser une ver-
sion adapte dun projet (sans modifier le projet normal).

Cration dune configuration


Pour crer une nouvelle configuration, il suffit dutiliser loption
Nouveau du menu ProjetGestion des configurations.
Les informations ncessaires sont les suivantes :
Le nom de la nouvelle configuration, Montpellier.
Le type de gnration : un excutable.
Le nom de lexcutable.

La nouvelle configuration apparat dans la liste des configurations.


Cette liste est rappele dans le volet WinDev.

Association une configuration


Une fois la nouvelle configuration cre, il est possible de partager
diffrents objets (fentres, tats, requtes, etc...) entre les 2 con-
figurations (celle cre et celle correspondante au projet principal)
ou avoir dautres objets spcifiques une configuration.
Pour lexemple, nous allons dfinir une premire fentre spcifique
chaque configuration.
Pour la rendre spcifique, il suffit de changer le libell de la fentre
et de le remplacer, par exemple, par MONTPELLIER.
Enregistrez la fentre FenGestionParc par exemple sous le nom
FenGestionParc_MONTPELLIER.wdw et dfinissez cette fentre
comme 1re fentre du projet.

Nous avons maintenant 2 fentres qui sont adaptes chacune des


2 configurations.
Il nous reste retirer de la configuration MONTPELLIER, la fentre
initiale principale (clic droit sur la fentre FenGestionParc et
slectionnez exclure de la configuration courante).

A tout moment, il est possible de travailler sur une configuration


spcifique : les lments nappartenant pas cette configuration
apparaissent griss sous lditeur de projet.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 16
Vos Notes
Bien entendu, lors de la gnration de la configuration (un excuta-
ble, une bibliothque, etc) seuls les lments appartenant cette
configuration sont intgrs dans la cible.

Cration de lexcutable
Cliquez sur le bouton crer lexcutable, dans la liste des l-
ments de la bibliothque, seuls les lments de la configuration
courante sont intgrs.

Le raccourci Alt+F8 ou le menu Atelier Gnration mul-


tiple vous permet de gnrer plusieurs configurations en
mme temps.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 17
Vos Notes
CLS COMPOSES
Exploitation de la nouvelle
syntaxe de construction des
cls composes
Une nouvelle syntaxe est disponible en version 9 pour
utiliser les cls composes.

Cet exemple utilise le projet GainsDeveloppeur et la fentre


ClesComposees. Ce projet est accessible depuis le kouglof.

Sans cette nouvelle syntaxe, un code de recherche avec une cl


compose est de la forme :
sValRech est une chane
sValRech = HConstruitValCl (Client, ...
ClCodePostalSociet,...
RechercheCodePostal, RechercheSociete)
HLitRecherche(Client,ClCodePostalSociet,...
sValRech)
TableAffiche(Table_Client,taCourantPremier)

Maintenant, il suffit dindiquer les valeurs de la cl entre crochets


directement.
Il ny a plus besoin dutiliser HConstruitValCl.
HLitRecherche(Client,ClCodePostalSociet,...
[RechercheCodePostal,RechercheSociete])
TableAffiche(Table_Client,taCourantPremier)

Cette nouvelle syntaxe simplifie lcriture du code, mais aussi sa


comprhension et donc sa maintenance.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 18
Vos Notes
DIFFRENCES DE CODE
Comparer le code dun projet
aprs modification

Trs souvent, vous avez besoin de connatre dans vos


projets les diffrences entre votre sauvegarde de la
semaine et votre version actuelle afin de comprendre
par exemple un comportement diffrent.
Une fentre fonctionnait trs bien et elle ne fonctionne
plus maintenant.

Cet exemple utilise le projet GainsDeveloppeur. Ce projet est


accessible depuis le kouglof.

Recherche des diffrences sur la classe


cPayboxDirect
Allez sur le code de la classe cPayboxDirect.
Choisissez le choix Comparer llment en cours dans le menu
fichier.
Slectionnez la classe cPayBoxDirect-old dans le rpertoire \
Ancienne Classe, puis cliquez sur le bouton Terminer.
Slectionnez la classe comparer avec la classe actuelle.

Le comparateur de WinDev prsente les diffrentes mthodes qui


ont t modifies. Vous pouvez par exemple voir que la mthode
sMsgErreurAppel nexistait pas dans lancienne version.

Visualisation des diffrences


Pour visualiser les diffrences de la mthode Credite, double-
cliquez sur la mthode Credite. A gauche, saffiche la version
actuelle, droite lancienne version.
En rose, cest le code modifi,
En bleu, le code supprim dans la classe actuelle,
En vert, le code ajout.

Cest la mme chose pour tous les lments : les requtes, les fen-
tres, les tats, ...

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 19
Vos Notes
PATCHS DE MISE JOUR
Mise en place et utilisation des
patchs de mise jour

Un patch pourquoi et quand ?


Le patch rpond un besoin prcis : modification limi-
te, diffusion urgente.

Cet exemple utilise la fentre Ancrage du projet WD Patch. Ce


projet est accessible depuis le kouglof.

Supposons, par exemple, que dans cette fentre le dveloppeur ait


oubli dinclure le champ de saisie Email.
La rubrique e-mail a bien t prvue au niveau de lanalyse mais
oublie dans lIHM.

Pour ajouter le champ, il suffit de faire un simple Drag and Drop


depuis lanalyse (fichier Client) vers la fentre.
Pensez remplir les informations RAD dans lanalyse.
Cela sera trs utile dans vos dveloppements notamment dans le
cas prsent.

Pour propager cette volution sans passer par la cration dune pro-
cdure dinstallation, il suffit de crer un patch. Cette fonctionnalit
est accessible depuis loption Crer un patch de la bibliothque du
menu Atelier..Bibliothque.

Les tapes de la cration du patch sont les suivantes :


Indiquer les lments intgrer dans le patch. Ici la fentre modi-
fie : la fentre ancrage.
Ajouter un libell explicatif du patch.
Cliquer sur loption Gnrer une installation.
Cliquer sur Terminer.

Un rpertoire Patch est cr dans le rpertoire du projet. Ce


rpertoire contient un fichier auto extractible dinstallation
excuter sur le poste client : il suffit alors denvoyer ce fichier auto
extractible votre client.

Ce fichier patch (de la forme fichier.wdl.001) sera simplement ins-


tall cot de lexcutable de lapplication en clientle.

Lors du prochain lancement de lapplication par lutilisateur, le


patch sera pris en compte et lapplication intgrera les modifica-
tions dfinies dans le patch.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 20
Vos Notes
MULTI-LANGUES
Comment crer une
application en plusieurs
langues ?
WinDev prend en compte jusqu 20 langues diffrentes
par application et ceci toutes les tapes du dvelop-
pement dune application.

Cet exemple utilise la fentre FenMultilangue du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Paramtrage du projet
Voici les diffrentes tapes pour rendre un projet multi-langues :
1- Tout dabord dfinir dans la description du projet les langues (20
langues maxi par projet) qui seront utilises par le projet (fran-
ais, anglais, allemand, espagnol, italien, portugais, russe, chinois,
etc.).
Dans cet exemple, nous ajoutons la gestion de langlais notre pro-
jet qui sera donc franais et anglais.
2- Ensuite, il sera ncessaire de convertir les chanes de caractres
en ressources multi-langues.

Conversion des chanes en ressources


multi-langues
En 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 raliser cette conversion, utilisez loption 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 chane propose de la convertir ou non en ressource multi-
langues.
Remarquez le petit drapeau qui apparat juste derrire la chane
pour spcifier quil sagit maintenant dune ressource multi-langues
et donc quelle pourra tre traduite.

Arrtons-nous sur cette chane :


Le client +TXT_NOM+ a bien t +sOperation
Nous avons ici le cas typique derreur due la construction syntaxi-
que lie au multi-langues : la chane est construite dynamiquement
par programmation en intgrant une variable.
Mais la construction syntaxique en franais est diffrente de lan-
glais.
Le client + variable + a bien t +variable ne se traduit pas par

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 21
Vos Notes
The customer +variable+ a bien t +variable, mais plutt par
The customer + variable + has been + variable +successfully.
Dans ce cas comment faire ?
Tout simplement, utiliser lordre du W-langage ChaneConstruit
avec le paramtre optionnel pour-cent %.
La chane pourra ainsi tre traduite en toute scurit.

Traduction des ressources multi-langues


Une ressource multi-langues peut tre un message mais galement
le titre dune fentre, le Libell dun champ, le message daide dun
champ, la bulle daide dun champ, le contenu dun champ (liste,
combo, interrupteur et slecteur) etc.

Vous pouvez traduire les ressources une une sous lditeur, soit
directement la main, soit laide dun outil de traduction de type
Systran (bouton traduire).
Cette solution est difficilement envisageable sur un projet cons-
quent

Lautre solution est dutiliser WDMSG.


WDMSG est un module optionnel qui va industrialiser cette phase de
traduction.
Tout dabord, WDMSG va automatiquement extraire du projet toutes
les ressources multi-langues et gnrer un fichier texte en utilisant
loption extraction des messages du menu outilsWDMSG.
Vous pouvez alors soit directement traduire dans ce fichier texte,
soit utiliser WDTRAD.

Utilisation de WDTrad
WDTRAD 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 grer un dictionnaire de traduction
que vous allez pouvoir enrichir au fur et mesure.
Par dfaut le dictionnaire est aliment par plus de 10.000 traduc-
tions (les plus courantes).

Pour utiliser ce dictionnaire et faire une premire passe de traduc-


tion automatique sur notre fichier texte, il suffit dutiliser 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 affiche.

Ensuite pour les ressources non trouves dans le dictionnaire, il suf-


fira de les saisir dans la colonne de droite, et alimenter ainsi auto-
matiquement le dictionnaire.
Vous pouvez trs bien avoir plusieurs dictionnaires dans diffrentes
langues.

Il ne reste maintenant plus qu rimporter dans le projet le fichier


texte traduit vers la langue anglaise grce loption Rintgration
des messages du menu OutilsWDMSG

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 22
Vos Notes
Changement de langue par programmation
Crez deux boutons :
un avec franais
un avec english puis ditez le code du bouton.
Pour passer lapplication dans la langue anglaise, le code utiliser
est simplement la fonction Nation du W-Langage avec le n de la
langue. Pour langlais cest 3.
Et ensuite, la fonction Utilise permet de rafficher la fentre :
Nation(3)
Utilise(Nom de la fentre)
Et pour repasser en franais, il suffit dutiliser la fonction Nation
avec le code 5.
Nation(5)
Utilise(Nom de la fentre)

Go du projet !
Lapplication est en franais
Lors dun clic sur le bouton english, lapplication passe en
anglais.
Cliquez sur le bouton english puis franais pour tester.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 23
Vos Notes
PATTERN RAD
Comment crer un pattern
pour gnrer son code

Nous allons maintenant voir comment on peut crer un


pattern pour gnrer son code soi.
WinDev propose des modles RAD que lon peut modi-
fier.
Dans cet exemple, nous allons ajouter un bouton dans
un modle fiche qui permettra de bloquer lenregis-
trement en cours du fichier.

Cet exemple le projet GainsDeveloppeur. Ce projet est accessible


depuis le kouglof.

Voici comment procder pour modifier un pattern existant.


Ouvrir le projet GainsDeveloppeur.
Slectionner loption de menu Atelier..Modle RAD personnalis
(Pattern)..Ouvrir un modle RAD...
Dans le slecteur de fichiers qui souvre, slectionner le chemin
..\<Rpertoire dinstallation de WinDev 9>\Programmes\Donnees\
Modeles\RAD\WD.
Choisir le modle fiche.MDL : celui-ci saffiche.
Enregistrer sous pour mettre dans le rpertoire Personnel du
produit.
Le mode Mode dition des zones permet de dfinir laspect visuel
de la fentre (IHM).

Une fois dans ce mode ddition de zone, il est possible dagrandir la


zone contenant les boutons pour ajouter un nouveau bouton.
Slectionnez la zone de boutons Bouton_Fiche_Parcours pour
lagrandir vers le bas.
Crez un nouveau bouton.
Menu Affichage, option mode gabarit (pour dcocher loption
mode gabarit).
Modifiez le nom du bouton (BTN_BLOQUE) et son libell (Bloque).
Tapez le code suivant dans le bouton :
%ifdef PROC
%ifdef FICHIER
HBloqueNumEnr({RAD_FICHIER_
A},hNumEnrEnCours, hBlocageLectureEcri-
ture)
%endif
%endif

Reportez-vous la documentation pour la signification des mots-cls


du RAD (%ifdef PROC, etc...)

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 24
Vos Notes
Le code est ralis, il suffit denregistrer le modle RAD modifi
pour pouvoir le tester.
Crez une nouvelle fentre grce loption Fichier Nouvelle
fentre Onglet RAD.
Slectionnez le modle qui vient dtre cr : fiche avec par-
cours (il est possible de changer ce nom dans la fentre de descrip-
tion du pattern). Le modle personnalis dispose dun icone spcifi-
que pour le distinguer des modles classiques.
Validez.
Slectionnez le mode de programmation Programmation
Procdurale.
Choisissez le fichier Client.
Laissez toutes les options par dfaut et terminez lassistant.

Le bouton ajout est disponible dans la fentre ainsi que le code


gnr.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 25
Vos Notes
INSTALLATION RSEAU
Mettre en place une
installation rseau ou Internet
de son application
Une fois le dveloppement termin, il reste installer
lapplication sur les diffrents postes qui vont lutiliser.
Ensuite, lorsque lapplication va voluer, il faudra mettre
jour les postes pour quils bnficient de la dernire
version.
Ces 2 phases sont gres par lditeur dinstallation
rseau de WINDEV 9.
Nous allons voir comment crer une installation avec
mise jour automatique.
Cet exemple le projet GainsDeveloppeur. Ce projet est accessible
depuis le kouglof.

Droulement de la cration de la procdure


dinstallation
Ouvrir le projet GainsDeveloppeur.
Lancer la procdure dinstallation par licone CD.
Accepter la cration de lexcutable.
Plan 1 : Choix du modle dinstallation : cocher le choix 2 dins-
tallation par mise jour rseau.
Plan 2 : Choisir la langue.
Nous allons commencer par crer une installation classique.
Rappel : vous pouvez crer des installations grant jusqu 20 lan-
gues.
Le moteur dinstallation (WDSetup) est livr en standard en franais
et en anglais avec son code source pour une ventuelle traduction.
Dans cette phase, il suffit de dcrire linstallation en rpondant tout
simplement aux questions poses par lassistant.
Plan 3 : Choix du dcor de linstallation. Le dcor de lassistant
est bien entendu compltement paramtrable pour le mettre aux
couleurs de votre application ou de votre entreprise.
Il vous suffit dindiquer ici les diffrents lments graphiques qui
seront utiliss pour linstallation.
Plan 4 : Choix des fichiers installs. Ce plan permet de dfinir les
fichiers qui sont concerns par linstallation.
Bien entendu WINDEV slectionne automatiquement tous les fichiers
ncessaires au fonctionnement de lapplication.
Ce que nous allons prciser ce sont les fichiers que lon souhaite
ajouter. Par exemple nous allons ajouter les fichiers contenant un
jeu de donnes par dfaut.
A noter que les fichiers qui apparaissent en vert sont les nouveaux
fichiers depuis la dernire gnration dinstallation.
Plan 5 : Choisir un rpertoire dinstallation par dfaut
Plan 6 : Modules additionnels : cocher la licence et le dsinstal-

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 26
Vos Notes
lateur. Ce plan permet dindiquer linstallateur sil doit excuter
automatiquement la modification des fichiers de donnes (si les
fichiers installs chez le Client ne sont plus en phase avec lanalyse
du projet).
De mme, il est possible de paramtrer laffichage ou non dun
fichier de licence et linstallation ou non de loutil de dsinstallation
dapplication standard de WinDev.
Plan 6 : Licence : Slectionner le fichier Licence.rtf du rper-
toire du projet laide du bouton Parcourir.
Plan 7 : Contrle des versions. Jusqu maintenant nous avons vu
les paramtres qui concernent linstallation.
Ce plan est spcifique la mise jour de lapplication.
Cest ici quil faut indiquer ce qui doit tre fait en cas de prsence
dun ancienne version de lapplication en utilisant la notion de ver-
sion minimale.

Deux cas peuvent alors se prsenter :


soit cette nouvelle version peut coexister avec danciennes ver-
sions de lapplication et la mise jour des postes utilisateurs sera
optionnelle. Dans ce cas, le numro de version minimale ne doit pas
tre modifi.
soit les utilisateurs doivent se mettre obligatoirement jour de
cette dernire version. Le numro de version minimale doit tre
modifi en indiquant le numro de version de cette dernire ver-
sion.

Configuration de la mise jour automatique


Le bouton avanc permet dindiquer comment est gr le systme
de mise jour (un rpertoire partag dans lequel est stock une
version talon de lapplication).
dans le cas dune utilisation locale ce sera un rpertoire partag
du rseau
dans le cas dun dploiement sur des postes distants via un accs
HTTP ce sera une URL.

Premier onglet : Dfinit la frquence de contrle de version par


lapplication installe sur le poste utilisateur.
Lapplication vrifiera quelle est bien en dernire version par rap-
port la dernire installation rseau.
Sinon elle vrifiera si la mise jour est optionnelle ou obligatoire.
Il est galement possible de prciser les messages afficher en cas
dintervention sur lapplication (mise jour en cours, arrt annonc,
arrt forc et reprise dinstallation en cas dchec).
Deuxime onglet : permet de forcer le lancement automatique de
la mise jour au lancement de lexcutable dans un dlai dfini.
Troisime onglet : permet dajouter des informations dans un his-
torique qui sera propos lutilisateur. Ceci est optionnel mais il est
conseill de le remplir rgulirement
Quatrime onglet : Une application rseau peut galement tre
rfrence dans le Centres de Contrle. Cest ici quil faudrait le
prciser, mais ce nest pas lobjet ici, les Centres de contrles seront
vu ultrieurement.
Fermeture de lassistant : Tous les paramtres spcifis sont bien
entendu conservs et pourront tre modifis ultrieurement grce
linterface du contrle distance de lapplication. Ce centre de
contrle des applications rseau, le programme WDAdminExe sera

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 27
Vos Notes
install dans le rpertoire de lapplication de rfrence.
Cliquez sur Suivant :
Cest ici que lon choisit dinstaller lapplication de rfrence sur un
rseau local ou de la diffuser sur Internet.
On choisit ici de placer lapplication de rfrence dans un rpertoire
partag (fonctionnement en rseau local).
Cochez le choix 1 et cliquez sur le bouton Suivant:
Par dfaut, le centre de contrle de lapplication permet de grer
automatiquement la liste des utilisateurs connects.
Laissez OUI et cliquez sur le bouton Suivant:
Au niveau de linstallation, indiquez quel endroit, sur quel support
la crer, par dfaut dans un sous-rpertoire du projet.
Cliquez sur Suivant puis Terminer.
A ce stade, la prparation de linstallation est termine, laissez
WINDEV gnrer linstallation.

Test de la procdure dinstallation


WINDEV permet de lancer la procdure dinstallation qui vient
dtre cre.
Cela permet de dployer la nouvelle version de lapplication directe-
ment pour les utilisateurs qui sont connects sur le mme rseau.
Pour tester la procdure dinstallation, il suffit de :
Cliquer sur OUI, WDSetup se lance.
La proposition de sauvegarde de projet se lance : chaque fois que
lon cre un excutable ou une installation dune application, ldi-
teur vous propose de raliser une sauvegarde du projet correspon-
dant cette version.
Choisir la langue dinstallation.
Choisir une interface en Franais.
Paramtrer le rpertoire rseau.
Pour dployer lapplication de rfrence, il reste choisir un rper-
toire partag du rseau :
Choisir un rpertoire dune machine du rseau grce au bouton
parcourir puis cliquer sur suivant.
Cliquer sur Suivant sans cocher.
Linstallateur affiche un rsum des paramtres de linstallation.
Cliquer sur Suivant : Ce plan informe de limpact de cette ins-
tallation pour les utilisateurs de lapplication. Ici il sagit dune
premire installation, donc rien ne soppose au lancement de lins-
tallation.
Cliquer sur Suivant puis Terminer.
Voil, linstallation de rfrence est prte.
Les nouveaux utilisateurs de lapplication installeront lapplication
sur leur poste en utilisant le programme install.exe.
Par la suite, ils nauront plus rien faire.
En cas de mise jour, cest lapplication elle-mme qui sauto-vri-
fiera et proposera ou imposera linstallation de la mise jour.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 28
Vos Notes
Installation HTTP
Nous venons de voir le dploiement pour des utilisateurs qui sont sur
un mme site.
Comment cela se passe si les utilisateurs sont sur des sites dis-
tants ?
Et bien cest la mme chose !
La cration dune installation avec mise jour http se droule de la
mme faon. La diffrence rside dans la faon de la dployer.

Pour dployer une application chez un hbergeur, il suffit dindiquer


lURL de connexion au site Internet, les paramtres de connexion
FTP pour pouvoir y poser mon installation de rfrence.

A lissue de linstallation, il est possible de tester lURL. Cest cette


URL quil suffit de communiquer aux utilisateurs.

Pour linstallation, cette page de tlchargement saffiche, il suffit


de cliquer sur le lien Install.exe pour tlcharger puis installer lap-
plication.
Le mcanisme de mise jour est le mme que prcdemment. Le
lancement de lapplication dtecte les mises jour et les lance.
Voil nous savons maintenant crer et mettre jour trs simplement
nos applications mme sur des sites distants.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 29
Vos Notes
INSTALLATION INTERNET
Installation avec
tlchargement automatique
du framework
Dans certains cas, il peut tre intressant de crer une
procdure dinstallation trs lgre, par exemple pour
en acclrer le tlchargement par Internet ou pour en
minimiser la taille ( cause du choix du support physi-
que).
Une des solutions est lutilisation dune installation avec
tlchargement automatique du framework.

Cet exemple utilise la fentre Ancrage du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Cration de la procdure dinstallation


Pour dmarrer lassistant de cration de procdure dinstallation,
cliquez sur loption Crer la procdure dinstallation du menu
Atelier.
La procdure dinstallation permet de crer lexcutable :
Demandez la cration de lexcutable.
Indiquez que lexcutable utilise le framework commun.
Cliquez sur Terminer.

La procdure de cration dinstallation se poursuit automatique-


ment. Pour une application diffuse sur Internet, il faut que linstal-
lateur soit le plus compact possible.
Pour raliser ce type dinstallation avec WinDev il suffit de :
Choisir Crer une installation autonome.
Choisir ensuite Installation compacte.
Limiter au maximum lajout de modules additionnels.
Choisir comme support un excutable auto extractible.

Linstallation ainsi dfinie sera la plus compacte possible.

Si lutilisateur installe lapplication sur une machine qui nest pas


encore quipe du framework, le framework sera tlcharg auto-
matiquement depuis le site PC SOFT.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 30
Vos Notes
INSTALLATION MSI
Comment gnrer une
procdure dinstallation au
format MSI ?
WinDev permet de crer des installations au format MSI
de faon aussi simple quune installation classique.

Cet exemple le projet GainsDeveloppeur. Ce projet est accessible


depuis le kouglof.

Cration de la procdure dinstallation


Pour crer une installation au format MSI, il suffit de :
Ouvrir le projet GainsDeveloppeur.
Lancer la procdure dinstallation par licne CD.
Valider la demande de cration dexcutable.
Plan 1 : Passer le plan Choix du modle dinstallation en gardant
le premier choix.
Plan 2 : Slectionner Installation par un package MSI (3me
choix).
Plan 3 : Valider la liste fichiers ncessaires lapplication (la liste
des fichiers est dtecte automatiquement par linstallation).
Les fichiers en vert sont nouveaux depuis la dernire gnration
dinstallation.
Plan 4 : Choisir un rpertoire dinstallation par dfaut.
Plan 5 : Modules additionnels : Cocher la licence.
Plan 6 : Licence : Slectionner le fichier Licence.rtf du rper-
toire du projet laide du bouton Parcourir.
Cliquer sur Terminer
A la fin de la gnration, cliquer sur Explorer pour visualiser le
fichier .MSI.

Droulement de linstallation
Lancer le fichier .MSI.
Valider lassistant et choisir Installation complte.
Terminer linstallation : lapplication est installe.

Principales limitations du format MSI


Par rapport linstalleur WinDev, une installation MSI dispose de
certaines limitations.
Ainsi, une installation au format MSI :
ne permet pas de mettre en oeuvre le mcanisme de mises jour
automatiques.
ne permet pas la modification automatique des fichiers
Hyper File.
ne contient pas les options : ajout doutils redistribuables, instal-
lation du driver ODBC et du MDAC, paramtrage des rpertoires des
fichiers de donnes

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 31
Thme 2 : Gains utilisateur

Vos Notes
MCU : LES MACROS
Les utilisateurs grent leurs
macros

Le MCU (Macro Code Utilisateur) permet lutilisateur


final de crer ses propres traitements complmentaires
dans lapplication.
Et ceci indpendamment du dveloppeur.

Cet exemple utilise le projet GainsDeveloppeur. Ce projet est


accessible depuis le kouglof.

Ajout dun raccourci


Sur la fentre FenMultiselection, le dveloppeur na pas plac
de raccourcis clavier sur les boutons et notamment sur le bouton
Imprimer.
Regardons comment lutilisateur final peut ajouter un raccourci
CTRL + P sur ce bouton.
Lancez un test de la fentre FenMultiselection.
Cliquez sur le bouton du MCU.
Ajoutez un MCU de type Une action sur une combinaison de tou-
ches..
Choisissez de dtecter la touche.
Dtectez la touche CTRL+P.

Etudions maintenant le code pour appeler le bouton Imprimer.


La fonction permettant de simuler un code de clic est
ExcuteTraitement avec en paramtre le nom du bouton.
Dans la liste des champs, on voit que le bouton sappelle
Imprimer.
ExecuteTraitement(Imprimer,trtclic)
Voil cest termin, lutilisateur final a ajout son propre raccourci
clavier lapplication.

Pour tester, il suffit dappuyer sur CTRL+P.


La combinaison de touches CTRL+P appelle le traitement dim-
pression.
Vous pouvez limiter lutilisation du MCU certaines fentres.
Cette limitation est accessible depuis la fentre de description de
la fentre, dans longlet dtail (coche interdire lutilisation du
MCU).
Lors de la cration de lexcutable, vous pouvez galement restrein-
dre lutilisation du MCU par un mot de passe, voir mme le dsacti-
ver totalement.

Par dfaut, les ordres de modification de fichiers ne sont pas accessi-


bles : vous pouvez cependant les autoriser si vous le souhaitez.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 32
Vos Notes
LES SPLITTERS
Personnaliser lenvironnement
de lutilisateur sans
programmation
Autre fonctionnalit qui permet damliorer la vie des
utilisateurs : les splitters.

Cet exemple utilise la fentre Fiche_CLIENT du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Prenons par exemple le cas de la fentre Fiche_CLIENT. Cette


fentre prsente une liste des appels tlphoniques en attente de
traitement.
Un technicien, ce qui lintresse cest de visualiser la liste des
appels techniques.
Par contre, un commercial, lui, veut visualiser la liste des appels
commerciaux.

Pour ne pas faire deux fentres, une solution peut tre dajouter un
champ splitter.
Lors de louverture de la fentre Fiche_CLIENT, lAAD propose de
crer automatiquement ce splitter.

Ici, le champ splitter va tre cr dans lditeur :


Choisir le champ splitter dans la barre doutils.
Positionner le champ splitter entre les deux tables pour que
lutilisateur puisse agrandir lune ou lautre.
Au passage, ajouter un deuxime splitter sous le champ obser-
vations.

Il suffit ensuite de dfinir les ancrages : dans cette fentre, les 3


champs sont agrandis en hauteur et en largeur.

Cest termin, vous pouvez tester le redimensionnement de la fen-


tre en excution.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 33
Vos Notes
PERSISTANCE DES CHAMPS
Mmoriser le contenu des
variables ou des champs

La persistance des champs permet de mmoriser auto-


matiquement les valeurs saisies par lutilisateur et de les
lui reproposer par dfaut lors de sa prochaine saisie.

Cet exemple utilise la fentre Fentre_persistance du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Pour quun champ soit persistant, il suffit de cocher la case mmo-


riser la valeur dans longlet Dtail de la fentre de description
du champ.

Les valeurs mmorises sont alors stockes soit :


dans la base de registres.
dans un fichier XML.
dans un fichier de configuration (.ini).

Les fonctions du W-Langage InitParamtre, SauveParam-


tre et ChargeParamtre permettent de grer la persistan-
ce par programmation.
Trs pratique pour grer la persistance de variables globa-
les.
Retrouvez plus dinformations sur le sujet dans la LST 60.

Attention : la persistance dun champ excute automatiquement le


traitement de modification du champ. Attention vos traitements
assez longs.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 34
Vos Notes
BOUTONS MINUTERIE
Validation automatique des
boutons aprs un dlai dfini

WinDev permet de demander la validation automati-


que dun bouton dune fentre ou dune fentre systme
(Info, OuiNon...) aprs un dlai dtermin.

Cet exemple utilise la fentre Fenetre_maj du projet


GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Cette fentre lance un calcul de statistiques dune demi-heure.


Le traitement simul est long, donc un message prvient lutilisateur
quil va bloquer sa machine : on lui demande confirmation.

Mise en place sur un bouton


Pour ajouter une minuterie au bouton OK afin quil se valide tout
seul au bout de 5 secondes, il suffit de :
Ouvrir la fentre de description du bouton OK.
Slectionner longlet Dtail.
Indiquer le temps en secondes qui scoulera avant lexcution du
traitement du bouton. Par exemple 5 secondes.

Lors du test de la fentre, on remarque le dcompte automatique


dans le bouton OK. Sans aucune action de lutilisateur au bout de
5 secondes, le bouton OK sera automatiquement excut.

Mise en place sur une fentre systme


Pour appliquer la minuterie sur les fentres de type OuiNon, Info,
Erreur, Confirmer, il suffit de lindiquer par programmation.
Dans le code de clic du bouton, ajoutez un appel la fonction
DelaiAvantFermeture en indiquant en paramtre le dlai de valida-
tion en centimes de secondes
DlaiAvantFermeture(500)
SI OuiNon(Oui,Confirmez-vous la sortie ?) ALORS
Ferme
FIN

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 35
Vos Notes
AJOUTER UNE AIDE
Comment ajouter une aide
au format CHM dans une
application
CHM est le nouveau format daide qui remplace le for-
mat HLP.
Un fichier daide CHM, cest tout simplement un ensem-
ble de pages HTML regroupes et compiles pour ne
produire quun seul fichier.
Cet exemple utilise la fentre Fenetre_maj du projet
GainsDeveloppeur. Ce projet est accessible depuis le kouglof.

Cration dun systme daide


Depuis le menu Fichier..Nouveau slectionnez la cration dun
systme daide.
Lassistant permet ensuite de choisir les lments du projet (fen-
tres et tats) pour lesquels laide doit tre gnre.
WinDev va alors prparer un squelette de pages daide pour chaque
lment slectionn.

Gestion des mots-cls


La gnration de laide trouve des mots-cls associer chaque
page grce loption Index Automatiques du menu Menu Systme
daide.
Les mots-cls sont affichs dans longlet Index de laide et sont
associs la page.

Compilation du fichier CHM


Une fois laide crite et mise en forme, il faut la compiler :
1. Dabord, il faut dfinir le compilateur utiliser depuis loption
Option de compilation du menu Systme daide. On choisit
dutiliser le compilateur HTML.
2. Saisir le nom du fichier compil : Aide.chm.
3. Gnrer le fichier daide (menu Systme daide..Compiler).

Association du fichier CHM lapplication WinDev


Ouvrir la fentre Fiche_client.
Crer un bouton dappel de laide.
Utiliser la fonction W-Langage WHelp.
Il y a alors deux possibilits
Vous voulez lancer le CHM directement donc vous passez simple-
ment en paramtre le chemin du fichier CHM.
Vous voulez lancer et positionner le CHM directement la bonne
page. Dans ce cas, il faut ajouter lidentifiant de la page daide que
vous souhaitez ouvrir. Cet identifiant, vous le trouvez dans les pro-
prits de la page daide.

Whelp(Aide.chm, NumroIndex)

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 36
Vos Notes
DOCUMENTATION FAA
La documentation
utilisateur des FAA

Les FAA sont les fonctionnalits automatiques de lap-


plication.
Les utilisateurs bnficient automatiquement de ces
fonctionnalits sans quil soit ncessaire de coder quoi
que ce soit.
Une documentation standard sur ces fonctionnalits est
fournie avec WinDev pour les livrer avec vos applica-
tions.

Cette documentation peut tre livre directement aux utilisateurs


finaux.

Livrez simplement le fichier PDF Documentation_Utilisateur_


WD9.pdf disponible dans le rpertoire Aide de WinDev.
Ce fichier daide est galement disponible en tlchargement sur le
site de PC SOFT : www.pcsoft.fr

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 37
Thme 3 : Base de donnes

Vos Notes
INSTALLATION
Installer Hyper File
Client/Serveur sur Windows

Installation
Les principales tapes de linstallation dun moteur de base de don-
nes Hyper File Client/Serveur sont les suivantes :
Lancer linstallation
Slectionner loption Installer un nouveau serveur
Indiquer le rpertoire allant contenir les lments du serveur
HYPER FILE, savoir:
le serveur en lui-mme
les diffrentes bases de donnes
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 donnes, cest--dire pour communiquer avec les applications
clientes.
Indiquer sil faut aussi installer le Centre de contrle Hyper File.

Voila linstallation est termine


Et un serveur Hyper File est disponible sur une machine serveur
Windows.

Complments dinformations
Quest ce quun port ?
Un port est un point dentre un service (service web, service
DNS, service mail, serveur Hyper File,...) sur un quipement (PC,
serveur,...) connect un rseau.
Sur un rseau (TCP-IP) chaque quipement possde au moins une
adresse IP. Chaque adresse supporte pas moins de 65000 ports offrant
chacun un service. Lensemble des services est rfrenc et donne
lieu une affectation prcise des ports. Un site web est ainsi visible
sur le port 80, lenvoi de mail se fait sur le port 25 et sa rception
sur le port 110, un serveur Hyper File est accessible par dfaut 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 numro : le numro de port.
Exemple : un serveur web utilise le port 80, Telnet port 23, Serveur
Hyper File : 4900 (par dfaut).

(C) PC SOFT - http://www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 38
Vos Notes
Ports utiliss :
Le serveur Hyper File utilise par dfaut le port 4900.
Ce port peut tre configur via le fichier HFConf.ini
[INIT]
AccessPort = 4920

mantamanager utilise un port fixe 5002. Ce service nest pas nces-


saire pour accder un serveur Hyper File (il permet de lister les
serveurs dune machine et de dmarrer un serveur sur la machine).
Il nest donc pas obligatoire douvrir ce port sur Internet.

Utilisation via Internet


Il faut prciser dans la connexion de lapplication 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 possde une IP fixe, vous pouvez utiliser directement
celle-ci (de la forme 87.180.12.1).

Pour pouvoir accder au serveur depuis Internet, il faut ouvrir un


port dans le firewall protgeant le serveur.
On pourra au choix :
1) Placer le serveur dans la DMZ, lensemble des ports du serveur
sera alors visible depuis Internet. Si le serveur est protg 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 dfaut 4900).
2) Effectuer un forward de port sur son routeur-firewall.
Il faut rajouter une rgle dans le routeur qui spcifie que les con-
nexions arrivant sur un port X depuis Internet seront transfres sur
la machine hbergeant le serveur Hyper File sur le port 4900 (ou
celui prcis 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 mme manire, il faut que


celui-ci permette aux applications de se connecter via le port utilis
vers lextrieur.

Comment prciser le port dans lapplication cliente


1. Via lanalyse (onglet avanc dans la description de la connexion)
2. Par programmation en faisant suivre le nom ou lIP du serveur
par : (deux point) puis le numro du port (ex zeus.org:4920 ou
192.172.1.99:4920 ). Exemple : HOuvreConnexion(MaConnexion
,user,mdp,monsite:4920,...)

Pourquoi certains ports sont ferms par dfaut ?


En limitant le nombre de ports ouverts sur la machine, on amliore
la scurit : faille logiciel de lOS, service mal configur, service non
protg...

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 39
Vos Notes
BASE DE DONNES
Comment crer une base de
donnes sur le serveur
Hyper File Client/Serveur
Nous avons install le moteur Hyper File Client/Serveur, nous allons
maintenant dtailler comment crer une base de donnes.

Une base de donnes au sens Client/Serveur,


cest quoi ?
Une base de donnes regroupe lensemble des fichiers Hyper File
Client/Serveur.

Comment crer une base de donnes ?


Nous allons ici crer une base de donnes laide du centre de con-
trle Hyper File.
Les tapes sont alors les suivantes :
1. Ajouter la nouvelle machine serveur dans le centre de contrle.
On recherche un Serveur Hyper File grce au nom de la machine
sur laquelle nous venons dinstaller le moteur de la base de donnes
Hyper File Client/Serveur.
2. Drouler le serveur dans le treeview.
3. Sidentifier auprs du serveur. A linstallation, un administrateur
a t cr par dfaut, cest lutilisateur ADMIN.
Cet utilisateur na pas encore de mot de passe et possde tous les
droits sur le serveur et sur les bases de donnes
4. Se positionner sur Base de donnes.
5. Cliquer sur Crer une base de donnes.
6. Donner un nom la base de donnes, par exemple base HFCS.

La base de donnes est cre.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 40
Vos Notes
TRANSFERT DE DONNES
Transfrer une base de
donnes Hyper File Classic
vers Hyper File Client/Serveur
Transfert des donnes
Pour transfrer les donnes dune base de donnes Hyper File Classic
vers la base Hyper File Client/Serveur, nous allons utiliser le centre
de contrle Hyper File.

Il suffit de cliquer le bouton Importer une Base de donnes Hyper


File Classic et de se laisser guider par lassistant :
Choisir le rpertoire o se trouvent les fichiers Hyper File Classic
transfrer.
Slectionner la base de donnes dans laquelle seront imports nos
fichiers Hyper File Classic.
Slectionner les fichiers Hyper File Classic importer dans la base
Client/Serveur.
Valider lopration par un clic sur le bouton Importer

Cest termin, les donnes sont accessibles !

A noter que cette opration est galement ralisable par programma-


tion grce la fonction HCopieFichier (ce qui vous permet dauto-
matiser des traitements sans passer par le centre de contrle).

Rgles dintgrits
Par dfaut, lors dun transfert dune base de donnes Hyper File
Classic vers une base de donnes Hyper File Client/Serveur, les
rgles dintgrit ne sont pas transfres sur la base Hyper File
Client/Serveur.

Pour crer les rgles dintgrit de la base, il faut :


soit utiliser la fonction HCration sur chaque fichier de lanalyse
AVANT le transfert des donnes (ATTENTION : cette fonction crase
les fichiers existants).
soit utiliser la fonction HAjouteLiaison pour dfinir les liaisons
existantes entre les diffrents fichiers avant ou aprs le transfert
des donnes.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 41
Vos Notes
ANALYSE ET CODE
Modifier lanalyse et le code
pour prendre en compte
Hyper File Client/Serveur
Maintenant que notre base est cre et importe, nous devons modi-
fier nos programmes pour quils 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 programmation
Cest trs simple cest 2 lignes de code ajouter !
dcrire la connexion
utiliser la connexion

Pour dcrire la connexion, il suffit dutiliser la fonction


HDcritConnexion, en indiquant en paramtre :
le nom de la connexion
lutilisateur qui va se connecter
le mot de passe
le serveur Hyper File
le nom de la base de donne
le type de connexion : il sagit dune connexion Hyper File
Client /Serveur.
La connexion est dcrite !

Deuxime ligne de code jouter, hChangeConnexion pour dfinir la


connexion utiliser.
Le premier paramtre correspond * pour appliquer la modifica-
tion tous les fichiers de lanalyse :
HChangeConnexion(*, Nom de la connexion)

Dans lanalyse
Il est possible de dfinir les connexions directement depuis lditeur
danalyses. Il suffit ensuite dassocier les fichiers souhaits une
connexion de type Hyper File Client/Serveur.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 42
Vos Notes
APPLICATIONS
Installation dune application
rseau exploitant Hyper File
Client/Serveur
Lobjectif ici est de dployer une application WinDev
exploitant une base de donnes Hyper File Client/
Serveur.
Dans ce cas, linstallation avec mise jour rseau est
particulirement bien adapte.

Cration de linstallation de rfrence


La cration de la procdure dinstallation seffectue comme pour
une application classique grce loption Crer la procdure dins-
tallation du menu Atelier.

Il suffit alors de choisir de gnrer une installation avec mise jour


automatique en rseau.
Lditeur dinstallation dtecte automatiquement que lapplication
utilise une base de donnes Hyper File Client/Serveur.

Il faut distinguer deux cas de fonctionnement :


1re possibilit : lapplication a t dveloppe en utilisant la
base relle.
Donc le serveur Hyper File Client/Serveur est dj install : inutile
de proposer linstallation dun serveur Hyper File Client/Serveur au
client.
De plus, les paramtres de connexion dfinis dans lanalyse sont vali-
des, le client na pas besoin de paramtrer quoi que ce soit.
2nde possibilit : lapplication a t dveloppe en utilisant une
base test.

Dans ce dernier cas, il faut proposer au client pendant la phase


dinstallation :
dinstaller un serveur Hyper File Client/Serveur (pour Windows ou
Linux).
et de dfinir les paramtres de connexion au serveur Hyper File
Client/Serveur quil aura install.

Vous pouvez ensuite choisir les fichiers de donnes dployer


sur le serveur du client (par exemple des fichiers de base comme
Catgorie, Pays )
Les autres plans sont alors les plans classiques dune installation.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 43
Vos Notes
Installation en clientle
Linstallation est une installation avec mise jour automatique en
rseau, elle se fera donc en 2 tapes.
1. Premire tape, linstallation de rfrence :
Elle permet dinstaller le serveur Hyper File
Elle doit tre faite par un utilisateur averti (ladministrateur) qui
va alors dfinir :
le rpertoire dinstallation de cette installation de rf-
rence.
la connexion Hyper File Client/Serveur, en spcifiant
ladresse de la machine serveur, le port de connexion, etc

La base de donnes Hyper File est alors accessible sur la machine


serveur et linstallation utilisateur est disponible.

2. Seconde tape : installation de lapplication par chacun des utili-


sateurs sur leur machine partir de linstallation de rfrence.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 44
Vos Notes
GESTION DES DROITS
Configurer les droits sur une
base de donnes Hyper File
Client/Serveur
Fonctionnement
Les droits peuvent sappliquer plusieurs niveaux. Il y a :
les droits au niveau du serveur (droit de crer une base de don-
nes sur un serveur par exemple).
Les droits au niveau de la base de donnes (droit de se connecter,
etc...).
Les droits au niveau dun fichier (le droit de lire un fichier, de le
modifier).

Les droits sont hrits, cest--dire que si un utilisateur na pas le


droit de modification dun fichier (Droit dfini au niveau de la base
de donnes), il ne sera pas autoris modifier un enregistrement.

Par contre, si on spcifie dans les droits dun fichier particulier que
notre utilisateur a les droits de modification de CE fichier alors cest
ce droit qui va sappliquer pour ce fichier.
La gestion des droits peut tre faite de deux faons :
travers le centre de contrle Hyper File.
par programmation.

Configuration par le Centre de contrle Hyper File.


Dans le centre de contrle Hyper File (CC90HF.exe), la gestion des
droits seffectue via longlet de gestion des droits au niveau du ser-
veur, de la base de donnes ou des fichiers.

Configuration par programmation


La modification des droits seffectue grce des fonctions du W-
Langage comme HModifieDroitBaseDeDonnes pour modifier les
droits sur une base de donnes.

Il suffit de prciser le nom de la connexion, lutilisateur ou le groupe


pour lequel on veut modifier un droit, le droit que lon souhaite
modifier, la valeur (autoris ou interdit), le nom de la base de don-
nes.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 45
Vos Notes
INSTALLATION LINUX
Installer un serveur Hyper File
Client/Serveur sur Linux

Linstallation dun serveur Hyper File Client/Serveur sur Linux sef-


fectue laide dun installateur.
Consultez laide en ligne pour plus de dtails.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 46
Vos Notes
ACCS NATIFS
Accs natifs et bases tierces
depuis une application WinDev

Il est bien entendu possible de travailler sur dautres bases de don-


nes, pour respecter un existant par exemple.
Pour manipuler une base de donnes externe, il est possible dutili-
ser soit :
des pilotes ODBC ou OLE DB.
des accs natifs spcifiques (pour Oracle, SQL Server, AS/400,
Informix, DB2, Progress et Sybase).

Lavantage dutiliser les accs natifs : le code source de lapplication


est strictement le mme quelle que soit la base de donnes acc-
de.

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

Mise en oeuvre
La solution la plus rapide consiste dfinir la connexion laccs
natif dans lditeur danalyses :
1- Dans le menu Analyseconnexion, dfinissez une nouvelle con-
nexion.
2. Choisissez dutiliser une base externe.
3. Choisissez le type daccs natif (par exemple SQL Server).
4. Renseignez les paramtres de connexion : nom de la machine ser-
veur, base de donnes, nom dutilisateur, mot de passe.
4. Donnez un nom la connexion, par exemple connexionSQL
Server.
5. Gnrez lanalyse.

Voil la connexion a t dfinie.


Cette connexion peut aussi tre dcrite par programmation grce
la fonction hDcritConnexion.

Cration des tables


Pour utiliser cette nouvelle connexion, il suffit douvrir (ou de
changer) la connexion grce aux fonctions HOuvreConnexion ou
HChangeConnexion du W-Langage.

Note : HCreationSiInexistant permet de crer simplement les struc-


tures des fichiers dans la base de donnes externe sils nexistent
pas encore.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 47
Vos Notes
OPTIMISATION
Optimisation des tables
fichiers sur une base de
donnes SQL Server
Les accs natifs des versions 9 ont t optimiss et permettent
notamment une utilisation plus efficace des tables fichier.

Cet exemple utilise le projet WD AccsNatifs et ncessite de dis-


poser de laccs natif SQL Server.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 48
Thme 4 : Accs distant

Vos Notes
SITES DISTANTS
Partager en temps rel une
base de donnes entre sites
distants via ADSL
Comment accder une base de donnes de San Francisco via une
liaison Internet ?

Oprations effectuer sur le serveur de


San Francisco
1 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 utiliss sont rappels dans
le chapitre concernant linstallation dun serveur Hyper File).
3 Ouvrir la machine au monde, cest--dire rendre le serveur
accessible par internet via une adresse IP ou un nom de domaine
(www.monserveur.com).

Dans le code de lapplication, il suffit alors dutiliser les fonctions


hDcritConnexion et HChangeConnexion en donnant les informa-
tions de connexion la base de San Francisco.

Quelques caractristiques concernant la liaison


Cot Serveur, cest--dire ct San Francisco, prvoir une liaison
avec un bande passante de 2 Mb/s minimum.
Cot Client, une connexion ADSL 512 Ko est largement suffi-
sante.

Prvoyez de la mmoire 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 dtails.

(C) PC SOFT - http://www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 49
Vos Notes
ACCS GPRS
Accder une base distante
par GPRS depuis un Pocket PC
ou un Smartphone
Comment accder la base de donnes 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 GPRS
Une liaison GPRS est un tuyau de communication qui permet
dchanger des donnes au travers du rseau de tlphonie mobile,
en gros via votre carte SIM.
La diffrence par rapport la tlphonie classique cest que vous
serez factur la quantit de donnes envoyes/recues et non au
temps pass.
Si vous avez un Smartphone ou un Pocketphone, vous avez direc-
tement accs au rseau GPRS, si votre abonnement le permet bien
entendu.
Si vous utilisez un Pocket PC dpourvu de carte SIM, vous pourrez
utiliser votre mobile pour vous connecter si le Pocket PC et le GSM
intgrent la gestion du bluetooth.

Astuces
Quelques trucs et astuces pour utiliser une connexion GPRS.
Lutilisation dune connexion GPRS ncessite peu prs les mmes
contraintes que lutilisation du RPC :
1 viter au maximum les aller/retour inutiles cest--dire que les
donnes devront tre rcupres toutes en mme temps.
2 limiter au maximum le nombre dinformations rcuprer.
Pour cela et comme pour le RPC, il est conseill dutiliser au maxi-
mum des requtes, des vues.
Il faut que celles-ci soient les plus restrictives possibles et quelles
renvoient le moins de donnes possible sur le pocket.

Programmation
La fonction NetOuvreAccsDistant permet douvrir la connexion
GPRS en indiquant en paramtre le nom de la connexion.
La configuration de la connexion GPRS se fait directement sur le
pocket PC indpendamment de WinDev Mobile.
Une fois la connexion GPRS ouverte, la connexion au serveur Hyper
File seffectue en utilisant hOuvreConnexion vu prcdemment.
Les deux fonctions suivantes sont des optimisations faites pour luti-
lisation du GPRS :
La fonction HGreCache permet de dsactiver le mcanisme de
cache de Hyper File et de ne rapatrier chaque lecture quun seul
enregistrement sur le Pocket PC.
La fonction HGreMmo permet de dsactiver la gestion des
mmos toujours dans le but de minimiser la taille des informations
transfres.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 50
Vos Notes
CITRIX / TSE
Comment exploiter une
application WinDev sur serveur
Citrix ou TSE ?
Une autre possibilit pour accder distance des
donnes ou des traitements est lutilisation dune archi-
tecture TSE ou CITRIX.

Avec ce type darchitecture lapplication et les donnes se trouvent


un seul endroit, le sige social.
Les utilisateurs se connectent lapplication en utilisant ce que lon
appelle un terminal.
Un terminal est un Client lger qui fonctionnera sur PC, Mac ou via
un navigateur internet.

Au niveau de cette architecture tout sexcute sur le serveur.


Seule la partie IHM se trouve sur le terminal.
Les clics souris et les frappes au clavier sont transfrs par le ter-
minal au serveur.
Le serveur fait les traitements correspondants.
En retour le serveur renvoie les crans au terminal.
Chaque terminal bnficiera dune machine virtuelle (une session)
sur le serveur dans laquelle sexcute lapplication.
Il est donc fondamental davoir un serveur performant.

Comment mettre en place un TSE :


1. Premire tape : choisir un serveur adapt en terme de perfor-
mances.
2. Deuxime tape : installer la couche serveur de TSE sur le ser-
veur.
3. Troisime tape : installer les diffrentes applications qui seront
utilises via TSE.
4. Quatrime tape : configurer le tuyau de communication entre
le serveur et les terminaux.
Pour faire ceci de faon scurise, il faut tablir un VPN ou Virtual
Private Network entre le serveur et le terminal.
Un VPN est un canal de connexion scuris entre une ou plusieurs
machines.
5. Cinquime tape quil 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.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 51
Vos Notes
Particularits de dveloppement
Les applications et notamment celles dveloppes avec WinDev
fonctionnent en TSE sans modifications spcifiques.
Il faut quand mme prendre quelques prcautions.
En effet lapplication ne va pas sexcuter sur la machine de lutili-
sateur mais sur une machine qui tourne sur le serveur.
Ces diffrentes machines virtuelles partagent de nombreux lments
systme.
Il faut donc faire attention de ne pas utiliser ces lments parta-
gs :
Si lapplication doit fonctionner sous TSE il ne faut pas utiliser les
cls de registres correspondant la machine comme par exemple la
cl HKEY LOCAL MACHINE.
Il faut prfrer lutilisation de la cl HKEY CURRENT USER.
Cest dailleurs ce que fait WinDev par dfaut lors de la mmorisa-
tion automatique.(SauveParamtre, case cocher Mmoriser la
valeur)
De mme, si vous utilisez des fichiers locaux, ou temporaires, fai-
tes bien attention de les crer un endroit ou vous aurez les droits
en criture.
Faite aussi attention au nom de ces fichiers locaux.
Ils seront stocks sur le serveur.
Si vous utilisez le mme rpertoire et le mme nom comme C:
\Temp\Monfichier pour stocker ces informations chaque utilisateur
risque dcraser les paramtres dun autre utilisateur connect.
Vous navez pas ce genre de soucis avec un dploiement classique
car le programme sexcute sur la machine de lutilisateur.
Chaque utilisateur a donc son propre C:\temp.

Pour stocker ce genre dinformations, utilisez le rpertoire


Application Data. Pour rcuprer le chemin de ce rpertoire, vous
utiliserez la fonction W-Langage SysRep(srAppData).

Consultez la LST 51 pour plus de dtails.

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

Vos Notes
RPLICATION HYPER FILE
Rplication classique et
rplication htrogne sur une
base Hyper File
La rplication est lopration permettant de synchroni-
ser des bases de donnes distantes.

Par exemple, prenons le cas dun commercial, qui part en dplace-


ment chez un client dans le Cantal. Il sait quil ne pourra pas avoir
accs sa base car il ny a pas lADSL.

Dans ce cas, il rplique tout ou partie de la base de donnes du sige


de sa socit sur son ordinateur portable afin de pouvoir travailler.
La base de donnes du commercial sur son portable et la base de
donnes du sige voluent alors compltement indpendamment.
Le commercial fait ses modifications.
Une fois le commercial revenu, il synchronise SA base de donnes
avec celle du sige et vite ainsi la ressaisie dinformations.
Deux types de rplication sont disponibles avec WinDev :
La rplication avec journaux qui implique une utilisation de loutil
WDReplic. Ce type de rplication existe depuis WinDev 7 et ne fonc-
tionne quavec des bases de donnes Hyper File.
Et La rplication sans journaux, dite htrogne.
Le terme htrogne signifie que cette rplication peut seffectuer
sur des bases de donnes diffrentes (Hyper File SQL Server par
exemple).

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 53
Vos Notes
RPLICATION HTROGNE
Rplication entre une base
de donnes Hyper File et une
base de donnes SQL Server
Cet exemple utilise les projets RplicationMatre et
RplicationAbonn. Ce projet est accessible depuis le kouglof.

Rplication htrogne
Cette rplication htrogne est extrmement simple mettre en
uvre.
La base de donnes de rfrence, appele Rplica Matre se
trouve par exemple au sige de la socit San Francisco.
La base de donnes secondaire, ou base distante, appele Rplica
abonne se trouve dans la ou les agences travers le pays ou le
monde.
Lors de chaque modification dun enregistrement (ajout, suppres-
sion, modification, etc..) dune part ou de lautre, lenregistrement
est automatiquement horodat dans la base.
Ensuite, lors de la demande de rplication, WinDev va simplement
extraire de la base tous les enregistrements horodats depuis la der-
nire rplication.

Ce fichier dextraction est alors envoy aux abonns pour mettre


jour leur base de donnes.
Le terme htrogne signifie que vous pouvez utiliser des bases
de donnes diffrentes (Hyper File et Oracle, Hyper File et SQL
Server)

Attention : Les bases de donnes doivent obligatoirement avoir une


structure compatible. Bien entendu la rplication htrogne sup-
porte des bases Hyper File dun cot et de lautre.

Programmation
Au niveau du rplica matre :
1- Tout dabord, dire la base de donnes Matre quelle va tre
rplique de faon htrogne. Cest lordre hGreRplication(rpl
RplicationHtrogne)
Ensuite, initialiser le rplica Matre, pour spcifier que cette base de
donnes sera la base matre. Cest lordre HCreRplicaMaitre.
Le paramtre de cette fonction spcifie le rpertoire o les fichiers
de la rplication vont tre crs. Ce sont ces fichiers qui spcifient
que la base est rplique (ces fichiers ne doivent pas tre suppri-
ms).
2- Inscrire les abonns auprs du matre et dfinir les rgles de rpli-
cation. Sur quels fichiers la rplication va-t-elle intervenir ? Cest
lordre hCreRplicaAbonn. Spcifier le rpertoire o se trou-
vent les fichiers de rplication du matre (pour quil puisse inscrire
labonn). Donner un identifiant, dans lexemple ce sera le portable

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 54
Vos Notes
du commercial.

Cette opration doit tre rpte pour chacun des commerciaux.


Le dernier paramtre de la fonction hCreRplicaAbonn dfinit le
ou les fichiers que lon va rpliquer ainsi que la ou les rubriques qui
vont dterminer si lenregistrement est synchroniser ou non.

3- Crer la premire mise jour. (Cest ce quon appelle un rplica


transportable, cest--dire une exportation de la base de donnes
matre).
Cet export est ralis grce la fonction hCreRplicaTransporta-
ble. Il suffit de lui passer le rpertoire du rplica matre ainsi que
lidentifiant de labonn. Cet identifiant va permettre de retrouver
le ou les fichiers rpliquer.

Assistant
Le projet WD Rplication Htrogne livr sur le CD-ROM dac-
compagnement (et accessible depuis le kouglof) est un assistant
permettant de mettre en place une rplication htrogne entre
deux bases de donnes.

Consultez la LST 61 et laide en ligne pour plus de dtails.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 55
Vos Notes
SYNCHRONISATION MOBILE
Synchroniser des bases de
donnes Hyper File Classic et
Hyper File Mobile
Cet exemple utilise les projets PC Gestion des listes dachats et
Pocket Gestion des listes dachats. Ces projets sont accessibles
depuis le kouglof.

Les deux applications utilisent une base de donnes Hyper File, lune
en version Classic et lautre en version Mobile.
Le but est de synchroniser les 2 bases de donnes lors de la con-
nexion du Terminal Mobile.

Pour cela, deux possibilits :


1 Paramtrer la synchronisation lors de la cration de linstalla-
tion.
2 Utiliser loutil WDSynchro livr avec WinDev Mobile (menu
Outils..WDSynchro) si vous naviez pas prvu de synchronisation
lors du dploiement des applications mobiles. WDSynchro permet
alors dajouter cette synchronisation ActiveSync.
Vous pouvez choisir deffectuer une synchronisation personnalise
ou classique.

Synchronisation personnalise
Prenons le cas dune application diffuse sur toute la France. Toutes
les donnes sont au sige Paris. Je suis Commercial Lyon. Je
veux rcuprer les fiches client sur mon Pocket. Mais les fiches
des clients de Strasbourg ne mintressent pas. Je ne veux que les
clients de Lyon.
Pour raliser cette opration, les tapes sont les suivantes :
1. Il est ncessaire dutiliser une bibliothque WinDev (.WDL) conte-
nant une collection de procdures nomme WDSynchro ainsi que
les lments dont vous avez besoin pour la personnalisation.
La collection de procdures WDSynchro contient diffrentes procdu-
res permettant de grer la synchronisation par programmation. Vous
pouvez utiliser la collection de procdures WDSynchro.wdg livre
avec WinDev Mobile (rpertoire : WinDev\Personnel\Wdsynchro\).
Cette collection peut tre intgre dans un projet WinDev et peut
tre adapte ou modifie dans un projet.
La fentre fnStatusSynchronisation est ouverte au dmarrage de
la synchronisation.
2. Gnrer la bibliothque aprs avoir choisi les lments intgrer
dans cette bibliothque. Ici, le projet, lanalyse, la collection de
procdures et la fentre fnStatusSynchronisation.
Notre bibliothque est gnre, si lapplication est dj installe sur
le terminal mobile, il suffit de dfinir la synchronisation entre les
donnes sur le terminal et les donnes sur le PC.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 56
Vos Notes
Cration dune synchronisation
Pour crer une nouvelle synchronisation, il suffit dutiliser loutil
WDSynchro puis de :
Saisir le nom de lapplication (Liste dachats dans lexemple).
Saisir les emplacements des analyses des deux applications sur le
PC et sur le terminal mobile.
Dfinir la liste des fichiers quActiveSync devra synchroniser.
Indiquer lemplacement des fichiers Hyper File Classic, donc sur
le PC.
Indiquer lemplacement des fichiers Hyper File Mobile.
Choisir la bibliothque que lon vient de gnrer.

Voila, la synchronisation est effective et vous pouvez tester que


ActiveSync synchronise bien lapplication.

Consultez la LST 59 pour plus de dtails.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 57
Thme 6 : Architecture dapplication

Vos Notes
FENTRE INTERNE
Utilisation des fentres
internes

Le champ Fentre Interne permet dinclure une fentre


(et son code) dans une autre fentre. Regardons com-
ment grer une fentre interne sur un exemple concret.
Dans nos applications, on souhaite que dans toutes les fentres, il y
ait dans la partie basse, les heures locales des places boursires du
monde entier. Cet exemple utilise le projet WD Horloge Mondiale.
Ce projet est accessible depuis le kouglof.

Mise en oeuvre
Ouvrir la fentre fnIntHeureMondiale. Cette fentre interne
affiche lheure du fuseau horaire de votre choix.
Ouvrir la fentre de description. Cette fentre ne dispose pas de
cadre ni de couleur de fond : cest une fentre interne.
Crer une nouvelle fentre.
Nous allons ajouter dans cette fentre une horloge, voir mme trois,
pour afficher les heures de Paris, New-York et Sydney simultan-
ment.
Crer un champ fentre interne.
Dans la fentre de description du champ fentre interne : slec-
tionner la fentre interne fnIntHeureMondiale.
Clic droit sur le champ fentre interne - Aperu 100%.
Clic droit sur le champ fentre interne - Adapter la taille.
Copier-coller le champ fentre interne pour avoir 3 champs.
Renommer les 3 champs : Paris, New_York, Sydney.
Les fentres internes peuvent contenir des procdures locales
Nous allons utiliser ces procdures pour dfinir les villes dont on veut
visualiser lheure.
Tapez le code suivant dans le code dinitialisation de la fentre
Paris.ChangeVille(Paris)
New_York.ChangeVille(New-York)
Sydney.ChangeVille(Sydney)
Si vous changez la ville de lune des 3 horloges, vous constaterez que
les 3 champs fentre interne sont totalement indpendants.

Propagation des modifications


Pour illustrer la propagation des modifications dans les fentres
internes, crer une nouvelle fentre contenant un champ fentre
interne, associer le champ la fentre interne utilise prcdem-
ment et saisir le code suivant :

// Code dinitialisation de la fentre


FentreInterne1.ChangeVille(Paris)
Go : modifier la fentre interne (libell en gras et rouge par exem-
ple), refaire GO.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 58
Vos Notes
COMPOSANTS
Utilisation des composants et
des fentres internes

Intrt fondamental des fentres internes : la pos-


sibilit dinclure ces fentres dans un composant,
cela permet ensuite de les utiliser dans diverses
applications.
Cet exemple utilise le projet WD Horloge Mondiale utilis dans le
chapitre prcdent. Ce projet est accessible depuis le kouglof.

Gnration du composant
Slectionnez loption Gnrer un composant du menu Atelier
- Composant.
Slectionnez les lments intgrer : cochez tout sauf les 2 fen-
tres cres dans le chapitre prcdent.
Slectionnez les lments accessibles : fnIntHeureMondiale
Le composant est gnr.

Importation et utilisation du composant


Crez un nouveau projet sans analyse.
Slectionnez loption Importer un composant partir dun
fichier du menu Atelier Composant.
Crez une fentre vierge.
Crez un champ fentre interne avec la fentre interne du compo-
sant (Menu Insertion -spcial-champ fentre interne).
Tapez le code suivant dans le code dinitialisation de la fentre :
// Code dinitialisation de la fentre
FentreInterne1.ChangeVille(Paris)
Testez la fentre.

Pour plus de dtails sur ces oprations, reportez-vous


larticle Fentre Internes : intgrer WDOptimiseur direc-
tement dans une application WinDev de la LST numro
60.

(C) PC SOFT - http://www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 59
Vos Notes
MULTI-PRODUITS
Composant Multi-produits et
code cible conditionnel

Vous voulez fournir vos clients la possibilit dintgrer


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 lapplication Windows, la confirmation se fera par
lenvoi dun fax.
Par lapplication Mobile, la confirmation se fera grce
lenvoi dun SMS.
Par Internet, la confirmation sera un fichier PDF.
Exemple
Ouvrir le projet WD Confirmation RDV (voir le kouglof).
Ouvrir la procdure globale EnvoieConfirmation de la collection
pConfirmationRDV.
Pour dfinir les diffrents modes denvoi selon la plate-forme cible
de lapplication, nous utilisons des codes-cibles conditionnels.
Il suffit ensuite de dfinir les plate-formes cibles (ici WinDev, WinDev
mobile et WebDev) et de coder les diffrents modes de confirmation
(envoi pdf, fax ou mail) selon la cible.

Composant multi-cibles
Il reste rgler la diffrence dIHM entre ces trois plate-formes
cibles : sous Windows : une fentre Windows, sous Mobile : une fen-
tre adapte un support mobile, sous navigateur : une page Web.
Pour cela :
Crer un projet sous WinDev Mobile pour crer la fentre adapte
un Pocket PC ou un Smartphone.
Crer un projet WebDev pour crer la page adapte pour le web.
Dans cet exemple, il est possible dutiliser les projets WW_
ConfirmationRDV et Pocket ConfirmationRDV en partageant la
collection de procdures, les tats et lanalyse.
Il suffit ensuite de dfinir le projet WinDev comme tant un projet
multi-produits en rfrenant le projet WebDev et le projet WinDev
Mobile dans loption Description du projet du menu Projet.
Dans longlet Multi-produits :
Spcifier le chemin du projet WebDev
Spcifier le chemin du projet WinDev Mobile
Ceci nous permet alors de crer un composant contenant la fois
des pages web, des fentres pour application windows et des fen-
tres pour support mobile.
A noter que lors de la gnration du composant, une couleur indique
le type dlment selon son produit (WinDev, WebDev ou WinDev
Mobile).

(C) PC SOFT - http://www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 60
Vos Notes
COMPOSANT MTIER
Mise jour chaud,
importation, compatibilit...

Gestion de la compatibilit
Si la modification du composant touche la syntaxe dappel des
fonctions du composant, par exemple le renommage dune fentre,
ajout/suppression dun paramtre dune procdure, la recompila-
tion des projets utilisant ce composant est ncessaire.

La modification de la syntaxe dappel dun composant est fortement


dconseille.
Mais si vous avez le faire, pensez changer le n de version mini-
male du composant autoris fonctionner.
Vous viter ainsi un message derreur de lapplication utilisatrice du
composant.

Mise jour chaud


Cest la possibilit davoir ct de lexcutable de lapplication,
un fichier de configuration (fichier .INI) contenant lemplacement du
composant sur le rseau.
Ce fichier de configuration doit obligatoirement porter le nom du
composant et contenir :
[Gnral]
Localisation=<Rpertoire du composant>

Lintrt cest quoi ?


En cas dvolution du composant, il suffit de mettre le composant
(fichier .wdk) jour une seule fois sur le rseau !
Et automatiquement, grce au .ini de localisation, toutes les appli-
cations utiliseront le nouveau composant.

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

Vos Notes
RCUPRATION HTML
Rcupration automatique
dinformations sur un site
Internet
Comment depuis une application WinDev analyser et
rcuprer des informations sur une page internet ?
Il faut rcuprer le code source de la page (code HTML)
et parser cette page afin de rcuprer les informa-
tions souhaites.

Cet exemple utilise le projet WD Pilotage et analyse HTML. Ce


projet est accessible depuis le kouglof.

Pour rcuprer une page, nous avons deux possibilits :


Utiliser lActiveX de Internet Explorer (pour cela une classe est
disponible sur le CD livr ainsi que dans lexemple WD Pilotage de IE
livr en standard avec WinDev).
Utiliser la fonction HTTPRequte pour rcuprer directement les
sources de la page internet.

Dans cet exemple, nous utiliserons lActiveX dInternet Explorer


ainsi que la classe CIExplore. Cette classe permet dafficher les
informations dune page, den rcuprer le contenu, de modifier le
contenu dun champ de la page, de valider une page (submit), etc

Remplir les champs dune page HTML


Le code correspondant dans lexemple est disponible dans la proc-
dure Remplissage.
Dans un premier temps, il faut rcuprer les noms des diffrents
champs du formulaire afin de les adresser depuis notre application.
1. Rcuprer le nombre dobjets dans la page :
CliExplore :nObjetsFormulaire()
2. Parcourir tous les objets pour rcuprer 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 dune page HTML


1. Recherche le champ que lon souhaite modifier :
bRechercheChampParNom
2. Affecter sa valeur :
SetValeur

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 62
Vos Notes
Rcuprer le rsultat dune recherche
Une fois les champs remplis, il suffit de valider le formulaire de la
page :
CliExplore:bSubmit

Ensuite, attendre que la page soit compltement charge pour rcu-


prer la source de la page (code HTML) :
CliExplore:sSource()

Il faut alors rechercher la position dun dlimiteur fixe. Ce dlimi-


teur dpend entirement de la page HTML analyse. Vous devez bien
entendu le trouver avant de procder lanalyse du code source.
Parser une page HTML revient analyser une grosse chane de carac-
tres.
Vous utilisez les fonctions Position, ExtraitChaine, les oprateurs
crochets...

Pour utiliser directement cet exemple, il faut rendre la page


PageRecherche de lexemple WW_AnalyseHTML accessible
depuis un client HTTP.
Pour cela, il suffit douvrir le projet WW_AnalyseHTML avec
WebDev et de faire au moins un test de la page PageRecherche
afin de crer lalias correspondant.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 63
Vos Notes
MAILING E-MAIL
Raliser un mailing e-mail
personnalis

Cet exemple utilise la fentre fnMailing du projet WD Emailing


XML et prsente comment envoyer un mailing e-mail personnalis
avec WinDev Ce projet est accessible depuis le kouglof.
Dans cet exemple, les donnes sont utilises au format XML grce
aux ordres hLitxx. Cest laccs natif XML.
Ces donnes peuvent bien entendu tre au format Hyper File ou
autre : le principe reste le mme.

Notre but : Crer un mailing e-mail personnalis. On souhaite pou-


voir envoyer un mail au format HTML. Si le client na pas dadresse
e-mail, on lui envoie un fax (voir chapitre suivant).
Le-mail envoy est ralis sous forme dun tat. Voila, pour le prin-
cipe : dtaillons tout de suite le code du bouton Lancer.

Les tapes sont alors les suivantes :


1. Ouvrir une session SMTP Cette session SMTP va permettre den-
voyer un mail pour les clients qui possdent une adresse e-mail. Vous
remarquez le paramtre supplmentaire qui est le mot de passe. Si
vous prcisez ce mot de passe, la session SMTP sera ouverte de faon
Authentifie.
2. Parcourir le fichier de donnes (au format XML dans lexemple)
avec les ordres Hxx classiques.
3. Spcifier ensuite ladresse e-mail du client dans la structure
Email du W-Langage. Si celle-ci est valide, on spcifie que ltat
sera imprim au format HTML.
4. Gnrer ltat correspondant au mailing sous forme dune page
HTML (iDestination(iHTMLGnrique)).
5. Modifier si ncessaire le chemin des images dans le fichier HTML
gnre (utilisation dun identifiant).
sCID=cid:wdcid+nImage
Email.IdentifiantAttache[Email.NbAttache] = sCID
6. Associer le fichier HTML et les images associes en tant que pice
jointe le-mail.
7. Envoyer le-mail.
8. Fermer la connexion avec le serveur SMTP.
Vous le remarquez dans lexemple, les envois de mail sont effectus
par paquets de 20. Pourquoi ? Tout simplement parce que cela vite
de surcharger le serveur SMTP et permet en cas derreur de savoir
20 e-mails prs o le mailing en tait.
Vous pouvez alors :
Soit vous renvoyez ces e-mails (avec risque denvoyer en double
et aussi dtre 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 dtails.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 64
Vos Notes
MAILING FAX
Raliser un mailing fax
personnalis

Cet exemple utilise la fentre fnMailing du projet WD Emailing


XML et prsente comment envoyer un mailing personnalis par fax
avec WinDev Ce projet est accessible depuis le kouglof.

Reportez-vous au pralable au chapitre prcdent pour la prsenta-


tion de lexemple et du fonctionnement.

Les tapes de ralisation du mailing par fax sont les suivantes :


1. Connexion au serveur de fax grce la fonction FaxConnecte.
2. Parcours des fichiers de donnes (ici au format XML) avec les
ordres Hxx classiques.
3. Gnration de ltat correspondant au mailing sous forme dun
fax (iDestination(ifax)) en indiquant directement le numro de
tlphone du destinataire. Le fax est automatiquement envoy
4. Fermeture de la connexion avec le serveur de fax.

Consultez la LST 54 pour plus de dtails.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 65
Thme 8 : La scurit

Vos Notes
WEBDEV ET SSL
Traitement scuris avec
WebDev et SSL

Cet exemple utilise le projet WWExempleSSL. Ce projet est acces-


sible depuis le kouglof.

Quest-ce quun Certificat de scurit SSL ?


Un certificat de scurit SSL (Secure Socket Layer) est un fichier
unique et numrique permettant dauthentifier et de crypter toute
information circulant sur Internet.

Comment obtenir un Certificat de scurit SSL ?


En lachetant auprs de socits spcialises (appeles Autorit de
certification) telles que Verisign, GoTrust
Un certificat SSL cote entre 60 et 1150 par an (tarif indicatif,
la date dimpression. Merci de vrifier ces tarifs directement avec
les prestataires).
Le prix dpend du niveau de cryptage, de la garantie apporte et de
lutilisation de ce certificat.

Que se passe-t-il techniquement ?


Sans certificat, les trames qui circulent sur le rseau ne sont pas
cryptes.
Cest--dire que si un pirate scanne les trames, il peut voir en clair
les informations que vous recevez et celles que vous envoyez.
Grce au certificat SSL, ces trames sont dsormais cryptes et ne
peuvent donc plus tre interprtes 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.
Cest--dire 1 bonne combinaison sur 2 puissance 128.
Avec la puissance des ordinateurs actuels, il faudrait 10 fois la dure
de lunivers pour trouver la bonne combinaison.

Comment savoir si un site possde un Certificat de


scurit SSL ?
Lorsque les pages dun site sont protges, lurl commence par
https, le S signifiant Scuris et un cadenas saffiche dans la barre
des tches du navigateur.

Comment installer un Certificat de scurit SSL ?


Le certificat sinstalle au niveau dun serveur web (apache, IIS).
Par exemple, pour un serveur IIS :
Dans les proprits de lordinateur, choisir loption gestion de
lordinateur.
Puis Services Internet et Proprits.
Dans longlet scurit de rpertoires, cliquez sur certificat de

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 66
Vos Notes
serveur.
Un assistant vous guide alors pour installer le certificat que vous
avez achet.

Comment grer ce certificat SSL cest--dire com-


ment afficher une page scurise avec WebDev ?

Prenons par exemple le projet de site dannonces en ligne.


Regardons la page mon compte.
Cette page permet de saisir le pseudo et le mot de passe.
Cette page nest pas scurise car dans ladresse de lURL il y a HTTP
et non HTTPS.
De plus le petit cadenas napparat 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 crypts et donc interceptables par un
pirate.

Le traitement en W-langage pour grer cette scurit SSL va tre


ajout:
Sur la page Pageaccueil, effectuer un clic droit sur le bouton
mon compte et demander ldition du code.
Ajouter un appel la fonction SSLActive (code navigateur) lors
de la demande daffichage de la page de saisie du pseudo et du mot
de passe.
SSLActive(Vrai)

Lorsque linternaute va cliquer sur le bouton mon compte, la page


va passer en mode scuris et donc les informations envoyes au
serveur seront cryptes.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 67
Vos Notes
PAIEMENT SCURIS
Implmenter un paiement
par Carte bleue dans un site
WebDev
Consultez la documentation du composant PayBox livr en standard
avec WinDev ou les articles de la LST 50.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 68
Thme 9 : Internet / Intranet

Vos Notes
INSTALLATION
Installer un serveur
dapplication WebDev sur
Windows
Nous allons ici prciser quelques points sur linstal-
lation du serveur dapplication WebDev avec IIS sur
Windows.

Installation
Pour linstallation sur Windows du serveur dapplication WebDev, il
suffit de suivre les diffrents plans de lassistant en indiquant prin-
cipalement :
Le rpertoire dinstallation du serveur dapplication,
Le serveur Web utilis,
Le mode de fonctionnement (excutable ou service).

Cration des comptes


Pour crer ou grer les comptes utilisateur, il est possible dutiliser
soit :
ladministrateur WebDev
ladministrateur distant accessible par une URL de la forme :
http://nom-de-la-machine/WD90AWP/WD90AWP.EXE/CONNECT/
WDAdministrateurDistant.

Depuis ladministrateur WebDev, les oprations sont les suivantes :


Cliquer sur le bouton Comptes WebDev
Slectionner loption Crer pour crer un utilisateur
Slectionner un rpertoire FTP pour les installations distance (un
compte FTP doit exister et correspondre ce rpertoire, voir plus
bas).

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 69
Vos Notes
Slectionner un rpertoire de base pour les sites (ce rpertoire
sera accessible depuis Internet ou votre Intranet)
Slectionner un rpertoire pour les fichiers de donnes

Configuration de IIS (droits et scurit)


Lancer inetmgr ou loption Services Internet (IIS) dans les
outils dadministration de Windows.
Crer un rpertoire virtuel sur le serveur FTP.
Dans lassistant, renseigner :
Le nom de lalias
Le chemin du rpertoire FTP
Les permissions daccs (Lecture et criture)
Crer un utilisateur local qui a le mme nom que lalias FTP.
Editer la base de registres et donner les droits dcriture et lec-
ture lutilisateur prcdemment cr sur HKEY_LOCAL_MACHINE\
SOFTWARE\PC SOFT\WEBDEV\9.0\Applications. Cette opration per-
met au serveur dapplication dajouter le site dploy dans la base
de registres.

Complment de configuration sur IIS


Si vous souhaitez que vos sites accdent des ressources partages
sur votre rseau (imprimante, fichiers, etc.) vous devez reconfigurer
IIS.

Pour cela :
Ouvrez IIS.
Editez les proprits du site web (Clic-droit..Proprits).
Slectionnez longlet Scurit de rpertoire.
Cliquez sur Modifier.
Slectionnez un compte de votre domaine qui a les droits ncessai-
res pour accder aux ressources dsires de votre rseau.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 70
Vos Notes
MODE AWP
AWP ? Ca change quoi
concrtement ?
Quand lutiliser ?
WebDev gre les pages dynamiques avec ou sans ges-
tion automatique du contexte :
avec gestion automatique est le mode par dfaut.
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 utiliss conjointement
dans un mme site WebDev. Lintrt majeur du mode AWP est un
meilleur rfrencement des pages du site auprs des moteurs de
recherche : chaque page est adressable directement.

La cration dune page AWP est en tout point identique la cration


dune page dynamique normale.
La diffrence rside dans le mode de gnration de la page et dans
la programmation.

Il suffit de cocher loption gnration en mode AWP dans les


options de gnration HTML dans la fentre 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=
PageDtail.awp. permet le passage de paramtre dune page
lautre et ce directement via ladresse URL.

Par exemple dans le code du lien Htel discount, lURL contient


lidentifiant de lhtel choisi.
Testez le site (Go), cliquez sur le lien htel discount : sous le navi-
gateur, on retrouve dans ladresse URL, lidentifiant de lhtel, dans
lexemple le n1563.
Il est alors possible de :
Copier lURL complte depuis le navigateur.
Lancer un nouveau navigateur et faire un coller dans lURL.
Dans 2 jours, dans 3 semaines, dans 2 mois, ou depuis un autre navi-
gateur, il est possible de rafficher la mme page avec les mmes
informations.

Dans le code de la PageDtail, le code source de la page qui


affiche le dtail de lhtel rcupre lidentifiant de lhtel qui se
trouve dans lURL : niHotel=PageParemetre(iddehotel).
Lidentifiant de lhtel permettra entre autre de reconstruire la
page dynamiquement en intgrant les informations de lhtel.

Reportez-vous la LST 57 pour plus de dtails sur le mode AWP.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 71
Vos Notes
SITE PHP
Crer un site PHP et le
dployer chez un hbergeur

Cet exemple utilise le projet WW_VoituresOccasions. Ce projet est


accessible depuis le kouglof.
Comment crer un site PHP utilisant une base MySQL ?
Pour crer un site PHP, il suffit de spcifier dans la description du
projet que cest un projet PHP.

Le projet WW_VoituresOccasions correspond un site en PHP.


La cration des pages se fait de faon classique.
La seule diffrence majeure concerne laspect programmation de
laccs la Base de donnes.
Le mode de programmation se fait par les ordres SQL.

La base de donnes la plus utilise en PHP est MySQL.


Par dfaut lanalyse associe un projet PHP est en MySQL.
Vous pouvez bien entendu utiliser une base Hyper File.

Manipulation de la base de donnes


Pour manipuler la base de donnes, il faut tablir la connexion
Dans cet exemple, la connexion est ralise dans la procdure glo-
bale gConnexion.
Lordre SQLConnecte permet de se connecter la base de donnes.
Dtaillons les paramtres :
La source de donnes (la machine serveur)
Le nom de lutilisateur
Son mot de passe
Le nom de la base de donnes
Une fois la connexion tablie, voyons comment accder au don-
nes.

La page Page_Recherche contient le code de remplissage de la


zone rpte : on excute une requte sous forme SQL.
Cette requte slectionne les produits dont le prix est compris entre
2 paramtres.
Le code qui remplit la zone rpte avec le rsultat de la requte
est dfini dans la procdure gremplitZR, et est de la forme :
TantQue SQLAvance() = 0
La fonction SQLAvance renvoie 0 tant quil y a des enregistrements
lire.

Il est galement possible de crer la slection via lditeur de requ-


tes et dexcuter cette requte par la fonction SQLexecWDR.

Pour dployer votre site vers votre hbergeur, vous pouvez utiliser
loutil WDDploie ou un simple Client FTP.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 72
Vos Notes
PORTAGE DAPPLICATION
Porter une application WinDev
vers WebDev

Voici quelques conseils pour bien russir une conversion dune appli-
cation WinDev en un site WebDev.

1 Partager les lments


Vous pouvez partager des lments entre un projet WinDev et un
projet WebDev :
Lanalyse
Les tats
Les requtes
Les collections de procdures, les classes.

2 Utiliser les collections de procdures


Utilisez au maximum les collections de procdures.
Cela vite de dupliquer du code si le traitement est identique en
WinDev et en WebDev.
Pour les traitements qui ont quelques diffrences, utilisez le Code
Cible Conditionnel.

3 Utiliser une Approche n-Tiers


Le dveloppement n-Tiers permet de rpartir les traitements.
Utilisez les procdures afin de dcouper votre code.
Dans lidal, la fentre ou page ne devrait contenir que :
du code de validation des champs (contrles de saisie),
des traitements relatifs linterface (rendre inactif un champ
selon un slecteur)
des appels de procdures contenant les traitements (accs aux
donnes, traitements, etc..)

4 Utiliser des Services Web (WebServices)


Vous pouvez galement fournir des Services Web afin de rendre
accessibles vos donnes lextrieur (ce quon appelle lEDI :
lchange de donnes informatises).
Cela permet notamment vos clients, fournisseurs, partenaires de
rcuprer des informations qui concernent leur commande en cours
par exemple.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 73
Vos Notes
INSTALLATION LINUX
Installer un serveur
dapplication WebDev sur
Linux
Les sites raliss avec WebDev 9 peuvent tre dploys
sur une distribution Windows ou Linux. Nous avons vu
prcdemment comment installer et configurer un
moteur WebDev sur une plate-forme Windows, nous
allons ici voir les quelques spcificits du dploiement
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 dapplication WebDev


Pour installer un serveur dapplication WebDev sur la configuration
Linux dfinie prcdemment, les tapes sont les suivantes :
Copier les fichiers dinstallation correspondant au serveur dappli-
cation de WebDev sur la machine linux.
Ouvrir un terminal en tant que root.
Rendre linstallation excutable et lancer la procdure dinstalla-
tion :
chmod +x WebDev_Install_Test
./WebDev_Install_Test
Accepter la licence.
Vrifier que les pr-conditions sont installs sur le systme.
Choisir le chemin dinstallation, ici on conserve le choix par
dfaut.
Prciser 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 spcifis ici dpendent de la distribution linux utilise.
Terminer lassistant.
Linstallation est maintenant termine, faire OK puis Terminer.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 74
Vos Notes
Cration du compte utilisateur systme
Voici un exemple de cration dun compte utilisateur systme :
demolinux.

Le serveur dapplication WebDev sera associ ce compte utilisateur


pour permettre de dfinir les droits daccs aux fichiers du systme.
Les oprations sont les suivantes :
Crer le compte :
adduser demolinux
Associer un mot de passe cet utilisateur :
passwd demolinux
Changer le groupe de lutilisateur demolinux :
usermod -g webdev9 demolinux
Changer dutilisateur courant pour se connecter en tant quutilisa-
teur demolinux :
su - demolinux
Crer les rpertoires utiliss par les sites WebDev :
Un rpertoire va contenir les donnes des sites (accessible
par la fonction fRepDonnes)
Un rpertoire va contenir les pages et les images du sites
(accessible par la fonction fRepWeb)
Un rpertoire accessible par ftp pour permettre la mise
jour des sites distance :
mkdir sites datas
Associer le groupe webdev 9 ces deux rpertoires :
chgrp webdev9 . sites datas
Donner les droits en criture au groupe webdev9 sur ces deux
rpertoires :
chmod g+wx . sites datas

Cest termin. Il est ensuite possible de paramtrer le serveur dap-


plication WebDev (sites, utilisateurs, nombre de connexion, etc...)
grce ladminstrateur distant.

Ouvrir un navigateur sur ladresse :


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

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 75
Thme 10 : La Mobilit

Vos Notes
PORTAGE DAPPLICATION
Porter une application WinDev
sur un Pocket PC

Voici quelques conseils pour bien russir une conversion dune appli-
cation WinDev en une application WinDev Mobile.

1 Partager
Vous pouvez partager des lments entre un projet WinDev et un
projet WebDev :
Lanalyse
Les tats
Les requtes
Les collections de procdures, les classes

2 Utiliser les collections de procdures


Utilisez au maximum les collections de procdures.
Cela vite de dupliquer du code si le traitement est identique en
WinDev et en WebDev.
Pour les traitements qui ont quelques diffrences, utilisez le Code
Cible Conditionnel.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 76
Vos Notes
DPLOIEMENT
Dploiement dune application
Mobile (Internet ou par mdia
de type CD-ROM)
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.

Premire installation
1. Ouvrir le projet pocket notes livr avec WinDev Mobile.
2. Crer une version client (menu Atelier..Crer la procdure dins-
tallation).
3. Valider lassistant de cration dexcutable.
4. Valider lassistant de cration dinstallation.
Linstallation est maintenant cre .

Test de linstallation
1. Sur la fentre de fin de cration dinstallation : faire Tester.
2. Pendant linstallation, rpondre Oui ou Suivant toutes les
questions/plans.
3. Lancer linstallation sur le pocket.
4. Faire un dessin dns lapplication sur le Pocket PC et lenregistrer
en utilisant la disquette en bas gauche, lappeler demo.
5. Quitter le logiciel avec la croix de la fentre systme (en haut
droite de lcran).

Seconde installation avec modification des donnes


1. Dans WinDev Mobile, ouvrir lanalyse
2. Ouvrir la description du fichier Note et changer la rubrique
Nom : dfinir en tant que non cl et passer en son type en
mmo texte.
3. Gnrer lanalyse (bouton drapeau dans lditeur). Lditeur per-
met de faire une modification automatique ce moment, nous ne le
faisons pas pour simuler le poste client.
4. Cration dune version client (menu Atelier..Crer la procdure
dinstallation).
5. Valider lassistant de cration dexcutable.
6. Valider lassistant de cration dinstallation.

Test de linstallation
1. Sur la fentre de fin de cration dinstallation : faire Tester.
2. Pendant linstallation, rpondre Oui ou Suivant toute les
questions/plans.
Cette fois-ci, une modification automatique des donnes est effec-
tue pendant linstallation.
3. Lancer linstallation sur le pocket.

(C) PC SOFT - http://www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 77
Vos Notes
4. Dans lapplication sur le Pocket PC, ouvrir le dessin prcdem-
ment cr pour montrer que la modification automatique a bien
fonctionn : cliquer sur le dossier pour ouvrir, et prendre le dessin
nomm dmo.

Distribution dune application autonome sur


Internet (directement utilisable partir dun pocket
sans passer par un PC)

Afin de distribuer une application mobile sans passer par une instal-
lation ncessitant un poste Windows (distribution via une SDCard,
tlchargement via internet directement du pocket PC), on doit se
passer de la cration dune procdure dinstallation.

Exemple pour distribution via SDCard :


1. Gnrer un excutable.
2. Copier lensemble du rpertoire Exe sur la SDCard (sans le
framework).
3. Mettre la SDCard dans un pocket.
4. Le lancement de lexcutable va tlcharger et installer automa-
tiquement le framework et la base de registres de WinDev Mobile.

Exemple pour distribution par internet (si on veut que lutilisateur


nait tlcharger quun excutable, on ne peut pas associer de
donnes en dehors de lexcutable) :
1. Gnrer un excutable.
2. Publier sur un site internet le fichier .exe.
3. Tlcharger le fichier .exe partir du pocket.
4. Le lancement de lexcutable va tlcharger et installer automa-
tiquement le framework et la base de registres de WinDev Mobile.

(C) PC SOFT - http://www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 78
Thme 11 : Autres technologies

Vos Notes
.NET : UTILISATION
Utiliser un traitement .Net
depuis une application WinDev

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 installs sur le poste avec cet
assemblage .Net. Un service est un processus qui tourne en tche de
fond et qui effectue diffrents traitements.

Comment a-t-on utilis cet assemblage .Net dans


notre exemple ?
Pour utiliser un assemblage .NET dans le projet, la premire tape
est dimporter lassemblage dans le projet. Cette opration seffec-
tue grce loption Utiliser un assemblage dans ce projet du menu
Atelier.. .Net de WinDev.
Lassistant propose la liste des assemblages .NET installs sur le
poste. Il suffit de choisir lassemblage .NET utiliser.

Dans notre exemple, les assemblages ont dj t imports : cest


System.ServiceProcess que lon visualise dans le volet WinDev.
.NET est un langage orient objet : on retrouve donc les mthodes et
membres de lassemblage .NET dans le volet de WinDev.

Reportez-vous aux LST 57 et 60 pour plus de dtails sur lutilisation


dassemblages .NET spcifiques.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 79
Vos Notes
.NET : PUBLIER
Publier un traitement .Net
ralis depuis un projet
WinDev
Si vous devez gnrer 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.

Quest-ce qui caractrise un assemblage .NET ?


.NET est un langage orient objet, donc il a besoin de points den-
tres.
Ces points en WinDev, ce sont des collections de procdures ou des
classes.

Par exemple, il est possible douvrir une fentre WinDev depuis un


assemblage, il suffit de prvoir une fonction WinDev qui va effectuer
louverture de la fentre.
Cette fonction pourra tre soit dans une collection de procdures
soit dans une classe.

Lexemple WD AutreTechnologies contient une collection


de procdures pDivers. Dans cette collection, la procdure
OuvreFenAssemblage ouvre la fentre WinDev.

Gnration de lassemblage
La gnration dun assemblage .Net seffectue par loption Gnrer
une DLL dassemblage .NET du menu ATELIER .. .NET, lassistant
permet alors de :
choisir les lments qui doivent tre exports dans cet assem-
blage, ici la fentre, le projet et la collection de procdures.
choisir les classes et collections de procdures qui seront accessi-
bles depuis les autres langages.
Les lments cochs vont constituer les points dentres de lassem-
blage.

Cest termin, lassemblage .NET est gnr : cest le fichier


UtiliseDOTNET.DLL.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 80
Vos Notes
JAVA
Crer une application Java
depuis un projet WinDev

Deux mthodes permettent de crer une application Java en


WinDev :
Utiliser le RAD Java.
Gnrer une application Java de toute pice.

Cet exemple utilise le projet WDEtalonJava. Ce projet est acces-


sible depuis le kouglof.

Pour quun projet soit dfini comme gnrant du code Java, il suffit
de cocher la case Java dans la fentre de description du projet.

Lexemple WDEtalonJava est une messagerie qui utilise un fichier


Hyper File, le fichier Message.

Accs la base de donnes


En Java, laccs aux donnes seffectue uniquement avec les ordres
SQL (SQLConnecte, SQLExec).
Pour rcuprer les messages sans accus de rception, les tapes
sont les suivantes :
1. Dabord il faut se connecter la base de donnes :
SQLConnecte(EtalonJava.wdd,,,...
,Hyper File)
Lordre, cest SQLconnecte avec comme paramtres :
Le nom de lanalyse.
Le type de la base de donnes: ici Hyper File.
Il est possible de manipuler toute autre base de donnes (Oracle,
MySQL ) du moment quil existe un pilote JDBC.
Pour une base Hyper File, sous windows et linux, laccs 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 cest quoi ?


Le RMI (Remote Method Invocation) est un mcanisme permettant
dutiliser des objets distribus en Java.
Son but est de permettre lappel, lexcution et le renvoi du rsultat
dune mthode excute dans une machine virtuelle Java diffrente
de celle de lobjet lappelant. Cette machine virtuelle peut tre sur
une machine diffrente pourvu quelle soit accessible par le rseau.
La machine sur laquelle sexcute la mthode distante est appele
serveur.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 81
Vos Notes
Dans notre exemple, la connexion est ralise sur la base de donnes
Hyper File Classic.
2. Crer la requte :
sRequte est une chaine = [
SELECT EXPEDITEUR, DATE, HEURE, SUJET, CORPS FROM
MESSAGES
WHERE AR=%1
AND DESTINATAIRES=%2
]
// Construction en fonction des paramtres
sRequte = ChaineConstruit(sRequte,.....)
Si vous ne parlez pas couramment SQL, vous pouvez simplement
gnrer la requte grce lditeur de requtes de WinDev et
ensuite rcuprer directement le code SQL de la requte.
Pour aller plus vite, dans lexemple WD EtalonJava, la requte de
remplissage de la table nest pas paramtrable
sNomRequete est une chane = RequeteAffichage
sRequte est une chane = [
SELECT EXPEDITEUR, DATE, HEURE, SUJET, CORPS FROM
MESSAGES
WHERE AR=0
AND DESTINATAIRES=Marc
]

3. Excuter la requte
Lexcution seffectue laide de la fonction SQLExec :
SQLExec(sRequete, sNomRrequete)
4. Remplir la table des messages grce la fonction SQLTable :
SQLTable(sNomRequete,TABLE_MESSAGE)
Lordre des rubriques dans la requte doit correspondre lordre des
colonnes dans la table.
5. Afficher le corps du message slectionn dans le champ de saisie
prvu en dessous.
Pour cela, dans le code Slection dune ligne de la table, affichez
le corps du message dans la zone de texte.
TXT_CORPS = TABLE_MESSAGE.Corps[TABLE_MESSAGE]

Gnration de lexcutable Java


Un excutable JAVA est une archive .JAR.
Pour gnrer un excutable .Jar, il suffit dutiliser loption Gnrer
larchive JAR du menu Atelier.

WinDev compile lapplication et gnre le point Jar.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 82
Vos Notes
SERVICE WEB
Crer un Service Web daccs
aux donnes

Pour expliquer la cration dun Service Web, nous uti-


liserons un projet qui permet de vrifier la solvabilit
dun compte client.
Cet exemple utilise le projet WD Service Web. Ce projet est acces-
sible depuis le kouglof.

Gnration du Service Web


Ouvrir le projet WD Service Web, il contient une collection de pro-
cdures contenant les procdures du futur Service Web.
Parcourir la procdure VerifieCompte pour visualiser rapidement
le code.
Slectionner loption Gnrer un Service Web partir de ce pro-
jet du menu Atelier..Service Web XML.
Les diffrents plans de lassistant permettent de spcifier :
Le nom du fichier XML qui sera gnr.
Ladresse du serveur o le Service Web sera dploy.
Les lments intgrer dans le Service Web.
Le nom de la bibilothque (WDL) qui va tre gnre.
Une fois le service Web gnr, il faut le dployer (Partie non illus-
tre ici, reportez vous laide en ligne) sur la machine serveur et
diffuser le wsdl aux clients. Cette installation seffectue grce aux
outils WDSoapInst et WDSoapSetup disponibles dans le rper-
toire Programmes de WinDev.
Reportez-vous la LST 52 pour plus de dtails sur le dploiement
dun service Web.

Utilisation du Web Service


Pour intgrer le Service Web dans nimporte quel projet WinDev ou
WebDev, il suffit de :
Crer un projet.
Crer une fentre vierge.
Slectionner loption Importer du menu Atelier..Service Web
XML.
Dans cet exemple, saisissez le chemin du fichier XML prcdemment
gnr et install.
Nous avons la possibilit dimporter le service web dans une collec-
tion de procdures ou une classe. Ici, nous vous conseillons dutiliser
une collection de procdures.

Une fois le Service Web import, une collection de procdures est


cre. Elle contient les procdures permettant dutiliser le Service
Web.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 83
Vos Notes
Il suffit alors dinitialiser les paramtres de la structure et dappeler
les procdures dcrites dans le Service Web.

Par exemple :
// Dfinition de la structure dappel
Compte est un WD_Service_Web.STVerifieCompte

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

// Vrification du compte
VerifieCompte(Compte)

Reportez-vous aux LST 58 et 60 pour des exemples dutilisation des


Services Web de Google et de ViaMichelin.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 84
Thme 12 : Les tats

Vos Notes
ETATS CROISS
Raliser un tat crois

Un tat crois permet davoir un tableau 2 entres.


Par exemple avoir une synthse du nombre de ventes
par produit et par an.

Cet exemple utilise le projet WD Etats. Ce projet est accessible


depuis le kouglof.

Pour crer un tat crois, les tapes sont les suivantes :


Crer un nouvel tat de type Tableau crois.
Indiquer les rubriques qui rempliront les libells des colonnes.
Slectionner CommandeDateCommande : Les colonnes corres-
pondront aux annes des commandes.
Slectionner ProduitReference : les libells des produits seront
les lignes du tableau crois.
Slectionner somme LIGNECDEQuantit : le contenu des cellu-
les du tableau sera la somme des quantits vendues par produit.

Il est possible deffectuer des totaux sur les lignes : le total des pro-
duits vendus, toutes annes confondues.
Et sur les colonnes : le total des ventes sur une anne, tous produits
confondus.
Choisir le gabarit, ou charte graphique.
Donner un titre ltat.
Redimensionner les colonnes si ncessaire.

Tester ltat en excution : GO !


Lors du test les annes sont affiches en colonnes, les rfrences
de produits en lignes et dans les cellules la somme des quantits de
chaque produit vendue par anne est affiche.
A droite et en bas les cumuls automatiques.

Pour modifier ltat, par exemple pour avoir le chiffre daffaires en


euros par produit et par an, il suffit de modifier la requte intgre
ltat (Clic droit .. Description de ltat), et par exemple dajou-
ter ou de modifier le calcul sur une rubrique.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 85
Vos Notes
FACTURE ET PDF
Crer une facture et lenvoyer
par e-mail au format PDF

Cet exemple utilise le projet WD Etats. Ce projet est accessible


depuis le kouglof.

Cration de ltat
Pour raliser une facture, avec lditeur dtats, les principales op-
rations sont les suivantes :
Cration dun nouvel tat de type Tableau.
Association de ltat au fichier LigneCDE avec la rubrique
NumCommande comme rubrique de parcours.
Validation de lutilisation dune borne minimale et dune borne
maximale.
Slection des diffrentes rubriques de ltat : la rfrence du
produit, sa dsignation, son prix unitaire, la quantit commande,
etc...
Dslection de IDLigneCommande, Numcommande,
Livr, Remise et taux TVA.
Slection de la somme sur le prix de vente.
Saisie du titre du document.

Ltat est ralis, il est possible dafficher une facture, par exemple
la facture n6226.

Ajout de nouvelles informations


Nous allons maintenant complter la facture et afficher le nom de la
socit du client. Pour cela :
Agrandir le haut de page
Ajouter les nouvelles rubriques sur la socit du client : nom,
adresse, code postal, ville, etc

Envoi par e-mail au format PDF


Nous allons voir maintenant comment crer un fichier PDF de la fac-
ture et lenvoyer par e-mail.
Cette opration est trs simple :
1. Rediriger limpression de ltat non pas sous forme daperu mais
sous forme dun fichier PDF.
iAperu(iPDFGnrique, c:\temp\fichier.pdf)
2. Crer un e-mail en renseignant la structure Email puis en ajoutant
le PDF prcdemment gnr en pice jointe le-mail.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 86
Vos Notes
WDETAT UTILISATEUR
Utilisation de WDEtat
Utilisateur

WDEtat Utilisateur est un module destin lutilisateur


final dapplications ralises avec WinDev.
Lutilisateur dune application dveloppe avec WinDev
va pouvoir crer ses propres tats imprims, ses requ-
tes ou modifier les tats conus par le dveloppeur :
modifier un logo, changer une position dun libell,
etc

Cration du projet
Pour fonctionner, WDETAT Utilisateur a seulement besoin de certains
lments de votre projet : cest ce quon appelle le projet allg.
Ce projet allg doit tre fourni lutilisateur
Ce projet allg est cr par le menu AtelierWdetat Utilisateur
Crer le projet pour WDEtat Utilisateur.
Ce projet allg permet en outre de dfinir la localisation des
fichiers de donnes, et de dterminer si le code du projet doit tre
visible ou non par lutilisateur final.
Lassistant propose ensuite de crer le nouveau programme dinstal-
lation de votre application en intgrant le projet allg et les tats
modifiables par lutilisateur.

Rendre un tat accessible


Pour les tats que vous souhaitez rendre accessibles en modification
lutilisateur, il faut modifier la description de ltat en cochant
loption Intgrer le code compil (Cliquer sur le menu Etat
Description puis onglet Dtail).
Cette option permet de rendre ltat imprim indpendant et auto-
nome, donc utilisable via WDEtat Utilisateur.

Elments de lanalyse accessibles


Au niveau de lanalyse de votre projet, il est tout fait possible de
dfinir pour chacune des rubriques si elle est visible ou non pour
WDETAT Utilisateur et donc pour lutilisateur (Onglet Avanc, case
cocher Visible sous WDEtat Utilisateur).
Ainsi il est possible de cacher une rubrique servant uniquement au
dveloppement, un flag par exemple et sans intrt pour une di-
tion ou alors une information confidentielle qui ne doit pas tre lue
directement (le montant des salaires...).
Noubliez pas de livrer vos clients les tats (fichiers .WDE), que
vous souhaitez quils puissent modifier.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 87
Thme 13 : Optimisation de lapplication

Vos Notes
PERFORMANCES
Utiliser lanalyseur de
performances et optimiser les
requtes
Consultez laide en ligne sur lutilisation de lanalyseur de perfor-
mances.
Cet exemple utilise le projet Optimisation. Ce projet est accessi-
ble depuis le kouglof.

Il est possible de dfinir le dbut et la fin de lanalyse par program-


mation grce aux fonctions AnalyseurDbut et AnalyseurFin.

Rappel : pour optimiser une requte, utiliser loption du menu con-


textuel correspondante dans lditeur de requtes. Cette option
permet de rechercher les cls (simples ou composes) manquantes
de lanalyse pour obtenir des performances optimales en fonction
des conditions de la requte.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 88
Vos Notes
TAILLES DE PAGES
Optimiser la taille de pages
Web

Les tables de positionnement permettent doptimiser la


taille dune 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.

Quest ce quune table de positionnement ?


Les tables de positionnement permettent de positionner les champs
dans une page HTML.
WebDev gnre votre place cette table en fonction de lemplace-
ment de vos champs.

Activer le mode visualisation de la table de


positionnement
Un mode spcifique permet dafficher les tables de positionnement
gnres. 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 reprsente 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, lide consiste simplifier la table de
positionnement en supprimant un maximum de traits horizontaux et
verticaux.

Quelques trucs
Mettre un maximum de champs la mme taille (notamment les
titres).
Coller les champs de saisie entre eux.
Agrandir les libells dexplication afin quils soient colls au
champ juste en dessous.

La page Page_Optimise correspond au rsultat obtenu aprs


manipulations.

Les ancrages
Lors du redimensionnement du navigateur, la page ne sadapte pas
toujours.
Il est possible de modifier les proprits de la zone pour quelle
stende en hauteur et en largeur grce aux ancrages (pourcenta-
ges dfinis en mode Table de positionnement dans les bords de la
page). Cette fonctionnalit est accessible grce un clic droit.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 89
Thme 14 : Suivi de projet

Vos Notes
SUIVI DE PLANNING
Utilisation du centre de suivi
de projets

Les centres de contrles permettent de centraliser


toutes les informations ncessaires au suivi et la
gestion dun projet.

Le centre de suivi de projet est accessible depuis le Menu Outils


Outils associs au centre de contrleCentre de suivi de projet ou
par lexcutable CC90Suivi.exe.

Le centre de suivi de projet permet de :


Visualiser les diffrents intervenants (les intervenants sont parta-
gs avec le groupware de WinDev).
Visualiser les tches des intervenants.
Visualiser le planning prvisionnel des intervenants.
Visualiser lhistorique des tches des intervenants.

La liste des tches est accessible depuis le kouglof (contextuel par


rapport au projet et lintervenant courant).

Ds quil dbute une tche, un intervenant peut lindiquer dans son


planning.
Sil est bloqu sur une tche, il peut galement lindiquer et passer
sa tche suivante.
Lensemble des intervenants et surtout le chef de projet auront ainsi
une vision globale de ltat davancement du projet.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 90
Vos Notes
PARTAGE DLMENTS
Partage dlments entre
dveloppeurs
le Groupware dveloppeur
Pour grer au mieux le groupware dveloppeur, il est conseill de :

1. Mettre les sources du projet dans un rpertoire partag.

Pour utiliser le groupware dveloppeur, utilisez soit un chemin UNC


soit la mme lettre de lecteur pour accder au projet.

2. Utiliser un nom dutilisateur pour travailler (pas dutilisateur


anonyme).

3. Spcifier dans la description du projet que vous travaillez plu-


sieurs.

4. Utiliser un rpertoire de compilation local (dfini dans la fentre


de description du projet) pour optimiser les temps de compilation.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 91
Vos Notes
SUIVI DES INCIDENTS
Suivi des incidents et des
suggestions

Le centre de suivi de la qualit et des volutions est disponible


depuis le menu Outils .. Outils associs aux centres de contrle ou
depuis lexcutable CC90CSQE.exe.

Centre de contrle
Cette application permet de saisir, rechercher et consulter les fiches
dincidents ou de suggestions sur des applications.
Ces informations sont accessibles depuis le kouglof.
Consultez laide en ligne pour plus de dtails.

Le composant MesIncidents
Ce composant est li aux centres de contrle et dispose de 2 modes
de fonctionnement :
1er cas : lapplication ralise est une application interne : vous
tes votre propre client. Dans ce cas, les incidents et les suggestions
vont tre directement enregistrs dans la base de donnes des cen-
tres de contrles qualit.
2me cas : lapplication est utilise en externe, non relie au
rseau de votre socit. Les incidents et les suggestions vont vous
tes transmis par un e-mail formats.
Voici le code inclure dans votre projet pour grer ce composant
incident.
1.Initialiser le composant avec ladresse e-mail ou envoyer le mail
SpcifierEmailDestination(incident@msociete.fr)

Ensuite il y a 2 cas de figures :


Lutilisateur souhaite signaler soit :
un incident ou bug
une suggestion
Pour la gestion de lincident, il suffit de rajouter dans le code du
projet un Quand Exception
Quand exception
IncidentClientAjoute(Standard, lsSujetMessage)
FinProgramme
Fin
Un message e-mail sera construit automatiquement laide dun
assistant.
Pour grer lenvoi dune suggestion, ajouter dans lapplication un
bouton suggestion avec le code suivant :
Crer un bouton suggestion avec le code :
IncidentClientAjoute(Standard, lsSujetMessage)
Le-mail format par lassistant est envoy soit directement depuis
cet assistant, soit depuis la messagerie habituelle de lutilisateur.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 92
Vos Notes
TESTS DE NON RGRESSION
Cration dun test de non
rgression

WDTest permet denregistrer et dexcuter automatiquement des


scripts de test dapplication.

Cration dun test


Pour crer un test de non rgression, les tapes sont les suivantes :
Lancer loutil WDTest
Cliquer sur le bouton Nouveau pour crer un nouveau test
Donner un nom ce test

Avant de valider la cration du test, il est conseill de lancer lex-


cutable tester. Lors de la validation du test, WDTest propose den-
registrer le test maintenant : acceptez.

Lorsque lenregistrement du test est commenc, toutes les opra-


tions souris et clavier sont mmorises, il ne vous reste plus qu
tester le fonctionnement de lapplication.

Une fois le test complet, appuyez sur la touche Arrt Dfilement


et enregistrez le test.

Lancer un test
Pour lancer lexcution dun test, il suffit alors de :
Se placer dans la configuration du test (ici par exemple, relancer
lexcutable utilis pour le test).
Cocher le ou les tests raliser.
Cocher loption Mode scuris pour arrter le test ds la dtec-
tion dun dysfonctionnement.
Lancer lexcution des tests.

Note : Loutil WDTest nest plus sensible la position des champs


ou des fentres, ce qui permet de conserver un mme test mme si
linterface graphique de lapplication teste est modifie.

Il est important de noter quil est prfrable davoir plusieurs petits


tests quun seul principal.
Cela permet de cerner plus facilement et rapidement une rgres-
sion, ou de rajouter plus facilement un nouveau test.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 93
ANNEXE A : LES COMMANDES W-LANGAGE
Attention : Le lexique ci-dessous nest quun extrait des possibilits du langage de WinDev. La lecture
des manuels fournis avec WinDev reste incontournable. Ne sont prsentes ici que les commandes
ncessaires la bonne comprhension de cette formation.

Commandes de gestion de fichiers


Commande / Syntaxe But

EcranVersFichier Renseigner le buffer fichier daprs les donnes saisies par


lutilisateur dans la fentre.

FichierVersEcran Initialiser une fentre daprs les dernires valeurs lues dans
le fichier.
HAjoute(NomFichier) Ajouter dans le fichier lenregistrement prpar en mmoire.

HCrationSiInexistant(NomFichier) Ouvrir le fichier en le crant vide auparavant sil nexistait


pas sur disque.
HErreurDoublon() Tester le compte-rendu renvoy par le moteur de base de
donnes en cas de tentative de cration de doublon.

HErreurIntgrit() Tester le compte-rendu renvoy par le moteur de base de


donnes en cas de tentative dcriture denregistrement ne
respectant pas les contraintes dintgrit.

HFiltre(NomFichier,Cl,Valeur) Filtrer les enregistrements du fichier dont la cl indique


correspond la valeur choisie.

HLitDernier(NomFichier, Cl) Se positionner sur le dernier enregistrement du fichier selon


la cl spcifie et charger lenregistrement en mmoire.

HLitPrecedent(NomFichier, Cl) Se positionner sur lenregistrement prcdent du fichier selon


la cl spcifie et charger lenregistrement en mmoire.

HLitPremier(NomFichier,Cl) Se positionner sur le premier enregistrement du fichier selon


la cl spcifie et charger lenregistrement en mmoire.

HLitRecherchepremier(NomFichier,... Rechercher le premier enregistrement du fichier dont la


Cl, Valeur) cl indique correspond la valeur choisie, puis charger
lenregistrement en mmoire.
HLitSuivant(NomFichier,Cl) Se positionner sur lenregistrement suivant du fichier selon la
cl spcifie et charger lenregistrement en mmoire.

HModifie(NomFichier) Rcrire lenregistrement courant du fichier avec les valeurs


stockes en mmoire.
HRaz(NomFichier) Remettre zro (rinitialiser) lenregistrement du fichier.

HSupprime(NomFichier) Supprimer lenregistrement courant du fichier.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 94
Compte-rendu du moteur de bases Valeur
de donnes

HEnDehors(NomFichier) Renvoie Vrai si on tente de lire un enregistrement au del du


dbut ou de la fin du fichier.

HTrouve(NomFichier) Renvoie Vrai aprs une recherche si la recherche a abouti.

Autres commandes
Commande / Syntaxe But

DateSys() Rcuprer la date systme au format AAAAMMJJ.


Erreur(Message) Afficher un message derreur.

ExcuteTraitement( Champ,... Excuter le traitement dun champ ou dune fentre.


Traitement)
HeureSys() Rcuprer lheure systme au format HHMMSSCC.
Info(Message) Afficher un message dinformation.
Confirmer(Question) Poser une question lutilisateur (la rponse est un boolen) .

RAZ() Remettre zro (rinitialiser) tous les champs de lcran.

RepriseSaisie(NomChamp) Interrompre le traitement en cours et positionner le curseur sur


le champ spcifi.

TableAffiche( NomTable, Position) Rafficher un champ table fichier ( lcran) daprs les
donnes 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 indiques avec la syntaxe utilise dans les exemples raliss.
Certaines fonctions acceptent dautres paramtres ; se rfrer laide en ligne pour plus de
dinformations.

(C) PC SOFT - www.pcsoft.fr Tour de France Technique PC SOFT - Juin 2005 - page 95
ANNEXE B : LES TOUCHES DE RACCOURCI
La liste ci-dessous prsente les touches de fonction et les combinaisons de touches permettant daccder
directement une fonctionnalit de WinDev. Cette liste nest pas exhaustive.
Important : Sous WinDev, dans lditeur de fentres, comme dans lditeur de code, il est possibles
daccder simplement aux diffrentes actions possibles grce au menu contextuel. (Il suffit de faire un clic
droit la position de la souris).

Principales touches de raccourcis de lditeur de fentres


Touche But

F1 Aide en ligne.
F5 Visualiser lordre de saisie (ordre de tabulation).
F6 Visualiser le nom des champs.
CTRL Permet de slectionner plusieurs champs la souris.
CTRL+C, CTRL+V, CTRL+X Copier, Coller, Couper un champ, avec ses proprits et son
code associ.
CTRL+R Affiche ou rend invisible les rgles dalignement.
SHIFT+F9 Tester lIHM dune fentre sans excuter les traitements.

Principales touches de raccourcis de lditeur de code


Touche But

F1 Aide en ligne.
F2 Accder au code dune procdure en tant positionn sur le
nom de la procdure auparavant (CTRL-F2 pour revenir).

F4 Crer une procdure locale (Shift-F4 pour crer une procdure


globale).
F8 Liste des procdures locale (CTRL-F8 pour la liste des
procdures globales).

F11 Liste des fichiers, requtes et rubriques.


CTRL+C, CTRL+V, CTRL+X Copier, Coller, Couper du code.
CTRL + / (pav numrique) Mettre en commentaire (CTRL + Shift + / pour enlever les
commentaires).
ALT + T Activer la pipette pour slectionner le nom dun champs dune
fentre.

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