---
sourceDocument: Yokohama Créer ou modifier des applications
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/yokohama/application-development

 Release :

    - yokohama

ft:locale :

    - fr-FR

ft:publication_title :

    - Yokohama Créer ou modifier des applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

Écriture de scripts côté serveur
================================

Écriture de scripts côté serveur {#ariaid-title1}
=================================================

* Rversion finale: Yokohama
* 
* Mis à jour 30 janv. 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute de lecture

Les scripts du serveur s'exécutent sur le serveur ou la base de données. Elles peuvent changer l'apparence ou le comportement de ServiceNow ou s'exécuter en tant que règles métier lorsque les enregistrements et les tables sont consultés ou modifiés.

Les API Glide côté serveur (interfaces de programmation d'applications) fournissent des classes et des méthodes que vous pouvez utiliser dans les scripts pour effectuer des tâches côté serveur.

Expressions de fonction immédiatement invoquées {#c_ServerScripting__section_qqw_jcd_vhb}
-----------------------------------------------------------------------------------------

Le système utilise des expressions de fonction immédiatement invoquées lorsqu'un script s'exécute dans un contexte unique, par exemple dans une [carte Créer une transformation](https://www.servicenow.com/docs/access?context=t_CreateATransformMap&version=yokohama&pubname=yokohama-integrate-applications&ft:locale=en-US). Les fonctions qui s'exécutent à partir de plusieurs contextes sont utilisées [Includes de script](https://servicenow-prod.fluidtopics.net/ir1NGjIjA3wddiycUAm7cQ#c_ScriptIncludes "Les includes de script sont utilisés pour stocker le code JavaScript qui s’exécute sur le serveur.") à la place.  
En enfermant un script dans une expression de fonction immédiatement invoquée, vous pouvez :

* Assurez-vous que le script n'a pas d'impact sur d'autres domaines du produit, par exemple en remplaçant les variables globales.
* Transmettre des variables ou des objets utiles en tant que paramètres.
* Identifiez les noms de fonctions dans les traces de pile.
* Éliminez la nécessité d'effectuer des appels de fonction distincts.
{#c_ServerScripting__ul_ghj_mfv_lx}

Une expression de fonction immédiatement invoquée suit le format suivant :

    (function functionName(parameter){
     
      //The script you want to run
     
    })('value');//Note the parenthesis indicating this function should run.

Vous pouvez déclarer des fonctions dans l'expression de fonction immédiatement invoquée. Ces fonctions internes ne sont accessibles qu'à partir de l'expression de fonction immédiatement invoquée.

    (function functionName(parameter){
     
      function helperFunction(parameter){//return some value}
     
      var value = helperFunction(parameter);//Valid function call.
     
      //perform any other script actions
     
    })('value');
     
    var value2 = helperFunction(parameter);//Invalid. This function is not accessible from outside the self-executing function.

* **[API du serveur Glide](https://servicenow-prod.fluidtopics.net/zsta9mEhkiOYhfmXGiukxg#p_GlideServerAPIs)**   
  ServiceNow fournit des API pour le serveur Glide.
* **[Règles métier classiques](https://servicenow-prod.fluidtopics.net/vVcN_aJgmEyORW~ghLIqkg#c_BusinessRules)**   
  Une règle métier est un script de serveur qui s'exécute lorsqu'un enregistrement est affiché, inséré, mis à jour ou supprimé, ou lorsqu'une table est interrogée.
* **[Includes de script](https://servicenow-prod.fluidtopics.net/ir1NGjIjA3wddiycUAm7cQ#c_ScriptIncludes)**   
  Les includes de script sont utilisés pour stocker le code JavaScript qui s'exécute sur le serveur.
* **[Processeurs](https://servicenow-prod.fluidtopics.net/XxP~YAgDxk39xYkHaBbQtA)**   
  Les processeurs fournissent un point de terminaison d'URL personnalisable qui peut exécuter du code JavaScript arbitraire côté serveur et produire des résultats tels que TEXT ou JSON. La création de processeurs personnalisés est déconseillée.
* **[Scripts : module Arrière-plan](https://servicenow-prod.fluidtopics.net/d1fDLFVTNiydTyIdH5wrpw)**   
  Les administrateurs peuvent utiliser le module Scripts - Arrière-plan pour exécuter du code JavaScript arbitraire à partir du serveur.
* **[Paramètres d'installation](https://servicenow-prod.fluidtopics.net/71nCF~wkwXT73Td0dDG6HA)**   
  Les paramètres d'installation sont des règles métier globales avec des noms calculés. Les paramètres d'installation sont calculés juste avant l'affichage d'un enregistrement et facilitent la détermination dynamique des accès et des rôles. Les paramètres d'installation permettent la détermination programmatique d'un paramètre.
* **[Utilisation de DurationCalculator pour calculer une date d'échéance](https://servicenow-prod.fluidtopics.net/cKFmWf0A72YzOJeWhT4NRw#c_DrtnClDueDate)**   
  À l'aide de l'include de script DurationCalculator, vous pouvez calculer une date d'échéance en utilisant une durée simple ou une durée relative basée sur les calendriers.
* **[Interrogation des tables dans le script](https://servicenow-prod.fluidtopics.net/YfIldShyA5GTA1BND_TRlw#c_UsingGlideRecordToQueryTables)**   
  À l'aide des méthodes de l'API GlideRecord, vous pouvez renvoyer tous les enregistrements d'une table, renvoyer des enregistrements d'une table qui répondent à des conditions spécifiques ou renvoyer des enregistrements qui incluent une chaîne d'une seule table ou de plusieurs tables dans un groupe d'index de texte.
* **[Exécuter automatiquement les guides de commande](https://servicenow-prod.fluidtopics.net/D11r6qX6ZnwTmiEvg0iGrw#c_RunningOrderGuidesAutomatically)**   
  Les guides de commande de Service Catalog permettent aux clients d'effectuer une seule demande de catalogue de services pouvant générer plusieurs éléments commandés. Les administrateurs peuvent configurer des guides de commande pour qu'ils s'exécutent automatiquement, à partir d'un workflow ou d'un script, afin de générer un ensemble d'éléments commandés sans soumettre manuellement une demande de catalogue de services. Les administrateurs peuvent également examiner et traiter à nouveau les défaillances du guide de commande.
* **[Affectation des plans d'exécution pouvant contenir des scripts](https://servicenow-prod.fluidtopics.net/EHAVmMtjdanvq9YVlZuoAQ#c_ScptblAsmtExctnPlns)**   
  Chaque élément de catalogue a un plan d'exécution associé, utilisé chaque fois qu'un élément de ce type est commandé ; Si aucun plan n'est spécifié, le plan par défaut est utilisé. Cette valeur par défaut s'applique à la plupart des organisations, mais votre plan d'exécution peut devoir varier en fonction de critères supplémentaires.
* **[Utilisation d'expressions régulières dans des scripts côté serveur](https://servicenow-prod.fluidtopics.net/CZ923mTsCDfeBVDaHs4Zcg)**   
  Les expressions régulières JavaScript utilisent automatiquement un moteur regex amélioré, qui offre des performances améliorées et prend en charge tous les comportements des expressions régulières standard tels que définis par Mozilla JavaScript. Le moteur regex amélioré prend en charge l'utilisation de la syntaxe Java dans les expressions régulières.
* **[Variables du catalogue de services pouvant contenir des scripts](https://servicenow-prod.fluidtopics.net/BZwQBYDXxPyZ4TyhNHjGKg)**   
  Vous pouvez utiliser un scripting pour référencer n'importe quelle variable d'élément de demande à partir d'une table dans un environnement inclus et non inclus dans le champ d'application.
* **[Définition d'une variable GlideRecord sur null](https://servicenow-prod.fluidtopics.net/x9Z1hRJm39heYAO56si6rw)**   
  Les variables GlideRecord (y compris les variables actuelles) sont initialement nulles dans la base de données. Si vous les redéfinissez sur une chaîne vide, un espace ou la valeur Null JavaScript, vous ne reviendrez pas à cet état initial.
* **[Pages de calendrier](https://servicenow-prod.fluidtopics.net/pYx10TcGOUQDdiGxNceiXQ#c_SchedulePages)**   
  Une page de calendrier est un enregistrement qui contient une collection de scripts permettant la génération personnalisée d'un affichage de calendrier ou de chronologie.
* **[Objet script XMLDocument](https://servicenow-prod.fluidtopics.net/IbEfqmUKdkaZi02dzAn3xg)**   
  Couche d'objet JavaScript pour analyser et extraire des données XML d'un document XML (chaîne).
* **[Moteur JavaScript sur la plateforme](https://servicenow-prod.fluidtopics.net/pWfYmetNGfaO_2E2A1dwfg)**   
  Le moteur JavaScript qui évalue les scripts côté serveur prend en charge la norme ECMAScript 2021 (ES12).
* **[Aide contextuelle de l'API JavaScript](https://servicenow-prod.fluidtopics.net/CqgeROv2o7svBcSCRnYRSA)**   
  L'éditeur de syntaxe peut afficher des informations d'API contextuelles.

