Vue d’ensemble de la logique serveur

La logique du serveur Power Pages permet aux créateurs d’exécuter JavaScript en toute sécurité sur le serveur, en ajoutant l’extensibilité directement au runtime du site.
 
Étant donné que la logique serveur s’exécute sur le serveur, elle est masquée dans le navigateur et protégée par les rôles web et les autorisations de table. Vous ajoutez une logique dans Power Pages design Studio et créez-la à l’aide de Visual Studio Code, qui fournit IntelliSense et la validation au moment de la compilation.

Dataverse stocke le code et la configuration. Ainsi, la logique serveur bénéficie des mêmes pipelines de gestion et de déploiement de cycle de vie que d’autres composants Power Pages.

Flux logique du serveur

Support linguistique

La logique serveur permet aux développeurs d’écrire du code JavaScript natif conforme à la norme ECMAScript 2023 sans prise en charge des API de navigateur (telles que les API DOM ou fetchXMLHttpRequest). Certains modèles non sécurisés ou restreints sont également bloqués pour garantir l’exécution sécurisée. Pour plus d’informations, consultez Limitations de la logique du serveur de création.

Ce que vous pouvez faire avec la logique serveur

La logique serveur dans Power Pages permet aux créateurs et aux développeurs de déplacer des opérations critiques du navigateur vers le serveur pour améliorer le contrôle, l’extensibilité et la sécurité. Il permet à votre site d’effectuer des tâches et des intégrations complexes sans exposer de logique ou de données sensibles côté client.

À l’aide de la logique du serveur, vous pouvez :

  • Connectez-vous aux services et API externes : intégrez en toute sécurité aux API REST, Azure Functions ou d’autres systèmes métier pour échanger des données, déclencher des actions ou récupérer des informations dynamiques.
  • Effectuez des opérations de données sécurisées : exécutez des opérations Dataverse( telles que l’interrogation, la mise à jour ou la suppression d’enregistrements) sur le serveur, l’application cohérente de la logique métier et la validation.
  • Exécutez une logique et des transformations personnalisées : traitez ou manipulez des données avant de les retourner au client. Par exemple, calculez des totaux, validez des règles métier ou enrichissez des données à l’aide de recherches externes.
  • Renvoyer les réponses traitées aux pages : envoyez uniquement les données requises et filtrées aux pages clientes, ce qui garantit un rendu plus rapide et une réduction des charges utiles.
  • Simplifiez l’authentification sécurisée : gérez les informations d’identification du service et les clés API sur le serveur plutôt que dans le code client, en conservant des pratiques d’intégration sécurisées et conformes.

Avantages de l’utilisation de la logique serveur

La logique de serveur apporte une extensibilité de niveau entreprise à Power Pages, ce qui aide les organisations à créer des expériences web plus sécurisées, évolutives et pouvant être gérées.

Les principaux avantages sont les suivants :

  • Sécurité renforcée : exécutez et stockez la logique métier, les secrets et les clés API sur le serveur, ne les exposez jamais dans le navigateur ou aux utilisateurs finaux.
  • Flexibilité de l’intégration : connectez Power Pages de manière transparente avec des systèmes externes, notamment Azure Functions, des API REST, des actions Dataverse et des services métier.
  • Amélioration des performances et de l’efficacité : déchargez les calculs lourds, les validations et le traitement des données sur le serveur, réduisant ainsi la charge de travail côté client et améliorant la réactivité des pages.
  • Cohérence entre les canaux : appliquez la même logique sur les pages web, les formulaires et les intégrations, ce qui garantit la validation et le comportement uniformes des données dans l’application.
  • Maintenance centralisée : mettez à jour ou affinez la logique à un seul endroit sans redéployer ou modifier plusieurs scripts ou pages clients.

Sécuriser la logique du serveur

Pour exécuter du code dans la logique du serveur, les utilisateurs doivent disposer des autorisations appropriées configurées par le créateur. L’accès est régi par les rôles web et les autorisations de table, qui déterminent également si la logique serveur peut accéder à des tables spécifiques.

Authentifier l’API logique du serveur

Vous n’avez pas besoin d’inclure de code d’authentification personnalisé. L’authentification et l’autorisation sont gérées par la session d’application. Tous les appels d’API logique serveur doivent inclure un jeton CSRF (Cross-Site Request Forgery).

Paramètre de gouvernance pour les appels de services externes

La logique serveur peut se connecter à des API REST externes, à Azure Functions et à d’autres systèmes métier pour effectuer des intégrations côté serveur. Pour empêcher l’exfiltration des données, les administrateurs clients peuvent bloquer les appels HTTP sortants effectués par la logique serveur sur un site par site. Lorsque ce contrôle de gouvernance est appliqué, tout appel HTTP sortant tenté par la logique du serveur échoue. Pour plus d’informations, consultez désactiver les appels de service externe à partir de la logique du serveur.

Paramètres du site

Utilisez les paramètres de site facultatifs suivants pour configurer la logique du serveur :

Nom Description Default
ServerLogic/Activé Activer/désactiver la fonctionnalité true
ServerLogic/AllowedDomains Restreindre les domaines externes qui peuvent être appelés Tous les domaines autorisés
ServerLogic/TimeoutInSeconds Durée d’exécution maximale (en secondes). Le délai d’expiration peut être augmenté jusqu’à 240 secondes 120
ServerLogic/AllowNetworkingToAllDomains Autoriser la mise en réseau entre les domaines Vrai

URL de l’API logique serveur

Construisez l’URL de l’API à l’aide de ce format :

https://<site-url>/_api/serverlogics/<server-logic-name>  
Exemple :

https://contoso.powerappsportals.com/_api/serverlogics/exchangerate

 

Méthodes HTTP prises en charge

La logique serveur prend en charge les méthodes HTTP standard pour effectuer des opérations sur des données ou interagir avec des services externes. Chaque méthode est mappée à une fonction que vous définissez dans votre code logique serveur.

Méthode Signature de fonction Usage Description
GET function get() { } Récupérer des données.  Permet d’extraire des données à partir de Dataverse, d’API externes ou d’une logique métier personnalisée. Idéal pour les opérations en lecture seule où aucune modification de données n’est apportée.
PUBLIER function post() { } Créez des enregistrements ou envoyez de nouvelles données.  Couramment utilisé pour insérer de nouveaux enregistrements dans Dataverse ou envoyer des données à des systèmes externes. Adapté aux soumissions de formulaires ou aux flux de travail qui doivent créer ou déclencher des actions.
METTRE function put() { } Remplacez ou mettez à jour les enregistrements.  Met à jour ou remplace un enregistrement ou un jeu de données entier. Généralement utilisé pour les mises à jour complètes ou les scénarios de synchronisation.
PATCH function patch() { } Met à jour une partie d’un enregistrement (upsert).  Effectue une mise à jour partielle des données existantes sans remplacer l’enregistrement entier. Utilisez cette méthode lorsque seuls des champs spécifiques doivent être modifiés.
SUPPRIMER function del() { } Supprimez des enregistrements ou des champs.  Supprime des enregistrements ou des données de Dataverse ou d’un système externe. Doit être utilisé avec prudence pour éviter toute perte involontaire de données.

Étape suivante

Écrire une logique de serveur

Objets de serveur
Comment interagir avec des tables Dataverse à l’aide de la logique serveur