Installer BWEB

BWEB est livré dans le composant BSPK Tools, qui regroupe tous les outils BSPOKE : BWEB, l'ATL, l'exécution de code et de méthodes, l'éditeur d'objets JSON. L'installation se fait en deux temps : 4D charge le composant comme une dépendance de votre projet, puis l'assistant du composant installe BWEB dans votre base.

Avant de commencer

  • 4D 21. Le composant est construit pour 4D 21 : son numéro de version commence par celui de 4D (par exemple 21.6.85).
  • Un projet 4D, neuf ou existant, ouvert en local et non compilé : l'assistant refuse de s'exécuter dans les autres cas.
  • Un accès Internet au premier démarrage : 4D télécharge le composant et ses propres dépendances depuis GitHub, puis les garde en cache.
  • Node.js : BWEB en a besoin pour compiler ses feuilles de style. S'il est absent, l'assistant propose de l'installer.

1. Déclarer le composant

Le composant est publié sur GitHub, dans le dépôt public bspoke-dev/BSPK-Tools, où chaque version est listée. Vous le déclarez comme une dépendance de votre projet, depuis 4D :

  1. Menu Développement > Dépendances du projet.
  2. Cliquez sur le bouton + en bas de la fenêtre, puis choisissez l'onglet GitHub.
  3. Saisissez le chemin du dépôt : bspoke-dev/BSPK-Tools.
  4. Choisissez une version précise (un tag, par exemple 21.6.85) : vous décidez ainsi quand passer à la version suivante. Validez.
  5. La dépendance s'affiche avec le statut Disponible après redémarrage : redémarrez 4D.

Au redémarrage, le composant est téléchargé, et il tire lui-même les composants officiels de 4D dont il a besoin : vous n'avez rien d'autre à déclarer. La fenêtre des dépendances affiche alors BSPK Tools avec sa version, à côté de 4D NetKit, 4D Progress, 4D SVG et 4D Widgets.

La fenêtre ne fait qu'écrire le fichier Project/Sources/dependencies.json du projet. Vous pouvez aussi y déclarer le composant directement :

{
  "dependencies": {
    "BSPK Tools": {
      "github": "bspoke-dev/BSPK-Tools",
      "tag": "21.6.85"
    }
  }
}

Et le dossier Components ? Copier le composant dans le dossier Components du projet, comme pour les anciennes versions, fonctionne toujours. La dépendance est cependant la méthode recommandée : c'est la norme de 4D, et passer à une nouvelle version se fait depuis la fenêtre des dépendances, sans manipuler de dossier.

2. Lancer l'assistant

Exécutez la méthode _BSPK_LAUNCH. Elle ouvre le lanceur du composant, qui donne accès à tous les outils. Cliquez sur BWEB. Tant que BWEB n'est pas installé, le lanceur affiche d'abord Avant l'installation : la liste des modifications que l'installation apportera à votre base, établie d'après son état actuel. Lisez-la, puis cliquez sur J'ai pris connaissance de ces modifications et je les accepte. Acceptez la licence, puis cliquez sur Démarrer l'installation.

L'assistant affiche ses étapes et les coche au fur et à mesure. Elles se regroupent ainsi :

  1. Environnement : vérification des prérequis, installation de Node.js et npm si nécessaire, des bibliothèques, et compilation des feuilles de style.
  2. Serveur web : configuration du serveur web de 4D et installation des certificats SSL. L'assistant vous demande vos fichiers cert.pem et key.pem ; vous pouvez continuer sans, pour un essai local.
  3. Fichiers et méthodes : copie du dossier web, des fichiers de configuration et des méthodes BSPH_* dans votre projet ; modification des méthodes base On Startup, On Web Connection et On Exit (et leurs équivalents serveur). Le code existant de On Web Connection est mis en commentaire, ligne par ligne ; certaines lignes ajoutées, dont celle de la barre d'outils, le sont aussi : voir Le lanceur, le démarrage et la barre d'outils.
  4. Structure : création des tables BSPK_*, de leurs relations et de leurs index. Votre application redémarre à cette étape : c'est normal, et l'installation reprend d'elle-même.
  5. Premier domaine : l'assistant vous demande le nom de votre premier site, puis propose de l'ajouter au fichier hosts de la machine pour qu'il réponde en local. Modifier le fichier hosts demande les droits d'administrateur. Si vous refusez, ou si la modification échoue, l'étape s'affiche en erreur ; en cas d'échec, un message donne la ligne à ajouter vous-même.

Les tables BSPK_* ajoutées à votre structure sont celles de BWEB : ne les supprimez pas et ne les renommez pas.

L'installation copie aussi des modèles de fichiers de paramètres, dont DEV_PARAMETERS : une installation neuve démarre donc en mode DEV. Sur un serveur de production, supprimez DEV_PARAMETERS et PREPROD_PARAMETERS.

Installer BWEB dans une base qui a déjà du web

L'écran Avant l'installation détaille ces changements pour votre base. En résumé :

  • On Web Connection : son code est mis en commentaire, ligne par ligne, sous une ligne datée, et remplacé par l'appel à BWEB. Les routes qu'il traitait ne répondent plus tant que vous ne les avez pas reportées dans la méthode BSPH_WEB_ON_CONNECTION, que BWEB appelle à chaque requête. Elle reçoit l'adresse IP du client : $vo_Param.vt_Browser_IP, et vt_ClientIp, l'adresse réelle derrière un proxy déclaré. Pour traiter une requête vous-même, envoyez la réponse (WEB SEND TEXT…) et retournez Vrai ; retournez Faux, ou rien, pour laisser BWEB la traiter.
  • Réglages web : la racine HTML devient ./bweb et le mode de session passe à 1. Les pages servies depuis l'ancienne racine ne le sont plus.
  • Privilèges : roles.json est remplacé ; l'original est conservé dans roles.json.backup.
  • .gitignore : s'il existe, il est complété (fichiers de paramètres, état de l'installation, bweb_dependencies, CSS générée, certificats). Il n'est jamais créé.
  • Compilation : une méthode Compiler_BSPH est ajoutée. Elle déclare les variables des méthodes BSPH_* pour les bases dont la compilation exige que toutes les variables soient déclarées dans des méthodes Compiler_.

Il n'existe pas de désinstallation : ces modifications restent en place si vous retirez le composant.

3. Vérifier

À la fin, cliquez sur Tester BWEB dans le lanceur : votre navigateur ouvre l'administration de votre domaine, à l'adresse https://<votre domaine>/bweb. Si vous avez continué sans certificat, ou avec un certificat auto-signé, le navigateur affiche une alerte de sécurité : vous pouvez poursuivre pour un essai local.

Si la page de connexion s'affiche, BWEB est installé.

Et ensuite