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

# Lier une version d’artifact à une collection

> Liez une version d’artifact à une collection du registre pour la partager dans toute votre organisation.

Pour mettre une version d’artifact à la disposition de votre organisation, *liez*-la à une [collection](/fr/products/registry/create_collection) dans
le registre. La liaison fait passer la version d’une [portée privée, limitée au projet, à une portée partagée, à l’échelle de l’organisation](/fr/products/registry/create_registry#visibility-types). Vous
pouvez lier une version d’artifact [par programmation avec le SDK Python W\&B ou de manière interactive dans la W\&B App](/fr/products/registry/link_version#link-an-artifact-to-a-collection).

Lorsque vous liez un artifact, W\&B crée une référence entre l’artifact source et l’entrée de la collection. La version liée pointe vers la version de l’artifact source journalisée dans un run d’un projet. Vous pouvez consulter à la fois la version liée dans la collection et la version source dans le projet où elle a été journalisée.

<h2 id="link-an-artifact-to-a-collection">
  Lier un artifact à une collection
</h2>

Choisissez un flux de travail selon que vous souhaitez créer l’artifact pendant un run, le créer sans run ou lier une version d’artifact existante.

<Note>
  Avant de commencer, vérifiez les points suivants :

  * Les types d’artifacts autorisés par la collection. Pour en savoir plus sur les types de collections, consultez la section « Types de collections » de la page [Créer une collection](/fr/products/registry/create_collection).
  * Le registre auquel appartient la collection existe déjà. Pour le vérifier, accédez à la [Registry App et recherchez](/fr/products/registry/search_registry) le nom du registre.
</Note>

<Tabs>
  <Tab title="SDK Python W&B">
    Liez par programmation une version d’artifact à une collection avec [`wandb.Run.link_artifact()`](/fr/products/wandb/ref/python/experiments/run#method-run-link_artifact) ou
    [`wandb.Artifact.link()`](/fr/products/wandb/ref/python/experiments/artifact#method-artifact-link)

    Le tableau suivant récapitule les méthodes permettant de lier une version d’artifact à une collection, ainsi que ce que W\&B enregistre avec chacune d’elles.

    | Cas d’utilisation | Méthode | Ce que W\&B enregistre |
    | - | - | - |
    | Créer un artifact pendant un run et le lier à une collection | `wandb.Run.link_artifact()` | Journalise l’artifact comme sortie du run actif, puis le lie |
    | Créer et lier un artifact sans démarrer explicitement de run | `wandb.Artifact.link()` sur un artifact brouillon | Enregistre d’abord l’artifact ; si aucun run n’est actif, crée un run automatique |
    | Lier un artifact existant déjà validé | `wandb.Artifact.link()` sur un artifact obtenu via `wandb.Api().artifact()` | Lie l’artifact sans créer de nouveau run |

    Transmettez le chemin de la collection de destination au paramètre `target_path`. Ce chemin se compose du préfixe `wandb-registry-`, du nom du registre et du nom de la collection :

    ```text theme={"system"}
    wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}
    ```

    <h5 id="link-an-artifact-from-a-run">
      Lier un artifact depuis un run
    </h5>

    Utilisez `wandb.Run.link_artifact()` pour créer et lier une version d’artifact pendant un run actif. Avant de les lier, W\&B journalise les brouillons d’artifacts en tant que sorties du run.

    Pour créer et lier une version d’artifact :

    1. Initialisez un run avec `wandb.init()`.
    2. Créez un objet `Artifact` et ajoutez-y un ou plusieurs fichiers.
    3. Appelez `wandb.Run.link_artifact()` en indiquant la collection de destination.

    Remplacez les valeurs entre chevrons (`<>`) par vos propres valeurs :

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

    entity = "<team_entity>"          # Votre entity d’équipe
    project = "<project_name>"        # Le nom du projet qui contient votre artifact

    # Initialiser un run
    with wandb.init(entity = entity, project = project) as run:

      # Créer un objet artifact
      # Le paramètre type définit à la fois le type de 
      # l’objet artifact et le type de collection
      artifact = wandb.Artifact(name = "<name>", type = "<type>")

      # Ajouter le fichier à l’objet artifact. 
      # Indiquer le chemin du fichier sur votre machine locale.
      artifact.add_file(local_path = "<local_path_to_artifact>")

      # Indiquer la collection et le registre auxquels lier l’artifact
      REGISTRY_NAME = "<registry_name>"  
      COLLECTION_NAME = "<collection_name>"
      target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

      # Lier l’artifact à la collection
      run.link_artifact(artifact = artifact, target_path = target_path)
    ```

    <h5 id="create-and-link-an-artifact">
      Créer et lier un artifact
    </h5>

    Utilisez `wandb.Artifact.link()` pour créer et lier un artifact brouillon sans initialiser explicitement de run. Si nécessaire, W\&B crée automatiquement un run pour enregistrer l’artifact avant de le lier.

    Pour créer et lier une version d’artifact :

    1. Créez un objet `Artifact` et ajoutez-y un ou plusieurs fichiers.
    2. Appelez `wandb.Artifact.link()` en indiquant la collection de destination.

    Remplacez les valeurs entre chevrons (`<>`) par les vôtres :

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

    # Créer un objet artifact
    # Le paramètre type définit à la fois le type de
    # l’objet artifact et le type de la collection
    artifact = wandb.Artifact(name = "<name>", type = "<type>")

    # Ajouter le fichier à l’objet artifact.
    # Indiquer le chemin du fichier sur votre machine locale.
    artifact.add_file(local_path = "<local_path_to_artifact>")

    # Indiquer la collection et le registre auxquels lier l’artifact
    REGISTRY_NAME = "<registry_name>"  
    COLLECTION_NAME = "<collection_name>"
    target_path=f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"

    # Lier l’artifact à la collection
    artifact.link(target_path = target_path)
    ```

    <h5 id="link-an-existing-artifact">
      Lier un artifact existant
    </h5>

    Utilisez `wandb.Artifact.link()` sur un artifact récupéré avec `wandb.Api().artifact()` pour lier une version d’artifact existante et déjà validée, sans créer de nouveau run.

    1. Créez un client d’API publique avec `wandb.Api()`.
    2. Récupérez la version de l’artifact avec `wandb.Api.artifact()`.
    3. Appelez `wandb.Artifact.link()` en indiquant la collection de destination.

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

    api = wandb.Api()

    artifact = api.artifact(
        "<entity>/<project>/<artifact-name>:<alias-or-version>"
    )

    artifact.link(
        target_path="wandb-registry-<registry-name>/<collection-name>",
        aliases=["latest"],
    )
    ```
  </Tab>

  <Tab title="Registry">
    1. Accédez au registre à l’adresse [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/).
    2. Placez le pointeur de la souris à côté du nom de la collection à laquelle vous souhaitez lier une version d’artifact.
    3. Sélectionnez le menu **action (<Icon icon="ellipsis" iconType="solid" />)** à côté de **Voir les détails**.
    4. Dans la liste déroulante, sélectionnez **Link new version**.
    5. Dans le panneau latéral qui s’affiche, sélectionnez le nom d’une équipe dans la liste déroulante **Team**.
    6. Dans la liste déroulante **Project**, sélectionnez le nom du projet qui contient votre artifact.
    7. Dans la liste déroulante **Artifact**, sélectionnez le nom de l’artifact.
    8. Dans la liste déroulante **Version**, sélectionnez la version d’artifact à lier à la collection.
  </Tab>

  <Tab title="Explorateur d’artifacts">
    1. Accédez au navigateur d’artifacts de votre projet dans l’application W\&B, à l’adresse suivante : `https://wandb.ai/<entity>/<project>/artifacts`
    2. Sélectionnez l’icône Artifacts dans la barre latérale du projet.
    3. Cliquez sur la version de l’artifact que vous souhaitez lier à votre registre.
    4. Dans la section **Version overview**, cliquez sur le bouton **Link to registry**.
    5. Dans la fenêtre modale qui s’affiche à droite de l’écran, sélectionnez un artifact dans le menu déroulant **Select a registered model**.
    6. Cliquez sur **Next step**.
    7. (Facultatif) Sélectionnez un alias dans le menu déroulant **Aliases**.
    8. Cliquez sur **Link to registry**.
  </Tab>
</Tabs>

Vous pouvez [consulter les métadonnées, les données de version, l'utilisation et les informations de traçabilité d'un artifact lié](/fr/products/registry/link_version#view-linked-artifacts-in-a-registry), entre autres, dans la Registry App.

<h2 id="unlink-an-artifact-version-from-a-collection">
  Dissocier une version d’artifact d’une collection
</h2>

Utilisez le SDK Python W\&B ou le registre pour dissocier une version d’artifact d’une collection.

La dissociation retire la version d’artifact de la collection, mais ne supprime ni la version d’artifact source ni ses fichiers.

<Warning>
  Lier une version d’artifact à une collection de registre désactive sa politique de durée de vie (TTL) et définit son TTL sur `None`. Si vous dissociez ultérieurement la version, W\&B ne restaure pas le TTL précédent et ne conserve pas sa durée d’origine. Si la version nécessite toujours un TTL, reconfigurez-le après la dissociation.

  Pour plus d’informations sur les politiques TTL, consultez [Gérer la rétention des données des artifacts](/fr/products/wandb/artifacts/ttl).
</Warning>

<Tabs>
  <Tab title="SDK Python W&B">
    Pour dissocier une version d’artifact avec le SDK Python W\&B :

    1. Créez un client d’API publique avec `wandb.Api()`.
    2. Récupérez la version d’artifact liée avec `wandb.Api.artifact()`.
    3. Appelez [`wandb.Artifact.unlink()`](/fr/products/wandb/ref/python/experiments/artifact#method-artifact-unlink) pour dissocier la version d’artifact de la collection.

    ```text theme={"system"}
    wandb-registry-<registry_name>/<collection_name>:<version_or_alias>
    ```

    Remplacez les espaces réservés par vos propres valeurs :

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

    registry_name = "your-registry-name"  # Remplacez par le nom du registre
    collection_name = "your-collection-name"  # Remplacez par le nom de la collection
    version = "version-or-alias"  # Remplacez par la version de l'artifact à dissocier

    target_path=f"wandb-registry-{registry_name}/{collection_name}:{version}"

    api = wandb.Api()
    linked_artifact = api.artifact(name=target_path)

    # Dissocier la version d'artifact de la collection
    linked_artifact.unlink()
    ```
  </Tab>

  <Tab title="Registry">
    1. Accédez au registre à l’adresse [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/).
    2. Sélectionnez le nom du registre qui contient la collection.
    3. Sélectionnez la collection.
    4. Sélectionnez la version d’artifact à dissocier.
    5. Dans l’onglet **Version**, sélectionnez **Unlink version**.
  </Tab>
</Tabs>

<h2 id="view-linked-artifacts-in-a-registry">
  Afficher les artifacts liés dans un registre
</h2>

Consultez dans le registre les informations relatives aux artifacts liés, telles que les métadonnées, la traçabilité et les informations d'utilisation.

1. Accédez au registre à l'adresse [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/).
2. Sélectionnez le nom du registre auquel vous avez lié l'artifact.
3. Sélectionnez le nom de la collection.
4. Si les artifacts de la collection journalisent des métriques, cliquez sur **Show metrics** pour comparer les métriques entre les versions.
5. Dans la liste des versions d'artifact, sélectionnez la version à laquelle vous souhaitez accéder. Les numéros de version sont attribués de manière incrémentielle à chaque version d'artifact liée, en commençant par `v0`.
6. Pour afficher les détails d'une version d'artifact, cliquez sur celle-ci. Les onglets de cette page vous permettent de consulter les métadonnées de cette version (y compris les métriques journalisées), sa traçabilité et ses informations d'utilisation.

Notez la valeur du champ **Full Name** dans l'onglet **Version**. Le nom complet d'un artifact lié se compose du registre, du nom de la collection et de l'alias ou de l'index de la version d'artifact.

```text title="Full name of a linked artifact" theme={"system"}
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{INTEGER}
```

Pour accéder par programmation à la version d’un artifact lié, vous avez besoin de son nom complet.

<h2 id="troubleshooting">
  Dépannage
</h2>

Si vous ne parvenez pas à lier un artifact, voici quelques points courants à vérifier.

<h3 id="logging-artifacts-from-a-personal-account">
  Journalisation d’artifacts depuis un compte personnel
</h3>

Les artifacts consignés dans W\&B avec une entity personnelle ne peuvent pas être liés au registre. Veillez à journaliser vos artifacts avec une entity d’équipe de votre organisation. Seuls les artifacts journalisés au sein d’une équipe de l’organisation peuvent être liés au registre de celle-ci.

<Note>
  Pour lier un artifact à un registre, veillez à le journaliser avec une entity d’équipe.
</Note>

<h4 id="find-your-team-entity">
  Trouver l’entity de votre équipe
</h4>

W\&B utilise le nom de votre équipe comme entity d’équipe. Par exemple, si votre équipe s’appelle **team-awesome**, l’entity de votre équipe est `team-awesome`.

Pour vérifier le nom de votre équipe :

1. Accédez à la page de profil W\&B de votre équipe.
2. Copiez l’URL de la page. Elle se présente sous la forme `https://wandb.ai/<team>`, où `<team>` correspond à la fois au nom de votre équipe et à son entity.

<h4 id="log-from-a-team-entity">
  Journaliser depuis un entity d’équipe
</h4>

1. Indiquez l’équipe comme entity lorsque vous initialisez un run avec [`wandb.init()`](/fr/products/wandb/ref/python/functions/init). Si vous ne précisez pas l’`entity` lors de l’initialisation d’un run, celui-ci utilise votre entity par défaut, qui n’est pas forcément votre entity d’équipe.

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

   with wandb.init(entity='<team_entity>', project='<project_name>') as run:
       # Journalisez votre artifact ici
   ```

2. Journalisez l’artifact dans le run, soit avec `wandb.Run.log_artifact()`, soit en créant un objet Artifact puis en y ajoutant des fichiers avec :

   ```python theme={"system"}
   artifact = wandb.Artifact(name="<artifact_name>", type="<type>")
   ```

   Pour journaliser des artifacts, consultez [Construire des artifacts](/fr/products/wandb/artifacts/construct-an-artifact).

3. Si un artifact a été journalisé dans votre entity personnel, vous devrez le journaliser à nouveau dans un entity de votre organisation.

<h3 id="confirm-the-path-of-a-registry-in-the-wb-app-ui">
  Confirmer le chemin d’un registre dans l’interface de l’application W\&B
</h3>

Créez une collection vide pour confirmer le chemin du registre dans l’interface de l’application W\&B. Pour ce faire, procédez comme suit :

1. Accédez au registre à l’adresse [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/).
2. Cliquez sur le registre auquel vous souhaitez lier un artifact.
3. Cliquez sur la collection vide. S’il n’en existe aucune, créez une nouvelle collection.
4. Dans l’extrait de code qui s’affiche, repérez le champ `target_path=` dans `.link_artifact()`.
5. (Facultatif) Supprimez la collection.

Par exemple, une fois ces étapes terminées, vous obtenez le bloc de code contenant le paramètre `target_path` :

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/registry/_media/check_empty_collection.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=d056d6e2177061f85d8b9ebe9532d7ef" alt="Créer une collection vide" width="3456" height="1844" data-path="products/registry/_media/check_empty_collection.png" />
</Frame>

```python theme={"system"}
target_path = 
      "wandb-registry-Zoo-Classifier-Registry/Temp Collection"
```

En décomposant ce chemin en ses différents composants, vous pouvez identifier les éléments à utiliser pour construire le chemin qui permet de lier votre artifact par programmation :

```python theme={"system"}
ORG_ENTITY_NAME = "wandb"
REGISTRY_NAME = "Zoo-Classifier-Registry"
COLLECTION_NAME = "Temp Collection"
```

<Note>
  Veillez à remplacer le nom de la collection temporaire par celui de la collection à laquelle vous souhaitez lier votre artifact.
</Note>
