chore(i18n): refresh fr translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-16 21:54:59 +00:00
parent ce9cbef9c6
commit dbddfc4d02
2 changed files with 442 additions and 439 deletions

View File

@ -1,37 +1,37 @@
---
read_when:
- Étendre qa-lab ou qa-channel
- Extension de qa-lab ou qa-channel
- Ajout de scénarios QA adossés au dépôt
- Créer une automatisation QA plus réaliste autour du tableau de bord Gateway
summary: Forme de lautomatisation QA privée pour qa-lab, qa-channel, les scénarios préconfigurés et les rapports de protocole
title: Automatisation QA E2E
- Création dune automatisation QA plus réaliste autour du tableau de bord Gateway
summary: Forme de lautomatisation QA privée pour qa-lab, qa-channel, les scénarios initialisés et les rapports de protocole
title: Automatisation E2E de la QA
x-i18n:
generated_at: "2026-04-13T07:04:03Z"
generated_at: "2026-04-16T21:51:24Z"
model: gpt-5.4
provider: openai
source_hash: a4a4f5c765163565c95c2a071f201775fd9d8d60cad4ff25d71e4710559c1570
source_hash: 7deefda1c90a0d2e21e2155ffd8b585fb999e7416bdbaf0ff57eb33ccc063afc
source_path: concepts/qa-e2e-automation.md
workflow: 15
---
# Automatisation QA E2E
# Automatisation E2E de la QA
La pile QA privée est conçue pour exercer OpenClaw dune manière plus réaliste,
La pile QA privée est conçue pour tester OpenClaw dune manière plus réaliste,
façonnée par les canaux, quun simple test unitaire ne peut le faire.
Éléments actuels :
- `extensions/qa-channel` : canal de messages synthétique avec des surfaces pour les MP, les canaux, les fils,
les réactions, les modifications et les suppressions.
- `extensions/qa-lab` : UI de débogage et bus QA pour observer la transcription,
- `extensions/qa-lab` : interface de débogage et bus QA pour observer la transcription,
injecter des messages entrants et exporter un rapport Markdown.
- `qa/` : ressources damorçage adossées au dépôt pour la tâche de lancement et les
- `qa/` : ressources de départ adossées au dépôt pour la tâche de lancement et les
scénarios QA de référence.
Le flux actuel de lopérateur QA est un site QA à deux volets :
Le flux opérateur QA actuel est un site QA à deux volets :
- Gauche : tableau de bord Gateway (Control UI) avec lagent.
- Droite : QA Lab, affichant la transcription de style Slack et le plan de scénario.
- Droite : QA Lab, affichant une transcription de type Slack et le plan du scénario.
Lancez-le avec :
@ -40,12 +40,12 @@ pnpm qa:lab:up
```
Cela construit le site QA, démarre la voie Gateway adossée à Docker et expose la
page QA Lab où un opérateur ou une boucle dautomatisation peut donner à lagent une mission
QA, observer le comportement réel du canal et consigner ce qui a fonctionné, échoué ou
est resté bloqué.
page QA Lab où un opérateur ou une boucle dautomatisation peut confier à lagent une
mission QA, observer le comportement réel du canal et consigner ce qui a
fonctionné, échoué ou est resté bloqué.
Pour une itération plus rapide sur lUI de QA Lab sans reconstruire limage Docker à chaque fois,
démarrez la pile avec un bundle QA Lab monté en liaison :
Pour des itérations plus rapides sur linterface QA Lab sans reconstruire limage Docker à chaque fois,
démarrez la pile avec un bundle QA Lab monté par liaison :
```bash
pnpm openclaw qa docker-build-image
@ -54,52 +54,55 @@ pnpm qa:lab:up:fast
pnpm qa:lab:watch
```
`qa:lab:up:fast` conserve les services Docker sur une image préconstruite et monte en liaison
`qa:lab:up:fast` maintient les services Docker sur une image préconstruite et monte par liaison
`extensions/qa-lab/web/dist` dans le conteneur `qa-lab`. `qa:lab:watch`
reconstruit ce bundle lors des changements, et le navigateur se recharge automatiquement lorsque
le hachage de ressource QA Lab change.
reconstruit ce bundle à chaque modification, et le navigateur se recharge automatiquement lorsque le hachage
des ressources QA Lab change.
Pour une voie Matrix de smoke test sur transport réel, exécutez :
Pour une voie de validation Matrix avec transport réel, exécutez :
```bash
pnpm openclaw qa matrix
```
Cette voie provisionne un homeserver Tuwunel jetable dans Docker, enregistre des
utilisateurs temporaires pour le pilote, le SUT et lobservateur, crée un salon privé, puis exécute
le Plugin Matrix réel dans un enfant QA gateway. La voie à transport réel garde la
configuration enfant limitée au transport testé, afin que Matrix sexécute sans
`qa-channel` dans la configuration enfant.
Cette voie provisionne un homeserver Tuwunel jetable dans Docker, enregistre
des utilisateurs temporaires pour le pilote, le SUT et lobservateur, crée une salle privée,
puis exécute le véritable plugin Matrix dans un enfant Gateway QA. La voie de transport en direct conserve
la configuration enfant limitée au transport testé, de sorte que Matrix sexécute sans
`qa-channel` dans la configuration enfant. Elle écrit les artefacts de rapport structurés ainsi
quun journal combiné stdout/stderr dans le répertoire de sortie Matrix QA sélectionné. Pour
capturer également la sortie de construction/lancement externe de `scripts/run-node.mjs`, définissez
`OPENCLAW_RUN_NODE_OUTPUT_LOG=<path>` vers un fichier journal local au dépôt.
Pour une voie Telegram de smoke test sur transport réel, exécutez :
Pour une voie de validation Telegram avec transport réel, exécutez :
```bash
pnpm openclaw qa telegram
```
Cette voie cible un groupe privé Telegram réel au lieu de provisionner un serveur
jetable. Elle nécessite `OPENCLAW_QA_TELEGRAM_GROUP_ID`,
Cette voie cible un groupe Telegram privé réel au lieu de provisionner un
serveur jetable. Elle nécessite `OPENCLAW_QA_TELEGRAM_GROUP_ID`,
`OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` et
`OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN`, ainsi que deux bots distincts dans le même
groupe privé. Le bot SUT doit avoir un nom dutilisateur Telegram, et
lobservation bot-à-bot fonctionne mieux lorsque les deux bots ont le mode
Bot-to-Bot Communication activé dans `@BotFather`.
groupe privé. Le bot SUT doit avoir un nom dutilisateur Telegram, et lobservation
bot-à-bot fonctionne mieux lorsque les deux bots ont le mode de communication bot-à-bot
activé dans `@BotFather`.
Les voies de transport en direct partagent désormais un contrat plus petit au lieu que chacune
invente sa propre forme de liste de scénarios :
invente sa propre forme de liste de scénarios.
`qa-channel` reste la suite large de comportements produit synthétiques et ne fait pas partie
`qa-channel` reste la suite large de comportements synthétiques du produit et ne fait pas partie
de la matrice de couverture des transports en direct.
| Voie | Canary | Filtrage des mentions | Blocage par liste dautorisation | Réponse de premier niveau | Reprise après redémarrage | Suivi de fil | Isolation du fil | Observation des réactions | Commande help |
| -------- | ------ | --------------------- | -------------------------------- | ------------------------- | ------------------------- | ------------ | ---------------- | ------------------------- | ------------- |
| Matrix | x | x | x | x | x | x | x | x | |
| Telegram | x | | | | | | | | x |
| Voie | Canary | Filtrage des mentions | Blocage par liste dautorisation | Réponse de niveau supérieur | Reprise après redémarrage | Suivi dans un fil | Isolation des fils | Observation des réactions | Commande daide |
| -------- | ------ | --------------------- | -------------------------------- | --------------------------- | ------------------------- | ----------------- | ------------------ | ------------------------- | --------------- |
| Matrix | x | x | x | x | x | x | x | x | |
| Telegram | x | | | | | | | | x |
Cela permet à `qa-channel` de rester la suite large de comportements produit tandis que Matrix,
Cela conserve `qa-channel` comme la suite large de comportements du produit, tandis que Matrix,
Telegram et les futurs transports en direct partagent une checklist explicite de contrat de transport.
Pour une voie VM Linux jetable sans intégrer Docker au parcours QA, exécutez :
Pour une voie sur VM Linux jetable sans intégrer Docker dans le parcours QA, exécutez :
```bash
pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline
@ -108,24 +111,24 @@ pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline
Cela démarre un invité Multipass neuf, installe les dépendances, construit OpenClaw
dans linvité, exécute `qa suite`, puis copie le rapport QA normal et le
résumé dans `.artifacts/qa-e2e/...` sur lhôte.
Il réutilise le même comportement de sélection de scénarios que `qa suite` sur lhôte.
Les exécutions sur lhôte et sur Multipass exécutent plusieurs scénarios sélectionnés en parallèle
avec des workers Gateway isolés par défaut, jusquà 64 workers ou le nombre de
scénarios sélectionnés. Utilisez `--concurrency <count>` pour ajuster le nombre de workers, ou
Elle réutilise le même comportement de sélection de scénarios que `qa suite` sur lhôte.
Les exécutions sur lhôte et sur Multipass exécutent par défaut plusieurs scénarios sélectionnés en parallèle
avec des workers Gateway isolés, jusquà 64 workers ou au nombre de scénarios sélectionnés.
Utilisez `--concurrency <count>` pour ajuster le nombre de workers, ou
`--concurrency 1` pour une exécution en série.
Les exécutions en direct transmettent les entrées dauth QA prises en charge qui sont pratiques pour
linvité : clés de fournisseur basées sur lenvironnement, chemin de configuration du fournisseur QA live, et
Les exécutions en direct transmettent les entrées dauthentification QA prises en charge qui sont pratiques pour
linvité : les clés de fournisseur basées sur lenvironnement, le chemin de configuration du fournisseur QA live, et
`CODEX_HOME` lorsquil est présent. Gardez `--output-dir` sous la racine du dépôt afin que linvité
puisse écrire via lespace de travail monté.
puisse écrire en retour via lespace de travail monté.
## Ressources damorçage adossées au dépôt
## Ressources de départ adossées au dépôt
Les ressources damorçage se trouvent dans `qa/` :
Les ressources de départ se trouvent dans `qa/` :
- `qa/scenarios/index.md`
- `qa/scenarios/*.md`
Elles sont intentionnellement dans git afin que le plan QA soit visible à la fois pour les humains et pour
Elles sont volontairement conservées dans git afin que le plan QA soit visible à la fois pour les humains et pour
lagent.
`qa-lab` doit rester un exécuteur Markdown générique. Chaque fichier Markdown de scénario est
@ -133,22 +136,22 @@ la source de vérité pour une exécution de test et doit définir :
- les métadonnées du scénario
- les références de documentation et de code
- les exigences de Plugin facultatives
- les exigences de plugin facultatives
- le correctif de configuration Gateway facultatif
- le `qa-flow` exécutable
La surface dexécution réutilisable qui sous-tend `qa-flow` peut rester générique
et transversale. Par exemple, les scénarios Markdown peuvent combiner des helpers côté
transport avec des helpers côté navigateur qui pilotent la Control UI intégrée via la surface
Gateway `browser.request` sans ajouter dexécuteur à cas particulier.
et transversale. Par exemple, les scénarios Markdown peuvent combiner des
helpers côté transport avec des helpers côté navigateur qui pilotent la Control UI intégrée via la
surface Gateway `browser.request` sans ajouter dexécuteur spécialisé.
La liste de référence doit rester suffisamment large pour couvrir :
- les MP et le chat de canal
- les conversations en MP et en canal
- le comportement des fils
- le cycle de vie des actions sur les messages
- les rappels Cron
- le rappel mémoire
- le rappel de mémoire
- le changement de modèle
- le transfert à un sous-agent
- la lecture du dépôt et de la documentation
@ -158,14 +161,14 @@ La liste de référence doit rester suffisamment large pour couvrir :
`qa-lab` possède une interface de transport générique pour les scénarios QA Markdown.
`qa-channel` est le premier adaptateur sur cette interface, mais lobjectif de conception est plus large :
les futurs canaux réels ou synthétiques doivent sintégrer au même exécuteur de suite
au lieu dajouter un exécuteur QA spécifique à un transport.
les futurs canaux réels ou synthétiques devraient sintégrer au même exécuteur de suite
au lieu dajouter un exécuteur QA spécifique au transport.
Au niveau de larchitecture, la répartition est la suivante :
Au niveau de larchitecture, la séparation est la suivante :
- `qa-lab` possède lexécution générique des scénarios, la concurrence des workers, lécriture des artefacts et le reporting.
- ladaptateur de transport possède la configuration Gateway, létat de préparation, lobservation entrante et sortante, les actions de transport et létat de transport normalisé.
- les fichiers de scénarios Markdown sous `qa/scenarios/` définissent lexécution de test ; `qa-lab` fournit la surface dexécution réutilisable qui les exécute.
- `qa-lab` gère lexécution générique des scénarios, la concurrence des workers, lécriture des artefacts et le reporting.
- ladaptateur de transport gère la configuration Gateway, létat de préparation, lobservation des entrées et sorties, les actions de transport et létat de transport normalisé.
- les fichiers de scénarios Markdown sous `qa/scenarios/` définissent lexécution du test ; `qa-lab` fournit la surface dexécution réutilisable qui les exécute.
Les consignes dadoption destinées aux mainteneurs pour les nouveaux adaptateurs de canal se trouvent dans
[Testing](/fr/help/testing#adding-a-channel-to-qa).
@ -173,15 +176,15 @@ Les consignes dadoption destinées aux mainteneurs pour les nouveaux adaptate
## Rapports
`qa-lab` exporte un rapport de protocole Markdown à partir de la chronologie observée du bus.
Le rapport doit répondre à ces questions :
Le rapport doit répondre aux questions suivantes :
- Ce qui a fonctionné
- Ce qui a échoué
- Ce qui est resté bloqué
- Quels scénarios de suivi valent la peine dêtre ajoutés
Pour les vérifications de caractère et de style, exécutez le même scénario sur plusieurs références de modèles live
et écrivez un rapport Markdown évalué :
Pour les vérifications de caractère et de style, exécutez le même scénario sur plusieurs
références de modèles en direct et écrivez un rapport Markdown évalué :
```bash
pnpm openclaw qa character-eval \
@ -200,31 +203,31 @@ pnpm openclaw qa character-eval \
--judge-concurrency 16
```
La commande exécute des processus enfants locaux QA gateway, pas Docker. Les scénarios
dévaluation du caractère doivent définir la persona via `SOUL.md`, puis exécuter des tours utilisateur ordinaires
comme le chat, laide sur lespace de travail et de petites tâches sur des fichiers. Le modèle candidat
ne doit pas être informé quil est en cours dévaluation. La commande conserve chaque
transcription complète, enregistre des statistiques dexécution de base, puis demande aux modèles juges en mode fast avec
La commande exécute des processus enfants Gateway QA locaux, pas Docker. Les scénarios dévaluation de caractère
doivent définir la persona via `SOUL.md`, puis exécuter des tours utilisateur ordinaires
comme la discussion, laide sur lespace de travail et de petites tâches sur des fichiers. Le
modèle candidat ne doit pas être informé quil est en cours dévaluation. La commande préserve chaque
transcription complète, enregistre des statistiques dexécution de base, puis demande aux modèles juges en mode rapide avec
un raisonnement `xhigh` de classer les exécutions selon leur naturel, leur ambiance et leur humour.
Utilisez `--blind-judge-models` lors de la comparaison de fournisseurs : linvite du juge reçoit toujours
chaque transcription et statut dexécution, mais les références candidates sont remplacées par des étiquettes neutres
comme `candidate-01` ; le rapport remappe les classements vers les vraies références après
chaque transcription et le statut dexécution, mais les références candidates sont remplacées par des
étiquettes neutres telles que `candidate-01` ; le rapport réassocie les classements aux références réelles après
lanalyse.
Les exécutions candidates utilisent par défaut le niveau de réflexion `high`, avec `xhigh` pour les modèles OpenAI qui le
prennent en charge. Remplacez un candidat spécifique en ligne avec
`--model provider/model,thinking=<level>`. `--thinking <level>` définit toujours une
valeur de repli globale, et lancienne forme `--model-thinking <provider/model=level>` est
Les exécutions candidates utilisent par défaut le niveau de réflexion `high`, avec `xhigh` pour les modèles OpenAI qui
le prennent en charge. Remplacez un candidat spécifique en ligne avec
`--model provider/model,thinking=<level>`. `--thinking <level>` définit toujours un
repli global, et lancienne forme `--model-thinking <provider/model=level>` est
conservée pour compatibilité.
Les références candidates OpenAI utilisent par défaut le mode fast afin que le traitement prioritaire soit utilisé là où
Les références candidates OpenAI utilisent par défaut le mode rapide afin que le traitement prioritaire soit utilisé lorsque
le fournisseur le prend en charge. Ajoutez `,fast`, `,no-fast` ou `,fast=false` en ligne lorsquun
candidat ou juge unique a besoin dun remplacement. Passez `--fast` uniquement si vous souhaitez
forcer le mode fast pour tous les modèles candidats. Les durées des candidats et des juges sont
candidat ou juge unique nécessite un remplacement. Passez `--fast` uniquement si vous souhaitez
forcer le mode rapide pour chaque modèle candidat. Les durées des candidats et des juges sont
enregistrées dans le rapport pour lanalyse comparative, mais les invites des juges indiquent explicitement
de ne pas classer selon la vitesse.
de ne pas classer en fonction de la vitesse.
Les exécutions des modèles candidats et juges utilisent toutes deux par défaut une concurrence de 16. Réduisez
`--concurrency` ou `--judge-concurrency` lorsque les limites du fournisseur ou la pression sur la Gateway locale
rendent une exécution trop bruitée.
Lorsquaucun `--model` candidat nest transmis, lévaluation du caractère utilise par défaut
`--concurrency` ou `--judge-concurrency` lorsque les limites des fournisseurs ou la pression locale sur Gateway
rendent une exécution trop bruyante.
Lorsquaucun `--model` candidat nest transmis, lévaluation de caractère utilise par défaut
`openai/gpt-5.4`, `openai/gpt-5.2`, `openai/gpt-5`, `anthropic/claude-opus-4-6`,
`anthropic/claude-sonnet-4-6`, `zai/glm-5.1`,
`moonshot/kimi-k2.5` et

File diff suppressed because it is too large Load Diff