PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WEBDEV 26 !
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
WEBDEV 26 : Profitez des 170 nouveautés communes de la version 26

WEBDEV 26 bénéficie de la majorité des 170 nouveautés communes de la version 26.
WEBDEV 26 bénéficie en particulier des nouveaux Champs Métier, de la programmation HTML, du nouvel environnement, du nouveau champ Carte, des feuilles de styles simplifiées, des requêtes HFSQL asynchrones...
Et en plus de toutes ces nouveautés, WEBDEV 26 bénéficie de nouveautés spécifiques au Web à découvrir dans les pages qui suivent.
4 Champs Métier pour WEBDEV
4 nouveaux Champs Métier sont disponibles en version 26 pour WEBDEV :
  • Aide à la création d'un mot de passe
  • Captcha Google
  • Saisie de code Pin de type banque
  • Bouton menu contextuel.
Nouveau Champ Métier : aide à la saisie d'un mot de passe
Le champ Métier "Aide à la création d'un mot de passe" affiche les règles que le mot de passe doit respecter, et signale les règles qui ne sont pas respectées.

Nouveau Champ Métier : Captcha Google
Le Champ Métier "Captcha Google" permet d'insérer sans effort un captcha Google.
Le captcha a pour but d'éviter l'utilisation d'un site par un robot de pirates : déni de service, attaque pour Brut-Force, ou simplement aspiration des données...


Nouveau Champ Métier : Bouton Menu Contextuel
Le Champ Métier "Bouton Menu Contextuel" (trois points alignés verticalement) offre un menu contextuel prêt à l'emploi. Le clic sur le bouton déroule un menu présent dans une Popup.


Nouveau Champ Métier : Saisie de code PIN
Le Champ Métier "Saisie de PIN" est disponible sous WEBDEV.
L'affichage aléatoire des chiffres est automatique.

Un Editeur d'images dans vos sites
Le nouveau champ Editeur d'Images vous permet de proposer aux visiteurs de vos sites de créer, retoucher et modifier des images ou des photos.
Le champ est conçu pour être également utilisable sur téléphone; les barres d’icônes et les modes opératoires sont prévus pour !
Champ Editeur d'images : les fonctionnalités que vos utilisateurs attendent
Les fonctionnalités du nouveau champ Editeur d'images sont adaptées aux besoins du Web :
  • cadrage
  • redimensionnement
  • rotation
  • contraste/luminosité
  • ajout de texte
  • trait, flèche
  • pinceau
  • formes de base : cercle, rectangle...
  • ...
L'internaute peut coller une image dans le champ ou sélectionner un fichier sur le disque.
Il pourra ensuite sauver les modifications effectuées.
Champ Barre de navigation : disponible également en mode standard (zoning)
Dans les anciennes versions de WEBDEV, la Barre de Navigation était proposée uniquement en mode Responsive (RWD).
En version 26, la Barre de Navigation est maintenant disponible en mode standard (Zoning) et donc également disponible dans les Agencements. En mode Agencement, il est possible de définir un mode d'affichage de la barre (dépliée ou repliée) pour chaque agencement.

Champ Libellé : ellipse automatique
Le champ Libellé en WEBDEV 26 bénéficie du concept d'ellipse : si le libellé est plus long que le champ, il est tronqué et 3 points "suite" apparaissent en fin de libellé visible.
Champ Interrupteur : style CSS

Les champs Interrupteur acceptent maintenant les styles CSS.
Leur look est encore plus riche.
Champ Disposition : hauteur minimum par cellule
Rappel : le champ Disposition adapte en temps réel la présentation de la page, en supprimant automatiquement les éventuels "trous" créés par une suppression dynamique de champ.
La taille d'une cellule d'un champ Disposition dépend de son contenu. Avec un contenu réduit, une cellule pouvait avoir une taille graphiquement trop petite.
Le champ Disposition permet maintenant de définir une hauteur minimum de cellule : cela est utile pour des présentations aérées.
Champ Image : format WEBP supporté
Le champ Image supporte déjà les formats standards : JPG, GIF, PCD, PCX, PNG, PSD, TGA, TIF, BMP, EMF, WMF, ICO, ICW, CUR, PDF, SVG, WDPIC...
En version 26, le format WEBP, utilisé principalement en Web, est également supporté.
Champ cellule : procédure locale à la cellule
Le champ Cellule peut maintenant contenir des procédures locales (Serveur ou Navigateur).
La portée de ces procédures est limitée à la cellule.
Cela permet de mieux encapsuler les traitements qui concernent cette cellule, plutôt que de les définir au niveau de la page.
Voir également les variables glocales et procédures glocales.
Saisie de taille de police plus conviviale
Petite nouveauté mais dont on ne peut plus se passer : il devient possible de saisir une taille et son unité dans le même champ.
Plus besoin de saisir la taille, de changer de champ puis de saisir l'unité.
Choix des ambiances plus visuelles
En version 26, la vignette de présentation des ambiances à sélectionner est plus représentative de l'utilisation réelle avec les champs.
Vous avez une idée plus précise du résultat de l'ambiance que vous choisissez.


Paramétrage de page sur mobile : nouvelle UI conviviale
L'UI de paramétrage de page pour mobile a été revue : elle est bien plus intuitive et ça change tout !
Edition de styles : aperçu en temps réel
La modification d'un style de champ dans les "7 onglets" visualise en temps réel les modifications saisies directement dans la page.
Edition de styles CSS : collage possible d'un bloc CSS
Lors de l'édition d'un style CSS, il devient possible de coller un bloc CSS en une seule manipulation :
  • les éléments CSS sont transformés automatiquement en propriétés "7 onglets".
  • pour les éléments dont il n'existe pas de propriété dans les "7 onglets", ces éléments sont également pris en compte et insérés automatiquement dans la partie "saisie personnalisée".
Editeur de pages : 15 autres améliorations
Parmi les autres nouveautés de l'éditeur, vous apprécierez :
  • Option Encadrement : elle affiche également les cadres des zones de zoning. Inutile de jongler entre les volets "Page/Zoning"
  • Bulle de survol des éléments : elle rappelle le champ sélectionné s'il est différent du champ survolé
  • Cadrage des numériques et monétaires plus facile
  • Nouvelles options dans le Menu contextuel d'un champ, pour la visibilité de ce champ par agencement (mode opératoire identique au RWD)
  • Une multisélection contenant des champs de modèles non déplaçables permet quand même le déplacement du reste de la sélection
  • Déploiement d'un site dans le Cloud en 1 clic
  • Si la couleur de fond de la page et la couleur de fond du navigateur sont identiques, le cadre de la page est matérialisé par un filet
  • Editeur : une image présente dans une page est mise à jour automatiquement lorsqu'elle a été éditée par un outil externe
  • Meilleure gestion de l'édition des cellules à positionnement relatif
  • Meilleure gestion des écrans 4K en édition
  • Nombreuses améliorations sur l'édition du champ Disposition dans les agencements
  • Import de Polices : il est possible de référencer les "Google web fonts" sur le serveur d'origine, pour ne pas avoir à les copier dans ses sources et sur ses serveurs
  • RWD : le refactoring en superchamp adapte la taille du superchamp dans toutes les tranches
  • L'éditeur de palettes bénéficie maintenant d'une pipette pour sélectionner les couleurs
  • En version 26, la dissociation de style CSS s'effectue d'un clic, sans quitter l'édition du style.
le HTML renvoyé est lisible !
Le code HTML d'une page WEBDEV est généré automatiquement par WEBDEV.
Dans un but esthétique, la page HTML renvoyée par le serveur d'application de WEBDEV 26 peut maintenant être mise en forme (avec indentation).
2 Nouvelles ambiances
2 nouvelles ambiances sont livrées en version 26 : l'ambiance Jupiter et l'ambiance Suki.
Utilisez librement ces ambiances pour vos sites !
Mode standard (Zoning) : affichage de l'arbre de positionnement
En version 26, il devient possible de visualiser l'arbre de positionnement des champs (d'imbrication des boites) d'une page.
Cet arbre permet de comprendre comment le navigateur va positionner les champs.
Mode standard (Zoning) : le survol d'un champ visualise la boîte virtuelle qui le contient
WEBDEV utilise des boîtes virtuelles pour gérer automatiquement le positionnement de chaque champ ou groupes de
champs. En exécution une boîte virtuelle "pousse" les autres Champs/Boîtes.
La version 26 permet maintenant de visualiser ces boîtes virtuelles sous l'éditeur de WEBDEV et ça éclaircit tout !
Lors de la modification de la taille d'un champ par exemple, vous visualisez les implications que cela peut avoir sur le positionnement des autres champs de la page. Et donc vous comprenez mieux les décalages qui peuvent se produire lors d'un déplacement ou d'un agrandissement de champ d'un seul pixel !
Lorsqu'un positionnement de boîte ne convient pas, il suffit de créer et positionner une cellule et d'y placer les champs voulus.
Exemple de positionnement résolu à l'aide des boîtes
L'exemple illustre un problème qui survient de temps en temps : à l'exécution, un champ ne se place pas à l'endroit attendu. Grâce à la visualisation des boîtes, il devient facile de corriger ce comportement.
L'exemple :

A côté d'un champ extensible en hauteur vous placez 2 boutons (bouton Plus et bouton Poubelle).
Surprise : à l'exécution, le 2ème bouton est renvoyé sous le champ !

Donc grâce à la nouveauté 26, je demande à voir les boîtes de ces champs


En visualisant les boîtes virtuelles, le mauvais comportement est identifié : comme le champ s'est agrandi, la boîte du haut a poussé la boîte du bas, qui contient le bouton "poubelle" !
On crée donc une "cellule" adéquate (en vert) et on y place les 2 boutons à l'intérieur. Cette modification déclenche automatiquement un nouveau calcul des boîtes.


Et ainsi à l'exécution avec la cellule et les nouvelles boîtes, les 2 boutons restent positionnés correctement l'un au dessus de l'autre !

Présentation
Aujourd’hui, les applications et sites Web proposent souvent d’imprimer le contenu de leurs pages.
Mais la présentation de l’impression est en général différente de la page affichée :
  • un fond noir sera supprimé pour ne pas vider les cartouches d’encre, et le texte qui était blanc deviendra noir
  • les bandeaux de publicité ne seront pas imprimés
  • le cadrage sera optimisé pour une présentation agréable dans le format du papier
  • ...
En version 26, WEBDEV permet de réaliser facilement des pages d’impression dérivées d’une page Web.
Le mécanisme des «MediaQueries» supporté par les navigateurs est utilisé par WEBDEV 26 pour réaliser automatiquement le basculement sur la page prévue pour l’impression.
Tout est automatique avec WEBDEV 26.
Nouvel agencement : pour impression
WEBDEV 26 propose une méthode facile pour définir la mise en page : il suffit de créer un nouvel Agencement pour la page.
La page (et son contenu) n'est ainsi pas dupliquée : la maintenance est facilitée, la qualité de vos sites préservée...
En version 26 un nouvel agencement fait son apparition : Agencement pour impression.
Dans cet agencement, il suffit de :
  • masquer les champs inutiles
  • déplacer les champs à positionner
  • changer les couleurs pour les adapter à l'impression.
La présentation de la page initiale n'est bien entendu pas modifiée.
Lorsque la page initiale est modifiée, selon votre choix, les modifications peuvent être automatiquement (ou non) appliquées à l'agencement d'impression.
Il est possible de dissocier ou pas les propriétés souhaitées de chaque champ.
Il n'y a rien à programmer !
Agencement : le mode opératoire évolue
En version 26, WEBDEV en profite pour rendre la création d'agencement encore plus rapide.
Il devient possible de modifier facilement les paramètres d'un ensemble de champs : par exemple, supprimer un fond noir, ou passer la couleur de caractères de blanc à noir.
Gestion riche des feuilles de styles
En version 26, W EBDEV simplifie la création et la gestion des feuilles de styles.
En version 26 une feuille de styles est une entité à part entière, et peut être partagée entre plusieurs projets, en local ou via le GDS.
Chaque feuille de styles porte un nom.
Un projet peut utiliser plusieurs feuilles de styles différentes.
Et une même feuille de styles peut être utilisée par plusieurs projets.
Bien entendu, lorsqu'un style de la feuille de styles évolue, toutes les pages utilisant cette feuille évoluent également automatiquement.
Sélection des styles : un mode opératoire affiné

Dans les 7 onglets, dans la fenêtre de présentation des styles, il devient possible de filtrer les feuilles de styles affichées.
Vous limitez ainsi l'affichage aux styles réellement utilisés.
Le filtre est multi-sélections : vous pouvez sélectionner plusieurs feuilles de styles.
Import automatique des styles et des images d'un Template Wordpress
Lors de l'import des styles d'un Template Wordpress, WEBDEV 26 analyse le contenu du template, extrait et génère les styles utilisés. WEBDEV importe également les images des pages exemples.
L'import crée la feuille de styles correspondant au template, et permet l'import des images utilisées par les exemples fournis avec le template.
Veuillez consulter la licence de chaque Template afin de vérifier que cet import est autorisé.
Il est possible d'importer plusieurs Templates différents dans le même projet : chaque feuille de styles reste cloisonnée.
Une feuille de styles créée
A la validation de l'import, une feuille de styles contenant tous les styles du Template est créée.
Vous utilisez ensuite ces styles pour créer vos pages WEBDEV.
Les styles sont créés pour les champs :
  • titre
  • libellé
  • saisie
  • bouton
  • image
  • menu
  • table
  • zone répétée
  • cellule
  • ...
Une page exemple contenant tous les styles importés est créée : vous visualisez ainsi tous les styles en situation.
Typescript c'est quoi ? javascript en mieux

Le langage TypeScript est de plus en plus utilisé.
Ce sur-ensemble rigoureux de Javascript permet de disposer d'un compilateur, qui détecte des problèmes à la compilation et non pas uniquement à l'exécution comme Javascript.
En version 26, il devient possible de taper (ou coller) du code TypeScript dans ses pages WEBDEV.
Dans tous les traitements où il est déjà possible de saisir du code Javascript, il devient également possible de saisir du code TypeScript, au choix.
Les erreurs de compilation de TypeScript apparaissent dans la liste des erreurs de compilation du projet WEBDEV.
Typescript : exemples d'utilisation
Vous pouvez utiliser le code TypeScript de différentes façons :
  • Copier/coller du code TypeScript
  • Saisir du code TypeScript
Cette ouverture est appréciable.
Zone répétée : gestion de la sélection
La sélection d'une ligne de Zone Répétée est maintenant gérée automatiquement en version 26.
Cette gestion simplifie énormément la programmation et offre des fonctionnalités riches :
  • bandeau au survol
  • bandeau de sélection
  • style définissable pour le bandeau au survol
  • style définissable pour le bandeau de sélection
  • numéro de ligne sélectionnée renvoyé
Le comportement d'UX attendu est maintenant automatique.

Gérez les Websockets
La version 26 du Serveur d'Application WEBDEV inclut maintenant en standard un serveur de Websocket.
Un exemple d'usage de socket
Supposons que vous souhaitiez afficher en temps réel un niveau de stock sur un site.
Vous avez 2 possibilités principales pour programmer cette fonctionnalité :
1 - Mettre en place dans la page un timer qui appelle à intervalle régulier le serveur pour lire la valeur du stock de l'article, et afficher cette valeur si elle a varié.
2 - Utiliser une Websocket : si le stock évolue, et uniquement dans ce cas, alors le serveur envoie la nouvelle valeur à la page.
Dans le premier cas, avec un timer, un grand nombre de requêtes sera effectué sur le serveur, multiplié par le nombre d'internautes utilisant la page, et la plupart du temps pour rien...
Cela peut générer une énorme charge du serveur et une consommation de bande passante inutile.
Dans le second cas, avec les Websockets, il n'y aura de communication que lorsque la valeur du stock a été modifiée : le gain est évident.
La programmation des Websockets
Pour la programmation des Webservices en code serveur, de nouveaux événements de programmation font leur apparition.
  • Connexion d'un nouveau client
  • Réception de données d'un client
  • Déconnexion d'un client.
Un "client" est par exemple une session d'un internaute.
De nouvelles fonctions WLangage font également leur apparition.
Pour écrire au client, il suffit d'utiliser la nouvelle fonction WebSocketEcrit.
Le nouveau type WLangage WebSocketClient contient des informations sur le client connecté : IP, ...
La nouvelle fonction WLangage WebSocketListeClient renvoie un tableau contenant la liste de tous les clients connectés.
Le déclencheur de l'envoi des Websockets peut être un trigger, une modification de données signalée par la fonction hSurveille , une Web-socket à un autre serveur, la présence d'un nouveau fichier sur le disque ou un déclencheur se produisant dans le nouvel évènement de ServiceGlobal qui est exécuté en boucle sur le serveur.
Avec les Websockets, vous limitez la charge des serveurs Web.
Une popup peut être une page indépendante
Une Popup peut maintenant être une page indépendante, facile à réutiliser.
PopupAffiche(MaPage) devient une réalité !
Il n'est plus obligatoire que la Popup soit sauvée dans la page appelante.
PopUP volatile : elle se ferme lors d'un clic en dehors
Pour l'internaute, un mode opératoire courant pour fermer une Popup est de simplement cliquer en dehors de la Popup (ou d'appuyer sur la touche Esc).
En version 26, ce mode opératoire est disponible sans programmation.
Il est proposé soit via les 7 onglets, soit par programmation à l'aide du paramètre popupAnnulable de la fonction PopupAffiche.
Sélection facile dans l'explorateur de projets

Une nouvelle "entrée" de liste fait son apparition dans l'explorateur de projets : les Popups.
Il devient facile de retrouver et sélectionner ses Popups.
Création rapide de Popup
La création de Popup peut s'effectuer rapidement à travers le menu déroulant listant les Popups de la page.
Popup divers
  • La fonction WLangage PopupFerme est disponible également en code serveur. Cela simplifie le code.
  • En édition les Popups bénéficient maintenant d'un bouton de fermeture indépendant de la page; cela permet par exemple d'ouvrir plusieurs Popups en parallèle.
La Webisation toujours plus facile
La transformation de vos applications (ou de parties d’applications) WINDEV existantes en sites Web est de plus en plus facile.
Le nouvel environnement avec édition splittée permet d’éditer en même temps une fenêtre et une page, ce qui facilite les manipulations.
L’assistant de migration évolue pour apporter une aide encore plus précieuse lors du passage au Web.
Dissociation de la taille et de la position de champ
En mode Responsive, il est possible de dissocier rapidement la taille et la position d'un champ depuis la tranche principale à l'aide du menu contextuel.
Il n'est plus nécessaire de répéter cette opération dans chaque tranche concernée.
Graphe en WEBDEV : nouvelle échelle temporelle automatique
En version 26, les graphes proposés par WEBDEV proposent une échelle de type "temporelle" pour les heures.
Les données sont positionnées en fonction de l'échelle de temps.
Tout est géré automatiquement.
Relooking extrême
Le site SaaS est modernisé pour répondre aux canons actuels de la mode Web !

SPA : programmation facilitée
Les évolutions de la version 26 permettent de développer plus facilement des applications de technologie SPA ("une application dans une page") :
  • nouveauté sur les Popups
  • synchronisation des variables globales lors des appels Ajax
  • sélection dans les zones répétées
  • serveur de Websockets
  • affichage en parallèle des différents plans d'une cellule /page
  • ...
Epingler dans Pinterest
Une image peut être définie comme "épinglable" dans Pinterest.
Un bouton contenant le code nécessaire est livré en version 26.
Nouveau traitement de "changement de taille de la page" en code navigateur
L'événement "Changement de taille de la page" permet d'effectuer un traitement en code Navigateur lorsque l'internaute redimensionne le navigateur.
Cela permet par exemple :
  • de modifier des tailles de police,
  • de modifier des champs par programmation
  • de changer d'image ou de taille d'image
  • ...
Fonction WLangage SélectCouleur en navigateur
La fonction SélectCouleur est disponible en code Navigateur.
Nouveau type Buffer en navigateur
Le type Buffer est disponible en code Navigateur.
Ce type permet l'exploitation des données binaires.
20 nouvelles fonctions WLangage navigateur
BufferVersHexaCarteAffichePopupCarteAfficheZone
CarteAjouteFormeCarteAjouteImageCarteChangeStyle
CarteFermePopupCarteLimiteZoneCarteModifieForme
CarteModifieImageCartePopupAffichéeCarteRécupèreStyle
CarteSupprimeFormeCarteSupprimeImageDateHeureVersChaîne
EnModeServeurWebSocketEnModeServeurWebSocketServiceGlobalgéoRécupèreZone
HexaVersBufferSelectCouleur
Suppression de cookie par programmation
La nouvelle fonction WLangage CookieSupprime permet de supprimer un cookie !
Notez que cette fonction est disponible à la fois en code Serveur et en code Navigateur.
Code serveur : 55 nouvelles fonctions
Le WLangage s’enrichit de 55 nouvelles fonctions en code Serveur :
AppelAJAXEnCoursBufferVersPhraseCarteAjouteForme
CarteAjouteImageCarteModifieFormeCarteModifieImage
CarteSupprimeFormeCarteSupprimeImageCookieSupprime
DateHeureVersChaîneDernierJourDeLAnnéeDoubleAuthGénèreCléTOTP
DoubleAuthGénèreLienDoubleAuthVérifieCodeEnModeServeurWebSocket
EnModeServeurWebSocketServiceGlobalErreurRAZfInsèreTexteAuDébut
GénèreLoremgéoRécupèreZonegpwURLPage
HJSONVersEnregistrementHSuggèreCléHSuggèreCléDébut
HSuggèreCléFinHTMLChercheElémentParIDHTMLChercheElémentParNom
HTMLConstruitChaîneHTMLOuvreHTMLSauve
HTransactionEnCoursHTriggerEnregistrementAvantOCRChargeLangue
OCRDétecteZoneTexteOCRExtraitBlocTexteOCRExtraitTexte
OCRParamètreOCRRépertoireModèleOCRSupprimeToutesLangues
PDFExtraitPagePhraseVersBufferRegistreCopieClé
RegistreListeCléRegistreRenommesListePort
TableauDistinctTableauIntersectionTableauUnion
TableauUnionToutWebSocketDéconnecteWebSocketEnvoie
WebSocketExécuteWebSocketListeClientzipExtraitRépertoire
zipFiltre
Utilisation via pages HTML : mappez votre page AWP avec votre page tierce
Les Frameworks
  • Bootstrap
  • Angular
  • React
  • Vue.JS
  • ...
sont également largement utilisés pour créer des pages.
En version 26, il est facile d’utiliser des pages créées avec un de ces frameworks dans un site WEBDEV.
Il devient ainsi possible de bénéficier à la fois de la puissance du serveur d’application WEBDEV et d’une expérience existante avec ces frameworks.
Le dialogue entre le code WLangage et le code utilisant ces frameworks s’effectue par appel de procédure.
Dans la page AWP, il est possible d’utiliser des procédures Navigateur et Serveur. Depuis le code JS de la page HTML utilisant le framework tiers, il est possible d’appeler ces procédures WLangage.
La puissance du WLangage sur le Serveur d’Application est ainsi disponible de manière universelle.
Votre existant est réutilisable.
Un mode opératoire simple
Le mode opératoire est simple :
  • Créer une page de type AWP sans interface; dans cette page, écrire le code WLangage: des procédures Navigateur et des procédures Serveur.
  • Dans la page HTML réalisée avec l’outil tiers (Bootstrap,...) intégrer une balise de type
    <script src = page.awp >
  • Dans le code JS de cette page tiers, appeler les procédures écrites en WLangage.
Variables synchronisées Ajax
Les variables synchronisées automatiquement entre Serveur et Navigateur sont gérées lors des appels Ajax.
AWP
AWP et appel Ajax : initialisation spécifique
En mode AWP, chaque appel Ajax recharge la page sur le serveur et lance l'exécution de l'événement d'initialisation de la page (Déclarations des variables globales et Init de page).
En version 26, il devient possible de savoir qu'il ne s'agit pas du premier chargement de la page, et donc de ne pas ré-exécuter certaines initialisations.
La fonction se nomme AppelAjaxEnCours.
SI AppelAJAXEnCours() ALORS
    //Appel Ajax, ce n’est pas le 1er chargement de la page
    //=> ici on ne fait rien
SINON
    //C’est bien le 1er chargement de la page
    //=> on remplit les graphes affichés dans la page
RemplitGraphes()
FIN


Affectation de variAble JSON : vitesse multipliée par 2
La vitesse d'affectation de contenu dans des variables JSON a été multipliée par un facteur 2.
Dans certains cas, cette vitesse est même 5 fois plus élevée !
Des nouveautés puissantes
Les fonctions de la famille OCR et Websocket sont disponibles sous WEBDEV Linux. Ces fonctions puissantes sont particulièrement utiles.
51 nouvelles fonctions WLangage sous Linux
51 nouvelles fonctions sont disponibles sous Linux :
AppelAJAXEnCoursBufferVersPhraseCarteAjouteForme
CarteAjouteImageCarteModifieFormeCarteModifieImage
CarteSupprimeFormeCarteSupprimeImageCookieSupprime
DateHeureVersChaîneDoubleAuthVérifieCodeDernierJourDeLAnnée
DoubleAuthGénèreCléTOTPDoubleAuthGénèreLienEnModeServeurWebSocket
EnModeServeurWebSocketServiceGlobalErreurRAZfInsèreTexteAuDébut
GénèreLoremgéoRécupèreZonegpwURLPage
HJSONVersEnregistrementHSuggèreCléHSuggèreCléDébut
HSuggèreCléFinHTMLChercheElémentParIDHTMLChercheElémentParNom
HTMLConstruitChaîneHTMLOuvreHTMLSauve
HTransactionEnCoursHTriggerEnregistrementAvantOCRChargeLangue
OCRDétecteZoneTexteOCRExtraitBlocTexteOCRExtraitTexte
OCRParamètreOCRRépertoireModèleOCRSupprimeToutesLangues
PhraseVersBuffersListePortTableauDistinct
TableauIntersectionTableauUnionTableauUnionTout
WebSocketDéconnecteWebSocketEnvoieWebSocketExécute
WebSocketListeClientzipExtraitRépertoirezipFiltre
PHP
Nouvelle syntaxe en PHP
La syntaxe WLangage Pour Toute Chaine avec position et compteur est maintenant supportée en PHP.
Sérialisation JSON en PHP
La sérialisation JSON est disponible en PHP.
5 Nouvelles fonctions WLangage pour PHP
5 nouvelles fonctions sont disponibles en PHP :
AppelAJAXEnCoursDécodeEncode
EnModeServeurWebSocketEnModeServeurWebSocketServiceGlobal
Gestion des comptes et administration du serveur : regroupés dans un seul outil
En version 26 il n'y a plus qu'un seul outil d'administration du serveur : le Centre de Contrôle d'hébergement et l'outil WDCompte sont fusionnés dans le Centre de Contrôle d'hébergement.
Les manipulations des comptes deviennent bien plus simples !
La navigation dans l'administrateur est fluidifiée.
Sites du serveur : accès facile
Lors de la saisie de l'adresse d'un serveur d'application WEBDEV, une nouvelle option permet d'afficher l'ensemble des sites disponibles sur le serveur, y compris les sites d'administration.
Cette option est à réserver aux environnements sécurisés.
La méthode historique du chemin complet est toujours disponible, principalement pour des raisons de sécurité.
Installation du serveur d'application : simplification
Le mode d'installation standard avec gestion des comptes est toujours proposé.
Un nouveau mode simplifié d'installation qui ne gère qu'un seul compte est également proposé.
Ce mode simplifié... simplifie l'administration et le déploiement d'un serveur au sein d'une petite structure fermée.
Editeur de webservices rest
En version 26, l'éditeur de Webservices REST bénéficie d'un lifting : UI plus sobre, tri possible des points d'entrée, collection de points d'entrée à partir d'une collection...
Paramètre du Webservice : type JSON automatique
En version 26, les procédures d'un Webservice acceptent directement les variables de type JSON.
Les éléments JSON sont automatiquement extraits du contenu de la requête.
Serveur d'application 2 fois plus rapide : vitesse +100%
En version 26, le serveur d'application utilise la technologie FastCGI et devient en moyenne 2 fois plus rapide que celui en version 25.
Cela dépend bien entendu du code du site, mais le résultat est en général spectaculaire lors d'accès simultanés au serveur.
HeartBeat de session : pour économiser les time-outs lorsque l'internaute a fermé son navigateur
La session de chaque internaute dispose d'un time-out : la session sera automatiquement fermée après une inactivité égale à la durée de ce time-out.
Même si l'internaute a fermé son navigateur, des ressources sont consommées sur le serveur jusqu'à la fin de time-out. Dommage !
La fonctionnalité HeartBeat ("battement de coeur" en anglais) est un traitement automatique sur le navigateur qui envoie régulièrement (toutes les 5 mn par exemple) une information au serveur pour indiquer que le navigateur est ouvert.
Lorsque l'internaute a refermé son navigateur, le serveur ne reçoit plus de HeartBeat et peut donc fermer la session immédiatement, sans attendre le time-out.
Le HeartBeat est en général de 5 mn alors qu'une durée de time-out est souvent exprimée en dizaines de minutes.
Si le time-out est de 60 mn, le serveur économise 55 minutes par navigateur fermé, ce qui est intéressant.
Sécurité : refuser de répondre à des requêtes HTTP ou des triggers de code serveur (fonction prologue)
Rappel : le navigateur envoie des requête s HTTP (ou HTTPS) au serveur pour que le serveur lui renvoie la page, ses images, pour déclencher l'exécution d'un traitement Ajax,...
Dans certains cas, le serveur peut avoir à refuser l'exécution de requêtes HTTP entrantes :
  • performances
  • attaque déni de service
  • sécurité sur requête louche
  • critère de filtrage
  • ...
En version 26, la nouvelle fonction WLangage SessionPrologue permet de spécifier une procédure qui sera appelée à chaque réception de requête HTTP (ou HTTPS).
Cette procédure vérifie la requête HTTP (IP, contenu,...) et décidera ou pas de l'exécuter.
Cette procédure est codée par l'auteur du site.
Serveur d'application de test en 64 bits
Le serveur d'application de test et d'accès à moins de 10 connexions simultanées est maintenant livré également en 64 bits.
Image Docker de site : meilleure configuration
Dans l'image Docker générée, la racine du site Web pointe vers le site inclus dans l'image (répertoire _web ).
En tapant simplement l'adresse (IP ou nom DNS) de l'image docker déployée, l'internaute accède directement au site.
Inutile de taper l'adresse complète du site sur le serveur.
Vitesse de déploiement multipliée par 3
La vitesse de déploiement des sites de taille importante a été optimisée, et multipliée par un facteur 3.
Automatisation des déploiements
En version 26, les déploiements de sites peuvent être effectués par une nouvelle action de l'Intégration Continue : l'action "Déploiement de site".
Et de nombreuses autres nouveautés
Cette version 26 propose également de nombreuses autres nouveautés, que nous vous laissons découvrir lorsque vous aurez commandé et reçu votre package...
Légende
Version minimum requise
  • Version 26
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire