1.3 · Les bases du WLangage (variables, conditions, boucles)

Niveau 1 · Débutant : première application

1.3Les bases du WLangage (variables, conditions, boucles)

Objectif : découvrir la syntaxe du WLangage : variables, types, conditions (SI), boucles (POUR/TANTQUE).
Temps estimé : 12 min

Le WLANGAGE est le langage de programmation de WinDev. Ses fondamentaux sont ceux de tout langage, avec une syntaxe volontairement simple et en FRANÇAIS. (1) Les VARIABLES : des emplacements nommés qui stockent une valeur. On les déclare avec leur TYPE : entier, réel, monétaire, chaîne (texte), booléen (Vrai/Faux), date, heure, durée. Exemple : MonTotal est un monétaire. Le choix du type reste important (un montant en monétaire, pas en chaîne). (2) Les OPÉRATEURS : arithmétiques (+, -, *, /), de comparaison (=, <, >, <=, >=, <>) et logiques (ET, OU, PAS). (3) Les COMMENTAIRES (// en début de ligne) : indispensables pour expliquer le POURQUOI d'un traitement.

Les STRUCTURES DE CONTRÔLE dirigent l'exécution. (1) La CONDITION : SI … ALORS … SINON … FIN — exécute un bloc ou un autre selon qu'un test est vrai ou faux. C'est la brique de toute logique métier (si le solde est négatif, alors afficher une alerte). (2) Les BOUCLES, pour répéter un traitement : POUR (répéter un nombre connu de fois, avec un compteur), TANTQUE (répéter tant qu'une condition reste vraie), BOUCLE (avec une sortie explicite). (3) Le branchement multiple SELON, pratique quand une même valeur peut prendre plusieurs cas. Deux principes de qualité à adopter tout de suite : nommer clairement ses variables (Total, NombreClients — pas x, y, tmp) et indenter son code (décaler les blocs) pour rendre la structure visible. Enfin, gardez le réflexe F1 : l'aide du WLangage documente chaque fonction avec des exemples, en français.

Vocabulaire de la section

Variable et type
Un emplacement nommé qui stocke une valeur, déclaré avec son TYPE : entier, réel, monétaire, chaîne, booléen, date, heure, durée. Syntaxe : MonTotal est un monétaire.
Opérateurs
Arithmétiques (+, -, *, /), de comparaison (=, <, >, <=, >=, <>) et logiques (ET, OU, PAS) — en français, conformément à la philosophie du WLangage.
Condition SI…ALORS…SINON
La structure qui exécute un bloc ou un autre selon qu'un test est vrai ou faux. La brique de base de toute logique métier.
Boucles (POUR, TANTQUE)
POUR répète un nombre connu de fois (avec compteur) ; TANTQUE répète tant qu'une condition reste vraie ; BOUCLE utilise une sortie explicite. SELON gère un branchement multiple.
Lisibilité (noms + indentation)
Nommer clairement ses variables (Total, NombreClients — pas x, y, tmp), indenter les blocs et commenter le POURQUOI. La lisibilité conditionne la maintenance.
Vérifiez votre compréhension

Quelles sont les structures de base du WLangage ?

Tutoriel 1.3
Tutos « 1.3 » WinDev WLangage variable condition boucle bases (recherche)
Cliquer pour voir les résultats à jour ↗

En pratique — Écrire ses premières lignes de WLangage

  1. Déclarez des variables avec le bon TYPE (un montant en monétaire, un compteur en entier, un texte en chaîne, un test en booléen).
  2. Écrivez une CONDITION SI…ALORS…SINON…FIN traduisant une règle métier simple (par exemple : si le montant dépasse un seuil, appliquer une remise).
  3. Écrivez une BOUCLE POUR pour répéter un traitement un nombre connu de fois, et une boucle TANTQUE pour un nombre inconnu à l'avance.
  4. Nommez clairement vos variables, INDENTEZ les blocs, commentez le POURQUOI, et utilisez F1 sur toute fonction inconnue pour ouvrir l'aide.
Vous maîtrisez les briques de base du WLangage (variables typées, opérateurs, conditions, boucles) et les réflexes de lisibilité qui rendent le code maintenable.

Points clés à retenir

  • Le WLANGAGE repose sur les fondamentaux universels avec une syntaxe simple EN FRANÇAIS : VARIABLES déclarées avec leur TYPE (entier, réel, monétaire, chaîne, booléen, date, heure, durée), OPÉRATEURS arithmétiques, de comparaison et logiques (ET, OU, PAS).
  • Les STRUCTURES DE CONTRÔLE : la CONDITION (SI…ALORS…SINON…FIN), brique de toute logique métier ; les BOUCLES (POUR pour un nombre connu de répétitions, TANTQUE tant qu'une condition est vraie) ; le branchement multiple SELON.
  • Le choix du TYPE reste important : un montant en monétaire, un compteur en entier, une date en date — jamais tout en chaîne, sous peine de calculs et de comparaisons faux.
  • Réflexes de QUALITÉ dès le départ : NOMMER clairement les variables (Total, NombreClients — pas x, y, tmp), INDENTER les blocs pour rendre la structure visible, COMMENTER le POURQUOI (pas le quoi), et utiliser F1 (aide contextuelle riche et en français).

Questions fréquentes

Faut-il connaître un autre langage avant d'apprendre le WLangage ?

NON, le WLangage est justement conçu pour être accessible aux débutants (syntaxe simple, mots-clés en français, aide contextuelle) — mais si vous connaissez déjà un langage, vous progresserez beaucoup plus vite, car les CONCEPTS sont universels. Si vous débutez totalement : (1) Le WLangage est un bon premier langage pour un francophone : les mots-clés en français (SI, ALORS, POUR, TANTQUE) suppriment la double difficulté d'apprendre à la fois la programmation ET l'anglais technique. (2) La syntaxe est simple et verbeuse, donc lisible : le code ressemble à des phrases. (3) L'environnement AIDE beaucoup : complétion automatique, aide contextuelle F1 riche et en français avec des exemples, messages d'erreur explicites. (4) Le RAD permet de voir un résultat très vite, ce qui est extrêmement motivant quand on débute — on obtient une application fonctionnelle avant de savoir tout coder. (5) Vous apprendrez naturellement les concepts fondamentaux : variables, types, conditions, boucles, procédures, puis POO. Si vous connaissez déjà un langage : (1) Vous irez très vite : les concepts (variable, type, condition, boucle, fonction, classe) sont identiques, seule la syntaxe change. (2) Ce qu'il faut surtout apprendre, ce n'est pas le langage mais la PHILOSOPHIE WinDev : l'ANALYSE (le modèle de données au centre), les champs LIÉS aux rubriques, les fonctions HFSQL (préfixées H : HLitPremier, HAjoute…), le fonctionnement par ÉVÉNEMENTS des fenêtres, l'éditeur d'états. (3) Certains automatismes seront déroutants au début (le RAD fait beaucoup de choses à votre place) — il faut accepter de « faire confiance » à l'outil tout en comprenant ce qu'il génère. (4) Attention à ne pas vouloir tout recoder à la main « comme ailleurs » : ce serait perdre l'intérêt de l'outil. Ce qui compte vraiment (dans les deux cas) : (1) Les CONCEPTS, pas la syntaxe. Comprendre le modèle relationnel, le SQL, la logique algorithmique, la POO, la gestion des erreurs, les tests : ce sont eux qui font le bon développeur, et ils sont TRANSFÉRABLES vers n'importe quelle technologie. (2) La rigueur : nommer clairement, structurer, commenter, tester. Un langage facile n'excuse pas un code brouillon. (3) Le métier : en gestion, comprendre le besoin (facturation, stocks, comptabilité) compte autant que la technique. (4) L'anglais technique : même en développant en français, il reste utile pour la culture informatique générale. La progression conseillée : (1) Les bases du langage (variables, conditions, boucles). (2) L'analyse et les fonctions de manipulation de données. (3) Les fenêtres et leurs événements. (4) Les procédures, puis les classes (POO). (5) Les états, le déploiement, les tests. En résumé : NON, aucun prérequis n'est nécessaire — le WLangage est conçu pour être ACCESSIBLE (mots-clés en français, syntaxe simple et verbeuse, complétion et aide F1 en français, résultat visible très vite grâce au RAD), ce qui en fait un bon premier langage pour un francophone, puisqu'il évite d'affronter simultanément la programmation et l'anglais technique. Si vous connaissez déjà un langage, vous irez beaucoup plus vite : les concepts sont universels et seule la syntaxe change ; concentrez-vous alors sur la PHILOSOPHIE WinDev (l'analyse au centre, les champs liés aux rubriques, les fonctions HFSQL préfixées H, la programmation par événements) plutôt que sur le langage lui-même, et acceptez de laisser le RAD travailler pour vous. Dans les deux cas, l'essentiel n'est pas la syntaxe mais les CONCEPTS transférables — modèle relationnel, SQL, algorithmique, POO, gestion des erreurs, tests — et la RIGUEUR : un langage facile n'excuse jamais un code brouillon.

Comment écrire du code WLangage lisible et maintenable ?

En appliquant des règles simples mais constantes : NOMMER explicitement, INDENTER, commenter le POURQUOI, écrire des traitements COURTS et découpés en procédures, et éviter la duplication — car un code est lu bien plus souvent qu'il n'est écrit. Les règles de base : (1) NOMMEZ explicitement. « MontantTotalHT » et non « m » ou « tmp2 ». Les noms doivent dire ce que contient la variable ou ce que fait la procédure. Le WLangage étant en français, profitez-en pour des noms métier parlants. Pareil pour les champs (SAI_NomClient) et les procédures (CalculeTotalCommande). (2) INDENTEZ systématiquement : décaler les blocs (SI, POUR, TANTQUE) rend la structure visible d'un coup d'œil. Un code non indenté est illisible même s'il est correct. (3) COMMENTEZ le POURQUOI, pas le QUOI. Inutile d'écrire « // on ajoute 1 au compteur » au-dessus de « Compteur++ » : le code le dit déjà. En revanche « // remise de 5 % accordée aux clients fidèles depuis plus de 2 ans (règle commerciale 2024) » apporte une information que le code ne peut pas donner. (4) Traitements COURTS. Si un traitement dépasse l'écran, découpez-le en PROCÉDURES ayant chacune une responsabilité claire. Un traitement de 300 lignes est ingérable. (5) Une procédure = UNE responsabilité, avec un nom qui la décrit. Les règles qui font la différence : (1) Ne DUPLIQUEZ pas le code. Si vous copiez-collez un traitement, transformez-le en procédure réutilisable : sinon, une correction devra être répétée à chaque copie (et vous en oublierez une). (2) Évitez l'imbrication excessive de SI dans des SI dans des SI : au-delà de deux ou trois niveaux, le code devient illisible — découpez ou inversez les tests. (3) Utilisez les bons TYPES : un montant en monétaire, une date en date. Cela évite des conversions hasardeuses et des bugs de calcul. (4) Gérez les ERREURS plutôt que de supposer que tout se passera bien (voir niveau 3). (5) Écrivez le code métier au bon ENDROIT : dans une procédure réutilisable plutôt que dans l'événement d'un bouton, si la règle sert ailleurs. (6) Restez COHÉRENT dans tout le projet : même convention de nommage, même style. En équipe, mettez-vous d'accord et documentez la convention. Pourquoi c'est décisif : (1) Un code est lu 10 fois plus qu'il n'est écrit : par vous-même dans six mois, par un collègue, par le développeur qui reprendra la maintenance. (2) La MAINTENANCE représente l'essentiel du coût d'une application de gestion sur sa durée de vie : elle vit et évolue pendant des années. (3) Un code clair réduit les BUGS : on repère les erreurs plus facilement. (4) La facilité du WLangage peut inciter au laisser-aller — c'est précisément là qu'il faut de la discipline. En résumé : écrivez du WLangage lisible en appliquant quelques règles constantes — NOMS explicites (MontantTotalHT, CalculeTotalCommande, SAI_NomClient, jamais x ou tmp), INDENTATION systématique des blocs, COMMENTAIRES qui expliquent le POURQUOI (la règle métier, la décision) et non le QUOI que le code exprime déjà, TRAITEMENTS COURTS découpés en procédures ayant chacune une seule responsabilité, ZÉRO duplication (transformez tout copier-coller en procédure réutilisable, sans quoi une correction devra être répétée partout et vous en oublierez une), imbrication limitée, bons TYPES, gestion des erreurs et COHÉRENCE de style dans tout le projet. Tout cela compte parce qu'un code est relu bien plus souvent qu'écrit — par vous-même des mois plus tard comme par vos successeurs — et parce que la MAINTENANCE constitue l'essentiel du coût d'une application de gestion, qui vivra des années. La simplicité du WLangage ne dispense pas de rigueur : elle la rend d'autant plus nécessaire.

Autres ressources