1.2 · Fenêtres & champs (interface utilisateur)

Niveau 1 · Débutant : première application

1.2Fenêtres & champs (interface utilisateur)

Objectif : Créer des fenêtres, y déposer des champs (saisie, libellé, bouton, table) et régler leurs propriétés pour une interface claire et adaptative.
Temps estimé : 11 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • Les fenêtres se dessinent visuellement (glisser-déposer) et accueillent des champs : libellé, saisie, bouton, table, combo, onglet…
  • L'ancrage définit le comportement au redimensionnement : un champ peut s'étirer, se déplacer ou rester fixe — sans lui, l'interface paraît bâclée.
  • Nommer explicitement et soigner l'ordre de tabulation : c'est par le nom qu'on manipule un champ en WLangage, et l'ordre Tab conditionne la vitesse de saisie.

Mini-cas filé — Yacine dessine la fenêtre « Fiche commande »

Yacine crée maintenant l'interface de son application de négoce. Il ouvre une fenêtre vide intitulée « Fiche commande » et y dépose des champs par glisser-déposer : un libellé « Client », un champ de saisie, une table pour les lignes d'articles, et des boutons « Valider » et « Annuler ». Il renomme aussitôt chaque champ de façon explicite : SAI_NomClient plutôt que SAI_Sans_nom1. Puis il teste en agrandissant la fenêtre : la table reste tassée en haut à gauche dans un grand vide. Il règle alors l'ANCRAGE : la table s'étire en largeur et en hauteur, les boutons se déplacent vers le bas, le libellé reste fixe. Enfin il vérifie l'ORDRE DE TABULATION : la touche Tab doit passer du nom au téléphone, puis aux articles, dans l'ordre logique de saisie. Yacine retient : des champs bien nommés, un ancrage correct et un Tab cohérent font une interface professionnelle.

Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 1.2.

1. Les fenêtres et leurs champs

Les FENÊTRES constituent l'interface de l'application : ce que l'utilisateur voit et manipule. Dans WinDev, on les dessine visuellement, sans code de positionnement. On y dépose des CHAMPS — le terme WinDev pour les composants d'interface.

Les principaux : le libellé (texte fixe), le champ de saisie, le bouton, la combo, l'onglet, et surtout la TABLE — champ majeur en gestion, qui affiche plusieurs enregistrements en lignes et colonnes. Chaque champ a un nom et des propriétés (onglets de description).

2. L'ancrage au redimensionnement

L'ANCRAGE définit ce que devient un champ quand la fenêtre est redimensionnée : s'étirer, se déplacer ou rester fixe. Sans ancrage, agrandir la fenêtre laisse les champs figés en haut à gauche dans un grand vide — le défaut le plus visible d'une application mal finie.

Bonne pratique : faire étirer le champ principal (souvent la table, l'utilisateur voit plus de lignes), faire déplacer les boutons d'action pour qu'ils restent visibles, laisser fixes les petits libellés.

3. Nommage et ordre de tabulation

Nommez les champs de façon explicite, avec une convention de préfixes : SAI_NomClient, BTN_Valider, TABLE_Articles. C'est par ce nom que vous les manipulerez en WLangage ; un nom parlant rend le code lisible et recherchable.

Soignez enfin l'ORDRE DE TABULATION : l'ordre dans lequel la touche Tab fait passer d'un champ au suivant. En gestion, la saisie au clavier est la norme — un ordre qui suit l'ordre logique de saisie change tout pour la rapidité et limite les erreurs.

Erreur d'interprétation fréquente : « L'ancrage, c'est du confort : je dessine les fenêtres et je n'y touche plus ». Non. Sans ancrage, une fenêtre maximisée affiche des champs tassés dans un coin avec un grand vide : cela fait immédiatement « application bâclée ». Autre erreur : laisser les noms génériques (SAI_Sans_nom1) — or c'est par le nom qu'on manipule le champ en WLangage, et un nom illisible rend le code incompréhensible. Yacine soigne l'ancrage, nomme explicitement et règle l'ordre de tabulation.
Dessiner une fenêtre claire Des champs bien nommés, un ancrage correct et un Tab logique. ChampsLibellé, saisie, bouton, table+AncrageS'étirer, se déplacer, rester fixe+NommageSAI_NomClient, pas SAI_Sans_nom1 Faire étirer le champ principal (la table), déplacer les boutons, garder les libellés fixes.
Des champs bien nommés, un ancrage correct et un Tab logique.
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Yacine, développeur WinDev dans une PME de négoce de matériel électrique à Oran, crée une fenêtre « Fiche commande » et y dépose des champs par glisser-déposer : libellés, champ de saisie, table des articles, boutons Valider/Annuler. 2) Il renomme chaque champ de façon explicite (SAI_NomClient plutôt que SAI_Sans_nom1). 3) En agrandissant la fenêtre, il voit la table rester tassée en haut à gauche : il règle l'ancrage pour que la table s'étire, les boutons se déplacent et les libellés restent fixes, puis vérifie l'ordre de tabulation. Leçon : des champs bien nommés, un ancrage correct et un Tab cohérent font une interface professionnelle.

🔎 Exemple concret — 🔎 Exemple concret — Nommer et ancrer les champs

La convention de Yacine pour la fenêtre « Fiche commande » :

// Convention de nommage des champs
SAI_NomClient   : champ de saisie  (préfixe SAI_)
BTN_Valider     : bouton           (préfixe BTN_)
TABLE_Articles  : table de données (préfixe TABLE_)
LIB_Titre       : libellé          (préfixe LIB_)

// Ancrage (redimensionnement)
TABLE_Articles  → étirer (largeur + hauteur)
BTN_Valider     → déplacer (bas / droite)
LIB_Titre       → rester fixe

Lecture : le nom dit clairement quel champ on manipule, et l'ancrage indique comment l'interface réagit à l'agrandissement.

Réflexe : nommer explicitement et faire étirer le champ principal (la table) dès la création de la fenêtre.

Vocabulaire de la section

Champ (WinDev)
Composant d'interface déposé sur une fenêtre : libellé, saisie, bouton, interrupteur, combo, table, image, onglet… Chaque champ a un nom et des propriétés.

Exemple simple : Yacine dépose un champ de saisie SAI_NomClient sur la fenêtre commande.

Ce que ce n'est pas : tout dessiner en dur, sans utiliser de composants d'interface.

Réflexe : composant d'interface → un champ nommé.

Champ Table
Champ majeur en gestion : affiche plusieurs enregistrements sous forme de lignes et de colonnes ; peut être lié à un fichier ou à une requête.

Exemple simple : Yacine affiche les lignes d'articles de la commande dans une table.

Ce que ce n'est pas : afficher chaque ligne dans un champ de saisie séparé, sans table.

Réflexe : plusieurs enregistrements → une table.

Ancrage
Comportement d'un champ quand la fenêtre est redimensionnée : s'étirer, se déplacer, rester fixe.

Exemple simple : Yacine fait étirer TABLE_Articles en largeur et en hauteur.

Ce que ce n'est pas : agrandir la fenêtre et laisser les champs figés dans un coin vide.

Réflexe : redimensionnement → régler l'ancrage.

Nommage explicite
Donner aux champs des noms parlants (SAI_NomClient) avec un préfixe par type, car c'est par ce nom qu'on les manipule en WLangage.

Exemple simple : Yacine renomme SAI_Sans_nom1 en SAI_NomClient.

Ce que ce n'est pas : laisser des noms génériques qui rendent le code illisible.

Réflexe : un champ → un nom explicite.

Ordre de tabulation
Ordre dans lequel la touche Tab fait passer d'un champ au suivant ; doit suivre l'ordre logique de saisie.

Exemple simple : Yacine règle Tab : Nom → Téléphone → Articles → Valider.

Ce que ce n'est pas : un Tab qui saute du nom au code postal puis remonte au prénom.

Réflexe : saisie fluide → ordre de tabulation logique.

En pratique — En pratique — Dessiner une fenêtre de saisie

  1. Créez une fenêtre et déposez les CHAMPS nécessaires depuis le catalogue (libellés, champs de saisie, boutons) par glisser-déposer.
  2. Renommez chaque champ avec un nom EXPLICITE (convention de préfixes) — c'est ainsi que vous le manipulerez en WLangage.
  3. Soignez la disposition : ordre logique de saisie, alignement, regroupement des informations liées, libellés clairs.
  4. Réglez l'ANCRAGE des champs (comportement au redimensionnement) et vérifiez l'ORDRE DE TABULATION pour une saisie fluide au clavier.
Vous obtenez une fenêtre claire, bien nommée, qui s'adapte au redimensionnement et se saisit efficacement au clavier — l'interface de l'application de Yacine.

Script pas-à-pas — dessiner la fenêtre comme Yacine (4 min)

1) Créez une fenêtre (ex. « Fiche commande ») et déposez les champs nécessaires par glisser-déposer. 2) Renommez chaque champ avec un préfixe explicite (SAI_, BTN_, TABLE_, LIB_). 3) Organisez la disposition dans l'ordre logique de lecture et de saisie. 4) Réglez l'ancrage : champ principal étiré, boutons déplacés, libellés fixes. 5) Vérifiez l'ordre de tabulation en saisissant au clavier.

Une fenêtre se juge à l'usage : noms clairs, ancrage correct et Tab logique dès la première version.

Modèle copier-coller — la check-list de fenêtre de Yacine

[ ] Champs déposés par glisser-déposer (saisie, bouton, table…)
[ ] Nommage explicite avec préfixes (SAI_, BTN_, TABLE_, LIB_)
[ ] Disposition dans l'ordre logique de saisie
[ ] Champ principal ancré pour s'étirer (table)
[ ] Boutons d'action ancrés pour se déplacer
[ ] Libellés fixes ancrés pour ne pas bouger
[ ] Ordre de tabulation vérifié au clavier

Fenêtre de consultation

Yacine ne met qu'une grande table des commandes, ancrée pour s'étirer, avec peu de champs de saisie.

Fenêtre d'ajout

Yacine dispose les champs de saisie en colonne, dans l'ordre de saisie, avec Valider/Annuler ancrés en bas.

Onglets

Pour une fiche client complète, Yacine répartit les informations en onglets (Identité, Coordonnées, Historique).

Écran d'atelier

Sur un poste en atelier, Yacine agrandit les boutons et soigne l'espacement pour une utilisation confortable.

✓ Bonnes pratiques

  • Nommer les champs de façon explicite avec une convention de préfixes.
  • Régler l'ancrage : étirer la table, déplacer les boutons, fixer les libellés.
  • Vérifier l'ordre de tabulation pour une saisie fluide au clavier.

✗ Pièges fréquents

  • Laisser des noms génériques comme SAI_Sans_nom1.
  • Oublier l'ancrage : interface tassée dans un coin à l'agrandissement.
  • Négliger l'ordre de tabulation (Tab qui saute dans tous les sens).

Points clés à retenir

  • Les fenêtres se dessinent visuellement : on y dépose des champs (libellé, saisie, bouton, table, combo, onglet).
  • L'ancrage définit le comportement des champs au redimensionnement : étirer, déplacer, rester fixe.
  • Nommer explicitement les champs (SAI_NomClient) : c'est par ce nom qu'on les manipule en WLangage.
  • Un ordre de tabulation logique conditionne la vitesse et la fiabilité de la saisie au clavier.

Défi 48h — appliquez demain

Prenez une fenêtre existante et rendez-la professionnelle comme Yacine : renommez les champs avec des préfixes explicites, réglez l'ancrage (table étirée, boutons déplacés, libellés fixes) et corrigez l'ordre de tabulation. Écrivez en une phrase ce que change l'ancrage quand on agrandit la fenêtre.

Checklist sortie de section
  • Je sais créer une fenêtre et y déposer des champs par glisser-déposer.
  • Je comprends l'ancrage et je l'utilise pour une interface adaptative.
  • Je nomme mes champs explicitement et je règle l'ordre de tabulation.
Auto-évaluation 1-5 : est-ce que je nomme mes champs de façon explicite ?Auto-évaluation 1-5 : est-ce que je pense à l'ancrage et à l'ordre de tabulation ?

Questions fréquentes

Qu'est-ce que l'ancrage et pourquoi est-ce indispensable ?

L'ancrage définit comment chaque champ réagit au redimensionnement de la fenêtre : s'étirer, se déplacer ou rester fixe. Sans lui, une fenêtre agrandie affiche des champs figés en haut à gauche avec un grand vide — un défaut très visible. Le cas le plus utile : faire étirer la table principale, car l'utilisateur gagne réellement des lignes visibles. On déplace ensuite les boutons d'action pour qu'ils restent accessibles, et on laisse fixes les libellés.

Pourquoi soigner le nommage des champs et l'ordre de tabulation ?

Le nommage explicite rend le code WLangage lisible et maintenable : c'est par le nom qu'on manipule un champ, donc « SAI_NomClient » s'explique seul là où « SAI_Sans_nom1 » n'a aucun sens six mois plus tard. L'ordre de tabulation, lui, conditionne la vitesse de saisie : en gestion on enchaîne les champs au clavier, et un ordre incohérent fait perdre du temps et provoque des erreurs. Deux détails qui distinguent une application professionnelle d'une application amateur.

Vérifiez votre compréhension

À quoi sert l'ancrage d'un champ dans une fenêtre WinDev ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 1Questions inédites et durcies pour valider vos acquis