---
url: https://docs.ogmabox.com/fr/app/search.md
description: >-
  Recherchez dans le trafic et les constats des projets Ogma avec HTTPQL et les
  filtres de contenu.
---

# Recherche {#search}

La vue Recherche interroge le trafic HTTP capturé dans le projet courant, y compris les enregistrements au-delà des lignes actuellement chargées dans Historique HTTP.

## Ouvrir la recherche {#opening-search}

Cliquez sur **Recherche** dans la navigation de gauche. Saisissez des critères structurés et/ou une expression HTTPQL, puis cliquez sur **Recherche** ou appuyez sur Entrée. La saisie modifie les critères sans lancer une nouvelle recherche. Utilisez la pagination pour examiner les résultats supplémentaires.

## Syntaxe HTTPQL {#httpql-syntax}

HTTPQL est un langage de requête structuré pour le trafic HTTP. Il recherche des correspondances dans les champs des requêtes et des réponses à l'aide d'opérateurs typés.

### Champs {#fields}

| Champ | Élément recherché |
|-------|---------|
| `req.host` | Nom d'hôte de la requête. |
| `req.path` | Chemin de la requête. |
| `req.method` | Méthode HTTP (GET, POST, etc.). |
| `req.body` | Contenu du corps de la requête. |
| `resp.code` | Code d'état de la réponse (entier). |
| `resp.len` | Longueur du corps de la réponse en octets (entier). |
| `resp.body` | Contenu du corps de la réponse. |
| `resp.header["Name"].value` | Valeur de l'en-tête de réponse nommé. |
| `req.header["Name"].value` | Valeur de l'en-tête de requête nommé. |
| `req.has_finding` | Vrai lorsque la requête est associée à au moins un constat. |
| `req.tag` | Chaîne de l'étiquette appliquée à la requête. |

### Opérateurs {#operators}

| Opérateur | S'applique à | Signification |
|----------|-----------|---------|
| `eq` | chaîne, entier | Correspondance exacte. |
| `ne` | chaîne, entier | Différent de. |
| `cont` | chaîne | Contient une sous-chaîne. |
| `ncont` | chaîne | Ne contient pas une sous-chaîne. |
| `regex` | chaîne | Correspond à une expression régulière. |
| `gt` | entier | Supérieur à. |
| `gte` | entier | Supérieur ou égal à. |
| `lt` | entier | Inférieur à. |
| `lte` | entier | Inférieur ou égal à. |
| `exists` | en-têtes | L'en-tête est présent. |

### Combiner des expressions {#combining-expressions}

Utilisez `AND` et `OR` pour combiner des conditions. Les parenthèses contrôlent la priorité. Utilisez des opérateurs négatifs tels que `ne` ou `ncont` pour exclure des correspondances.

```text
(req.method.eq:POST OR req.method.eq:PUT) AND resp.code.gte:500
```

## Exemples de requêtes {#example-queries}

Trouver les requêtes POST ayant renvoyé une erreur avec un code de la série 500 :

```text
req.method.eq:POST AND resp.code.gte:500
```

Trouver les requêtes avec un en-tête Authorization :

```text
req.header["Authorization"].value.exists
```

Trouver les réponses volumineuses provenant d'un hôte précis :

```text
req.host.eq:api.example.com AND resp.len.gt:100000
```

Trouver les requêtes étiquetées pour un examen complémentaire :

```text
req.tag.eq:followup
```

Trouver toutes les requêtes associées à un constat :

```text
req.has_finding.eq:true
```

Trouver les requêtes dont le corps de la réponse contient une chaîne d'erreur connue :

```text
resp.body.cont:"stack trace"
```

## Recherches enregistrées {#saved-searches}

Utilisez **Épingler** à côté du champ HTTPQL pour conserver une requête fréquente et la réutiliser rapidement. Sélectionnez une requête épinglée pour l'appliquer ; retirez sa pastille lorsque vous n'en avez plus besoin. L'historique des requêtes aide aussi à réutiliser des expressions récentes.

Les onglets de recherche permettent de comparer des requêtes indépendantes pendant la visite en cours. Il ne s'agit pas de recherches enregistrées persistantes. Pour des préréglages structurés et nommés pouvant être exportés et importés, utilisez la [page Filtres](./filters.md).

## Inspecter les résultats {#inspecting-results}

Cliquez sur une ligne du tableau des résultats pour ouvrir la requête et la réponse dans le panneau d'inspection. L'inspecteur est la même vue que dans Historique HTTP : vous pouvez basculer entre les vues brute et mise en forme, copier les en-têtes ou le corps et ajouter des constats directement depuis ce panneau.

## Assistance par IA {#ai-assist}

Lorsqu'un fournisseur d'IA est configuré, cliquez sur **IA** à côté du champ de requête pour décrire en langage naturel ce que vous cherchez. Ogma génère l'expression HTTPQL. Examinez la requête avant de l'exécuter.

* « Requêtes POST renvoyant des erreurs serveur » > `req.method.eq:POST AND resp.code.gte:500`
* « Réponses de plus de 50 Ko provenant du sous-domaine API » > `req.host.cont:api AND resp.len.gt:51200`
* « Requêtes associées à des constats » > `req.has_finding.eq:true`

## Pages connexes {#related-pages}

* [HTTPQL et StreamQL](../reference/httpql.md)
* [Historique HTTP](./http-history.md)
* [Filtres](./filters.md)
