> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/docs/fr/actions/workflow-concepts/workflow-steps/flow/iteration.md).

# Itération

Exécutez une étape plusieurs fois sur une liste d'objets

## Comment fonctionne l'étape d'itération ?

L'étape d'itération exécute la ou les mêmes étapes sur chaque entrée d'une liste. La seule condition préalable à l'utilisation d'une étape d'itération est de s'assurer que vos valeurs d'entrée ont déjà été mises au format d'un objet liste.

<figure><img src="https://344527547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-f5cd41deb71c58a0a24a9b8fb83816aafcbcc13b%2FCleanShot%202025-05-22%20at%2008.22.37%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

## Qu'est-ce qu'une liste ?

Une liste est un type de données spécifique dont les éléments sont séparés par des virgules et qui commence par `[` et se termine par `]` . Par exemple :

**Une liste de nombres :**

```
[1,2,3,4,5]
```

**Une liste de chaînes :**

```
["sales", "marketing", "finance"]
```

**Une liste d'objets JSON :**

```
[
  {
    "link": "https://openai.com/",
    "title": "OpenAI",
    "source": "OpenAI"
  },
  {
    "link": "https://www.youtube.com/@OpenAI",
    "title": "OpenAI",
    "source": "YouTube"
  },
  {
    "link": "https://en.wikipedia.org/wiki/OpenAI",
    "title": "OpenAI",
    "source": "Wikipedia"
  }
]
```

## Comment créer une liste ?

Les listes peuvent être générées de plusieurs façons différentes, notamment via une étape LLM, une étape de code, Google Search ou une étape API. Cela dépend finalement de ce qui fonctionne le mieux pour votre cas d'utilisation, et nous avons fourni quelques exemples ci-dessous pour vous aider.

### Créer une liste via une étape LLM

Comme nos étapes LLM vous permettent d'ajuster le prompt jusqu'à obtenir le résultat souhaité, il suffit de préciser le format de la liste dans votre prompt.

Passons en revue un exemple de workflow qui prend un nom de pays en entrée et renvoie les 5 principales villes de ce pays. Nous allons adapter le workflow existant pour renvoyer ces 5 principales villes au format de liste :

### Créer une liste via une étape de code

Comme notre [Étape de code](/docs/fr/actions/workflow-concepts/workflow-steps/logic-steps/code.md) vous permet d'utiliser à la fois Javascript et Python, vous pouvez coder en dur votre instruction return pour qu'elle corresponde au format de liste souhaité, par ex. :

```javascript
return(["San Francisco", "New York City", "Miami"]);
```

### Générer une liste via une étape de recherche Google

Notre étape de recherche Google vous permet de sélectionner le format spécifique de votre recherche résultante :

<figure><img src="https://344527547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-960126f632ad0e9b8d74fb78ce90516cc1f41631%2FCleanShot%202025-05-22%20at%2008.24.27%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

Le résultat obtenu de l'étape de recherche Google sera formaté comme suit :

```javascript
// Sortie de l'étape de recherche Google avec uniquement des liens
[
  "https://www.mckinsey.com/featured-insights/mckinsey-explainers/what-is-prompt-engineering",
  "https://www.zdnet.com/article/six-skills-you-need-to-become-an-ai-prompt-engineer/",
  "https://www.techtarget.com/searchenterpriseai/definition/AI-prompt-engineer",
  "https://en.wikipedia.org/wiki/Prompt_engineering",
  "https://www.datacamp.com/blog/what-is-prompt-engineering-the-future-of-ai-communication",
  "https://www.iit.edu/blog/unlock-career-opportunities-ai-how-become-ai-prompt-engineer",
  "https://aws.amazon.com/what-is/prompt-engineering/",
  "https://hbr.org/2023/06/ai-prompt-engineering-isnt-the-future",
  "https://time.com/6272103/ai-prompt-engineer-job/",
  "https://www.promptingguide.ai/"
]
```

## Qu'est-ce que l'élément et l'index de l'élément ?

Un élément est l'objet/la valeur réelle (par ex. une chaîne, un nombre ou un objet) dans votre liste.

L'index de l'élément est la position de l'élément dans la liste, en commençant par le premier élément à l'index 0.

<figure><img src="https://344527547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-4408acba06b3cfdc596cb2ce5d449db605384407%2Fiteration_step_3.png?alt=media" alt=""><figcaption></figcaption></figure>

## Comment faire référence à l'élément ?

Vous pouvez faire référence à l'élément en cliquant sur la pastille `step_x.element` dans votre étape d'itération :

<figure><img src="https://344527547-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-d2913c27c7511d6820930e2a6b233c1c3b824c24%2FCleanShot%202025-05-22%20at%2008.28.05%402x.png?alt=media" alt=""><figcaption></figcaption></figure>

Dans l'exemple ci-dessus, l'étape LLM s'exécutera 3 fois, et le `{{step_1.element}]` sera remplacé par `sales` , `marketing` et `finance` comme suit :

* `Donne-moi 3 personas dans le département des ventes`
* `Donne-moi 3 personas dans le département marketing`
* `Donne-moi 3 personas dans le département finance`

## L'index de l'élément est-il requis ?

L'index de l'élément est facultatif, mais il peut être utilisé pour effectuer une logique avancée.

Par exemple, dans le cas de notre rédacteur de blog SEO, nous utilisons le `element_index` pour nous aider à rédiger nos introductions. Parce que notre objectif est que le rédacteur *n'écrive que la première section* du blog, l'index de l'élément est utile pour appliquer l'étape uniquement à ce paragraphe.

Nous ajoutons donc une [**Conditionnelle** **Étape**](/docs/fr/actions/workflow-concepts/workflow-steps/flow/conditional.md) avec :

* `step_x.element_index == 0`

ce qui nous permet d'utiliser une étape LLM distincte avec l'introduction uniquement pour la première section du blog.

## À quoi ressemble la sortie ?

L'étape d'itération renverra également une liste.

La sortie de chaque itération sera ajoutée à la liste dans le même ordre que l'entrée.

## Comment transformer la liste en texte ?

Vous pouvez reconvertir le tableau en texte avec un simple **Texte** étape qui utilise Liquid :

```liquid
// Remplacez step_x.output

{% for chunk in step_x.output %}
{{chunk}}
{% endfor %}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/docs/fr/actions/workflow-concepts/workflow-steps/flow/iteration.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
