Chapitre 3 Préparation des bases de données pour la publication Web personnalisée. Filemaker FileMaker Server 9
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 Accès intégral ou Gérer les privilèges étendus.
2. Attribuez le privilège étendu fmphp à un ou plusieurs jeux de privilèges pour activer la publication Web personnalisée avec PHP.
3. Attribuez les jeux de privilèges avec privilège é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 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 FileMaker Server Admin Console, 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 graphique des 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.
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.
18
Publication Web personnalisée de FileMaker Server avec PHP
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 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 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 FileMaker Server Admin Console. 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 www.filemaker.fr/downloads.
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 l'autorisation étendue fmphp n'est pas activée 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 rubrique
« Didacticiel API FileMaker pour PHP » page 27.
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 étendu fmphp doit être activé pour le compte.
Chapitre 3
|
Préparation des bases de données pour la publication Web personnalisée
19
1
Si le compte Invité est activé et que le privilège é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 autorisations d'accès de celui-ci.
1
Les autorisations par défaut des comptes Invité fournissent un accès en lecture seule. Vous pouvez modifier les autorisations 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 supplémentaires). Consultez l'Aide de 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 mot de passe, qui permet aux utilisateurs Web de changer leur mot de passe depuis un navigateur.
Consultez l'aide FileMaker Pro.
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 forme de 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 Web contenu dans la rubrique Multimédia, puis créez 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 rubrique « Didacticiel API FileMaker pour PHP » page 27.
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
20
Publication Web personnalisée de FileMaker Server avec PHP
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.
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 mot de passe pour permettre aux utilisateurs Web de modifier les mots de passe à partir d'un navigateur.
FileMaker prend en charge près de 70 actions de script dans la publication Web personnalisée. Pour connaître les actions de script non prises en charge, activez la case à cocher Indiquer la compatibilité Web dans la fenêtre
Modifier les scripts 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
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 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. 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.
Chapitre 3
|
Préparation des bases de données pour la publication Web personnalisée
21
1
Dans la fenêtre Modifier le script de ScriptMaker, sélectionnez Exécuter le script avec toutes les autorisations 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, 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émentaire 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 parce que les données doivent être enregistrées sur l'hôte avant que leurs effets 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
Une fois vos fichiers convertis, ouvrez chaque script susceptible d'être exécuté par les utilisateurs Web et activez Indiquer la compatibilité Web pour vous assurer que le script s'exécutera correctement avec la publication Web personnalisée.
22
Publication Web personnalisée de FileMaker Server avec PHP
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 plus d'informations, consultez la rubrique « Astuces et considérations
à propos des scripts », page 20.
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 enregistrements Un ordre de tri spécifique doit être enregistré avec l'action de script à 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.

公開リンクが更新されました
あなたのチャットの公開リンクが更新されました。