> ## 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.

> Supprimez des artifacts de manière interactive avec l’interface de l’application ou par programmation avec le SDK Python W&B.

# Supprimer un artifact

Supprimez des artifacts de manière interactive avec la W\&B App ou par programmation avec le SDK Python W\&B. Lorsque vous supprimez un artifact, W\&B lui applique une *suppression logique* (suppression logique). Autrement dit, l’artifact est marqué pour suppression, mais ses fichiers ne sont pas immédiatement supprimés du stockage.

Le contenu de l’artifact reste en suppression logique, c’est-à-dire en attente de suppression, jusqu’à ce qu’un processus de garbage collection exécuté régulièrement passe en revue tous les artifacts marqués pour suppression. Ce processus supprime ensuite les fichiers associés du stockage, à condition que ni l’artifact ni ses fichiers associés ne soient utilisés par des versions d’artifact antérieures ou ultérieures.

<Note>
  La garbage collection fonctionne **au mieux** (best-effort). W\&B ne garantit pas le délai au bout duquel l’espace libéré apparaît dans votre stockage d’objets après la suppression d’un artifact. Sur les déploiements volumineux ou en cas d’arriéré important, ce délai peut être plus long que prévu. Pour comprendre comment ce mécanisme s’articule avec les données des runs, les paramètres de rétention et les actions facultatives de l’opérateur, consultez [Gérer le stockage et les coûts des buckets](/fr/products/wandb/platform/hosting/managing-bucket-storage).
</Note>

<h2 id="artifact-garbage-collection-workflow">
  Flux de travail du garbage collection des artifacts
</h2>

Le diagramme suivant illustre le processus complet de garbage collection des artifacts :

```mermaid theme={"system"}
graph TB
    Start([Suppression de l'artifact lancée]) --> DeleteMethod{Méthode de suppression}
    
    DeleteMethod -->|Interface utilisateur| UIDelete[Supprimer via W&B App]
    DeleteMethod -->|SDK| SDKDelete[Supprimer via le SDK Python W&B]
    DeleteMethod -->|TTL| TTLDelete[Expiration de la politique TTL]
    
    UIDelete --> SoftDelete[Artifact marqué comme<br/>« supprimé logiquement »]
    SDKDelete --> SoftDelete
    TTLDelete --> SoftDelete
    
    SoftDelete --> GCWait[(Attente du<br/>garbage collection<br/>sans garantie de délai)]
    
    GCWait --> GCRun[Exécution du processus de<br/>garbage collection<br/><br/>- Examine tous les artifacts supprimés logiquement<br/>- Vérifie les dépendances des fichiers]
    
    GCRun --> CheckUsage{Les fichiers sont-ils utilisés par<br/>d'autres versions d'artifact ?}
    
    CheckUsage -->|Oui| KeepFiles[Fichiers conservés dans le stockage<br/><br/>- Artifact marqué comme supprimé<br/>- Fichiers conservés pour les autres versions]
    CheckUsage -->|Non| DeleteFiles[Fichiers supprimés du stockage<br/><br/>- Artifact entièrement supprimé<br/>- Espace de stockage libéré]
    
    KeepFiles --> End([Fin])
    DeleteFiles --> End
    
    style Start fill:#e1f5fe,stroke:#333,stroke-width:2px,color:#000
    style SoftDelete fill:#fff3e0,stroke:#333,stroke-width:2px,color:#000
    style GCRun fill:#f3e5f5,stroke:#333,stroke-width:2px,color:#000
    style KeepFiles fill:#e8f5e9,stroke:#333,stroke-width:2px,color:#000
    style DeleteFiles fill:#ffebee,stroke:#333,stroke-width:2px,color:#000
    style End fill:#e0e0e0,stroke:#333,stroke-width:2px,color:#000
```

Vous pouvez planifier la suppression des artifacts de W\&B à l’aide de politiques TTL. Pour plus d’informations, voir [Gérer la rétention des données avec la politique TTL des artifacts](/fr/products/wandb/artifacts/ttl).

<Note>
  Les artifacts supprimés par une politique TTL, par le SDK Python W\&B ou depuis la W\&B App font d’abord l’objet d’une suppression logique (soft-delete). Ils sont ensuite traités par le garbage collection avant d’être définitivement supprimés.
</Note>

<Note>
  La suppression d’un entity, d’un projet ou d’une collection d’artifacts déclenche le processus de suppression des artifacts décrit sur cette page. Si vous supprimez un run en choisissant de supprimer également les artifacts qui lui sont associés, ces derniers suivent le même flux de travail de suppression logique et de garbage collection.
</Note>

<h2 id="delete-an-artifact-version">
  Supprimer une version d’artifact
</h2>

Supprimez une version d’artifact de manière interactive depuis la W\&B App ou par programmation avec le SDK Python W\&B.

<Tabs>
  <Tab title="W&B App" value="ui">
    Pour supprimer une version d’artifact :

    1. Accédez au projet qui contient la version d’artifact à supprimer.
    2. Sélectionnez l’onglet **Artifacts**.
    3. Dans la liste des types d’artifacts, sélectionnez le type d’artifact qui contient la version à supprimer.
    4. Cliquez sur le menu **action (<Icon icon="ellipsis" iconType="solid" />)** à côté de la version d’artifact à supprimer.
    5. Dans le menu déroulant, choisissez **Delete Version**.
  </Tab>

  <Tab title="SDK Python W&B" value="sdk">
    Supprimez une version d’artifact par programmation avec la méthode [wandb.Artifact.delete()](/fr/products/wandb/ref/python/experiments/artifact#delete). Fournissez le nom complet de l’artifact, au format `<entity>/<project>/<artifact_name>:<version>`. Définissez le paramètre `delete_aliases` sur `True` pour supprimer l’artifact même si un ou plusieurs alias lui sont associés.

    ```python theme={"system"}
    import wandb

    api = wandb.Api()

    # Obtenir l’artifact à partir de son chemin
    artifact = api.artifact("<entity>/<project>/<artifact_name>:<version>")

    # Supprimer la version de l’artifact ainsi que tous ses alias
    artifact.delete(delete_aliases=True)
    ```
  </Tab>
</Tabs>

<h2 id="delete-multiple-artifact-versions">
  Supprimer plusieurs versions d’artifact
</h2>

L’exemple de code suivant montre comment supprimer plusieurs versions d’artifact. Fournissez en arguments de `wandb.Api.run()` l’entity, le nom du projet et l’ID du run qui a créé l’artifact. Cette méthode renvoie un objet run que vous pouvez utiliser pour accéder à toutes les versions d’artifact créées par ce run. Parcourez ensuite les versions d’artifact et supprimez celles qui correspondent à vos critères.

<Tip>
  Définissez le paramètre `delete_aliases` sur `True` (`wandb.Artifact.delete(delete_aliases=True)`) pour supprimer une version d’artifact ainsi que tous les alias qui lui sont associés.
</Tip>

Remplacez les espaces réservés `<entity>`, `<project>`, `<run_id>` et `<artifact_name>` par vos propres valeurs :

```python theme={"system"}
import wandb

# Initialiser l’API W&B
api = wandb.Api()

# Obtenir le run à partir de son chemin, au format <entity>/<project>/<run_id>
run = api.run("<entity>/<project>/<run_id>")

# Indiquer le nom de l’artifact dont vous souhaitez supprimer les versions
artifact_name = "<artifact_name>"

# Rechercher et supprimer les versions d’artifact portant le nom indiqué
for artifact in run.logged_artifacts():
    print(f"Found artifact: {artifact.name}") # Exemple de nom : run_4dfbufgq_model:v0
    # Extraire uniquement le nom de l’artifact, sans la version, avec split()
    if artifact.name.split(":")[0] == artifact_name:
        print(f"Deleting artifact version: {artifact.name}")
        artifact.delete(delete_aliases=True)
```

<h2 id="delete-multiple-artifact-versions-with-a-specific-alias">
  Supprimer plusieurs versions d’artifact associées à un alias spécifique
</h2>

Le code suivant montre comment supprimer plusieurs versions d’artifact associées à un alias spécifique.

Remplacez les espaces réservés `<entity>`, `<project>`, `<run_id>`, `<artifact_name>` et `<alias>` par vos propres valeurs :

```python theme={"system"}
import wandb

# Initialiser l'API W&B
api = wandb.Api()

# Obtenir le run à partir de son chemin, au format <entity>/<project>/<run_id>
run = api.run("<entity>/<project>/<run_id>")

# Indiquer le nom de l'artifact dont vous voulez supprimer des versions
artifact_name = "<artifact_name>"

# Indiquer l'alias permettant de filtrer les versions d'artifact à supprimer
desired_alias = "<alias>"

# Supprimer les artifacts journalisés dans le run portant les alias 'v3' et 'v4
for artifact in run.logged_artifacts():
    print(f"Found artifact: {artifact.name}")
    if (artifact.name.split(":")[0] == artifact_name) and (desired_alias in artifact.aliases):
            artifact.delete(delete_aliases=True)
```

<h2 id="delete-an-artifact-collection">
  Supprimer une collection d’artifacts
</h2>

<Tabs>
  <Tab title="W&B App" value="ui">
    Pour supprimer une collection d’artifacts :

    1. Accédez à la collection d’artifacts à supprimer.
    2. Sélectionnez le menu **action (<Icon icon="ellipsis" iconType="solid" />)** à côté du nom de la collection d’artifacts.
    3. Dans le menu déroulant, sélectionnez **Supprimer**.
  </Tab>

  <Tab title="SDK Python W&B" value="sdk">
    Supprimez une collection d’artifacts par programmation à l’aide de la méthode [wandb.Artifact.delete()](/fr/products/wandb/ref/python/experiments/artifact#delete).

    Fournissez le chemin complet de la collection d’artifacts à `wandb.Api.artifact_collection(name="")`. Le chemin complet se présente sous la forme `<entity>/<project>/<artifact_collection_name>`.

    ```python theme={"system"}
    import wandb

    # Initialiser l’API W&B
    api = wandb.Api()

    # Obtenir la collection d’artifacts à partir de son chemin, au format
    # <entity>/<project>/<artifact_collection_name>
    collection = api.artifact_collection(
        type_name = "<artifact_type>",
        name = "<entity>/<project>/<artifact_collection_name>"
    )
    collection.delete()
    ```
  </Tab>
</Tabs>

<h2 id="protected-aliases-and-deletion-permissions">
  Alias protégés et autorisations de suppression
</h2>

Les artifacts dotés d’alias protégés font l’objet de restrictions de suppression particulières. Les [alias protégés](/fr/products/registry/aliases#protected-aliases) sont des alias du registre que les administrateurs de registre peuvent définir pour empêcher toute suppression non autorisée.

<Note>
  **Points importants concernant les alias protégés :**

  * Seuls les administrateurs de registre peuvent supprimer des artifacts dotés d’alias protégés.
  * Au sein d’un registre, les administrateurs de registre peuvent dissocier des versions d’artifact protégées et supprimer des collections ou des registres contenant des alias protégés.
  * Pour les artifacts sources : si un artifact source est lié à un registre avec un alias protégé, aucun utilisateur ne peut le supprimer
  * Les administrateurs de registre peuvent retirer les alias protégés des artifacts sources, puis supprimer ces derniers.
</Note>

<h2 id="enable-garbage-collection-based-on-how-wb-is-hosted">
  Activer le garbage collection selon le mode d’hébergement de W\&B
</h2>

<Note>Le moment d’exécution du garbage collection n’est pas garanti. Pour plus de détails, voir [Gérer le stockage et les coûts des buckets](/fr/products/wandb/platform/hosting/managing-bucket-storage).</Note>

Le garbage collection est actif par défaut si vous utilisez le Cloud mutualisé de W\&B. Avec les déploiements W\&B dédié et autogéré, vous devrez peut-être effectuer les étapes supplémentaires suivantes pour l’activer.

1. **W\&B autogéré** : définissez `GORILLA_ARTIFACT_GC_ENABLED=true`.
2. **Cloud dédié** : contactez l’assistance pour vérifier que le garbage collection est actif.
3. Activez la gestion des versions du bucket si vous utilisez [AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html), [Google Cloud](https://cloud.google.com/storage/docs/object-versioning) ou tout autre fournisseur de stockage, comme [Minio](https://min.io/docs/minio/linux/administration/object-management/object-versioning.html#enable-bucket-versioning). Si vous utilisez Azure, [activez la suppression réversible](https://learn.microsoft.com/azure/storage/blobs/soft-delete-blob-overview), qui équivaut à la gestion des versions du bucket.

Le tableau suivant indique, pour chaque type de déploiement, les exigences à remplir pour activer le garbage collection.

Un `X` indique une exigence à remplir :

| | Variable d’environnement | Activer la gestion des versions |
| - | - | - |
| Cloud mutualisé | | |
| Cloud mutualisé avec [stockage BYOB](/fr/products/wandb/platform/hosting/data-security/secure-storage-connector) | | X |
| Cloud dédié | | |
| Cloud dédié avec [stockage BYOB](/fr/products/wandb/platform/hosting/data-security/secure-storage-connector) | | X |
| Autogéré | X | X |

<Note>
  remarque
  Le Secure Storage Connector n’est actuellement disponible que pour Google Cloud Platform et Amazon Web Services.
</Note>
