FAQ
Generalités
BWEB est un composant pour 4D qui permet de transformer toute application fonctionnant en mode projet en application full-web.
Un installeur automatique permet de mettre en place tous les composants nécessaires tels que Node.js, Tailwind, etc.
Une fois le serveur HTTP de 4D activé, en saisissant l’URL du serveur Web suivi de /bweb/ dans un navigateur on peut commencer à développer
Un ensemble complet de paramètres permet de définir son domaine, sa langue, l’arborescence, les header et footer génériques, etc.
Sur la partie droite de l’écran, le Dev Panel permettra de remplir chaque page avec différents objets statiques ou dynamiquement reliés à 4D, tout en gérant leur comportement selon les tailles d’écran, de mobile à extra-large
Sur la partie gauche de Rendering on verra en temps réel le résultat des manipulations du Dev panel
Les utilisateurs de Windows seront avantagés car ils pourront utiliser plusieurs écrans pour afficher chacun des deux panneaux en permanence ! Les utilisateurs Mac seront plus à l’aise avec un écran de grande taille.
Les utilisateurs finaux accèderont aux mêmes pages et verront exactement le même rendu que le développeur grâce aux droits plus limités de leur rôle.
Une des caractéristiques principales de 4D depuis plus de 40 ans est qu’il est « auto-suffisant ». Le côté monolithique qu’on lui reproche parfois est en fait un énorme avantage concurrentiel, en terme de stabilité, de performance, de rentabilité : 4D contient tout ce qu’il faut pour développer une application complète sur Mac et Windows, ce qui permet à l’expert 4D de se concentrer sur la logique métier de l’application, la compréhension du besoin des utilisateurs, sans investir une grande partie de son temps en veille technologique, en apprentissage d’autres langages, etc. ni devoir collaborer avec des experts d’autres langages.
Aujourd’hui, nous constatons que de plus en plus de clients finaux aimeraient utiliser leur application 4D préférée sur le Web, et ce pour de multiples raisons : pour l’utilisation sur tablettes et smartphones, pour s’affranchir des contraintes ou des baisses de performances du VPN ou des sessions distantes en télétravail, pour basculer dans le Cloud et ne plus gérer de parc de serveurs, pour moderniser leur interface avec des standards qu’ils manipulent au quotidien dans leur environnement, etc.
BWEB est une proposition (parmi d’autres) pour simplifier ce processus de développement. Il s’adresse aux développeurs 4D non spécialistes du Web qui souhaitent aussi bien étendre leur application existante avec des fonctionnalités Web avec un apprentissage le plus réduit possible, que développer de nouveaux projets Web pour répondre à la demande de leurs clients, avec leur seule expertise 4D.
Les développeurs déjà expérimentés en Web seront très rapidement à l’aise avec BWEB et apprécieront de pouvoir accéder nativement à toutes leurs données et fonctions 4D, de ne maintenir qu’une seule technologie dans leurs déploiements, et de pouvoir manipuler librement les fichiers custom.css et custom.js pour personnaliser leurs interfaces, ajouter des widgets avancés, etc.
- Utiliser 4D en version 20R9 ou supérieure
- Travailler en mode projet
- 4D monoposte en mode développement
- 4D Server + 4D Web Expansion for 4D Server en mode déploiement
- Les sessions évolutives (onglet Options 1 des propriétés Web) doivent être activées
Commercialisation
- Le développement avec BWEB est gratuit. Vous utilisez la licence Web incluse dans 4D Developer pour développer toute votre interface BWEB.
- Lorsque vous êtes prêt(e) à déployer votre projet avec 4D Server et sa licence 4D Web Server Expansion , vous devez acquérir un n° de série BWEB pour chaque instance de 4D Server
- Chaque licence BWEB coûte 690 € hors taxes. Elle est reliée de façon définitive à une instance de 4D Server
- En France, la TVA de 20% s’applique
- Dans la Communauté Economique Européenne la TVA s’applique pour les particuliers ou les entreprises ne disposant pas d’un n° de TVA intracommunautaire. Les entreprises qui possèdent un n° intracommunautaire sont exemptées de TVA
- En dehors de l’UE les ventes s’appliquent sans taxe
Jusqu’à 4D v20 R6 avec la commande GET SERIAL INFORMATION
A partir de 4D v20R7 avec la commande License Info (propriété « Key »)
En nous fournissant la clé de votre serveur, vous obtiendrez un n° de série unique de BWEB
Ce numéro sera valable pour toutes les sous-versions de 4D y compris les versions R. Par exemple si vous achetez une licence pour 4D v21 elle sera valable pour toutes les version v21.x ainsi que toutes les versions v21R.x
La licence de BWEB est perpétuelle. Vous l’utilisez sans limite de temps, y compris si vous avez souscrit au nouveau schéma d’abonnement de 4D Server, mais uniquement pour la gamme souscrite
Nous ne proposerons pas de tarif de mise à jour d'une version à une autre.
Pour passer d'une version 21 à une version 22 de 4D par exemple il faudra acquérir une nouvelle version de BWEB pour chaque 4D Server déployé
Formation
Pour utiliser BWEB vous devez maîtriser ORDA et le mode projet de 4D
Côté Web, nul besoin de connaissances approfondies. Certaines notions sont nécessaires pour comprendre la hiérarchie et le placement des objets dans une page Web, mais ces notions sont expliquées dans la documentation de BWEB.
La prise en main de BWEB nécessitera un temps d’adaptation qui devrait être rapide : nos tutoriels, nos démos, notre documentation et bien sûr notre support technique sont là pour vous aider.
Si vous maîtrisez déjà le développement Web et le framework Tailwind, et/ou le JavaScript vous pourrez intervenir directement dans les fichiers custom.css et custom.js pour intervenir à votre guise sur l’interface de votre projet.
Vous pouvez passer par notre formulaire de support pour nous questionner sur l’utilisation de BWEB
Vous pouvez également nous contacter si vous souhaitez un accompagnement personnalisé (formation, développement avancé, etc.)
Architecture
Pour utiliser la puissance de 4D quant à la récupération des données via des requêtes ORDA, tout en utilisant le cache de 4D, ce qui limite les accès disque du serveur pour une meilleure longévité.
Pour mettre à jour les pages créées et/ou modifiées en développement sur la base de production, tout peut se faire manuellement, mais des méthodes et CRON de dump et d'import sont également disponibles pour effectuer cette tâche de manière plus rapide et plus sûre.
Nous allons prochainement ajouter un chapitre dans la documentation pour traiter en détail ce sujet.
Merci de votre patience.
Nous pensons que 4D est un outil puissant capable d'être exploité à 100%, y compris pour développer pour le WEB. De ce postulat, nous avons choisi de conserver la logique du code dans 4D et de ne garder JavaScript que lorsque cela est nécessaire dans les interactions client. Dans REACT, la logique est déportée côté client, ce qui nous dérange d'un point de vue sécurité. De plus, nous avons privilégié le serveur web intégré dans 4D plutôt que le serveur REST qui serait plus adapté à REACT.
Pour développer avec BWEB, il faut être logué. Vous choisissez vous-même votre mot de passe et donc en êtes le seul détenteur. L'injection de code dans le dev-panel reste possible, mais celui-ci n'est disponible que pour les utilisateurs connectés avec l'utilisateur DEV. Bien que ce code utilisateur soit pour le moment unique, nous travaillons à une amélioration de cette partie en utilisant notre système de droit déjà présent.
En revanche, la modification du code HTML, ou l'utilisation d'un terminal comme Postman pour faire des envois de requêtes en POST ne pourront pas fonctionner si les prérequis ne sont pas présents ou si l'ensemble des éléments attendus sont absents ou incorrects. Une méthode de sécurité stricte a été mise en place en amont du "web on connection", permettant de restreindre tout accès qui semblerait frauduleux.
Pour un site vitrine, il est tout à fait possible de développer à plusieurs avec BWEB. La connexion au dev-panel étant possible depuis plusieurs navigateurs simultanés.
En revanche, si l'on souhaite modifier le code 4D pour une application web par exemple, 4D devra être en serveur comme pour tout développement en équipe avec 4D.
Nous prévoyons que grâce au web socket déjà présent, il sera possible de voir les pages modifiées en direct et de savoir qui est sur la même page en mode édition.
Un tunnel web socket entre le client et le serveur web est automatiquement créé dès la consultation d'une page. Il est donc disponible pour tout push éventuel qui serait codé par le développeur.
Bweb est multi-domaines et multi-langues. Il est donc tout à fait possible d'avoir plusieurs domaines hétérogènes tout comme d'avoir des sous-domaines. La seule problématique concerne la gestion des certificats SSL, car BWEB requiert d'être en HTTPS.
Les solutions possibles sont :
- utiliser un certificat wildcard pour des sous-domaines uniquement
- utiliser un certificat multi-domaines si les domaines sont hétérogènes
- mettre en place un proxy comme Nginx ou IIS devant le serveur 4D
Bien sûr qu'il est possible de faire des PWA (pour avoir une application installée, capable d'accéder à l'appareil photo, au mobile etc). Tout comme pour n'importe quel site web, il suffit de créer un fichier webmanifest à la racine du dossier BWEB (dossier paramétré en tant que webfolder) et de le remplir correctement. Nous vous laissons voir la documentation officielle des PWA.

