> For the complete documentation index, see [llms.txt](https://olab4.gitbook.io/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://olab4.gitbook.io/help/olab4-help-fr/advanced-topics/script-objects.md).

# Objets script

{% hint style="warning" %}
Toute cette section doit être faite
{% endhint %}

Plutôt que de recréer les Règles et l'analyseur que nous avions dans OLab3, nous avons décidé de créer une API accessible via Javascript. Cela ouvre toute une gamme de possibilités. Cela signifie également que les auteurs ne sont plus limités par le moteur d'analyse simpliste et peuvent tirer davantage parti de ce que Javascript offre.&#x20;

Les scripts peuvent être autonomes mais sont bien plus utiles lorsqu'ils peuvent interagir avec d'autres objets du noyau OLab4, via l'API REST. &#x20;

### API de script

{% hint style="warning" %}
Listez ici les objets qui peuvent être manipulés
{% endhint %}

## Obtenir des gâteaux

<mark style="color:bleu;">`GET`</mark> `https://api.cakes.com/v1/cakes/:id`

Ce point de terminaison vous permet d'obtenir des gâteaux gratuits.

#### Paramètres de chemin

| Nom | Type   | Description                                    |
| --- | ------ | ---------------------------------------------- |
| id  | chaîne | ID du gâteau à obtenir, bien sûr gratuitement. |

#### Paramètres de requête

| Nom          | Type    | Description                                                                        |
| ------------ | ------- | ---------------------------------------------------------------------------------- |
| recette      | chaîne  | L'API fera de son mieux pour trouver un gâteau correspondant à la recette fournie. |
| sans\_gluten | booléen | Si le gâteau doit être sans gluten ou non.                                         |

#### En-têtes

| Nom              | Type   | Description                                                         |
| ---------------- | ------ | ------------------------------------------------------------------- |
| Authentification | chaîne | Jeton d'authentification permettant de traquer qui vide nos stocks. |

{% tabs %}
{% tab title="200 Gâteau récupéré avec succès." %}

```javascript
{
    "name": "Nom du gâteau",
    "recipe": "Nom de la recette du gâteau",
    "cake": "Gâteau binaire"
}
```

{% endtab %}

{% tab title="404 Impossible de trouver un gâteau correspondant à cette requête." %}

```javascript
{
    "message": "Il n'y a pas de gâteau comme ça."
}
```

{% endtab %}
{% endtabs %}

### Exemples de scripts

{% hint style="warning" %}
insérez quelques exemples, bien commentés, montrant comment&#x20;
{% endhint %}

### Scripts en tant qu'objets à portée

Comme indiqué dans la section sur l'Objet, les scripts peuvent également être des Objets à Portée. Ils peuvent avoir les mêmes niveaux de portée, par ex. global, serveur, carte et niveau nœud. Voir [#scopeforobjects](https://olab4.gitbook.io/help/basic-topics/objects#scope_for_objects) pour plus de détails à ce sujet.&#x20;
