> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cycle de vie d’une sandbox

export const SandboxConfigHint = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    return <Note>Before running the example code in this document, please ensure you have properly configured environment variables. For details, please refer to <a href="/docs/fr/guides/sandbox-your-first-agent-sandbox#configure-environment-variables">Configure Environment Variables</a>.</Note>;
  }
};

Une sandbox continue de s’exécuter jusqu’à l’expiration de son délai d’expiration ou jusqu’à ce que vous l’arrêtiez manuellement. Par défaut, une nouvelle sandbox reste active pendant 5 minutes. Vous pouvez définir un délai d’expiration différent lors de la création de la sandbox, mettre à jour le délai d’expiration pendant son exécution, consulter les informations de la sandbox ou l’arrêter lorsque vous avez terminé.

<SandboxConfigHint />

## Créer une sandbox avec un délai d’expiration

Définissez le délai d’expiration au moment de la création lorsque vous savez combien de temps le travail doit s’exécuter.

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter'

  // Timeout is in milliseconds.
  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

  await sandbox.kill()
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.code_interpreter import Sandbox

  # Timeout is in seconds.
  sandbox = Sandbox.create(timeout=60)

  sandbox.kill()
  ```
</CodeGroup>

## Mettre à jour le délai d’expiration

Vous pouvez utiliser la méthode `setTimeout` pour réinitialiser la durée pendant laquelle la sandbox doit rester active. C’est utile lorsque l’activité utilisateur se poursuit après le moment où le délai d’expiration initial aurait expiré.

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter'

  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

  await sandbox.setTimeout(300_000)

  await sandbox.kill()
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.code_interpreter import Sandbox

  sandbox = Sandbox.create(timeout=60)

  sandbox.set_timeout(300)

  sandbox.kill()
  ```
</CodeGroup>

## Obtenir des informations sur la sandbox

Vous pouvez utiliser la méthode `getInfo` en JavaScript ou la méthode `get_info` en Python pour consulter l’ID de la sandbox, le modèle, les métadonnées, l’état actuel et l’heure d’expiration.

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter'

  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

  const info = await sandbox.getInfo()

  console.log(info.sandboxId)
  console.log(info.templateId)
  console.log(info.state)
  console.log(info.startedAt)
  console.log(info.endAt)

  await sandbox.kill()
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.code_interpreter import Sandbox

  sandbox = Sandbox.create(timeout=60)

  info = sandbox.get_info()

  print(info.sandbox_id)
  print(info.template_id)
  print(info.state)
  print(info.started_at)
  print(info.end_at)

  sandbox.kill()
  ```
</CodeGroup>

## Arrêter une sandbox

Vous pouvez utiliser la méthode `kill` pour arrêter une sandbox avant l’expiration de son délai d’expiration lorsque vous n’en avez plus besoin.

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter'

  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })
  const sandboxId = sandbox.sandboxId

  await sandbox.kill()

  // Or kill by ID.
  await Sandbox.kill(sandboxId)
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.code_interpreter import Sandbox

  sandbox = Sandbox.create(timeout=60)
  sandbox_id = sandbox.sandbox_id

  sandbox.kill()

  # Or kill by ID.
  Sandbox.kill(sandbox_id)
  ```
</CodeGroup>

## Étapes suivantes

* Pour conserver l’état d’une sandbox pour une utilisation ultérieure, consultez [Persistance de la sandbox](/docs/fr/guides/sandbox-persistence).
* Pour créer des états enregistrés réutilisables, consultez [Instantané de sandbox](/docs/fr/guides/sandbox-snapshot).
