---
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


---

Définir les métadonnées d'application dans le code avec ServiceNow Fluent
=========================================================================

Définir les métadonnées d'application dans le code avec ServiceNow Fluent dans le ServiceNow IDE {#ariaid-title1}
=================================================================================================================

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

Définir les métadonnées d'application dans le code avec ServiceNow Fluent dans le ServiceNow IDE.

Avant de commencer
------------------

Créez, convertissez ou clonez une application et ajoutez-la à votre espace de travail. Pour en savoir plus, consultez les rubriques suivantes :

* [Créer une application avec le ServiceNow IDE](https://servicenow-prod.fluidtopics.net/3is8p38f~kFaRulMlNFmsg "Créez une application incluse dans le périmètre pour développer dans le code source avec le ServiceNow IDE.")
* [Convertir une application avec le ServiceNow IDE](https://servicenow-prod.fluidtopics.net/zVUoq0ycTBEG0vUrF6sRWA "Convertissez une application incluse dans le périmètre existante pour prendre en charge le développement dans le code source avec le ServiceNow IDE.")
* [Cloner un référentiel Git avec le serveur ServiceNow IDE](https://servicenow-prod.fluidtopics.net/xaDABBIr7XOnNjanv168Ow "Clonez un référentiel Git distant pour collaborer sur une application dans le contrôle de source avec le ServiceNow IDE.")
{#define-metadata-code-fluent-ide__ul_t1q_yts_ydc}

Rôle requis : admin

Pourquoi et quand exécuter cette tâche
--------------------------------------

ServiceNow Fluent est un langage spécifique à domaine (DSL) basé sur TypeScript pour définir les fichiers de métadonnées \[sys_metadata\] qui composent les applications et inclut des API pour les différents types de métadonnées, tels que les tables, les rôles, les ACL, les règles métier et Framework de tests automatisés les tests. Pour plus d'informations sur ServiceNow Fluent les API et les exemples, reportez-vous à la section [ServiceNow Fluent Référence d'API](https://servicenow-prod.fluidtopics.net/qnUXZ8kuk_FzNidt6XabVg "Utilisez ServiceNow Fluent des API pour définir les métadonnées qui composent les applications incluses dans le périmètre du code source avec le ServiceNow IDE ou ServiceNow SDK."). Le dispose par défaut d'un ServiceNow IDE traitement et d'une validation linguistiques pour ServiceNow Fluent les API et les applications.

Procédure
---------

1. Accédez à la ToutDéveloppement d'applicationsServiceNow IDE.
2. Ouvrez un espace de travail avec une application.
3. Dans la barre d'activité, sélectionnez la vue Explorateur de fichiers ( ![Explorateur de fichiers]()).
4. Dans le répertoire src/fluent , ajoutez un fichier avec l'extension .now.ts .  
   Vous pouvez définir les métadonnées d'application dans un seul fichier ou autant de fichiers .now.ts que vous le souhaitez et organiser les fichiers dans des répertoires du répertoire Fluent .  
   Conseil :  
   Dans le répertoire fluent , vous pouvez vous référer à un exemple de fichier nommé index.now.ts.
5. Dans le fichier .now.ts , utilisez des objets dans ServiceNow Fluent les API pour définir les métadonnées dans l'application.  
   Par exemple, pour créer une table \[sys_db_object\] dans l'application, utilisez l'API Table. L'exemple suivant comprend une table simple pour les listes de tâches utilisant un objet Table avec les propriétés et valeurs nécessaires.

       export const x_snc_example_to_do = Table({
           name: 'x_snc_example_to_do',
           schema: {
               deadline: DateColumn({ label: 'deadline' }),
               state: StringColumn({
                   label: 'State',
                   choices: {
                       ready: { label: 'Ready' },
                       completed: { label: 'Completed' },
                       in_progress: { label: 'In Progress' },
                   },
               }),
               task: StringColumn({ label: 'Task', maxLength: 120 }),
           },
       })

   Remarque :  
   Vous pouvez utiliser l'API d'enregistrement pour définir les métadonnées d'application qui n'ont pas d'API dédiée.
6. Ajoutez les importations requises pour les API à partir de @servicenow/sdk/core.  
   Par exemple, pour définir une table avec une colonne de date et une colonne de chaîne, importez les objets correspondants à utiliser à partir de l'API Table :

       import { Table, DateColumn, StringColumn } from '@servicenow/sdk/core'

7. **Facultatif :** Pour ServiceNow Fluent les API qui utilisent des scripts côté serveur, telles que les règles métier, importez du code à partir de modules JavaScript pour les appeler à partir de la propriété de script d'un objet.  
   Cet exemple importe la fonction `showStateUpdate` , qui peut ensuite être référencée à partir de la propriété script .

       import { showStateUpdate } from '../server/script.js'

8. Enregistrez vos changements.
9. **Facultatif :** Créez et déployez votre application pour compiler le code source dans les métadonnées d'application et rendre vos modifications disponibles sur l'ensemble de l'instance. Pour en savoir plus, consultez [Créer une application dans le ServiceNow IDE](https://servicenow-prod.fluidtopics.net/y6yKkpw9KM7GirM0PJhUwQ "Créez une application pour compiler son code source et déployer les modifications d’application sur une instance à partir de .ServiceNow IDE").
Conseil :  
Vous pouvez utiliser les directives suivantes dans un commentaire de code pour vous aider à gérer votre code :

* `@fluent-ignorer` : supprime les avertissements de diagnostic et les ServiceNow Fluent erreurs dans la ligne de code suivante.
* `@fluent-disable-sync` : désactive la synchronisation des modifications apportées à un ServiceNow Fluent objet. À utiliser avant une expression d'appel (par exemple, `Record({ ... }))` pour désactiver la synchronisation de cet objet et de ses objets enfants. N'utilisez cette directive que si vous souhaitez ignorer les modifications apportées à l'objet en dehors du code source et ne jamais le mettre à jour lors de la synchronisation.
* `@fluent-disable-sync-for-file` : désactive la synchronisation des modifications apportées à un ServiceNow Fluent fichier (.now.ts). Utilisez dans la première ligne du fichier pour désactiver la synchronisation de tout le code du fichier. N'utilisez cette directive que si vous voulez ignorer les modifications apportées au fichier en dehors du code source et ne jamais le mettre à jour lors de la synchronisation.
{#define-metadata-code-fluent-ide__ul_dzm_xxw_ldc}

Définir des métadonnées d'application dans le code source avec ServiceNow Fluent {#define-metadata-code-fluent-ide__example_xdy_q1y_jbc}
----------------------------------------------------------------------------------------------------------------------------------------

Dans les fichiers avec l'extension .now.ts , utilisez des objets dans ServiceNow Fluent les API pour définir les métadonnées dans l'application. Vous devez également inclure les importations requises pour les API à partir de @servicenow/sdk/core.  
L'exemple suivant inclut les définitions d'une table, d'un script client et d'une règle métier dans l'application. La règle métier utilise une fonction du module JavaScript script.js .

    import '@servicenow/sdk/global'
    import { BusinessRule } from '@servicenow/sdk/core'
    import { ClientScript } from '@servicenow/sdk/core'
    import { Table, DateColumn, StringColumn } from '@servicenow/sdk/core'
    import { showStateUpdate } from '../server/script.js'

    //creates todo table, with three columns (deadline, status and task)
    export const x_snc_example_to_do = Table({
        name: 'x_snc_example_to_do',
        schema: {
            deadline: DateColumn({ label: 'deadline' }),
            state: StringColumn({
                label: 'State',
                choices: {
                    ready: { label: 'Ready' },
                    completed: { label: 'Completed' },
                    in_progress: { label: 'In Progress' },
                },
            }),
            task: StringColumn({ label: 'Task', maxLength: 120 }),
        },
    })

    //creates a client script that pops up 'Table loaded successfully!!' message everytime todo record is loaded
    ClientScript({
        $id: Now.ID['cs0'],
        name: 'my_client_script',
        table: 'x_snc_example_to_do',
        active: true,
        applies_extended: false,
        global: true,
        ui_type: 'all',
        description: 'Custom client script generated by Now SDK',
        messages: '',
        isolate_script: false,
        type: 'onLoad',
        script: script`function onLoad() {
            g_form.addInfoMessage("Table loaded successfully!!")
        }`,
    })

    //creates a business rule that pops up state change message whenever a todo record is updated
    BusinessRule({
        $id: Now.ID['br0'],
        action: ['update'],
        table: 'x_snc_example_to_do',
        script: showStateUpdate,
        name: 'LogStateChange',
        order: 100,
        when: 'after',
        active: true,
    })

Une fois l'application créée, ce code source génère les fichiers de métadonnées d'application suivants sur l'instance.
Figure 1. Métadonnées d'application générées à partir du ServiceNow Fluent code
**Concepts associés**   

* [ServiceNow Fluent](https://servicenow-prod.fluidtopics.net/nW6nRerx152BXETYX8oPDA "Définissez les métadonnées d’application dans le code source à l’aide du langage de programmation spécifique au ServiceNow Fluent domaine.")

