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

# Trouver des éléments du registre

> Découvrez comment rechercher des registres, des collections et des versions d'artifact de manière interactive via l'interface utilisateur ou par programmation à l'aide de requêtes.

Trouvez des registres, des collections et des versions d'artifact [de manière interactive dans W\&B Registry](/fr/models/registry/search_registry#search-for-registry-items) ou par programmation avec le [SDK Python W\&B](/fr/models/registry/search_registry#query-registry-items).

Seuls les éléments que vous êtes autorisé à consulter apparaissent dans les résultats de recherche.

<Info>
  La syntaxe et les opérateurs disponibles pour interroger W\&B Registry sont similaires à ceux des requêtes MongoDB, sans toutefois être identiques.
</Info>

<div id="search-for-registry-items">
  ## Rechercher des éléments du registre
</div>

Utilisez la [barre de recherche de la page d’accueil du W\&B Registry](/fr/models/registry/search_registry#basic-search) pour trouver des collections et des registres par nom. Utilisez la [recherche avancée](/fr/models/registry/search_registry#advanced-search) pour trouver des registres, des collections ou des versions d'artifact selon des attributs spécifiques tels que le nom, le tag, la description, la date de création, etc.

<div id="basic-search">
  ### Recherche de base
</div>

Recherchez des registres et des collections sur la page d’accueil du W\&B Registry :

1. Accédez au W\&B Registry.
2. Saisissez un terme à rechercher dans la barre de recherche en haut de la page.
3. Appuyez sur Entrée pour lancer la recherche.

<div id="advanced-search">
  ### Recherche avancée
</div>

Utilisez la recherche avancée pour trouver des registres, des collections ou des versions d'artifact. Utilisez des filtres pour rechercher des éléments du registre spécifiques en fonction d'attributs tels que le nom, le tag, la description, la date de création, etc.

1. Accédez à W\&B Registry.
2. Cliquez sur **Advanced** en haut de la page d’accueil.
3. Sélectionnez **Registries**, **Collections** ou **Versions**.
4. Cliquez sur **Filters**.
5. De gauche à droite, sélectionnez l’attribut selon lequel vous souhaitez filtrer, l’opérateur, puis la valeur. Vous pouvez ajouter plusieurs filtres pour affiner vos résultats de recherche.
6. Appuyez sur Entrée pour appliquer le filtre.

<div id="query-registry-items">
  ## Interroger les éléments du registre
</div>

Utilisez [`wandb.Api().registries()`](/fr/models/ref/python/public-api/api#registries) ainsi que des *prédicats de requête* pour filtrer les registres, les collections et les versions d'artifact. Un prédicat de requête est une condition qui précise les critères auxquels les éléments renvoyés doivent satisfaire.

Pour créer un prédicat de requête, utilisez un dictionnaire au format JSON composé d'un [nom de requête](/fr/models/registry/search_registry#filterable-fields), d'un ou plusieurs [opérateurs](/fr/models/registry/search_registry#supported-operators) et de valeurs. L'extrait de code suivant montre la structure générale d'un prédicat de requête :

```python theme={null}
{
    "query_name": {
        "operator": value
    }
}
```

Les sections suivantes décrivent les [noms de requête](/fr/models/registry/search_registry#filterable-fields) disponibles pour le registre, les [opérateurs pris en charge](/fr/models/registry/search_registry#supported-operators) et des [exemples de requêtes](/fr/models/registry/search_registry#example-queries).

<div id="filterable-fields">
  ### Champs pouvant être filtrés
</div>

Le tableau suivant répertorie les noms de requête que vous pouvez utiliser selon le type d’élément que vous souhaitez filtrer :

|             | nom de requête                                           |
| ----------- | -------------------------------------------------------- |
| registres   | `name`, `description`, `created_at`, `updated_at`        |
| collections | `name`, `tag`, `description`, `created_at`, `updated_at` |
| versions    | `tag`, `alias`, `created_at`, `updated_at`, `metadata`   |

<div id="supported-operators">
  ### Opérateurs pris en charge
</div>

W\&B prend en charge les opérateurs de comparaison et les opérateurs logiques suivants pour filtrer les éléments du registre :

<div id="comparison-operators">
  #### Opérateurs de comparaison
</div>

| Opérateur | Description         |
| --------- | ------------------- |
| `$eq`     | Égal à              |
| `$ne`     | Différent de        |
| `$gt`     | Supérieur à         |
| `$gte`    | Supérieur ou égal à |
| `$lt`     | Inférieur à         |
| `$lte`    | Inférieur ou égal à |

<div id="logical-operators">
  #### Opérateurs logiques
</div>

| Opérateur | Description                                                                                                             |
| --------- | ----------------------------------------------------------------------------------------------------------------------- |
| `$and`    | Effectue une opération logique [AND](https://en.wikipedia.org/wiki/Logical_conjunction) sur une ou plusieurs conditions |
| `$or`     | Effectue une opération logique [OR](https://en.wikipedia.org/wiki/Logical_disjunction) sur une ou plusieurs conditions  |
| `$nor`    | Effectue une opération logique [NOR](https://en.wikipedia.org/wiki/Logical_NOR) sur une ou plusieurs conditions         |
| `$not`    | Effectue une opération logique [NOT](https://en.wikipedia.org/wiki/Negation) sur une condition                          |

<div id="other-operators">
  #### Autres opérateurs
</div>

| Opérateur   | Description                                      |
| ----------- | ------------------------------------------------ |
| `$regex`    | Correspondance à un motif d’expression régulière |
| `$exists`   | Le champ existe ou n’existe pas                  |
| `$contains` | La chaîne contient une valeur                    |

<div id="example-queries">
  ### Exemples de requêtes
</div>

Les exemples de code suivants illustrent quelques cas courants de recherche.

Pour utiliser la méthode `wandb.Api().registries()`, importez d’abord la bibliothèque du SDK Python W\&B ([`wandb`](/fr/models/ref/python/)) :

```python theme={null}
import wandb

# (Facultatif) Créer une instance de la classe wandb.Api() pour plus de lisibilité
api = wandb.Api()
```

Filtrez tous les registres contenant la chaîne `model` :

```python theme={null}
# Filtrez tous les registres contenant la chaîne `model`
registry_filters = {
    "name": {"$regex": "model"}
}

# Renvoie un itérable de tous les registres correspondant aux filtres
registries = api.registries(filter=registry_filters)
```

Filtrez toutes les collections, quel que soit le registre, dont le nom contient la chaîne `yolo` :

```python theme={null}
# Filtrez toutes les collections, quel que soit le registre, 
# dont le nom contient la chaîne `yolo`
collection_filters = {
    "name": {"$regex": "yolo"}
}

# Renvoie un itérable de toutes les collections correspondant aux filtres
collections = api.registries().collections(filter=collection_filters)
```

Filtrez toutes les collections, quel que soit le registre, qui contiennent la chaîne `yolo` dans le nom de la collection et portent le tag `cnn` :

```python theme={null}
# Filtrez toutes les collections, quel que soit le registre, qui contiennent la
# chaîne `yolo` dans le nom de la collection et portent le tag `cnn`
collection_filters = {
    "name": {"$regex": "yolo"},
    "tag": "cnn"
}

# Renvoie un itérable de toutes les collections correspondant aux filtres
collections = api.registries().collections(filter=collection_filters)
```

Trouvez toutes les versions d'artifact contenant la chaîne `model` et ayant soit le tag `image-classification`, soit l’alias `latest` :

```python theme={null}
# Trouvez toutes les versions d'artifact contenant la chaîne `model` et 
# ayant soit le tag `image-classification`, soit l'alias `latest`
registry_filters = {
    "name": {"$regex": "model"}
}

# Utiliser l'opérateur logique $or pour filtrer les versions d'artifact
version_filters = {
    "$or": [
        {"tag": "image-classification"},
        {"alias": "production"}
    ]
}

# Renvoie un itérable de toutes les versions d'artifact correspondant aux filtres
artifacts = api.registries(filter=registry_filters).collections().versions(filter=version_filters)
```

Chaque élément de l’itérable `artifacts` dans l’extrait de code précédent est une instance de la classe `Artifact`. Cela signifie que vous pouvez accéder aux attributs de chaque artifact, tels que `name`, `collection`, `aliases`, `tags`, `created_at`, et plus encore :

```python theme={null}
for art in artifacts:
    print(f"artifact name: {art.name}")
    print(f"collection artifact belongs to: { art.collection.name}")
    print(f"artifact aliases: {art.aliases}")
    print(f"tags attached to artifact: {art.tags}")
    print(f"artifact created at: {art.created_at}\n")
```

Pour obtenir la liste complète des attributs d’un objet artifact, voir la [classe Artifacts](/fr/models/ref/python/experiments/artifact/) dans la documentation de référence de l’API.

Filtrez toutes les versions d'artifact, indépendamment du registre ou de la collection, créées entre 2024-01-08 et 2025-03-04 à 13:10 UTC :

```python theme={null}
# Trouvez toutes les versions d'artifact créées entre 2024-01-08 et 2025-03-04 à 13:10 UTC. 

artifact_filters = {
    "alias": "latest",
    "created_at" : {"$gte": "2024-01-08", "$lte": "2025-03-04 13:10:00"},
}

# Renvoie un itérable de toutes les versions d'artifact correspondant aux filtres
artifacts = api.registries().collections().versions(filter=artifact_filters)
```

<Note>
  Indiquez la date et l’heure au format `YYYY-MM-DD HH:MM:SS` pour les requêtes `created_at` et `updated_at`. Vous pouvez omettre les heures, les minutes et les secondes si vous souhaitez filtrer uniquement par date.
</Note>
