Veille WinDev - Portfolio Guiffan Florestan

publicité
Guiffan Florestan
Veille BTS SIO
Février 2016
Sommaire
I. Introduction
p2
II. Présentation
p2
III. Les bases de données
p3
IV. Screenshots
p4
Sources
1
I.
Introduction :
WinDev est un atelier de génie logiciel (AGL) édité par la société française PC SOFT et conçu pour
développer des applications, principalement orientées données pour Windows 8, 7, Vista, XP, 2008,
2003, 2000, mais également pour Linux, .Net et Java. Il propose son propre langage, appelé le
WLangage. La première version de l'AGL est sortie en 1993. Apparenté à WebDev et WinDev Mobile.
II.
Présentation :
Développeur : PC SOFT
Dernière version : 21
Environnement : Windows, Linux, .NET et Java
Langue : Français, anglais, chinois
Langage : WLangage
Type : atelier de génie logiciel (AGL)
License: Propriétaire
Site web: http://www.pcsoft.fr/windev
WinDev utilise son propre « langage de programmation », le WLangage (abusivement désigné comme
langage de cinquième génération), ressemblant beaucoup à du pseudo-langage. Il est possible d’écrire
le code en anglais mais aussi en français. Ce langage et EDI permettent de développer beaucoup plus
vite qu’avec d’autres EDI.
L'éditeur d'interface graphique permet de créer des IHM (interfaces homme-machines) par glisserdéplacer. Il permet également de choisir un modèle de charte graphique parmi un ensemble proposé
et d'en créer de nouveaux.
À partir de la version 19 les champs peuvent être créés par pure programmation.
Bien que prévu initialement pour Windows, WinDev supporte aussi GNU/Linux pour les applications
avec et sans interface graphique, mais aussi Mac OS X. Il peut également s'appuyer sur le Framework
Java pour une partie de ses fonctionnalités, ce qui permet une relative indépendance du fichier
exécutable par rapport au système d'exploitation cible.
Ses frères WebDev et WinDev Mobile permettent d'utiliser le même langage de programmation
(WLangage), et les mêmes concepts (analyse, fenêtre, états, composants, classes…), pour la génération
de sites Web et d'applications pour PocketPC, terminaux industriels (Windows CE), smartphones et
tablettes (iOS, Android et Windows RT).
WinDev utilise des formats de fichier propriétaire sous forme binaire. Ce qui implique l'utilisation
exclusive du gestionnaire de source maison (GDS) ainsi que le moteur de recherche de l'EDI. Le code
ne peut pas être édité via un logiciel classique tel que le bloc-notes et surtout ne peut être mis sous
contrôle de version dans un système standard tel que Subversion, Git ou Mercurial, par exemple. En
fait, le développeur WinDev est totalement lié à l’environnement de développement vendu par
l'éditeur.
La programmation orientée objet est possible, quoique moins puissante que dans la plupart des
langages tels que C++ ou Java (pas de templates, par exemple).
2
III. Les bases de données
WinDev gère de nombreux systèmes de gestion de base de données, que ce soit par l'intermédiaire
des protocoles ODBC ou OLE DB ou par accès natif.
Il existe un accès natif gratuit pour MySQL, pour PostgreSQL (depuis la version 14) et pour SQLite
(depuis la version 16). D'autres modules payants permettant l'accès natif à Oracle, SQL Server, Sybase,
AS/400, DB2, Informix et Progress_4GL.
Il existe par ailleurs des accès natifs libres et gratuits comme MySQL4WD et PostgreSQL4WD de
Rodolphe Jouannet qui offrent un accès natif à MySQL et PostgreSQL. Le module libre et gratuit
SQLManagerX de Frederic Emprin permet d'écrire un seul code unifié pour gérer les différents
systèmes de gestion de base de données. Par l'ajout d'autres modules, SQLManagerX offre un accès
natif à un grand nombre de bases de données1.
WinDev comporte aussi son propre système de gestion de base de données appelé HyperFileSQL
(HFSQL) (anciennement nommé HyperFile). La base de données est appelée « analyse ». Il existe en
version locale, client/serveur sous Windows, Linux et mobile. Les versions sont compatibles entre elles.
3
IV. Screenshots
Interface de Windev 16 :
Exemple de projet réalisé avec Windev 16 : application tablette ARGOS
4
Création d’un nouveau projet :
Exemple d’analyse :
5
Exemple de code :
Procédure globale RechercheAlerte
// Résumé : rechercher si une alerte passée en paramètre existe.
// si oui, elle est mise à jour ou supprimée selon le nouveau niveau, sinon elle est
ajoutée dans le tableau de sa catégorie
PROCEDURE RechercheAlerte(Donnees, TabAlerte)
// variable de recherche
IndiceElement est un entier = 1
Trouver est un booléen = Faux
IdCas est un entier
// on regarde s'il s'agit d'une alerte service ou host
SI Position(gsSujetMail,"HOST ALERT",1,SansCasse+DepuisDébut) <> 0 ALORS
IdCas = 1
SINON
IdCas = 2
FIN
SI TabAlerte..Occurrence > 0 ALORS
// parcours du tableau pour vérifier si l'alerte existe déjà ou non
TANTQUE IndiceElement <= TabAlerte..Occurrence ET Trouver = Faux
// dans les deux cas il faut vérifier le nom de la machine
SI TabAlerte[IndiceElement]:NomMachine ~= Donnees:NomMachine ALORS
//info("machine ok")
SELON IdCas
CAS 1 : // cas alerte host
SI TabAlerte[IndiceElement]:Address ~= Donnees:Address ALORS
trouver = Vrai
FIN
CAS 2 : // cas alerte service
SI TabAlerte[IndiceElement]:Service ~= Donnees:Service ALORS
Trouver = Vrai
FIN
FIN
FIN
IndiceElement++
//info("fin de boucle")
FIN
FIN
SI Trouver = Vrai ALORS
// indice-1 car l'indice est incrémenter à la fin de la boucle juste avant d'en sortir
SI Donnees:DateHeure > TabAlerte[IndiceElement-1]:DateHeure ALORS
TabAlerte[IndiceElement-1]:Niveau = Donnees:Niveau
TabAlerte[IndiceElement-1]:ValeurNiveau = Donnees:ValeurNiveau
TabAlerte[IndiceElement-1]:Commentaire = Donnees:Commentaire
TabAlerte[IndiceElement-1]:State = Donnees:State
TabAlerte[IndiceElement-1]:DateHeure = Donnees:DateHeure
SINON
// si l'alerte est plus ancienne -> aucun traitement n'est à faire
FIN
SINON
// alerte non trouvée donc ajout dans le tableau
Trouver = Faux
TableauAjouteLigne(TabAlerte, Donnees)
// test :
//Info("Alerte ajoutée.")
FIN
6
Sources :
https://fr.wikipedia.org/wiki/WinDev
https://www.google.fr/imghp
www.guiffan-florestan.fr
www.pcsoft.fr
7
Téléchargement