> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-2751.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Lier une version d'artifact à une collection

> Lier une version d'artifact à une collection dans W&B Registry pour la partager au sein de votre organisation.

Pour rendre une version d'artifact accessible à votre organisation, *liez-la* à une [collection](/fr/models/registry/create_collection) dans
W\&B Registry. La liaison fait passer la version d'une [portée privée au niveau du projet à une portée partagée au niveau de l'organisation](/fr/models/registry/create_registry#visibility-types). Vous
pouvez lier une version d'artifact [par programmation à l'aide du W\&B Python SDK ou de manière interactive dans la W\&B App](/fr/models/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 collection. La version liée pointe vers la version de l'artifact source qui a été enregistré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é enregistrée.

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

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 plus d’informations sur les types de collection, voir "Types de collection" dans [Créer une collection](./create_collection).
  * Le registre auquel appartient la collection existe déjà. Pour vérifier que le registre existe, accédez à [Registry App et recherchez](/fr/models/registry/search_registry) le nom du registre.
</Note>

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

    Le tableau suivant résume les méthodes que vous pouvez utiliser pour lier une version d'artefact à une collection, ainsi que ce que W\&B enregistre pour chacune d'elles.

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

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

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

    ##### Lier un artefact depuis un run

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

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

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

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

    ```python theme={null}
    import wandb

    entity = "<team_entity>"          # Votre entité d'équipe
    project = "<project_name>"        # Le nom du projet contenant votre artifact

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

      # Créer un objet artifact
      # Le paramètre type spécifie à 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.
      # Indiquez le chemin vers le fichier sur votre machine locale.
      artifact.add_file(local_path = "<local_path_to_artifact>")

      # Spécifier 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)
    ```

    ##### Créer et lier un artefact

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

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

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

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

    ```python theme={null}
    import wandb

    # Créer un objet artifact
    # Le paramètre type spécifie à 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. 
    # Indiquez le chemin vers le 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)
    ```

    ##### Lier un artifact existant

    Utilisez `wandb.Artifact.link()` sur un artifact récupéré avec `wandb.Api().artifact()` pour lier une version existante d’un artifact déjà validé 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()` et spécifiez la collection de destination.

    ```python theme={null}
    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="Registre W&B">
    1. Accédez à W\&B Registry.
           <Frame>
             <img src="https://mintcdn.com/wb-21fd5541-docs-2751/dPOsFU3IO6IUvsjy/images/registry/navigate_to_registry_app.png?fit=max&auto=format&n=dPOsFU3IO6IUvsjy&q=85&s=58bdb4980e58aaa39bcc202b7e932db3" alt="Interface utilisateur de W&B Registry avec barre latérale du projet" width="2970" height="1920" data-path="images/registry/navigate_to_registry_app.png" />
           </Frame>
    2. Survolez la zone à côté du nom de la collection à laquelle vous souhaitez lier une version d'artefact.
    3. Sélectionnez le menu **d'actions (<Icon icon="ellipsis" iconType="solid" />)** à côté de **View details**.
    4. Dans la liste déroulante, sélectionnez **Link new version**.
    5. Dans la barre latérale 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 artefact.
    7. Dans la liste déroulante **Artifact**, sélectionnez le nom de l'artefact.
    8. Dans la liste déroulante **Version**, sélectionnez la version d'artefact que vous souhaitez lier à la collection.
  </Tab>

  <Tab title="Explorateur d’artefacts">
    1. Accédez au navigateur d’artefacts 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’artefact que vous souhaitez lier à votre Registry.
    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 artefact dans le menu déroulant **Select a register 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 informations de version, l’utilisation et les informations de traçabilité d’un artifact lié](/fr/models/registry/link_version#view-linked-artifacts-in-a-registry") ainsi que d’autres éléments dans la Registry App.

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

Affichez des informations sur les artifacts liés, comme les métadonnées, la traçabilité et les informations d’utilisation, dans le W\&B Registry.

1. Accédez au W\&B 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 consignent des métriques, comparez les métriques entre les versions en cliquant sur **Afficher les métriques**.
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 façon incrémentielle à chaque version d’artifact liée, à partir de `v0`.
6. Pour afficher les détails d’une version d’artifact, cliquez sur la version. Dans les onglets de cette page, vous pouvez consulter les métadonnées de cette version (y compris les métriques enregistrées), sa traçabilité et ses informations d’utilisation.

Notez le champ **Nom complet** dans l’onglet **Version**. Le nom complet d’un artifact lié se compose du registre, du nom de la collection, ainsi que de l’alias ou de l’index de la version d’artifact.

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

Vous avez besoin du nom complet d’un artifact lié pour accéder à la version de l’artifact par programmation.

<div id="troubleshooting">
  ## Dépannage
</div>

Voici quelques points courants à vérifier si vous ne parvenez pas à lier un artifact.

<div id="logging-artifacts-from-a-personal-account">
  ### Enregistrer des Artifacts depuis un compte personnel
</div>

Les Artifacts enregistrés dans W\&B avec une entité personnelle ne peuvent pas être liés au registre. Veillez à enregistrer les Artifacts à l’aide d’une entité d’équipe au sein de votre organisation. Seuls les Artifacts enregistrés au sein de l’équipe d’une organisation peuvent être liés au registre de l’organisation.

<Note>
  Veillez à enregistrer un artifact avec une entité d’équipe si vous souhaitez le lier à un registre.
</Note>

<div id="find-your-team-entity">
  #### Trouvez votre entité d’équipe
</div>

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

Vous pouvez confirmer le nom de votre équipe en :

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

<div id="log-from-a-team-entity">
  #### Journal depuis une entité d’équipe
</div>

1. Spécifiez l’équipe comme entité lorsque vous initialisez un run avec [`wandb.init()`](/fr/models/ref/python/functions/init). Si vous ne spécifiez pas `entity` lors de l’initialisation d’un run, le run utilise votre entité par défaut, qui peut être ou non votre entité d’équipe.

   ```python theme={null}
   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={null}
   artifact = wandb.Artifact(name="<artifact_name>", type="<type>")
   ```

   Pour journaliser des Artifacts, voir [Créer des Artifacts](/fr/models/artifacts/construct-an-artifact/).

3. Si un artifact est enregistré dans votre entité personnelle, vous devrez le journaliser à nouveau dans une entité de votre organisation.

<div 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
</div>

Créez une collection vide pour confirmer le chemin du registre dans l’interface de l’application W\&B. Pour ce faire, suivez les étapes ci-dessous :

1. Accédez au W\&B Registry à l’adresse [https://wandb.ai/registry/](https://wandb.ai/registry/).
2. Cliquez sur le registre auquel vous souhaitez lier un artifact.
3. Cliquez sur la collection vide. Si aucune collection vide n’existe, créez-en une.
4. Dans l’extrait de code qui s’affiche, identifiez le champ `target_path` dans `.link_artifact()`.
5. (Facultatif) Supprimez la collection.

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541-docs-2751/dPOsFU3IO6IUvsjy/images/registry/check_empty_collection.gif?s=74b6e64e5619af7ddfdf8b2d558770b9" alt="Créer une collection vide" width="3752" height="2190" data-path="images/registry/check_empty_collection.gif" />
</Frame>

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

```python theme={null}
target_path = 
      "smle-registries-bug-bash/wandb-registry-Golden Datasets/raw_images"
```

En le décomposant en composants, vous pouvez voir ce que vous devrez utiliser pour créer par programmation le chemin permettant de lier votre artifact :

```python theme={null}
ORG_ENTITY_NAME = "smle-registries-bug-bash"
REGISTRY_NAME = "Golden Datasets"
COLLECTION_NAME = "raw_images"
```

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