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

# Utiliser vos propres ressources de calcul

> Activez les Sandbox sur votre cluster CoreWeave Kubernetes Service et exécutez votre première commande.

Exécutez une sandbox sur les ressources de calcul de votre cluster CoreWeave Kubernetes Service (CKS).

<h2 id="before-you-begin">
  Avant de commencer
</h2>

Vous avez besoin d’un cluster en cours d’exécution disposant d’au moins un Nœud planifiable à l’état Ready, ainsi que de [`uv`](https://docs.astral.sh/uv/getting-started/installation/) pour l’exemple Python.

<h2 id="run-your-first-sandbox">
  Exécuter votre premier sandbox
</h2>

<Steps>
  <Step title="Accorder l’accès">
    Demandez à votre administrateur de créer ou de mettre à jour une [politique d’accès](https://console.coreweave.com/organization/iam/access-policies) qui vous accorde le rôle **Sandbox Admin** pour pouvoir activer un exécuteur. Les utilisateurs qui se contentent d’exécuter des Sandbox ont besoin du rôle **Sandbox User**. Voir [Créer une politique d’accès](/security/iam/access-policies/manage#create-an-access-policy).
  </Step>

  <Step title="Activer un exécuteur">
    Un exécuteur affecte les Pods de sandbox aux ressources de calcul de votre cluster. Chaque cluster peut héberger un seul runner géré. Si votre administrateur a déjà activé un exécuteur, utilisez son ID.

    1. Ouvrez la page [Clusters](https://console.coreweave.com/clusters) et sélectionnez votre cluster.
    2. Dans la carte **Sandbox runner**, cliquez sur **Enable sandbox runner**.
    3. Attendez que **Status** affiche **Ready** et que **Connection** affiche **Connected**, puis sélectionnez et copiez le **Runner ID**.

    CoreWeave fournit une politique par défaut lorsque l’exécuteur se connecte, ce qui vous permet d’exécuter l’exemple avant de [personnaliser la politique](#optional-customize-the-sandbox-policy).
  </Step>

  <Step title="Obtenir un identifiant d’authentification">
    Sur la page [Tokens](https://console.coreweave.com/tokens), cliquez sur **Create Token**, renseignez les informations du jeton, puis cliquez sur **Create**. Copiez le **Token Secret**, qui n’est affiché qu’une seule fois, et définissez-le dans votre terminal :

    ```bash theme={"system"}
    export CWSANDBOX_API_KEY="[API-ACCESS-TOKEN]"
    ```

    Pour les autorisations et la configuration du jeton, voir [Jeton d’accès à l’API CoreWeave](/fr/products/sandboxes/placement#coreweave-api-access-token).
  </Step>

  <Step title="Exécuter un sandbox">
    Enregistrez le code suivant sous le nom `hello.py`, en remplaçant `[RUNNER-ID]` par l’ID de votre exécuteur. Définissez à la fois `placement_mode="cks"` et `runner_ids` pour cibler cet exécuteur :

    ```python title="hello.py" theme={"system"}
    from cwsandbox import AuthStrategy, Sandbox

    with Sandbox.run(
        auth=AuthStrategy.COREWEAVE_API_KEY,
        placement_mode="cks",
        runner_ids=["[RUNNER-ID]"],
        resources={"cpu": "1", "memory": "1Gi"},
    ) as sandbox:
        print(sandbox.exec(["echo", "Hello!"]).result().stdout)
    ```

    Exécutez-le avec Python 3.11 et le client sandbox. La commande les installe au besoin :

    ```bash theme={"system"}
    uv run --python 3.11 --with 'cwsandbox>=1.10.0' hello.py
    ```

    L’exemple affiche la sortie suivante, puis arrête le sandbox une fois l’exécution terminée :

    ```text title="Sortie" theme={"system"}
    Hello!
    ```

    Le mode sans serveur est le mode de placement par défaut. Conservez `placement_mode="cks"` dans les requêtes qui doivent s’exécuter sur votre cluster. Pour l’équivalent en TypeScript, voir [Sélectionner un mode de placement](/fr/products/sandboxes/placement#select-a-placement-mode).
  </Step>
</Steps>

<h2 id="optional-manage-runners-with-the-cli">
  Facultatif : gérer les exécuteurs avec la CLI
</h2>

La [CoreWeave Intelligent CLI](https://github.com/coreweave/cwic#installation) constitue une alternative à la Cloud console. Installez-la, puis connectez-vous avec votre jeton d’accès API :

```bash theme={"system"}
cwic auth login "[API-ACCESS-TOKEN]"
```

La CLI enregistre le jeton en local. Le client Python, lui, lit `CWSANDBOX_API_KEY`.

Pour activer un exécuteur sur un autre cluster, choisissez un identifiant d’exécuteur et lancez l’assistant de création :

```bash theme={"system"}
cwic sandbox runner create [RUNNER-ID]
```

Sélectionnez votre cluster et votre canal de publication, puis vérifiez la configuration et la politique de l'exécuteur dans l'éditeur avant de soumettre.

Vérifiez le statut de l'exécuteur :

```bash theme={"system"}
cwic sandbox runner get [RUNNER-ID]
```

Attendez que `INSTALL` affiche `READY` et que `CONN` affiche `CONNECTED`. Pour des exemples d’utilisation de l’API REST et pour résoudre les problèmes de déploiement, consultez [Déployer et gérer un runner](/fr/products/sandboxes/operations/managed-runners).

<h2 id="optional-customize-the-sandbox-policy">
  Facultatif : personnaliser la politique de sandbox
</h2>

La politique d'un exécuteur s'applique aux Sandbox planifiés par cet exécuteur. Cet exemple remplace la politique de l'exécuteur. S'il s'agit d'un exécuteur partagé existant, coordonnez les modifications avec son administrateur.

Enregistrez cet exemple sous le nom `policy.json`. Il définit des valeurs par défaut pour le CPU et la mémoire, limite les demandes de ressources et laisse vide la liste de trafic sortant par défaut. La durée de vie par défaut est de 15 minutes. Cette valeur ne constitue pas un maximum.

```json title="policy.json" theme={"system"}
{
  "displayName": "default",
  "constraints": {
    "resources": {
      "defaultCpu": "1",
      "defaultMemory": "2Gi",
      "maxCpu": "4",
      "maxMemory": "8Gi",
      "requireLimits": true
    },
    "network": {
      "defaultEgress": []
    },
    "security": {
      "allowPrivileged": false,
      "allowedRuntimeClasses": ["kata-qemu"],
      "defaultCpuRuntimeClass": "kata-qemu"
    },
    "lifecycle": { "defaultLifetimeSeconds": 900 }
  }
}
```

Appliquez-la à l’exécuteur que vous avez activé, puis examinez la politique enregistrée :

```bash theme={"system"}
cwic sandbox runner policy edit [RUNNER-ID] -f policy.json
cwic sandbox runner policy describe [RUNNER-ID]
```

Pour limiter les destinations sortantes que les utilisateurs peuvent demander, configurez `allowedEgress`. Le champ `defaultEgress` ne fait que définir des valeurs par défaut. Voir [Configurer une politique de sandbox](/fr/products/sandboxes/profiles/configure).

<h2 id="optional-disable-the-runner">
  Facultatif : désactiver l’exécuteur
</h2>

Laissez l’exécuteur activé si vous souhaitez créer d’autres Sandbox. Lorsque vous n’en avez plus besoin, arrêtez les Sandbox qu’il exécute, puis désactivez-le via l’une ou l’autre interface :

<Tabs>
  <Tab title="Cloud console">
    1. Ouvrez la carte **Sandbox runner** de votre cluster.
    2. Cliquez sur **Disable sandbox runner** et confirmez.
  </Tab>

  <Tab title="CLI">
    ```bash theme={"system"}
    cwic sandbox runner delete [RUNNER-ID]
    ```

    Confirmez la suppression lorsque vous y êtes invité.
  </Tab>
</Tabs>

La désactivation de l’exécuteur le supprime du cluster. Pour utiliser de nouveau des Sandbox sur ce cluster, activez un exécuteur.

<h2 id="next-steps">
  Étapes suivantes
</h2>

Consultez les guides suivants :

* [Configurer une politique de sandbox](/fr/products/sandboxes/profiles/configure) : personnalisez les ressources, l’accès réseau et les paramètres de sécurité.
* [Déployer et gérer un exécuteur](/fr/products/sandboxes/operations/managed-runners) : inspectez, mettez à jour et dépannez les exécuteurs.
* [Placement et débordement des sandbox](/fr/products/sandboxes/placement) : basculez entre CKS et la capacité sans serveur en cas de besoin.
* [Client Python](/fr/products/sandboxes/client) : exécutez des commandes, manipulez des fichiers et gérez le cycle de vie des sandbox.
