WinDev AGL - Actualités WinDev

22, voila du nouveau...

PC SOFT® a annoncé la version 22 des AGL WinDev WebDev et WinDev Mobile.

Découvrez les 922 nouveautés dans la brochure.

Voici un résumé de notre lecture... volontairement limité aux nouveautés communes aux trois éditeurs.

La principale innovation:
Nouveau champ : Traitement de texte TT

Après le tableur, voici désormais intégré à vos applications le traitement de texte.
Fini le besoin de sortir de l'application pour consulter un document DOCX.

En natif donc :

  • Mise en forme du texte
  • Correction ortographique
  • Export HTML, PDF, liaison avec les états

Et surtout:

  • Programmation du document via les types avancés document, paragraphe et fragment
  • De nouvelles fonctions dédiées Doc* : DocRecherche, DocVersPDF


Les autres améliorations utiles :
Champs Tables : De nombreuses personnalisations

Les champs tables continuent leurs améliorations pour en faire des conteneurs toujours plus adaptables et une expérience utilisateur plus riche.

On appréciera la personnalisation des jauges, la coche de toutes les lignes, l'ajout de fenêtre interne aux lignes (Widget).

Côté programmation, les calculs sur les lignes sont personnalisables

Optimisations :

Parallélisation du chargement des mémos qui accélère le chargement des table.

Le positionnement tient compte de la partie visible / invisible du contenu.

Autre :

La prise de focus est maintenant pilotable par programmation : TableDonneFocus.

Trois nouveaux évènements sont ajoutés : l'initialisation, l'enroulé et de déroulé de rupture.

Les colonnes peuvent être masquées en impression par la propriété ..VisibleEnImpression.


Champs Planning et Agenda : la fin des temps fixes

Planning amélioré

La nouvelle granularité d'affichage est maintenant personnalisable, tout comme les plages d'heures ouvrables.

L'affichage des plages a été revu pour plus de cohérence. il devient possible d'ordonner les chevauchements.

Le nouvel évènement DéplacementRessource permet de piloter (interdire) ce dernier à volonté.

Les fonctions PlanningPlageSélectionnée et AgendaPlageSélectionnée permettent de réagir à une sélection utilisateur.




Les champs

Champs améliorés

Les marges internes deviennent disponible pour tous les champs.

Le champs tableur réagit aux modifications de cellules par un nouvel évènement. On peut y supprimer des lignes ou des colonnes par fonction.

Le diagramme de GANTT s'affiche jusqu'à l'heure.

Les identifiants de champs (hwnd) sont disponibles. Ils rendent compatibles vos projets avec la lecture d'interface pour les non-voyants (Jaws). Ils facilitent aussi l'interaction avec des processus tiers.

La programmation des notes personnalisables est complétée.

La gestion et l'affichage des icônes a été améliorée.


Les graphes en séries illimitées

Graphs améliorés

En plus de l'ajout des courbes de tendance, les séries des graphes peuvent être de type différents pour des graphes composites.

Les positions des axes sont modifiables et peuvent être calées sur des valeurs différentes de zéro.






Editeurs

Editeur amélioré

La prodondeur des champs superposés est maintenant matérialisée en IHM (Shift+Clic).

Le modifieur a été revu ainsi que la séléction multiple pour apporter des modifications.

La présentation du positionnement et des tailles des chammps est disponible en survol avec action directe.

La présentation des références croisées (Maj+F2) a été clarifiée.

La création d'un élément de projet l'enregiste immédiatement. La complétion est alors immédiate.

... Beaucoup de 'raccourcis' qui améliorent la productivité.


Un éditeur d'image intégré

Editeur d'images

Voici un manque historique dans la boite à outils de l'AGL comblé !

Si l'ALG est connu pour être un outil particulièrement efficace pour construire des interfaces homme-machine, la création des images nécessaires à cette dernière faisait cruellement défaut.

Certe les développeurs ne sont pas des graphistes et réciproquement, mais transformer une image pour l'exploiter dans un projet etait un besoin réel.

C'est la raison de l'orientation "développeur" de l'éditeur d'image qui comporte tout le nécessaire de base : recadrage, redimensionnement, gestion de calques, gestion du '5 images' et des formats standards.


Editeur d'état

Editeur amélioré

Comme pour les tables, il est maintenant possible de créer un état sur une zone répétée.

La couleur devient disponible via le masque d'affichage.

Les champs libéllés ont été simplifiés par un regroupent les champs "rubrique", "RTF" et "HTML". Le HTML gère maintenent les remplacements par les valeurs des balises crochet et %.





WinDev Mobile depuis WinDev

WinDev dans WinDev Mobile

Non, les deux licences sont encore nécessaires. Toutefois, en pratique il devient possible de tester (GO F9) depuis l'éditeur WinDev, l'environnement WinDev Mobile d'un projet. La compilation passe en multi-configuration et a lieu à chaque retour à la ligne et enregistement du code... pour une détection des incompatibilités encore plus tôt.

Note : les fenêtres communes ainsi que tout autre élement de projet sont maintenant partageables entre les deux environnements. Fini la duplication selon l'environnement.


Editeur de requête

Les noms réservés pour les tables sont pris en compte dans l'éditeur de requête qui les entoure automatiquement de 'quotes'.

Présentation visuelle des expressions dans les jointures et aggrégations (GROUP BY).


Travail collaboratif (GSD) : au Drive et en branches.

Il est maintenant facile (3 clics) de déporter un projet dans un compte GDS Drive (100 Go et 2€ par mois) pour des équipes dispersées.

Mais surtout, la présentation de la gestion des branches du GDS est maintenant visuelle et le report entre les branches peut s'effectuer très simplement.

La gestion des branches a été revue en profondeur : une branche peut devenir le tronc, leur création peut être effectuée à postériori, on peut supprimer les branches mortes...


WLangage

Le protocole OAuth2 est désormais supporté. La connexion automatique aux réseaux et services sociaux se simplifie et devient automatique dans les projets.

Un ensemble de fonctions permet de gérer simplement un retour arrière (ou une répétition) des saisies dans une fenêtre : FenEd*.

On notera pas mal de nouveautés sur les tableaux :

Les tableaux peuvent affecter un ensemble de variables (affectation tuple)

Il est possible de décrire des tableaux statiques et de les passer en paramètres à une procédure ou les parcourir en POUR TOUT.

Les fonctions du WLangage qui attendent des tableaux peuvent accepter des tableaux dynamiques (HLitRecherche...)

Ajout des recherches et tris de tableaux d'enregistrements

Les ChaîneConstruit peuvent être remplacées par l'utilisation des remplacements de variables dans les chaînes par les crochets et %

ChaîneDécoupe permet de découper une chaîne selon un séparateur pour en récupérer les morceaux.

L'encodage Base64 Base64URL et Base85 sont disponibles pour tranformer un buffer (chaîne, image...) en chaîne.

Les tableaux associatifs sont maintenant supportés en JSON

PDFSigne permet de signer un PDF généré.

Source de données membres des classes : un nom interne différent est généré pour éviter les conflits

Poo : Ajout d'une nouvelle syntaxe d'appel des constructeurs. Un constructeur peut avoir plusieurs syntaxes. La description d'un singleton est simplifiée.


Editeur de tests automatiques

Amélioration éditeur de codes sources

L'automatisation des tests était une tâche difficile à réaliser. Les résultats étant souvent loin du besoin.

L'outil accompagnant l'AGL pour mener les tests a donc été refondu en présentation et puissance. Les tests sont maintenant générés en WLangage. Les résultats affichent les erreurs de compilation et sont historisés, copie d'écran à la clé.

Autre amélioration importante : la portion de code exécutée par un test est maintenant mesurée (code coverage) et peut être présentée visuellement.


Editeur de code

Il devient possible de déplacer des procédure et méthodes dans l'éditeur de code. L'ordre n'est plus obligatoirement celui de la création.

La création de procédure peut être effectuée au fil de la saisie, fini le passage obligé par l'exploreur de projet.

La personnalisation de la présentation du code est facilitée et mémorisée (fichier .sco) : fond noir, polices propotionnelles...

Ctrl+Alt+flèche Haut / Bas permet de sélectionner un bloc de code.

Ctrl+F2 affiche tous les codes de l'élément en cours (fenêtre, page...)

L'assistant de saise des expressions régulières est visuel et mémorise les expressions.

L'exploreur peut suivre le code. Fini la resélection quand on passe d'une classe à une procédure globale/locale... MERCI !!!


Débogueur

L'exécution pas à pas affiche les warnings de l'audit dynamique.

Les JSON et XML sont affichés formatés.

Les points d'arrêt des modèles sont répercutés dans tous les dérivés.


Audit

L'audit statique peut être personnalisé : Utile sur cibler l'audit.

L'audit dynamique signale les traitements dans les processus (threads). Fini les mise à jour d'IHM depuis les processus.

Editeur d'intallation

La taille des installation a été réduite de 10 Mo environ.

L'installation permet aussi d'installer les polices.

Il devient possible de réaliser des installations MSI certifiées par le SCCM de Microsoft.

L'installation réseau 'LiveUpdate' de référence (serveur d'installation) peut être mise à jour sans contraintes


HFSQL

Les triggers couvrent maintenant aussi la modification des fichiers de données. En parallèle, la modification automatique des fichiers permet d'établir et présenter un diagnostic avant de procéder aux modifications.

hDupliqueBaseDeDonnées permet de dupliquer une base par programmation.

Il devient possible de forcer une clé de parcours d'une requête.

En production, le serveur HFSQL analyse l'exécution des requêtes et indique les améliorations à apporter à la base.

Les GROUP BY acceptent les paramètres.

Les ORDER BY acceptent les rubriques qui ne sont pas dans le SELECT.

5 nouveaux ordres : SYSTEM_USER, USER_NAME(), CURRENT_TIMESTAMP(), GETDATE() et GETUTCDATE()

Le tableau de bord du serveur HFSQL a été remanié

L'installation d'un serveur HFSQL sous linux est facilitée via un script utilisant une image Docker ou Apt-Get.

Conclusion

Sans entrer dans les nouveautés spécificiques à WinDev, WebDev ou WinDev mobile, cet ensemble d'améliorations nous a convaincu pour les éléments suivants :

L'intégration de l'éditeur d'image complète un manque jugé sérieux jusque là.

L'intégration native du traitement de texte. Après le tableur, c'est assurément un gain fonctionnel important que de présenter / modifier un document sans avoir à quitter l'application. Pour la 23 nous commandons l'outil de création de présentations ou le client de messagerie ?

Le planning et agenda qui permettent de piloter les plages horaire de nos clients et non plus celles généralement pratiquées, associés à des correctifs utiles dans la présentation / programmation vont grandement faciliter l'usage de ces champs.

Les améliorations en profondeur d'outils utiles mais parfois difficilement exploitables comme la gestion des branches du GDS ou l'automatisation des tests. Assurément un progrés pour une mise en pratique facilitée au sein des équipes de développements.

Les audits encore plus précis.

Le serveur HFSQL qui s'étoffe et analyse les requêtes et propose leurs améliorations. En effet, il est parfois difficile de prévoir le comportement sans un jeux de données importants.

Et pour finir, l'exploreur qui suit le code... voilà un grand nombre de clic d'économisés quotidiennement.

 En discuter...