Chapitre 3 Préparation des bases de données pour la Publication Web personnalisée. Filemaker Server 11
Chapitre 3
Préparation des bases de données pour la Publication Web personnalisée
Avant d’utiliser la Publication Web personnalisée avec une base de données, vous devez préparer la base de données et la protéger contre les accès non autorisés.
Activation de la publication Web personnalisée avec PHP pour les bases de données
Vous devez activer la publication Web personnalisée avec PHP dans chaque base de données que vous souhaitez publier. Sinon, les utilisateurs Web ne pourront pas utiliser la publication Web personnalisée pour accéder à la base de données, même si elle est hébergée par un serveur FileMaker configuré pour prendre en charge un moteur de publication Web.
Pour activer la Publication Web personnalisée pour une base de données :
1. Dans FileMaker Pro, ouvrez la base de données que vous souhaitez publier en utilisant un compte bénéficiant du jeu de privilèges d’accès Accès intégral ou Gérer les autorisations étendues.
2. Attribuez le privilège d’accès étendu fmphp à un ou plusieurs jeux de privilèges d’accès pour activer la publication Web personnalisée avec PHP.
3. Attribuez les jeux de privilèges d’accès avec privilège d’accès étendu Publication Web personnalisée aux comptes concernés (par exemple, les comptes Admin et Invité).
Important
Au moment de définir les noms des comptes et les mots de passe relatifs aux solutions de publication Web personnalisée, utilisez les caractères ASCII imprimables, par exemple a-z, A-Z et 0-9.
Pour sécuriser davantage encore les noms des comptes et les mots de passe, intégrez des caractères autres qu’alphanumériques tels qu’un point d’exclamation (!) ou le symbole de pourcentage (%). Les deux-points (:) sont interdits. Pour plus d’informations sur la configuration de comptes, consultez l’aide de FileMaker Pro.
4. A l’aide de l’Admin Console de FileMaker Server, vérifiez que l’hébergement de la base de données est correctement configuré, et qu’elle est accessible au serveur FileMaker. Pour obtenir des instructions, consultez l’aide de FileMaker Server.
Remarque
La publication Web personnalisée avec PHP n’utilisant pas des sessions de base de données permanentes, les références à une source de données ODBC externe dans le graphe de liens de FileMaker
Pro peuvent limiter les fonctionnalités disponibles pour votre solution PHP. Si votre base de données accède aux données d’une source de données SQL externe, vous ne pourrez probablement pas mettre à jour les données d’enregistrement de la table externe.
20 Publication Web personnalisée de FileMaker Server avec PHP
Création de modèles pour la publication Web personnalisée avec PHP
La publication Web personnalisée avec PHP ne fournit pas un accès direct aux données d’une base de données FileMaker Pro, mais utilise les modèles définis dans les bases de données. Bien qu’il n’y ait pas d’obligation de créer un modèle unique pour la publication Web personnalisée avec PHP, la création d’un modèle spécifique pour une solution PHP peut présenter des avantages :
1
Améliorez la performance en créant un modèle limité aux rubriques, aux étiquettes et aux tables externes que vous avez besoin d’intégrer à la solution PHP.
1
Simplifiez votre code PHP en réduisant le traitement des données car les enregistrements contiennent moins de rubriques.
1
Séparez le travail de conception d’interface des données afin d’adapter l’interface à l’utilisateur Web.
Protection de vos bases de données publiées
La publication Web personnalisée avec PHP vous permet de restreindre l’accès à vos bases de données publiées. Vous pouvez utiliser les méthodes suivantes :
1
Demander des mots de passe pour les comptes de base de données utilisés pour la publication Web personnalisée avec PHP.
1
Activer le privilège étendu Publication Web personnalisée avec PHP uniquement dans les jeux de privilèges d’accès auxquels vous souhaitez autoriser l’accès.
1
Désactiver la publication Web personnalisée avec PHP pour une base de données spécifique en désélectionnant le privilège étendu fmphp pour tous les jeux de privilèges d’accès de cette base de données. Consultez l’Aide FileMaker Pro.
1
Activer ou désactiver la publication Web personnalisée pour toutes les solutions de publication Web personnalisée dans le moteur de publication Web à l’aide de l’Admin Console de FileMaker Server.
Reportez-vous au Guide de démarrage de FileMaker Server et à l’aide de FileMaker Server.
1
Configurez votre serveur Web de façon à restreindre les adresses IP ayant accès à vos bases de données via le moteur de publication Web. Par exemple, indiquez que seuls les utilisateurs Web utilisant l’adresse
IP 192.168.100.101 sont autorisés à accéder à vos bases de données. Pour plus d’informations sur la restriction d’adresses IP, consultez la documentation de votre serveur Web.
1
Utilisez le cryptage Secure Socket Layer (SSL) pour les communications entre votre serveur Web et vos navigateurs Web. Le cryptage SSL convertit les informations échangées entre les serveurs et les clients en informations incompréhensibles, grâce à l’utilisation de formules mathématiques appelées
algorithmes de cryptage. Ces algorithmes sont utilisés pour retransformer les informations en données lisibles via des clés de cryptage. Pour plus d’informations sur l’activation et la configuration de SSL, consultez la documentation de votre serveur Web.
Pour plus d’informations sur la protection de votre base de données, reportez-vous au Guide de l’utilisateur
de FileMaker Pro, disponible au format PDF à l’adresse http://www.filemaker.fr/support/product/ documentation.html.
Chapitre 3
|
Préparation des bases de données pour la Publication Web personnalisée 21
Accès à une base de données protégée
Lorsqu’un utilisateur Web accède à une base de données en utilisant une solution PHP, le code PHP doit fournir les informations d’authentification requises pour accéder à la base de données à l’aide de l’API
FileMaker pour PHP. Si le compte Invité de la base de données est désactivé ou si le privilège étendu fmphp n’est pas activé pour ce compte, l’API FileMaker pour PHP renvoie une erreur et votre code PHP doit fournir les informations de connexion de l’utilisateur.
Le didacticiel de l’API FileMaker pour PHP inclut un exemple montrant comment utiliser la méthode setProperty() pour définir le nom d’utilisateur et le mot de passe d’une base de données protégée. Consultez
la section « Didacticiel API FileMaker pour PHP », page 34.
PHP Site Assistant prend en charge deux options permettant d’accéder aux bases de données protégées :
1
le code PHP peut inviter l’utilisateur Web à s’authentifier lors de l’accès au site ;
1
le code PHP peut stocker le nom de compte et le mot de passe de la base de données dans les fichiers
PHP du site.
Pour plus d’informations, reportez-vous à l’Aide de PHP Site Assistant.
La liste suivante récapitule le processus qui se produit lors de l’utilisation de la publication Web personnalisée pour accéder à une base de données :
1
Si aucun mot de passe n’a été attribué à un compte activé pour la publication Web personnalisée, la solution PHP doit fournir le nom de compte uniquement.
1
Si le compte Invité est désactivé, la solution PHP doit fournir un nom de compte et un mot de passe.
La solution PHP peut soit inviter l’utilisateur Web à fournir un nom de compte et un mot de passe, soit stocker le nom de compte et le mot de passe dans le code PHP. Le privilège d’accès étendu fmphp doit
être activé pour le compte.
1
Si le compte Invité est activé et que le privilège d’accès étendu fmphp est également activé :
1
La solution PHP n’a pas besoin d’inviter l’utilisateur Web à fournir un nom de compte et un mot de passe lors de l’ouverture d’un fichier. Tous les utilisateurs Web se connectent automatiquement avec le compte Invité et héritent des privilèges d’accès de celui-ci.
1
Les privilèges par défaut des comptes Invité fournissent un accès en lecture seule. Vous pouvez modifier les privilèges par défaut de ce compte, notamment les privilèges étendus. Consultez l’aide
FileMaker Pro.
1
La solution PHP peut utiliser l’action de script Reconnexion pour autoriser les utilisateurs à se connecter en utilisant un compte différent (par exemple, pour passer d’un compte Invité à un compte disposant de privilèges d’accès supplémentaires). Consultez l’aide FileMaker Pro. Toutefois, les connexions PHP n’utilisant pas des sessions de base de données permanentes, la solution PHP doit stocker le nom de compte et le mot de passe afin de les utiliser pour chaque requête suivante.
Remarque
Par défaut, les utilisateurs Web ne peuvent pas modifier le mot de passe de leur compte depuis un navigateur Web. Vous pouvez activer cette fonction dans une base de données grâce à l’action de script Modifier le mot de passe, qui permet aux utilisateurs Web de changer leur mot de passe depuis un navigateur. Consultez l’aide FileMaker Pro.
22 Publication Web personnalisée de FileMaker Server avec PHP
Publication du contenu des rubriques Multimédia sur le Web
Le contenu d’une rubrique Multimédia, tel qu’un fichier image, peut être stocké au sein d’une base de données FileMaker ou sous la forme d’une référence externe par le biais d’un chemin d’accès relatif.
Pour utiliser le contenu des rubriques Multimédia dans une solution PHP :
1
Utilisez des balises HTML correctes pour indiquer le type d’objet compatible avec le Web et contenu dans la rubrique Multimédia. Créez ensuite une chaîne d’URL représentant le chemin du fichier de l’attribut source de la balise HTML.
<IMG src="img.php?-url=<?php echo urlencode($record->getField('Cover Image')); ?>">
1
Utilisez l’API FileMaker pour PHP pour définir l’objet de base de données avec les informations d’authentification appropriées (nom de compte et mot de passe), puis utilisez la méthode getContainerData() pour extraire les données de la rubrique Multimédia.
$fm = & new FileMaker();
$fm->setProperty('database', $databaseName);
$fm->setProperty('username', $userName);
$fm->setProperty('password', $passWord); echo $fm->getContainerData($_GET['-url']);
Le didacticiel de l’API FileMaker pour PHP inclut des exemples montrant comment utiliser les rubriques
Multimédia. Consultez la section « Didacticiel API FileMaker pour PHP », page 34.
En outre, si une rubrique Multimédia contient une référence de fichier, vous devez suivre les étapes suivantes pour publier les fichiers référencés à l’aide du moteur de publication Web :
1. Stockez les fichiers d’objet Multimédia dans le dossier Web, situé dans le dossier FileMaker Pro.
2. Dans FileMaker Pro, insérez les objets dans la rubrique Multimédia et sélectionnez l’option Stocker uniquement la référence au fichier.
3. Copiez ou déplacez les fichiers d’objet référencé du dossier Web vers le même emplacement relatif, dans le dossier racine du logiciel de serveur.
1
Pour IIS (Windows) : <disque>:\Inetpub\wwwroot où <disque> est le disque sur lequel réside le composant Moteur de publication Web de votre déploiement de serveur FileMaker.
1
Pour Apache (Mac OS) : /Bibliothèque/WebServer/Documents
Remarques
1
Pour les objets Multimédia stockés sous forme de référence externe, votre serveur Web doit être configuré pour prendre en charge les types MIME (Multipurpose Internet Mail Extensions) correspondant aux types de fichiers que vous souhaitez publier, par exemple des vidéos. Votre serveur Web détermine la prise en charge des types MIME actuellement enregistrés pour Internet. Le moteur de publication Web ne change pas la prise en charge MIME du serveur Web. Pour plus d’informations, consultez la documentation de votre serveur Web.
1
Toutes les séquences QuickTime sont stockées dans une rubrique Multimédia sous forme de référence.
Chapitre 3
|
Préparation des bases de données pour la Publication Web personnalisée 23
Affichage des données d’une rubrique Multimédia par les utilisateurs Web
Lorsque vous publiez une base de données à l’aide d’un moteur de publication Web, les limites suivantes s’appliquent aux données des rubriques Multimédia :
1
Les utilisateurs Web ne peuvent pas écouter les sons ou afficher les objets OLE dans une rubrique
Multimédia. Une image apparaît à leur place.
1
Les utilisateurs Web ne peuvent pas modifier ni compléter le contenu des rubriques Multimédia.
Les utilisateurs Web ne peuvent pas utiliser les rubriques Multimédia pour télécharger des données vers la base de données.
1
Si votre base de données contient des graphiques dans des formats autres que GIF ou JPEG, le moteur de publication Web crée une image JPEG temporaire lorsqu’un navigateur Web effectue une requête sur des données graphiques.
1
Le moteur de publication Web ne prend pas en charge la lecture en direct de fichiers vidéo.
Les utilisateurs Web doivent télécharger l’intégralité d’un fichier vidéo pour pouvoir le visualiser.
Scripts FileMaker et Publication Web personnalisée
La fonction ScriptMaker de FileMaker Pro peut automatiser les tâches fréquentes ou combiner plusieurs actions. Lorsque les scripts FileMaker sont utilisés avec la publication Web personnalisée, ils permettent aux utilisateurs Web d’exécuter une série de tâches. Les scripts FileMaker permettent également d’exécuter des tâches non prises en charge autrement, telles que l’utilisation de l’action de script Modifier le mot de passe pour permettre aux utilisateurs Web de modifier les mots de passe à partir d’un navigateur.
FileMaker prend en charge plus de 75 actions de script dans la publication Web personnalisée. Pour visualiser les actions de script non prises en charge, sélectionnez Publication Web dans la liste Afficher la compatibilité de la fenêtre Modifier le script de FileMaker Pro. Les actions de script grisées ne sont pas prises en charge sur le Web. Pour obtenir des informations sur la création de scripts, consultez l’aide de FileMaker Pro.
Astuces et considérations à propos des scripts
Bien qu’un grand nombre d’actions de script fonctionnent de manière identique sur le Web, plusieurs
fonctionnent différemment. Consultez la section « Comportement des scripts dans les solutions de
qui seront exécutés depuis un navigateur Web. Veillez à vous connecter avec différents comptes d’utilisateur, afin de vous assurer qu’ils fonctionnent comme prévu pour tous les clients.
Gardez à l’esprit les astuces et considérations suivantes :
1
Utilisez les comptes et les privilèges d’accès pour restreindre l’ensemble des scripts pouvant être exécutés par un utilisateur Web. Vérifiez que les scripts contiennent exclusivement des actions compatibles avec le Web et donnent uniquement accès aux scripts pouvant être utilisés depuis un navigateur Web.
1
Pensez aux effets secondaires des scripts qui exécutent une combinaison d’actions contrôlées par des privilèges d’accès. Par exemple, si un script comporte une action visant à supprimer des enregistrements et qu’un utilisateur Web ne se connecte pas avec un compte permettant la suppression d’enregistrements, le script n’exécutera pas l’action Supprimer des enregistrements. L’exécution du script peut néanmoins se poursuivre et mener à des résultats inattendus.
24 Publication Web personnalisée de FileMaker Server avec PHP
1
Dans la fenêtre Modifier le script de ScriptMaker, sélectionnez Exécuter le script avec tous les privilèges d’accès pour permettre aux scripts d’effectuer des actions auxquelles les utilisateurs individuels n’ont normalement pas accès. Par exemple, vous pouvez empêcher les utilisateurs de supprimer des enregistrements en limitant leurs comptes et leurs privilèges d’accès, tout en leur permettant d’exécuter un script visant à supprimer certains types d’enregistrements dans les conditions définies au sein du script.
1
Si vos scripts comportent des actions non prises en charge, par exemple des actions incompatibles avec le Web, utilisez l’action de script Autoriser annulation utilisateur pour déterminer le traitement des actions suivantes.
1
Si l’option d’action de script Autoriser annulation utilisateur est activée, les actions de script non prises en charge empêchent la poursuite du script.
1
Si l’option d’action de script Autoriser annulation utilisateur est désactivée, les actions de script non prises en charge sont ignorées et l’exécution du script se poursuit.
1
Si cette action de script n’est pas incluse, les scripts sont exécutés comme si la fonctionnalité était activée, c’est-à-dire que les actions de script non prises en charge interrompent l’exécution du script.
1
Certains scripts fonctionnant avec une action d’un client FileMaker Pro peuvent nécessiter une action
Valider enreg./requêtes supplémentaires pour enregistrer les données sur l’hôte. Comme les utilisateurs
Web ne bénéficient pas d’une connexion directe à l’hôte, ils ne sont pas informés des modifications de données. Par exemple, des fonctions comme les listes de valeurs conditionnelles ne présentent pas la même réactivité pour les utilisateurs Web car les données doivent être enregistrées sur l’hôte avant que leurs effets ne soient visibles dans la rubrique Liste de valeurs.
1
Tout script modifiant des données doit inclure l’action Valider enreg/requêtes, car toutes les modifications de données ne seront pas visibles dans le navigateur tant que les données ne sont pas sauvegardées ou « soumises » au serveur. Ceci inclut plusieurs actions de script telles que Couper,
Copier, Coller, etc. De nombreuses actions de script uniques doivent être converties en script pour inclure l’action Valider enreg/requêtes. Lors de la conception de scripts destinés à être exécutés depuis un navigateur
Web, incorporez l’action Valider enreg./requêtes en fin de script pour garantir l’enregistrement de toutes les modifications.
1
Pour créer des scripts conditionnels basés sur le type de client, utilisez la fonction Obtenir
(VersionApplication). Si la valeur renvoyée comprend « moteur de publication Web », vous savez que l’utilisateur actuel accède à votre base de données à l’aide de la publication Web personnalisée.
Consultez l’Aide de FileMaker Pro pour de plus amples informations sur les fonctions.
1
Après la conversion de vos fichiers, vous devez ouvrir chacun des scripts que les utilisateurs Web peuvent exécuter, puis sélectionner Publication Web dans la liste Afficher la compatibilité de la fenêtre Modifier le script pour vérifier que le script s’exécute correctement avec la Publication Web instantanée.
Chapitre 3
|
Préparation des bases de données pour la Publication Web personnalisée 25
Comportement des scripts dans les solutions de Publication Web personnalisée
Les actions de script suivantes ne fonctionnent pas comme dans FileMaker Pro quand elles sont utilisées sur le Web. Pour obtenir des informations sur toutes les actions de script, consultez l’aide de FileMaker Pro.
Action de script
Exécuter script
Quitter application
Autoriser annulation utilisateur
Gestion erreurs
Suspendre/reprendre script
Comportement dans les solutions de Publication Web personnalisée
Les scripts ne peuvent pas s’exécuter dans d’autres fichiers, sauf quand ces fichiers sont hébergés par FileMaker Server et que la Publication Web personnalisée est activée dans les autres fichiers.
Déconnecte les utilisateurs Web, ferme toutes les fenêtres mais ne quitte pas le navigateur Web.
Détermine comment les actions de script non prises en charge sont gérées. Activez cette option pour empêcher la poursuite des scripts, ou désactivez-la pour ignorer les actions non prises en charge. Pour
Remarque
Les utilisateurs Web ne peuvent pas annuler les scripts de Publication Web personnalisée mais cette option permet aux actions de script non prises en charge d’empêcher la poursuite du script.
Toujours activé avec la Publication Web personnalisée. Les utilisateurs Web ne peuvent pas annuler les scripts de Publication Web personnalisée.
Bien que ces actions de script soient prises en charge par la publication Web personnalisée, il faut
éviter de les employer. Lorsqu’une action de script est suspendue, l’exécution du script l’est
également. Seul un script contenant l’action de script Reprendre script permet de procéder à une reprise. Si l’exécution du script reste suspendue jusqu’à expiration de la session, le script n’est pas terminé.
Trier les enregistrements Avec l’action de script Trier enregistrements, vous devez enregistrer un ordre de tri à exécuter dans la Publication Web personnalisée.
Ouvrir URL
Activer rubrique
Cette action de script n’a aucun effet dans une solution de Publication Web personnalisée.
Vous ne pouvez pas utiliser l’action de script Activer rubrique pour activer une rubrique donnée dans le navigateur Web, mais vous pouvez l’employer conjointement à d’autres actions de script pour effectuer des opérations. Par exemple, vous pouvez activer une rubrique, copier son contenu, activer une autre rubrique et y coller la valeur. Pour visualiser l’effet dans le navigateur, assurez-vous de sauvegarder l’enregistrement avec l’action de script Valider enregistrement.
Validation enreg./requêtes
Soumet les enregistrements à la base de données.
Déclencheurs de scripts et solutions de Publication Web personnalisée
Dans FileMaker Pro, les actions de scripts et les actions des utilisateurs (le fait de cliquer dans une rubrique par exemple) peuvent activer les déclencheurs de script. Cependant, dans la Publication Web personnalisée, les scripts sont les seuls à pouvoir activer les déclencheurs de script. Par exemple, si un utilisateur de la
Publication Web instantanée clique dans une rubrique possédant un déclencheur de script SurEntreeObjet, le déclencheur n’est pas activé. Toutefois, si un script provoque le déplacement dans la rubrique, alors le déclencheur de script SurEntreeObjet est activé. Pour plus d’informations sur les déclencheurs de scripts, consultez l’aide FileMaker Pro.
26 Publication Web personnalisée de FileMaker Server avec PHP

Link pubblico aggiornato
Il link pubblico alla tua chat è stato aggiornato.