---
title: "Configurer un workflow en mode Advanced"
description: "Les workflows peuvent également être configurés directement à l'aide d'une configuration JSON. Pour accéder à la configuration JSON d'un nouveau workflow"
url: https://docs.ovhcloud.com/fr/guides/public-cloud/data-platform/dpe-workflows-advanced-mode
lang: fr
lastUpdated: 2026-09-14
---
> For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt.

# Configurer un workflow en mode Advanced

## Objectif

Les workflows peuvent également être configurés directement à l'aide d'une configuration JSON. Pour accéder à la configuration JSON d'un nouveau workflow, cliquez sur l'onglet _Expert_ de la fenêtre "New Workflow" ou "Edit Workflow".

![Workflow advanced Mode](/images/public-cloud/data-platform/product/dpe/workflows/picts/workflow-advancedMode.png)
## Découvrir la configuration JSON

Les utilisateurs peuvent saisir directement dans l'éditeur JSON pour configurer un Workflow. La configuration JSON inclut plus d'options que celles disponibles via l'interface graphique.

### Référence des paramètres du workflow

Par ordre alphabétique, les paramètres sont les suivants :

| Paramètre      | Type        | Description                                                                                                                                                                             |
| :------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| display\_name  | String      | Permet de définir un nom pour le workflow                                                                                                                                               |
| description    | String      | Permet de définir une description du workflow                                                                                                                                           |
| workflow       | Table       | Liste des Stages avec leurs actions associées                                                                                                                                           |
| logLevel       | String      | La valeur du niveau de log définit le niveau de log minimum pour ce workflow. Elle peut prendre l'une des valeurs suivantes _debug_, _info_, _notice_, _warning_, _error_ ou _critical_ |
| auto\_flushall | Boolean     | Condition pour ajouter ou non la routine Flush All à la fin du workflow. Il s'agit d'une routine de maintenance qui rafraîchit tous les caches du flux de données (QB, API et APP)      |
| dateMin        | String      | Limite absolue inférieure du périmètre de dates                                                                                                                                         |
| dateMax        | String      | Limite absolue supérieure du périmètre de dates                                                                                                                                         |
| days           | JSON Object | Valeurs minimale et maximale pour les dates relatives de la valeur du périmètre                                                                                                         |

### Exemple de configuration JSON

Ci-dessous, la configuration JSON d'un workflow typique. Il comporte 2 Stages avec respectivement 2 actions dans "Stage 1" et 2 actions dans "Stage 2".

```json
{
  "params": {
     "log_level": "info"
  },
  "auto_flushall": true,
  "display_name": "flushall",
  "description": "routine maintenance workflow",
  "stages": [
    {
      "stageName": "Stage 1",
      "actions": [
        {"action_conf": "5c9bba68555fb219eb000020"},
        {"action_conf": "5c9bba68555fb2190000ll99"}

      ]
    },
    {
      "stageName": "Stage 2",
      "actions": [
        {"action_conf": "5c9bba68555hghjgjhgjhgjh"}
      ]
    }
  ]
}
```

### Paramètres du périmètre de dates

Pour définir le périmètre de dates, vous pouvez utiliser une limite de date **absolue** (par ex., fixée dans le temps) ou une limite de date **relative** (par ex., calculée à partir de la date actuelle).

Pour définir un périmètre de dates **absolu**, utilisez les paramètres _dateMin_ et _dateMax_ et saisissez les dates sous forme de chaîne au format YYYY-MM-DD. Par exemple, cela vous permettrait de relancer le calcul d'un workflow entre des dates spécifiques dans le passé.

```json
{
  ...
  "dateMin": "2019-04-25",
  "dateMax": "2019-04-25"
}
```

Pour définir un périmètre de dates **relatif**, utilisez le paramètre _days_ et saisissez, en jours, la distance par rapport à la date actuelle pour les limites inférieure et supérieure. Par exemple, cela serait utilisé dans un workflow quotidien qui ne devrait affecter que les données d'"avant-hier" et d'"aujourd'hui". Le nombre correspond au nombre de jours à soustraire de la date du jour.

```json
{
  ...
  "days": {
    "min": "2",
    "max": "0"
  }
}
```

### Paramètres des Stages

Les paramètres des Stages peuvent également être modifiés directement depuis l'interface utilisateur.

| Paramètre         | Type    | Description                                                                                                 |
| :---------------- | :------ | :---------------------------------------------------------------------------------------------------------- |
| stageName         | String  | Permet de nommer chaque Stage                                                                               |
| disable (Stages)  | Boolean | Permet d'activer/désactiver des Stages spécifiques au sein d'un workflow                                    |
| action\_conf      | String  | Correspond à l'ID unique de l'action que vous pouvez trouver en accédant aux informations de chaque action. |
| disable (Actions) | Boolean | Permet d'activer/désactiver des actions spécifiques au sein d'un Stage                                      |

```json
{
  "display_name": "flushall",
  …
  "workflow": [
    {
      "disable": false,
      "stageName": "update_metas_lite",
      "actions": [
        {
          "action_conf": "update_metas_lite",
          "disable": false
        }
      ]
    …
  ]
}
```

## Configurations de substitution

### Configurations d'action

La substitution des configurations d'action vous permet de réutiliser la même action dans plusieurs workflows avec des paramètres d'exécution différents, sans affecter les configurations des actions elles-mêmes. Par exemple, supposons que vous ayez défini le périmètre d'une action, avec un ensemble de valeurs spécifique : `"perimeterValues":["1","2"]`

Vous pouvez réutiliser cette même action avec des valeurs de périmètre différentes dans le même workflow comme suit :

```json
{
  "logLevel": "info",
  "auto_flushall": true,
  "display_name": "flushall",
  "workflow": [
    {
      "stageName": "Stage 1",
      "actions": [
        {"action_conf": "5c9bba68555fb219eb000020", "perimeterValues": ["1","2"]},
        {"action_conf": "5c9bba68555fb219eb000020", "perimeterValues": ["8"]}
      ]
    }
  ]
}
```

:::info
Cet exemple précis n'a pas de sens en soi, mais il montre comment vous pouvez facilement définir des configurations différentes pour les mêmes actions au sein d'un seul workflow.
:::

### Priorités de configuration

Les configurations peuvent être substituées à 3 niveaux différents : workflow, Stages ou actions. Le niveau de configuration le plus granulaire s'applique à tous les sous-objets. Par exemple, les configurations définies au niveau du Stage seront remplacées par toute configuration définie au niveau de l'action. Utilisons l'exemple suivant pour illustrer l'ordre de priorité :

```json
{
  "logLevel": "info",
  "perimeterValues": ["0"],
  "auto_flushall": true,
  "display_name": "flushall",
  "workflow": [
    {
      "stageName": "Stage 1",
      "perimeterValues": ["1"],
      "actions": [
        {"action_conf": "abc", "perimeterValues": ["2"]},
        {"action_conf": "efg"}

      ]
    },
    {
      "stageName": "Stage 2",
      "actions": [
        {"action_conf": "hij"}
      ]
    }
  ]
}
```

D'après la configuration JSON ci-dessus, les valeurs de périmètre pour les différentes actions exécutées dans le workflow seront les suivantes :

| ID action | perimeterValue | Explication                                                                                                                                                                                 |
| :-------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| abc       | 2              | L'action _abc_ a des perimeterValues définies au niveau de l'action, ce qui remplace toute autre perimeterValues.                                                                           |
| efg       | 1              | L'action _efg_ n'a pas de perimeterValues définies au niveau de l'action, ce qui signifie qu'elle utilise les perimeterValues définies pour le Stage auquel elle appartient, ici _Stage 1_. |
| hij       | 0              | Ni l'action _hij_ ni _Stage 2_ n'ont de perimeterValues définies, donc c'est celle du workflow qui sera appliquée.                                                                          |

## Délai d'expiration du workflow

Si une action au sein d'un workflow prend plus de temps que prévu, il est possible de définir une option de timeout afin que le workflow soit interrompu. La durée du timeout est définie comme la valeur du paramètre _workflow\_timeout_ dans un format lisible tel que `"worfklow_timeout":"1h 10m"`

Les valeurs sont cumulatives d'une unité de temps à l'autre. Les unités de temps prises en charge incluent :

| Unité de temps | Description |
| :------------- | :---------- |
| w              | semaines    |
| d              | jours       |
| h              | heures      |
| m              | minutes     |
| s              | secondes    |

Ci-dessous, un exemple de configuration JSON utilisant l'option de timeout du workflow :

```json
{
  "logLevel": "info",
  "auto_flushall": true,
  "worfklow_timeout":"59m 50s",
  "display_name": "flushall",
  "workflow": [
    {
      "stageName": "Stage 1",
      "actions": [
        {"action_conf": "5c9bba68555fb219eb000020"},
        {"action_conf": "5c9bba68555fb2190000ll99"}

      ]
    }
  ]
}
```

## Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur [ce lien](https://www.ovhcloud.com/fr/professional-services/) pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le [canal Discord](https://discord.gg/ovhcloud) dédié.

Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre [centre d'aide](https://help.ovhcloud.com/csm?id=csm_get_help).

Rejoignez notre [communauté d'utilisateurs](https://community.ovhcloud.com/).
