L'environnement de développement de vos outils intègre maintenant une IA conversationnelle, un compagnon : posez vos questions, et l'IA vous répond.
L'environnement peut également effectuer les tâches que vous lui demandez sur votre projet : «Génère une requête qui sélectionne les clients d'un département», «Crée un fichier de données pour stocker des commandes», «Passe toutes les variables en majuscules»,...
L'IA conversationnelle pilote votre environnement :
Toutes ces demandes sont effectuées en langage naturel.
Vos conversations sont conservées et sauvegardées par projet. Même si vous refermez l'environnement, toutes vos conversations sont conservées.
Vos conversations sont personnelles et conservées sur votre poste. Vous pouvez ainsi revenir sur un sujet plus tard.
Le champ «Tableau Croisé Dynamique» affiche dynamiquement des données qui proviennent du recoupement de différents fichiers d'une base de données.
Par exemple : le volume des ventes en fonction des familles de produits, des produits, des régions, au cours du temps, avec ou sans détail.
Le Tableau Croisé dynamique effectue lui-même tous les calculs. Tout est calculé et affiché dynamiquement.
Note ce champ tableau croisé dynamique est également appelé cube «rOlap».
La définition d'un champ Tableau Croisé Dynamique est très simple avec WEBDEV 2026 : il suffit de répondre aux questions d'un assistant pour définir les données à afficher.
Le remplissage du TCD est très simple : il n'y a rien à programmer, tout est automatique !
Le moteur rOlap de WEBDEV 2026 effectue automatiquement les parcours et les calculs nécessaires pour tous les niveaux de détail possibles. Il remplit automatiquement les en-têtes de lignes et de colonnes.
L'utilisateur final choisit le niveau de détail des données affichées : il déplie et replie les lignes et les colonnes à sa guise.
Le résultat affiché peut être exporté comme pour toute table WEBDEV : Excel, Word, PDF, etc..
L'export Excel est très apprécié pour effectuer des simulations.
L'utilisateur final peut demander à comparer une période donnée à la même période d'années précédentes. Cette comparaison correspond à une des options du menu contextuel.
Par exemple, comparer les ventes du mois d'octobre 2025 aux autres mois d'octobre des deux années précédentes.
Les pourcentages et différences sont calculés et affichés automatiquement.
Il ne se passe pas une semaine sans qu'un vol de données défraye la chronique ! Des millions de données sont volées chaque jour à travers le monde, puis diffusées ou revendues.
Ne prenez pas de risques avec les données des applications que vous développez.
En version 2026, un nouveau type d'audit fait son apparition : l'audit de sécurité.
Cet audit de sécurité détecte les failles, les données en clair, les risques dans le code, les normes de sécurité non respectées.
Afin de couvrir tous les aspects de la sécurité, l'audit de sécurité audite le projet à la fois de manière statique et de manière dynamique.
Les détections de l'audit de sécurité s'affichent directement parmi les erreurs de compilation.
Les détections sont classées par élément (fenêtre, classe, ...).
Parmi les vérifications effectuées :
Les détections de l'audit de sécurité dynamique fonctionnent aussi bien en GO de projet, que sur demande lors de l'exécution directement sur le poste de l'utilisateur final.
Les détections s'affichent à la fois dans le code source, et dans une liste agrégée:
Parmi les vérifications effectuées :
Le simple fait d'utiliser HFSQL et de crypter (chiffrer) les données à l'aide des fonctionnalités automatiques apporte une sécurité de haut niveau.
D'autres systèmes de bases de données n'apportent pas cette facilité et cette souplesse dans le chiffrement des données.
Avec HFSQL, accéder illégalement au serveur ne permet pas de récupérer automatiquement les données cryptées du serveur.
Factur-X est un format de facture électronique hybride combinant un PDF lisible par l'homme et un fichier XML structuré intégré, conforme à la norme européenne EN 16931.
Il permet une lecture aisée pour les utilisateurs tout en assurant une intégration automatisée dans les systèmes comptables.
Factur-X a été développé par une association française «loi 1901» la FNFE‑MPE, et par l'association allemande FeRD.
Factur-x est basé sur la création d'un fichier XML décrivant la facture selon des normes extrêmement précises. Ce fichier XML est intégré au PDF de la facture.
L'avantage est le suivant : le fichier PDF à la norme Factur-X est à la fois lisible par un humain et par la machine.
Une facture à la norme Factur-X c'est donc :
Factur-X définit 5 profils (ou niveaux) de données correspondant à des cas d'usage croissants en complexité. Ces profils sont les suivants :
Contient uniquement les données essentielles : numéro de facture, date, montant total, identification du vendeur et de l'acheteur.
Ajoute les totaux HT, TVA par taux, mais sans détail ligne à ligne.
Ajoute les lignes de facturation (désignation, quantité, prix unitaire HT).
Conforme à la norme européenne complète EN 16931 avec toutes les informations requises (y compris références de commande, conditions de paiement, livraisons, etc.). Obligatoire dans le cadre des échanges B2G (business to government) en France et en Europe.
Permet d'ajouter des informations supplémentaires spécifiques à un secteur (ex. : secteur médical, énergie…). A la date d'impression de ce document, ce profil n'est pas encore finalisé par l'association.
La version 2026 gère les 4 niveaux déjà définis.
Ce fichier XML est de plus en plus complexe selon le niveau du profil.
Le profil aujourd'hui attendu pour la facturation électronique est le «numéro 4» dans la liste, EN 16931.
Ce fichier comporte plusieurs dizaines de lignes. Par exemple, pour une ligne de facture, le code correspondant est le suivant :
<ram:SpecifiedTradeProduct>
<ram:GlobalID schemeID="0160">598785412598745</ram:GlobalID>
<ram:SellerAssignedID>ART_1254</ram:SellerAssignedID>
<ram:BuyerAssignedID>REF5487</ram:BuyerAssignedID>
<ram:Name>PRESTATION SUPPORT</ram:Name>
<ram:Description>Description</ram:Description>
<ram:ApplicableProductCharacteristic>
<ram:Description>CATEGORIE</ram:Description>
<ram:Value>JOUR 8H-20H</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:DesignatedProductClassification>
<ram:ClassCode listID="SK">SKU2578</ram:ClassCode>
</ram:DesignatedProductClassification>
</ram:SpecifiedTradeProduct>
Un composant interne est fourni, prêt à l'emploi : vous avez juste à intégrer dans votre projet.
Pour chaque information imprimée sur la facture, il suffit d'appeler le composant interne fourni pour générer les lignes de XML correspondantes (avec les balises,...).
Il y a autant de propriétés que de possibilités : adresse de facturation, ligne de facture pour un article facturé au poids, ligne de facture pour un article vendu à l'unité, etc.
Chaque propriété attend des paramètres spécifiques à l'information qu'elle manipule.
Lorsque la facture est terminée, il suffit alors d'appeler la méthode GenèreXML de la classe fournie dans le composant interne pour créer le fichier XML avec le chemin du PDF indiqué.
Le choix d'une unité normalisée à utiliser dans Factur-X peut vite devenir complexe.
En version 2026, un assistant intuitif vous guide dans la sélection de l'unité conforme à la norme, en fonction du type de données à transmettre.
Certaines entreprises ajoutent un logo Factur-X à titre informatif pour signaler que la facture est hybride (PDF + XML).
Ce logo peut être inséré automatiquement par l'éditeur d'états.
En version 2026, plus besoin de sortir du GO pour modifier votre UI.
Vous appliquez vos modifications dans l'environnement, elles sont immédiatement visible dans votre application en exécution :
Vous imaginez facilement le temps gagné !
Question : Quel est le montant moyen des factures du mois dernier ?
Réponse : 320 789 €
La conversation peut contenir :
Le champ Chat IA permet de saisir des éléments de conversation.
Il les envoie au modèle, récupère la réponse du modèle en streaming et l'affiche au fur et à mesure. .
Si le modèle demande d'exécuter des actions, le champ Chat IA effectue ces actions.
Avec le champ Chat IA, vous pouvez choisir le modèle à utiliser : Claude, Mistral, GPT, Gemini, OpenRouter, etc.
Compte API nécessaire : Le fonctionnement du champ Chat IA est basé sur le modèle que vous spécifiez. Vous devez posséder un compte de type API chez le fournisseur du modèle pour utiliser le champ Chat IA.
Le champ Chat IA peut lancer des procédures de vos applications.
Pour définir qu'une procédure peut être utilisée par le champ Chat IA, il suffit d'indiquer ce que fait la procédure et ses paramètres entre les balises <IA> et <FIN>.
Le nouveau champ Chat IA propose de nombreuses fonctionnalités intégrées :
Le principe général de GRAPHQL est le suivant : faire une seule requête au Webservice, en précisant toutes les données que l'on désire récupérer.
Le serveur renvoie toutes les données demandées, de manière structurée au format JSON.
Le gain saute aux yeux : un seul appel remplace de nombreux appels. Les performances sont sans commune mesure avec un autre type de Webservice.
Une requête à un Webservice pourrait demander :
En utilisant la technologie GraphQL, ceci s'effectue en un seul aller/ retour.
Pour exploiter facilement les valeurs retournées, le nouveau type WLangage Requête GraphQL fait son apparition en version 2026.
L'assistance à la complétion est ainsi disponible lors de l'accès au résultat de la requête.
// déclaration de la requête
requête_clients_année est une requête = `
query ClientsParAnnée($année: Int!)
{
ListeClientsAvecLocation(année: $année)
{
Nom
Prénom
Locations
{
Yacht
{
Nom
Longueur
}
DateDébut
DateFin
}
}
}
La version 2026 de HFSQL propose une nouveauté fabuleuse : la possibilité d'effectuer des recherches «sémantiques», c'est-à-dire des recherches basées sur le sens du texte recherché et non sur la chaîne de caractères exacte.
Cette recherche s'effectue sur des rubriques texte ou des mémos texte.
Un nouveau format d'index (.vex) fait son apparition dans HFSQL. Son utilisation est transparente : le moteur de HFSQL gère tout.
En version 2026, dans HFSQL il devient possible de rechercher «chaussures homme» dans une base de données de produits et de retrouver des «chaussures», «bottes», «baskets», «sneakers», «sandales»,...
L'instruction POUR TOUT bénéficie d'une nouvelle syntaxe :
MAX_RESULT est un entier = 10
POUR TOUT Produit AVEC RechercheSémantique(
Description, "chaussures hommes", MAX_RESULT)
AfficheProduit(Produit.IDProduit)
FIN
Aucun module tiers n'est nécessaire, tout est intégré dans le moteur HFSQL.
HFSQL intègre un moteur d'IA (modèle embedding) et un index spécifique adapté à la recherche sémantique.
Il n'y a rien de particulier à installer, aucune connexion à un module externe, rien à gérer : HFSQL fait tout tout seul !
La création d'un index sémantique est facile : il suffit de déclarer un index sémantique dans l'analyse, et d'indiquer les rubriques texte à indexer. C'est tout.
Sur une base de données existante, une «modification automatique» est lancée.
Grâce à la recherche sémantique, un utilisateur qui saisit des termes descriptifs, qui ne sont pas présents dans le texte stocké, comme «manteau de mi-saison» peut obtenir des suggestions pertinentes couvrant l'ensemble des produits adaptés (vestes, coupe-vent, parkas fines…), même si ces mots ne sont pas présents tels quels dans les descriptions.
Le moteur interprète le besoin réel plutôt que de s'en tenir à une correspondance littérale des mots-clés.
Imaginez un client qui visite un site de vente en ligne pour trouver une veste légère pour le printemps, mais il ne connaît pas la terminologie exacte.
"Manteau de mi-saison"
Le moteur propose uniquement :
les articles dont la fiche produit contient exactement «manteau» et «mi-saison».
Il manque :
car ces produits n'utilisent pas le terme «mi-saison».
Le moteur comprend que l'intention du client est de trouver un vêtement de dessus, léger, adapté à une météo douce ou variable.
Le moteur propose donc aussi :
Même si les mots recherchés ne figurent pas dans les fiches, la requête aboutit à des résultats pertinents du point de vue du besoin exprimé.
Le champ Grille est une grille de positionnement relatif, disponible pour WINDEV et WINDEV Mobile.
Cette grille permet d'aligner des champs horizontalement ou verticalement sans effectuer obligatoirement de positionnement au pixel.
La méthode consiste à imbriquer des conteneurs.
Le fonctionnement de la grille est basé sur un nombre fixe de lignes et de colonnes.
Il suffit de définir le comportement des lignes et des colonnes :
Les champs et les conteneurs sont positionnés dans les cellules.
Il est possible de fusionner des cellules, horizontalement ou verticalement.
Le champ Grille est en mode preview permanent : en édition, chaque modification est immédiatement visible.
La construction de l'UI se fait donc par imbrication.
Il est possible de placer une grille dans une grille, une grille dans une flexbox ou une flexbox dans une grille : toutes les combinaisons sont possibles.
Au sein de la cellule, le champ est positionné par rapport au point haut gauche de sa cellule.
Une cellule peut contenir plusieurs champs.
Il est possible de définir des ancrages pour chaque champ présent dans une cellule.
Ces ancrages sont relatifs par rapport à la taille de la cellule.
La taille de la cellule est définie par les paramètres de la grille (ligne/colonne).
En plus du mode d'édition visuel, il est possible de modifier la grille par programmation :
Cela permet par exemple de masquer des champs et de conserver un alignement correct.
De nouvelles informations sont proposées à l'affichage (et à la saisie bien entendu).
Commun à tous les champs
Champ Image et Fenêtre
Une section spécifique permet de sélectionner et de connaître le chemin de l'image et les paramètres du mode d'affichage.
Champ Combo/Liste
Champ Interrupteur/Sélecteur
Champ Table
Lors d'un développement en équipe, tant que le développement de la fonctionnalité n'est pas terminé, les éléments correspondants ne sont pas réintégrés dans le GDS (Gestionnaire De Sources) : on ne met pas à disposition des autres développeurs des éléments en cours de développement.
Et tant que le ou les éléments ne sont pas réintégrés, le développeur ne dispose pas d'historique, et donc de possibilité de revenir en arrière.
Il est désormais possible de réaliser une historisation locale lors du développement avec le GDS.
Cela signifie que l'historique des modifications effectuées sur un élément peut être conservé localement sur le poste de travail, sans être immédiatement partagé avec la base de sources centrale.
Cette nouvelle fonctionnalité présente de nombreux intérêts :
Le concept de Palettes de couleurs apparu en version 2025 apporte une grande souplesse dans la gestion de l'homogénéité des couleurs des UI.
Les palettes sont interchangeables entre les gabarits.
Le changement (dynamique ou statique) de la palette permet de modifier l'ensemble des couleurs.
L'éditeur de palettes permet de créer une palette de zéro («from scratch»).
Pour permettre la création de palettes harmonieuses, la gestion des couleurs repose sur quelques couleurs dominantes, qui définissent le style global.
Des couleurs dérivées sont ensuite générées automatiquement à partir de ces couleurs dominantes, selon des formules de calcul personnalisables.
Il est également possible de définir manuellement une ou plusieurs couleurs dérivées.
L'interface intuitive de l'éditeur de palettes permet de vérifier le résultat en temps réel.
De nombreuses nouvelles palettes de couleurs font leur apparition en version 2026.
Cela vous offre de nouvelles possibilités de personnalisation.
Utilisez librement ces palettes pour vos applications et vos progiciels, ainsi que toutes les palettes livrées avec WINDEV.
Et pensez-y : Vous pouvez changer dynamiquement la palette utilisée, et également créer vos propres palettes.
WINDEV vous apporte les aides nécessaires à la création de superbes UI.
La signature numérique par certificat sur carte à puce est un mécanisme d'authentification et de sécurisation.
Ce mécanisme permet de signer numériquement des documents ou des données à l'aide d'un certificat numérique stocké dans une carte à puce.
Par exemple : carte Vitale, carte professionnelle, carte cryptographique, etc.
Le principe technique garantit la sécurité de l'opération :
La sécurité est assurée : la clé privée ne quitte jamais la carte.
Toutes les fonctions du WLangage qui permettent de signer, comme PDFSigne, XMLSigne... fonctionnent avec un certificat présent sur une carte à puce.
À l'aide de la fonction CertificatListe, l'application récupère tous les certificats accessibles sur le poste, y compris ceux présents sur une carte à puce insérée.
Il suffit ensuite de parcourir cette liste pour sélectionner le certificat émis par la carte à puce, représenté sous forme d'une variable de type Certificat en WLangage..
Google Maps est un système de cartes géographiques extrêmement puissant et très populaire.
Toutefois, il existe d'autres systèmes de carte géographique.
OpenStreetMap est la solution alternative la plus connue.
L'utilisation de OpenStreetMap est possible avec WINDEV, WINDEV Mobile sous Android et WEBDEV en version 2026.
Le choix du type de carte à utiliser s'effectue facilement dans les «7 onglets» du champ.
Il faut noter qu'à ce jour, les fonctionnalités offertes pour les cartes OpenStreetMap sont différentes de celles des cartes Google Maps.
Les gestures sont supportées (zoom, déplacement,...), il est possible de dessiner un tracé, des formes, des POI, etc.
Toutefois certaines fonctionnalités automatiques ne sont pas disponibles, en particulier le calcul d'itinéraire et le cluster de marqueurs.
En version 2026, le champ Carte sait également s'interfacer avec de nombreux autres formats de cartes géographiques:
Le champ Carte supporte maintenant la gestion des calques.
Il est donc possible de «superposer» différentes cartes à l'écran..
Le débogueur de WINDEV Mobile pour Android évolue en version 2026 : il opère maintenant sur un dispositif Android (téléphone, tablette, terminal industriel) relié par WiFi au poste de développement.
L'appairage s'effectue facilement par la saisie de l'adresse IP du dispositif dans le débogueur, et par saisie d'un code à usage unique affichée sur le dispositif.
Toutes les commandes du débogueur sont disponibles en WiFi: pas à pas, trace, watch, point d'arrêt,...
En version 2026, les fonctions WLangage de la famille Agenda sont disponibles en code navigateur.
Cela permet de réaliser des traitements plus rapides sur les agendas sans quitter le navigateur.
La liste des fonctions WLangage permettant de gérer les emails s'allonge pour prendre en compte des cas particuliers.
La nouvelle fonction WLangage EmailExécuteCommande permet d'envoyer n'importe quelle commande à un serveur de mails.
Les nouvelles fonctions WLangage EmailAbonneAuDossier/EmailDésabonneDuDossier permettent de s'abonner ou se désabonner d'un dossier pour accéder à son contenu (protocole IMAP).
En version 2026, le WLangage s'enrichit des fonctions MémoAffiche et MémoTélécharge.
Dans les versions précédentes, le mémo devait être téléchargé dans un buffer en mémoire (ou un fichier disque) puis envoyé au navigateur avec la fonction ChaîneAffiche (ou FichierTélécharge).
En version 2026, le mémo HFSQL est transmis en continu, bloc par bloc. Ce fonctionnement «au fil de l'eau» réduit la consommation mémoire, accélère le début du téléchargement et réduit la durée totale du téléchargement côté utilisateur.
Le type WLangage MasqueDeSaisie permet d'implémenter par programmation des masques de saisie. En version 2026, ce type de variable est disponible en code navigateur.
En version 2026, l'opérateur «=» entre deux tableaux effectue une comparaison entre les éléments des deux tableaux.
L'opérateur «=» est appliqué récursivement sur tous les éléments des tableaux.
La version 2026 est une version vraiment impressionnante.
Parmi les 900 nouveautés, découvrez vite celles qui vous seront indispensables et celles qui rentabiliseront immédiatement votre version.