Resumer Du Cour de Windev
Resumer Du Cour de Windev
Resumer Du Cour de Windev
Il développe des applications qui accèdent à toutes les bases de données, relationnelles tel que
HYPER FILE ou non.
Le W-Langage est de 5ème Génération(L5G) de WinDev simple à apprendre et à maîtriser dans toute
sa puissance !
WinDev intègre tous les outils nécessaires au cycle de réalisation d’une application.
WinDev permet de suivre, étape par étape, de la conception à la finalisation, le cycle complet du
développement d’une application.
WinDev propose certainement l’environnement de travail le plus puissant, le plus facile et le plus
intégré du marché ! L’éditeur de fenêtres de WinDev est 100% WYSIWYG ("Ce que vous voyez est ce
que vous aurez").
PROJET ET ANALYSE
Un projet WinDev est l’assemblage d’un ensemble d’éléments: fenêtres, états, champs,
classes pour réaliser des applications
Une analyse WinDev est le schéma des différents fichiers de données utilisés par l’application
Phase de conception :
- Le cahier de charges
- Une modélisation UML des fichiers de données préexistants et de traitement.
Phase de développement :
- La création du projet
- L’analyse d’assistant très complets.
- Le développement en mode RAD (Rapid Développement Application) avec génération
automatique du code
- Développement en IHM ou la création manuelle des différents éléments du projet.
- Outils de tests automatiques pour garantir la fiabilité des applications et assurer la non-
régression entre les phases de développement.
Phase de déploiement:
- Par téléchargement, via un réseau local (y compris en mode Push) ou via internet
- Par mise à jour des fichiers de données HFSQL en fonction des évolutions de l’application.
IHM – LES FENETRES
Les fenêtres constituent la base de l’IHM (Interface Homme Machine) d’une application.
WINDEV est constitué d’un éditeur de réalisant tous les types d’IHM possibles.
De nombreuses fonctionnalités :
Un système de compilation de l’IHM avec détection des erreurs (titres vides, libellés non
traduits, chevauchements, ...),
Une fenêtre modale s’ouvre en avant-plan de l’application et bloque l’accès aux autres fenêtres déjà
ouvertes (s’il y en a).
Utilisées comme :
Le GFI ou Grisage des Fenêtres Inaccessibles est une ombre grise qui apparaît sur les fenêtres en
arrière-plan, lorsqu’une fenêtre modale s’ouvre
Les fenêtres des applications MDI sont toutes affichées dans une seule et même fenêtre principale.
Fenêtre mère MDI : pour permettre à l’utilisateur de manipuler le menu principal de l’application.
Fenêtre fille MDI : s’affiche dans la fenêtre mère. Elle permet à l’utilisateur de saisir des informations.
LES ETATS
Un état permet d’obtenir une vue personnalisée d’informations : données saisies dans la base de
données, données présentes dans un fichier texte, données provenant d’un champ Table, …
Un état peut être affiché à l’écran, enregistré dans un fichier HTML, directement édité sur une
imprimante, ...
Il est possible de :
•réaliser des calculs, des moyennes ou des statistiques ou même réaliser des graphes.
•l’exécution de l’état peut être dirigée vers l’écran, un fichier HTML, RTF, ... ou vers une imprimante.
LES EDITEUR DE WINDEV
Éditeur de projet.
Éditeur d’analyses.
Éditeur de requêtes.
Éditeur de fenêtres.
Éditeur d’états.
LE TABLEAU DE BORD
Le tableau de bord du projet est un élément indispensable à la gestion de projets WINDEV Mobile. Le
tableau de bord permet d’avoir une vision globale et synthétique de l’état d’avancement d’un projet.
Le tableau de bord du projet est composé de différents indicateurs sur le contenu du projet :
Incidents,
Tâches,
COMPATIBILITE
Tous les éléments, hormis l’IHM (pages et fenêtres) sont 100% compatibles et partageables
entre des projets WINDEV, WEBDEV et WINDEV Mobile.
GESTIONNAIRES DE SOURCES
Un élément (fenêtre, état, ...) extrait du projet ne pourra pas être extrait une seconde fois.
Après modification des éléments extraits, la réintégration de ces éléments dans le projet de
base prend en compte ces modifications.
La base de sources conserve un historique de tous les éléments du projet depuis leur
création.
A chaque réintégration d’un élément, le numéro de version du projet de base est incrémenté
de 1.
COMPOSANT INTERNE
Un composant interne est un regroupement d’éléments d’un projet.
Organiser un projet : vous pouvez créer des composants internes pour regrouper les
composants d’un projet, par exemple par fonctionnalité
Les éléments privés pourront être manipuler uniquement par les autres éléments du
composant
Les éléments publics pourront être manipulés par les éléments du projet utilisant le
composant interne,
COMPOSANT EXTERNE
MODE DE GENETRATION
Les APPLICATION sont le mode de génération le plus fréquemment utilisé. En WinDev, elles
ciblent les plateformes d’exécution tel que Windows (en 32 ou 64 bits) et Linux.
Les SERVICES (daemons) pour Windows (en 32 ou 64 bits) et pour Linux. Un service est une
forme particulière d’application, lancée en même temps que le système d’exploitation et ne
comportant pas d’IHM
BIBLIOTHÈQUES ET PATCHS
Une bibliothèque est un fichier unique rassemblant plusieurs éléments d’un projet WINDEV :
des fenêtres, des états, etc. les bibliothèques autonomes pouvent être utilisées par d’autres
applications ainsi que des patchs correctifs pour une application en clientèle évitant d’avoir à
réinstaller l’application complète pour une correction mineure.
A partir d’un projet WINDEV, il est possible de générer un Webservice (également appelé
service Web XML). Un Webservice expose un ensemble de fonctions (une ou plusieurs
collections de procédures) et les rend accessibles à travers le Web (ou un réseau privé) en
utilisant les protocoles standards de communication HTTP, SOAP et REST.
Remarque : Un Webservice doit être déployé sur un Serveur d’Application WEBDEV pour être
utilisable.
WINDEV permet de générer des applications Java ainsi que des Applets. Les applications Java
peuvent ensuite être exécutées sur n’importe quelle machine possédant une machine
virtuelle Java, quel que soit son système d’exploitation. Il est possible de cette façon de
construire des applications fonctionnantes indifféremment sous Windows, Mac OS ou même
Solaris par exemple.
Une Applet Java est une application destinée à fonctionner à l’intérieur d’un navigateur Web.
WINDEV permet de générer des applications Windows Store Apps. Ces applications peuvent
être utilisées en mode tuile ou distribuées via Windows Store.
LES VARIABLES
Une variable permet de conserver des données tel que des chaînes, des nombres, etc. Les
variables permettent d'effectuer des calculs mathématiques, de faire des comparaisons ou
tout simplement de stocker des informations pour les retrouver plus tard.
Une portée : Limite d'utilisation de la variable dans le programme. La portée est définie par
l'endroit où la variable est déclarée.
LA PORTEE VARIABLE
Une variable est globale lorsqu'elle est déclarée dans le code d'initialisation du projet (le code
de déclaration de la collection de procédures).
La variable est globale à l'élément (fenêtre, page ou état) dans lequel elle a été déclarée.
Une variable est locale au traitement dans lequel elle est déclarée
OPERATEURS MATHEMATIQUE
INSTRUCTIONS CONDITIONNELES
Les instructions conditionnelles permettent de comparer des variables et/ou des valeurs
entre elles afin de faire des traitements différents. Il existe plusieurs instructions
conditionnelles :
SELON ...
BOUCLES
POUR ...
- L'instruction POUR est utilisée lorsque l'on connaît le nombre d'occurrences à traiter.
Pour compter les passages effectués dans la boucle.
- La syntaxe de l'instruction POUR est la suivante :
POUR Indice = Valeur de départ A Valeur de fin
Traitement à exécuter
FIN
- On peut définir un pas d'incrémentation de l'indice grâce au mot-clé PAS. Par exemple, le
code suivant exécute 200 fois le traitement et la variable Cpt diminue de 10 en 10 :
BOUCLE ...
- L'instruction BOUCLE est utilisée pour faire des boucles lorsque le nombre d'occurrences
à traiter n'est pas connu. Dans ce cas, il faut utiliser un test pour sortir de la boucle.
- La syntaxe de l'instruction BOUCLE est la suivante :
BOUCLE
Traitement à exécuter
SI <Expression> ALORS SORTIR
FIN
- Par exemple :
TANTQUE ...
- L'instruction TANTQUE utilisée pour faire des boucles lorsque le nombre d'occurrences à
traiter n'est pas connu. Le test de la condition de sortie est effectué AVANT l'exécution
du code de la boucle. Ce test permet de comparer une variable. Cette variable commence
à une valeur de départ et est modifiée dans la boucle jusqu'à arriver à la valeur qui
provoque la sortie de la boucle.
- La syntaxe de l'instruction TANTQUE est la suivante :
<Initialisation de la variable à sa valeur de début>
TANTQUE <Comparaison de la variable à sa valeur de fin>
Traitement à exécuter
<Modification de la variable>
FIN
- Par exemple :
LES PROCEDURES
Une procédure permet d'associer un identificateur à une portion de code afin de la réutiliser.
Elle a son mode de création, on les appeler, leur passe des paramètres et récupérer un
résultat.
Procédure globale : utilisable dans tous les événements et traitements du projet (déclarée
dans une collection de procédures).
Procédure locale à une Fenêtre, Page ou Fenêtre mobile : utilisable dans tous les événements
et traitements dépendant de l'objet dans lequel cette procédure a été déclarée.
- Créer une procédure locale (par exemple via le volet "Explorateur de projet",
déroulez le nom de l'élément, dossier "Procédures locales").
- Donner un nom à la procédure.
L'analyse d'un projet WINDEV, WEBDEV ou WINDEV Mobile correspond au MLD (Modèle
Logique des données). Toute la structure et l'organisation des données sont décrites : les
données sont regroupées par fichier de données. Chaque fichier de données contient
plusieurs rubriques.
Dans l'analyse, il est possible de lier la description d'un fichier de données à un type de fichier
(HFSQL, HFSQL Client/serveur, SQLite, ...).
Une application HFSQL Classic peut être exécutée sur différents postes utilisateurs répartis en
réseau local.
Les fichiers de données sont présents dans un répertoire accessible par les postes utilisateurs
(par exemple, un répertoire partagé sur le réseau). Chaque poste utilisateur accède
physiquement aux fichiers de données.
Les traitements (requête, lecture/ajout dans un fichier de données, ...) sont réalisés sur
chaque poste utilisateur.
Une application HFSQL Client/serveur peut être exécutée sur différents postes utilisateur
(appelés machines clientes) qui communiquent à travers le réseau avec le serveur de base de
données.
Les fichiers de données sont présents sur un poste serveur. Seul le serveur accède
physiquement aux fichiers de données.
L'ensemble des traitements (requête, lecture/ajout dans un fichier de données, ...) est réalisé
sur le serveur.
Champs de données
- D’une base de données : les champs sont directement liés aux rubriques des fichiers de
données ou des requêtes disponibles dans la base de données.
- De variables présentes dans le code de l'application (variables globales à la fenêtre ou au
projet ou paramètres passés à la fenêtre).
Pour afficher ces informations dans une fenêtre, il est nécessaire de lier les champs de cette
fenêtre avec :
- La liaison d'un champ avec une rubrique ou une variable est définie sous l'éditeur de
fenêtres, lors de la description du champ (onglet "Liaison").
La fonction FichierVersEcran permet de mettre à jour les données affichées à l'écran avec soit
les informations enregistrées dans le fichier de données, soit les informations enregistrées
dans la variable.
Les requêtes
Une requête sert à interroger une base de données pour visualiser, insérer, modifier ou
supprimer des données.
La structure de la requête définit les données manipulées. Une requête peut interroger un ou
plusieurs fichiers de données.
L'éditeur de requêtes permet de créer très simplement des requêtes, sans avoir à
programmer.
Il est par exemple possible de réaliser une synchronisation entre une base de données HFSQL
Classic et une base de données Oracle.
La base de données maître répercute ensuite les modifications vers les autres bases de
données.
L’ARCHITECTURE 3-TIERS
L'architecture 3-tiers (le terme "tier" vient de l'anglais et signifie "niveau") est un modèle
d'architecture d'application.
Son principe de base consiste à séparer trois couches logicielles contenues dans une
application :
Cette séparation a pour but de rendre indépendante chacune des couches afin de faciliter la
maintenance et les évolutions futures de l'application.
Elle assure une sécurité plus importante car l'accès à la base de données n'est autorisé que
par la couche de traitements.
RAD/RID
•des gabarits.
En génération RAD, les fenêtres générées contiennent tout le code nécessaire à leur
fonctionnement. Ces fenêtres peuvent être testées immédiatement, avec les données
présentes sur le poste de développement.
En génération RID, les fenêtres générées contiennent uniquement les champs liés aux
rubriques de l'analyse. Tout le code nécessaire au fonctionnement de ces fenêtres reste à la
charge du développeur. Seul le code nécessaire au fonctionnement des éléments annexes du
pattern est ajouté. Vous pouvez directement saisir votre code personnalisé.
LE MODUL UML
Diagramme de déploiement : montre la répartition des matériels (les nœuds) utilisés dans un
système et l'association des programmes exécutables à ces matériels.
GROUPWARE UTILISATEUR
Le Groupware Utilisateur d'inclut une gestion des utilisateurs et de leurs droits dans une
application WINDEV. Deux types d'utilisateurs sont pris en compte :
• Utilisateur simple, utilisant directement l'application.
APPLICATION MULTILINGE
Une application multilingue est diffusée dans plusieurs langues. WINDEV prend en compte les
différentes langues de l'application à toutes les étapes du développement d'une application.
Pour développer une application multilingue, les principales étapes sont les suivantes :
ETATS ET REGUETES
Le logiciel "Etats et Requêtes" sont librement redistribuable avec les applications. Les états
choisis sont personnalisables. Les utilisateurs pourront personnaliser les états proposez dans
le logiciel.