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 developpeur 4D doit pouvoir creer 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 organise 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 element 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 ecran
md768pxTablette
lg1024pxPortable
xl1280pxDesktop
2xl1536pxGrand ecran

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 controler la visibilite des blocs :

MecanismeDescriptionExemple
linkedLie la visibilite d un bloc a un autreUn panneau de detail s affiche quand une ligne est selectionnee
effectEffet d apparitionfade, slide
conditionalDisplayCondition basee sur les donneesEntity#null, isPublished=true

Variables process et persistance

BWEB gere l etat cote serveur, pas cote client :

  • L Entity persiste pendant la session via les variables process
  • Pas d etat 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.