12 questions pour valider les bases de WinDev avec Yacine, développeur dans une PME de négoce de matériel électrique à Oran : créer l'analyse (fichiers, rubriques typées, clés, liaisons), dessiner les fenêtres et régler l'ancrage, écrire du WLangage (variables, conditions, boucles), lier les champs aux données et manipuler les enregistrements, puis générer une application avec le RAD et la personnaliser.
Répondez à tout, puis cliquez sur Corriger : score et explications s'affichent.
1 · Rappel
1. Dans l'analyse, comment Yacine représente-t-il une entité métier comme « Client » ?
Une entité métier = un fichier, avec ses rubriques nommées et typées. Chaque fichier ne mélange qu'un seul concept.
1 · Application
2. Yacine doit stocker le prix unitaire HT d'un produit électrique. Quel type choisit-il ?
Un montant se stocke en monétaire (ou numérique) : c'est indispensable pour calculer, trier et totaliser. Le texte rendrait ces opérations fausses.
1 · Application
3. Yacine veut que chaque commande référence le client qui l'a passée, sans recopier son nom. Comment fait-il ?
La Commande stocke la clé du client (clé étrangère), pas son nom : la liaison évite la duplication et garantit la cohérence.
1 · Arbitrage
4. Un client change de nom. Quelle conception évite d'avoir à corriger cette information partout ?
L'information vit à un seul endroit (le fichier Client) ; les autres fichiers s'y réfèrent par la clé. On corrige alors une seule fois.
1 · Rappel
5. Dans une fenêtre WinDev, qu'appelle-t-on un « champ » ?
Un champ est le terme WinDev pour un composant d'interface : libellé, champ de saisie, bouton, combo, table, onglet…
1 · Application
6. Yacine agrandit sa fenêtre de saisie et la table des articles reste tassée en haut à gauche. Que règle-t-il ?
L'ancrage définit le comportement du champ au redimensionnement : on fait étirer la table principale pour profiter de l'espace.
1 · Rappel
7. Quel est l'intérêt de nommer un champ SAI_NomClient plutôt que SAI_Sans_nom1 ?
C'est par le nom qu'on manipule un champ en WLangage : un nom explicite rend le code compréhensible et maintenable.
1 · Application
8. Yacine veut afficher un message quand une commande dépasse 10 articles. Quelle structure utilise-t-il ?
Un test conditionnel se traduit par SI…ALORS…SINON : c'est la brique de toute logique métier en WLangage.
1 · Arbitrage
9. Pour répéter un traitement un nombre de fois connu à l'avance, que choisit Yacine ?
POUR répète un nombre connu de fois grâce à un compteur ; TANTQUE s'utilise quand le nombre de répétitions est inconnu à l'avance.
1 · Rappel
10. À quoi sert ÉcranVersFichier() dans une fiche liée ?
ÉcranVersFichier() recopie la saisie des champs liés vers les rubriques ; FichierVersÉcran() fait l'inverse pour l'affichage.
1 · Application
11. Après HLitRecherche sur un code client, quel réflexe Yacine applique-t-il avant d'exploiter le résultat ?
HEnDehors indique qu'on est en dehors du fichier (aucun résultat, ou fin atteinte) : on le teste avant toute exploitation.
1 · Arbitrage
12. Yacine veut démarrer vite son application de négoce. Quel usage du RAD est recommandé ?
Le RAD accélère le démarrage en générant une base depuis l'analyse, mais les règles métier (remise, impayés, stock) restent à écrire.
Et après ?
Score ≥ 80 % : vous maîtrisez les bases de WinDev avec Yacine — passez au Niveau 2 (HFSQL, requêtes SQL & états).
Score entre 50 % et 80 % : reprenez les sections en échec (1.1 analyse, 1.2 fenêtres & champs, 1.3 WLangage, 1.4 champs liés & enregistrements, 1.5 RAD), relisez le cours puis refaites le test.
Score < 50 % : relisez tout le niveau 1 en appliquant chaque défi 48h (analyse de Yacine, fenêtre Fiche commande, remise en WLangage, cycle de fiche, génération RAD) avant de retenter.
Et après ? Gardez l'analyse et le réflexe des champs liés de Yacine : le niveau 2 y branche HFSQL, les requêtes SQL et l'éditeur d'états.