Concepts fondamentaux

Philosophie

Vous connaissez 4D ? Vous connaissez BWEB.

BWEB n'est pas un framework qui necessite une expertise JavaScript. C'est un composant purement base sur 4D. Un développeur 4D doit pouvoir créer un site web sans changer de monde.

BWEB cible les portails publics et CMS avec potentiellement 300 000+ utilisateurs - pas les dashboards internes (pour ca, il y a Qodly).

Tailwind s'apprend en un jour. React prend plusieurs mois.

Hierarchie : Domaine - Page - Bloc

Tout dans BWEB s'organisé en 3 niveaux :

NiveauTableDescriptionExemple
DomaineBSPK_WEB_DOMAINUn site web completmonsite.fr
PageBSPK_WEB_DOMAIN_MENUUne URL accessible ou un composant reutilisable/suppliers, header, footer
BlocBSPK_WEB_CONTENTUn élément UI formant un arbre via parentUuidwrapper, text, button, listbox

Le template assemble les composants (header, footer, sidebars) autour du contenu de chaque page.

Pages vs Composants

PageComposant
categorypagecomponent
Accessible via URLOui (/suppliers, /contact)Non
ReutilisableNonOui (header, footer, sidebar)
Affiche viaNavigation directeTemplate du domaine

Responsive design

BWEB utilise l'approche mobile-first de Tailwind CSS. Chaque bloc stocke ses styles par breakpoint dans cssProperties.

BreakpointLargeur min.Cible
default0pxMobile
sm640pxPetit écran
md768pxTablette
lg1024pxPortable
xl1280pxDesktop
2xl1536pxGrand écran

Exemple : un conteneur en colonne sur mobile, en ligne sur desktop :

{bspk: {default: {customClass: flex flex-col gap-2}, md: {customClass: flex-row gap-4}, lg: {customClass: gap-6}}}

Affichage conditionnel

3 mecanismes pour contrôler la visibilite des blocs :

MecanismeDescriptionExemple
linkedLie la visibilite d'un bloc à un autreUn panneau de détail s'affiche quand une ligne est sélectionnée
effectEffet d'apparitionfade, slide
conditionalDisplayCondition basee sur les donnéesEntity#null, isPublished=true

Variables process et persistance

BWEB gere l'état cote serveur, pas cote client :

  • L'Entity persiste pendant la session via les variables process
  • Pas d'état client (pas de Redux, Zustand, etc.)
  • Le serveur est la source unique de verite
  • Le STAMP (verrouillage optimiste) est gere nativement par ORDA
  • Les sessions 4D sont scalables et preemptives
Claude ne remplace pas BWEB, il l'alimente.