4D et 4D Server contiennent un serveur Web (aussi appelé serveur HTTP) vous permettant de publier de manière transparente et dynamique les données de vos bases sur le Web.
Cette section présente les étapes nécessaires au lancement du serveur Web et à la connexion de navigateurs, ainsi que les process de gestion des connexions.
Pour pouvoir lancer le serveur HTTP de 4D ou de 4D Server, vous devez disposer des éléments décrits ci-dessous :
- une licence "4D Web Application". Pour plus d'informations sur ce point, reportez-vous au guide d'installation de 4D.
- les connexions Web sont effectuées par le biais du protocole réseau TCP/IP. Par conséquent :
- le protocole TCP/IP doit être installé et correctement configuré sur votre machine. Reportez-vous à la documentation de votre ordinateur ou de votre système d'exploitation pour plus d'informations sur ce point.
- Si vous voulez utiliser le protocole SSL pour vos connexions, assurez-vous que les composants nécessaires sont correctement installés (reportez-vous à la section Utiliser le protocole SSL).
- Une fois les points précédents contrôlés et réglés, vous devez démarrer le serveur Web depuis 4D. Ce point est traité plus loin dans cette section.
Par défaut, tout poste client 4D peut publier sur le Web la base à laquelle il est connecté. Vous pouvez toutefois contrôler la possibilité de publication Web de chaque poste 4D distant en utilisant le système de mots de passe de 4D.
En effet, les licences Web 4D sont considérées par 4D Server comme des licences de plug-ins. Ainsi, comme pour un plug-in, vous pouvez restreindre le droit d’utiliser les licences Web Server à un groupe d’utilisateurs spécifique.
Pour cela, affichez la page Groupes dans la Boîte à outils depuis 4D (vous devez disposer des autorisations d’accès adéquates pour modifier ces paramètres).
Sélectionnez un groupe dans la liste de gauche, puis cochez l'option Accès en regard de la ligne 4D Client Web Server dans la zone de répartition des plug-ins :
![](../../picture/855204/pict855204.fr.png)
Ci-dessus : seuls les utilisateurs appartenant au groupe “Web” sont autorisés à publier leur 4D en tant que serveur Web.
Sous Mac OS X, l’utilisation des ports TCP/IP réservés à la publication Web (ports 0 à 1023) requiert des privilèges d’accès spécifiques. Pour que vous puissiez utiliser ces ports, 4D fournit un programme utilitaire nommé HelperTool. Lorsque ce programme est installé, il récupère les privilèges adéquats et prend automatiquement en charge l’ouverture des ports Web. Ce mécanisme fonctionne avec 4D (tous modes), 4D Server et les applications exécutables 4D Volume Desktop.
L'application HelperTool est incluse dans le progiciel 4D. L’installation s’effectue automatiquement lors de la première ouverture d’un port de numéro <1024 sur le poste. L’utilisateur est informé qu’un outil va être installé et est invité à saisir un nom et un mot de passe d’administrateur de la machine. Cette opération n’a lieu qu’une seule fois.
L’application est renommée "com.4D.HelperTool" et est installée dans le dossier "/Library/PrivilegedHelperTools/". Après la séquence initiale, le serveur Web de 4D peut être démarré et stoppé de façon transparente, quelle que soit la version de 4D.
Le serveur Web 4D peut être démarré de trois manières différentes :
- par l'intermédiaire du menu Exécution de 4D ou de la page Serveur HTTP de 4D Server (bouton Démarrer le serveur HTTP). Ces commandes vous permettent de lancer et d'arrêter le serveur Web à tout moment :
4D :
![](../../picture/37654/pict37654.fr.png)
4D Server :
![](../../picture/37655/pict37655.fr.png)
- par le démarrage automatique à chaque ouverture de l'application 4D. Pour cela, affichez la page Configuration du thème Web des Propriétés de la base :
![](../../picture/240303/pict240303.fr.png)
Dans la zone “Information de publication”, cochez la case Lancer le serveur Web au démarrage puis cliquez sur le bouton OK. La base sera désormais automatiquement publiée comme serveur Web chaque fois que vous l'ouvrirez avec 4D ou 4D Server.
Note : Il n'est pas nécessaire de rouvrir votre base de données pour lancer ou arrêter sa publication comme serveur Web. Vous pouvez interrompre et redémarrer le serveur Web autant de fois que vous voulez à l'aide du menu Exécution, du bouton Démarrer le serveur HTTP ou en appelant les commandes WEB DEMARRER SERVEUR et WEB ARRETER SERVEUR.
La commande Tester le serveur Web permet de contrôler le fonctionnement du serveur Web intégré (4D uniquement). Cette commande est accessible dans le menu Exécution lorsque le serveur Web est lancé :
![](../../picture/37657/pict37657.fr.png)
Lorsque vous sélectionnez cette commande, la page d’accueil du site Web publié par l’application 4D s’affiche dans une fenêtre de votre navigateur par défaut :
![](../../picture/240306/pict240306.fr.png)
Cette commande permet de vérifier le fonctionnement du serveur Web, l’affichage de la page d’accueil, etc. La page est appelée via l’URL Localhost, qui est le raccourci standard désignant l’adresse IP de la machine sur laquelle est exécuté le navigateur. La commande tient compte du numéro de port TCP de publication spécifié dans les Propriétés de l’application.
Une fois que vous avez lancé la publication d'une base 4D sur le Web, vous pouvez vous y connecter avec un navigateur Web. Pour cela :
- Si votre site Web dispose d'un nom d'hôte enregistré (par exemple, “www.bellesfleurs.com”), il vous suffit d'indiquer ce nom dans la zone "Ouvrir", "Adresse" ou encore "Lieu" du navigateur puis d'appuyer sur la touche Entrée pour vous connecter.
- Si votre site Web ne dispose pas d'un nom enregistré, indiquez l'adresse IP de la machine de la base (par exemple 123.4.567.89) dans la zone "Ouvrir", "Adresse" ou encore "Lieu" du navigateur puis appuyez sur la touche Entrée.
A cet instant, votre navigateur doit afficher la page d'accueil de votre site Web. Si vous avez publié une base en conservant les paramétrages standard, vous devez obtenir la page d'accueil par défaut du serveur Web de 4D. Cette page vous permet de tester la connexion et le fonctionnement du serveur.
Vous pouvez également rencontrer une des situations décrites ci-dessous.
Note : Si votre base est protégée par un système de contrôle d'accès, il se peut que vous ayez à saisir un nom et un mot de passe (pour plus d'informations, reportez-vous à la section Sécurité des connexions).
(1) La connexion échoue, vous obtenez un message du type “...le serveur n'accepte pas de connexions ou est occupé...”. Dans ce cas, effectuez les contrôles suivants :
- Vérifiez que le nom du serveur ou l'adresse IP que vous avez saisi(e) est correct(e).
- Vérifiez que 4D ou 4D Server est bien lancé et que le serveur Web a bien démarré.
- Vérifiez que la base de données est bien configurée pour être publiée sur le port TCP Web par défaut, c'est-à-dire 80 (voir aussi point 3).
- Vérifiez que le protocole réseau TCP/IP est correctement configuré sur la machine serveur et sur la machine du navigateur (les deux machines doivent se trouver sur le même réseau ou sous-réseau, ou les routeurs doivent être correctement configurés).
- Vérifiez les connexions physiques.
- Si vous ne testez pas localement votre propre site mais essayez de vous connecter à une base Web publiée sur Internet ou Intranet par quelqu'un d'autre, il se peut qu'en définitive le message décrive une situation réelle : le poste serveur peut être éteint ou occupé, dans ce cas vous pouvez tenter de vous connecter ultérieurement ou contacter l'administrateur du site Web.
(2) La connexion est établie, mais vous obtenez une erreur HTTP 404, “Fichier non trouvé”. Ce cas signifie que la page d'accueil du site n'a pu être servie. Dans ce cas, vérifiez que la page d'accueil existe bien à l'emplacement défini dans les Propriétés de la base (cf. section Paramétrages du serveur Web) ou à l'aide de la commande WEB FIXER PAGE ACCUEIL.
(3) La connexion est établie, mais vous n'obtenez pas la page Web que vous attendiez ! Cela peut se produire lorsque plusieurs serveurs Web sont exécutés simultanément sur la même machine. Par exemple :
- Vous avez lancé une seule base Web 4D, mais sur un système Windows qui exécute déjà son propre serveur Web.
- Vous avez lancé plusieurs bases Web 4D sur la même machine.
Dans les cas décrits ci-dessus, il vous suffit de changer les numéros des ports TCP sur lesquels vos bases 4D Web sont publiées. Pour cela, reportez-vous à la section Paramétrages du serveur Web.
Chaque fois qu'un navigateur Web tente de se connecter à la base, la requête est gérée de la manière suivante :
- D'abord, un ou plusieurs process 4D locaux appelés Process de connexion Web sont créés pour gérer et évaluer la connexion au navigateur Web.
Ces process gèrent toutes les requêtes HTTP. Ils s'exécutent très rapidement puis sont “tués” ou endormis. En effet, à des fins d'optimisation du serveur Web, une fois qu'il a traité une requête, un process de connexion Web temporaire est gelé pendant quelques secondes pour être éventuellement réactivé lorsqu'une autre requête arrive. Ce mécanisme peut être ajusté (délai d'attente, nombre minimum et maximum de process à conserver dans la "réserve" de process) à l'aide de la commande FIXER PARAMETRE BASE.
- Le process Web prend alors en charge le traitement de la requête et l'envoi de la réponse éventuelle au navigateur. Le process temporaire est alors tué ou endormi (cf. ci-dessus).