Quiz du niveau 2 — Intermédiaire : données, requêtes & états

Quiz — Niveau 2 · Intermédiaire : données, requêtes & états

1. Quelle est la différence entre HFSQL Classic et Client/Serveur ?

Basculez en Client/Serveur dès qu'apparaissent : plusieurs utilisateurs simultanés intensifs, lenteurs croissantes, gros volumes, besoin de sécurité fine ou d'accès distants. Bonne nouvelle : l'analyse et le code WLangage restent très largement identiques. Les INDEX sont l'optimisation la plus rentable.

2. Pourquoi faut-il filtrer côté BASE plutôt que ramener toutes les données ?

Ce défaut est traître : l'application paraît rapide sur le petit jeu de test du développeur, puis devient inutilisable en production. Mettez les conditions dans la requête (WHERE), faites TRIER par la base (ORDER BY), déléguez les agrégats (SUM/COUNT/AVG avec GROUP BY) et vérifiez les INDEX.

3. Comment obtient-on des sous-totaux par groupe dans un ÉTAT ?

Sans tri, un même groupe réapparaît plus loin et produit des sous-totaux faux — c'est l'erreur la plus fréquente, et son symptôme est un groupe affiché plusieurs fois. Un état se découpe en BLOCS (début de document, haut de page, CORPS répété par enregistrement, bas de page, fin de document).

4. Quelle différence entre une table FICHIER et une table MÉMOIRE ?

Réflexe par défaut en gestion : dès que les données viennent de la base, utilisez une table FICHIER (basée sur une REQUÊTE si vous devez filtrer ou joindre). Le piège classique est de remplir une table mémoire en parcourant un gros fichier : l'application se fige, et le défaut n'apparaît qu'en production.

5. Pourquoi ne faut-il pas écrire toute la logique métier dans le clic d'un bouton ?

WinDev fonctionne par ÉVÉNEMENTS (déclarations globales, initialisation, clic, entrée/sortie de champ, modification). Placez chaque traitement au bon endroit : un contrôle de saisie va dans la SORTIE du champ, pas dans le bouton Valider. ⚠️ Méfiez-vous des effets en cascade.
Passer au niveau 3Retour au sommaire du guide