Les objets
Une page BWEB est un arbre de blocs, et chaque bloc a un type. Il en existe 28, décrits chacun sur sa fiche : ce qu'il fait, ses paramètres propres, ses cibles de style et ses pièges. Les réglages que tous partagent (nom, affichage conditionnel, ancre, répétition) sont regroupés dans Les paramètres communs.
Les conteneurs
Ils accueillent d'autres blocs et organisent la page.
| Objet | Type | En bref |
|---|---|---|
| Accordéon | accordion | Le bloc dépliant. Il se compose de deux parties : un titre toujours visible et un contenu qui s'ouvre et se referme. |
| Carrousel | slider | Le carrousel. Un conteneur dont les enfants défilent horizontalement, avec des flèches et une pagination. |
| Conteneur | wrapper | Le conteneur générique, et la colonne vertébrale de toute mise en page. |
| Lien | link | Le conteneur cliquable. À la différence du bouton, ce n'est pas un élément unique mais une zone : tout ce qu'on place à l'intérieur — une image, un titre, un bloc entier — devient un lien. |
| Modal | modal | La fenêtre modale. C'est un conteneur qui reste caché jusqu'à ce qu'un événement l'ouvre — un clic sur un bouton, une action 4D. |
Le formulaire
Ils saisissent une valeur et l'enregistrent, ou déclenchent une action.
| Objet | Type | En bref |
|---|---|---|
| Bouton | button | Le déclencheur d'action. Un bouton ne fait rien par lui-même : il porte un événement onClick, et c'est cet événement qui appelle une fonction 4D, ouvre une fenêtre modale ou recharge un bloc. |
| Captcha | captcha | Le contrôle anti-robot d'un formulaire public. |
| Case à cocher | fieldCheckbox | Les cases à cocher. Un groupe de choix affichés tous en même temps, alimenté par une liste ou par une fonction 4D. |
| Champ de saisie | fieldText | Le champ de saisie à tout faire. Son type d'entrée décide de ce qu'il devient : texte simple, nombre, date, heure, zone de texte multiligne ou éditeur de texte riche. |
| Champs fichier | fieldInputFile | Le dépôt de fichier. Il accepte le glisser-déposer, contrôle les extensions autorisées et enregistre le fichier dans la table des fichiers du composant. |
| Commutateur | fieldToggle | L'interrupteur. Un seul réglage, deux états, et une valeur booléenne enregistrée telle quelle. |
| Menu déroulant | fieldSelect | La liste déroulante. Ses valeurs viennent d'une liste fixe, d'une fonction 4D ou d'une table de la base, et elle sait accepter plusieurs choix à la fois. |
Le contenu et la navigation
Tout le reste : texte, listes, fichiers, menus, modèles.
| Objet | Type | En bref |
|---|---|---|
| Arborescence | arborescence | L'arbre de données. Il affiche des enregistrements hiérarchisés — un dossier et ses sous-dossiers, une nomenclature, un plan de comptes — en s'appuyant sur la relation qui relie un enregistrement à son parent. |
| Capture | fieldCapture | La prise de photo par la caméra. Le bloc affiche l'image de la caméra et un bouton ; la photo prise est déposée dans un bloc de dépôt de fichier de la même page. |
| Code | code | Le bloc de code. Il insère du HTML ou du code 4D directement dans la page, sans passer par un réglage. |
| Fichier | renderFile | L'affichage d'un fichier. Image, aperçu de PDF, lien de téléchargement : ce bloc prend un fichier de la table des fichiers — désigné directement ou par une expression 4D — et décide de la façon de le présenter. |
| Fil d'Ariane | breadcrumbs | Le fil d'Ariane. Il affiche le chemin depuis l'accueil jusqu'à la page courante, en suivant la hiérarchie des pages. |
| Icône | icon | Une icône, seule. Choisie dans une bibliothèque ou téléversée, elle peut porter un événement et devenir cliquable. |
| Iframe | iframe | L'inclusion d'une autre page. Interne au site ou externe, elle s'affiche dans un cadre dont on règle la hauteur. |
| Langues | langSelection | Le sélecteur de langue. Il liste les langues du domaine et envoie, pour chacune, vers la page qui la sert. |
| Listbox | listbox | Le tableau de données. Il affiche une sélection d'enregistrements en colonnes, avec tri, recherche, pagination, sélection de lignes et événements par colonne. |
| Modèle | model | L'insertion d'un modèle. Un modèle est un morceau de page construit une fois et réutilisé partout — un en-tête de fiche, un pied de page, une carte produit. |
| Pages | menu | Le menu de navigation. Il se construit tout seul à partir des pages du domaine et de leur hiérarchie : une page ajoutée au bon endroit apparaît dans le menu sans qu'on y touche. |
| Scanner QR code | qrCodeScanner | Le lecteur de code QR et de code-barres. |
| Sélecteur d'icône | bootstrapIconSelector | Le choix d'une icône, par l'utilisateur. |
| Texte | text | Le bloc de contenu rédigé. Il s'édite dans un éditeur de texte riche — titres, gras, listes, liens — et son contenu est stocké par langue. |
| Traduction | translation | L'affichage d'une clé de traduction. Là où le bloc de texte contient un contenu rédigé, celui-ci ne contient qu'une clé : le texte affiché vient des fichiers de langue. |
| Zone de modèle | slot | L'emplacement à remplir, dans un modèle. |

