Messages d’erreur
Tous les messages que Signal Lab peut afficher en cas d’échec, par code : c’est le code que donnent le rapport d’une exécution, la ligne de commande et l’API. Les valeurs entre accolades sont remplacées par ce qui a échoué.
api
| Code | Message |
|---|---|
api.not_found | Le serveur n’a pas cette adresse — l’interface et le serveur sont de versions différentes |
api.run_invalid | La demande d’exécution est illisible |
api.run_source | Désignez l’expérience une seule fois : un document ou un modèle |
api.template_unknown | Il n’y a pas de modèle intégré {name} |
auth
| Code | Message |
|---|---|
auth.host | Ce serveur ne répond pas à cette adresse — ouvrez-le par son propre nom |
auth.origin | Cette requête venait d’un autre site et a été refusée |
auth.required | Connectez-vous d’abord à ce serveur |
broadcast
| Code | Message |
|---|---|
broadcast.cidr_invalid | {value} n’est pas un bloc CIDR — utilisez a.b.c.d/nn, p. ex. 192.168.1.0/24 |
broadcast.interface_invalid | {value} n’est pas une adresse IPv4 — saisissez l’adresse de l’interface, ou laissez vide pour n’importe laquelle |
broadcast.ipv6 | IPv6 n’a pas de broadcast — utilisez plutôt le multicast |
broadcast.join_failed | Impossible de rejoindre le groupe multicast {group} |
broadcast.not_broadcast | {target} n’est pas une adresse de broadcast — utilisez 255.255.255.255:port ou x.x.x.255:port |
broadcast.not_multicast | {target} n’est pas un groupe multicast — utilisez une adresse de 224.0.0.0 à 239.255.255.255 |
broadcast.port_shared | {target} est déjà utilisé — activez « partager le port » pour écouter à côté |
broadcast.prefix_invalid | /{value} n’est pas une longueur de préfixe — utilisez /0 à /32 |
broadcast.rate_invalid | Le débit de la balise doit être supérieur à 0 |
broadcast.rate_limit | {pps} paquets/s sur {targets} cibles dépasse la limite de {max} pps — baissez le débit ou réduisez la cible |
broadcast.reply_missing | Il n’y a pas de réponse à envoyer — définissez-en une, ou désactivez « répondre aux sondes » |
broadcast.sweep_port | Indiquez le port à balayer |
broadcast.sweep_too_large | /{prefix} couvre {count} adresses, et un balayage atteint au plus {max} hôtes — réduisez à /{limit} ou à un bloc plus petit |
broadcast.target_required | Saisissez au moins une cible |
check
| Code | Message |
|---|---|
check.body_missing | La réponse ne contient pas {text} |
check.body_truncated | La réponse ({bytes} o) dépasse les 256 Kio conservés : le texte n’a donc pas pu être vérifié |
check.header_mismatch | L’en-tête {name} vaut {actual}, qui ne contient pas {text} |
check.header_missing | La réponse n’a pas d’en-tête {name} |
check.latency_failed | La réponse a pris {actual} ms, au-delà de la limite de {limit} ms |
check.no_response | Aucune réponse HTTP avant cette étape — placez une requête HTTP avant elle sur chaque chemin |
check.status_failed | HTTP {expected} attendu, {actual} reçu |
check.value_failed | Attendu : {value} {op} {expected} |
cli
| Code | Message |
|---|---|
cli.bind_one | --bind définit l’adresse d’un seul émulateur ; plusieurs ont été donnés |
cli.emulate_nothing | Rien à émuler : les fichiers ne contiennent aucun émulateur |
cli.emulator_unknown | {name} n’est pas un fichier, et {path} n’a pas d’émulateur avec cet identifiant ou ce nom |
cli.file_unknown | {name} n’est ni un fichier ni un modèle intégré — signallab templates les liste |
cli.header_invalid | {value} n’est pas un en-tête — utilisez 'Nom: valeur' |
cli.library_missing | Il n’y a pas de bibliothèque à {path} — l’application la crée à son premier démarrage ; ou indiquez-en une avec --library |
cli.matrix_conflict | {name} est défini deux fois — par --param et la matrice, ou par --matrix et le fichier ; donnez-le une seule fois |
cli.matrix_file_invalid | {path} n’est pas une matrice : un objet de NAME: [valeurs], ou une liste d’objets de NAME: valeur |
cli.matrix_invalid | {value} n’est pas au format NAME=V1,V2 |
cli.matrix_too_large | {n} combinaisons — au plus {max} par commande |
cli.matrix_too_wide | {axes} axes multiplient au-delà de tout compte — au plus {max} combinaisons par commande |
cli.matrix_unknown | --matrix {name} : aucune expérience donnée n’a de paramètre de ce nom |
cli.matrix_value_invalid | {name} : une valeur de matrice est un texte, un nombre ou true/false |
cli.osc_arg_invalid | {value} n’est pas un argument OSC — utilisez i:3, f:0.5, d:1.5, h:64, s:text, b:hex, T, F ou N |
cli.param_invalid | {value} n’est pas au format NAME=VALUE |
cli.server_ended | La réponse de {url} s’est terminée avant l’exécution |
cli.server_invalid | {url} n’est pas une adresse de serveur — utilisez-en une comme http://127.0.0.1:1430 |
cli.server_reply | {url} a répondu quelque chose qui ne vient pas de Signal Lab (HTTP {status}) |
cli.server_unreachable | Impossible de joindre le serveur à {url} |
cli.signal_ambiguous | Plusieurs signaux s’appellent {name} — désignez-en un par son identifiant : {ids} |
cli.signal_unknown | Aucun signal {name} dans {path} |
cli.status_unexpected | La réponse était {actual}, pas {expected} |
cli.token_empty | Le fichier de jeton {path} est vide |
command
| Code | Message |
|---|---|
command.args_invalid | Le moteur n’a pas pu lire les arguments de {name} — l’interface et le moteur sont de versions différentes |
command.json_required | Le serveur n’accepte les commandes qu’en JSON |
command.reply_invalid | Le moteur n’a pas pu encoder sa réponse |
command.unknown | Le moteur n’a pas de commande {name} — l’interface est plus récente que le moteur |
compare
| Code | Message |
|---|---|
compare.not_numbers | {value} et {expected} doivent tous deux être des nombres pour cette comparaison |
details
| Code | Message |
|---|---|
details | Détails techniques |
doc
| Code | Message |
|---|---|
doc.connection_duplicate | La connexion {from} → {to} apparaît deux fois |
doc.connection_invalid | La connexion {from} → {to} mène à un nœud absent ou revient au nœud dont elle part |
doc.name_required | Donnez un nom à l’expérience |
doc.node_count | Une expérience contient de 1 à {max} nœuds |
doc.node_id_duplicate | Deux nœuds partagent l’identifiant {id} |
doc.node_id_empty | Un nœud a un identifiant vide |
doc.port_invalid | Sortie {port} inconnue |
doc.position_invalid | Le nœud a une position non valide |
doc.start_end_count | Une expérience doit avoir exactement un Début et une Fin |
doc.version_unsupported | La version de fichier {version} n’est pas prise en charge ; cette version de Signal Lab lit la version {supported} |
emulator
| Code | Message |
|---|---|
emulator.accept_failed | L’acceptation des connexions sur {target} s’est arrêtée sur une erreur |
emulator.arg_value | {value} n’est pas une valeur de type {type} |
emulator.args_too_many | Au plus {max} arguments |
emulator.bind_taken | {target} est pris par un autre émulateur de cette expérience ({other}) |
emulator.body_failed | Le corps de la requête n’a pas pu être lu |
emulator.body_too_large | Le corps de la requête dépasse {max} Ko |
emulator.busy | Plus de {max} réponses sont en attente — celle-ci a été abandonnée |
emulator.conditions_too_many | Au plus {max} conditions |
emulator.failed | L’émulateur s’est arrêté de façon inattendue |
emulator.header_value_invalid | Valeur d’en-tête non valide — elle ne doit pas contenir de saut de ligne |
emulator.headers_too_many | Au plus {max} en-têtes |
emulator.mqtt_client_id | Client sans identifiant refusé : il demandait à conserver sa session |
emulator.mqtt_login | {client} refusé : nom d’utilisateur ou mot de passe incorrect |
emulator.mqtt_password_alone | MQTT 3.1.1 ne peut pas transmettre de mot de passe sans nom d’utilisateur, aucun client ne pourrait donc se connecter : définissez aussi un nom d’utilisateur |
emulator.mqtt_protocol | Client refusé, il parle {protocol} niveau {level} : ce broker parle MQTT 3.1.1 (niveau 4) |
emulator.name_unknown | Nom inconnu {{{name}}} — une réponse lit {{request…}} et les paramètres |
emulator.node_unknown | Il n’y a pas d’émulateur {id} dans cette expérience |
emulator.not_in_run | L’émulateur {id} ne fait pas partie de cette exécution |
emulator.not_running | L’émulateur #{id} n’est pas démarré |
emulator.params_only | Seuls du texte et des paramètres ici : la valeur est fixée au démarrage de l’émulateur, avant que quoi que ce soit n’arrive |
emulator.path_param | {value} n’est pas un nom de segment — utilisez :name avec des lettres, des chiffres et _ |
emulator.path_rest | * ne peut être que le dernier segment entier, comme dans /files/* |
emulator.path_slash | Un chemin commence par / |
emulator.response_required | Une route a besoin d’au moins une réponse |
emulator.responses_too_many | Au plus {max} réponses |
emulator.rules_too_many | Au plus {max} règles |
emulator.secret_unsupported | Un émulateur ne peut pas lire de secrets |
emulator.weights_zero | Au moins une réponse doit avoir un poids supérieur à 0 |
emulators
| Code | Message |
|---|---|
emulators.encode | La bibliothèque d’émulateurs n’a pas pu être écrite en JSON |
emulators.json_invalid | {path} n’est pas un fichier d’émulateurs valide : erreur JSON ligne {line}, colonne {column} — corrigez le fichier ou supprimez-le |
extract
| Code | Message |
|---|---|
extract.header_missing | La réponse n’a pas d’en-tête {name} |
extract.json_missing | {path} ne figure pas dans la réponse |
extract.no_match | /{pattern}/ ne correspond pas au corps de la réponse |
extract.not_json | Le corps de la réponse n’est pas du JSON |
extract.truncated | La réponse ({bytes} o) dépasse les 256 Kio conservés : la valeur ne peut donc pas être lue de façon fiable |
feedback
| Code | Message |
|---|---|
feedback.disabled | Les retours ne sont pas acceptés pour le moment — écrivez à info@proanima.net |
feedback.email_invalid | Ce n’est pas une adresse e-mail |
feedback.failed | Le service de retours a répondu HTTP {status} |
feedback.file_too_large | {name} dépasse {max_mb} Mo |
feedback.file_type | {name} : une capture d’écran doit être en PNG, JPEG, WebP ou GIF, et un journal en texte |
feedback.invalid | Le service de retours n’a pas accepté le formulaire |
feedback.message_required | Écrivez d’abord un message |
feedback.message_too_long | Le message dépasse {max} caractères |
feedback.rate_limited | Trop de messages depuis cette adresse pour le moment — réessayez dans {retry_after_s} s |
feedback.send_failed | Le service de retours n’a pas pu transmettre le message au serveur de messagerie ; réessayez plus tard (référence {id}) |
feedback.too_large | L’ensemble dépasse {max_mb} Mo |
feedback.too_many_files | Au plus {max} journaux |
file
| Code | Message |
|---|---|
file.encode | L’expérience n’a pas pu être écrite en JSON |
file.io | Impossible de lire ou d’écrire {path} |
file.json_invalid | Fichier d’expérience non valide : erreur JSON ligne {line}, colonne {column} |
file.not_found | {path} n’est pas un fichier du dossier de données du serveur |
file.too_large | Les fichiers d’expérience font au plus {max} Mio |
firewall
| Code | Message |
|---|---|
firewall.declined | Les droits d’administrateur n’ont pas été accordés : le pare-feu n’a donc pas été modifié |
firewall.failed | Les règles du pare-feu n’ont pas pu être lues ou modifiées |
firewall.server | Le pare-feu d’un serveur se règle sur le serveur : exécutez-y signallab firewall allow, ou demandez à son administrateur |
firewall.unsupported | Il n’y a pas ici de pare-feu par programme à modifier — ouvrez les ports dans ufw ou firewalld |
graph
| Code | Message |
|---|---|
graph.cycle | Ce nœud fait partie d’un cycle ; seul le corps d’une Boucle peut y ramener |
graph.needs_http | Il faut une requête HTTP avant ce nœud sur chaque chemin |
graph.outputs_required | Reliez les sorties obligatoires |
graph.port_unexpected | La sortie {port} n’appartient pas à ce nœud |
graph.start_input | Début ne peut pas avoir d’entrée |
graph.unreachable | Inaccessible depuis Début |
hex
| Code | Message |
|---|---|
hex.empty | Aucun octet à envoyer — saisissez des paires de chiffres hex comme de ad be ef |
hex.invalid | {value} n’est pas une suite d’octets hex — utilisez des paires de chiffres comme de ad be ef |
http
| Code | Message |
|---|---|
http.client_failed | Le client HTTP n’a pas pu démarrer |
http.digest_invalid | Le serveur a demandé Digest sans realm ni nonce |
http.digest_not_offered | Le serveur a répondu 401 sans demander Digest |
http.digest_other_origin | La requête a été redirigée vers {origin}, qui a demandé Digest — seule l’origine que nomme la requête reçoit une réponse |
http.digest_unsupported | Le serveur a demandé Digest avec {algorithm}, que Signal Lab ne gère pas (il gère MD5 et SHA-256) |
http.duration_invalid | La durée doit être de 0 seconde ou plus |
http.rate_invalid | Le débit doit être 0 ou compris entre {min} et {max} requêtes/s |
impair
| Code | Message |
|---|---|
impair.bind_taken | {target} appartient déjà à {other} : deux sockets de l’exécution ne peuvent pas partager un port |
impair.loop | Les paquets du relais lui reviendraient par {target} et tourneraient en rond sans fin — dirigez sa cible vers l’appareil |
impair.not_running | La Dégradation {id} ne fait pas partie de cette exécution |
impair.relay_unknown | Il n’y a pas de Dégradation {id} dans cette expérience |
inspect
| Code | Message |
|---|---|
inspect.empty | La capture est vide — rien à enregistrer |
inspect.frame_gone | La trame #{seq} n’est plus dans la capture : des trames plus récentes ont pris sa place |
inspect.no_payload | La trame #{seq} n’a enregistré que sa taille, pas ses octets |
json_path
| Code | Message |
|---|---|
json_path.invalid | {path} n’est pas un chemin JSON — utilisez $.field, $.items[0] ou $["a b"] |
load
| Code | Message |
|---|---|
load.nothing_planned | Ce profil n’envoie aucune requête |
load.spike_outside | Le pic doit se terminer avant la fin de la durée |
load.steps_out_of_range | Le débit de chaque palier doit être compris entre 0 et {max} requêtes/s |
load.threshold | {metric} : {actual}, seuil {op} {value} |
load.threshold_value | Un seuil exige un nombre, 0 ou plus |
load.thresholds_too_many | Au plus {max} seuils |
load.too_long | Les paliers durent plus longtemps qu’une exécution ne le peut ({seconds} s) |
loop
| Code | Message |
|---|---|
loop.body_entered | Seule la sortie Corps d’une Boucle peut mener dans son corps |
loop.body_leaves | Dans le corps d’une Boucle, chaque sortie mène plus loin dans le corps ou revient à la Boucle |
loop.body_parallel | Dans le corps d’une Boucle, une sortie a un seul fil : une itération s’exécute comme une seule branche |
loop.body_unsupported | Début, Fin, les branches parallèles, les jonctions et les autres boucles ne peuvent pas se trouver dans le corps d’une Boucle |
loop.limit | Itérations : {max} ; la condition de sortie n’a jamais été remplie (reliez Limite pour continuer) |
loop.no_return | Rien sur Corps ne ramène à cette Boucle |
mqtt
| Code | Message |
|---|---|
mqtt.client_id_required | Saisissez un identifiant client — les brokers refusent un identifiant vide |
mqtt.filter_required | Ajoutez au moins un filtre de topic |
mqtt.no_answer | {broker} a accepté la connexion mais n’a pas répondu à temps — est-ce bien un broker MQTT ? |
mqtt.not_connected | La connexion #{id} n’est pas ouverte — connectez-vous d’abord au broker |
mqtt.protocol | {broker} a répondu autre chose que du MQTT 3.1.1 |
mqtt.refused | {broker} a refusé la connexion (code de retour {code}) |
mqtt.refused_client_id | {broker} a rejeté l’identifiant client — choisissez-en un autre |
mqtt.refused_credentials | {broker} a rejeté le nom d’utilisateur ou le mot de passe |
mqtt.refused_not_authorized | {broker} n’a pas autorisé ce client — vérifiez ses règles d’accès |
mqtt.refused_protocol | {broker} n’accepte pas les clients MQTT 3.1.1 |
mqtt.refused_unavailable | {broker} est indisponible pour l’instant — réessayez plus tard |
mqtt.subscribe_refused | {broker} a refusé l’abonnement à {filter} |
mqtt.topic_invalid | Impossible de publier sur ce topic |
mqtt.topic_required | Saisissez un topic sur lequel publier |
name
| Code | Message |
|---|---|
name.no_value | {name} n’a pas de valeur |
name.not_on_every_path | {{{name}}} n’est pas défini sur chaque chemin avant cette étape |
name.unknown | Nom inconnu {{{name}}} — ajoutez un paramètre ou extrayez une variable |
netsim
| Code | Message |
|---|---|
netsim.not_running | Le relais {id} ne tourne plus |
node
| Code | Message |
|---|---|
node.bind_invalid | {value} n’est pas une adresse d’écoute — utilisez IP:port, p. ex. 0.0.0.0:9001 |
node.header_invalid | {value} n’est pas un nom d’en-tête valide |
node.load_alone | La charge remplace Répétition et Réessai : désactivez-les |
node.load_unsupported | Seule une requête HTTP peut s’exécuter sous charge |
node.method_invalid | {value} n’est pas une méthode HTTP |
node.not_found | Le nœud {id} n’existe plus |
node.osc_address | Les adresses OSC commencent par / ({value}) |
node.params_only | Seuls des paramètres sont utilisables ici — l’exécution s’abonne avant sa première étape |
node.range | Doit être entre {min} et {max} |
node.repeat_too_long | Les répétitions durent plus longtemps qu’une exécution ne le peut ({seconds} s) |
node.repeat_too_many | Plus de {max} envois : allongez l’intervalle ou raccourcissez la durée |
node.repeat_unsupported | Seules les étapes qui envoient peuvent se répéter |
node.required | Obligatoire |
node.retry_unsupported | Seules les étapes qui envoient ou écoutent peuvent réessayer |
node.rules_too_many | Au plus {max} règles d’arguments |
node.target_invalid | {value} n’est pas une adresse avec un port, p. ex. 127.0.0.1:9000 |
node.too_long | Trop long : au plus {max} |
node.topic_filter | {value} n’est pas un filtre de topic : + représente un niveau entier, # seulement le dernier niveau entier |
node.topic_wildcard | Un topic de publication ne peut pas contenir les jokers + ou # |
node.url_invalid | {value} n’est pas une URL http:// ou https:// |
osc
| Code | Message |
|---|---|
osc.packet_malformed | Paquet OSC mal formé ({bytes} o) |
osc.pattern_char | « {char} » n’est pas autorisé ici dans une adresse OSC |
osc.pattern_empty_segment | Partie vide entre deux barres obliques |
osc.pattern_empty_set | Ensemble [ ] vide |
osc.pattern_range | La plage {range} est à l’envers |
osc.pattern_slash | Un motif d’adresse OSC commence par / |
osc.pattern_too_long | Le motif d’adresse dépasse {max} caractères |
osc.pattern_unclosed | [ ou { non fermé |
param
| Code | Message |
|---|---|
param.duplicate | Le paramètre {name} est défini deux fois |
param.name_invalid | Le nom de paramètre « {name} » doit commencer par une lettre ou _ et ne contenir que des lettres, des chiffres et _ |
param.name_reserved | « {name} » est réservé et ne peut pas nommer un paramètre |
param.too_large | Le paramètre {name} dépasse {max} Kio |
param.unknown | Paramètre {name} inconnu |
params
| Code | Message |
|---|---|
params.too_many | Au plus {max} paramètres |
position
| Code | Message |
|---|---|
position | position {position} |
profile
| Code | Message |
|---|---|
profile.active_missing | Le profil actif {name} n’existe pas |
profile.duplicate | Le profil {name} est défini deux fois |
profile.name_invalid | Les noms de profil font de 1 à {max} caractères |
profile.unknown_param | Le profil {profile} définit {name}, qui n’est pas un paramètre |
profile.values_too_many | Le profil {profile} définit plus de {max} valeurs |
profiles
| Code | Message |
|---|---|
profiles.too_many | Au plus {max} profils |
regex
| Code | Message |
|---|---|
regex.invalid | {pattern} n’est pas une expression régulière valide |
run
| Code | Message |
|---|---|
run.join_waiting | La Jonction attend encore {count} branche(s) — une connexion entrante n’a jamais été suivie, par exemple une branche qui a pris un autre chemin |
run.limit_range | Une exécution peut durer de 1 à {max} secondes |
run.no_end | L’exécution s’est arrêtée avant d’atteindre Fin |
run.node_missing | Le nœud {id} est absent |
run.not_a_check | Ce nœud n’est pas une vérification |
run.not_a_wait | Ce nœud n’est pas une attente |
run.not_an_action | Ce nœud n’envoie ni n’écoute |
run.override_unknown | Exécuter avec… définit {name}, qui n’est pas un paramètre |
run.timeout | L’exécution a duré plus de {seconds} s et a été arrêtée |
runs
| Code | Message |
|---|---|
runs.name_invalid | « {name} » n’est pas un rapport d’exécution |
runs.not_found | Aucune exécution « {name} » : son rapport a été supprimé |
scan
| Code | Message |
|---|---|
scan.host_required | Saisissez l’hôte à scanner |
secret
| Code | Message |
|---|---|
secret.empty | Un secret ne peut pas être vide |
secret.missing | Le secret {name} n’est pas enregistré sur cet ordinateur — définissez-le dans Paramètres → Secrets |
secret.name_invalid | Le nom de secret « {name} » doit commencer par une lettre ou _, ne contenir que des lettres, des chiffres et _, et faire au plus {max} caractères |
secret.read_only | Les secrets sont en lecture seule ici : définissez {name} sur le serveur (SIGNALLAB_SECRET_{name}, ou un fichier nommé {name} dans son dossier de secrets) |
secret.store | Le magasin d’identifiants du système a échoué pour {name} |
secret.too_large | Un secret fait au plus {max} Kio |
secret.unsupported | Les secrets sont conservés dans le Gestionnaire d’identification Windows, que ce système n’a pas |
seed
| Code | Message |
|---|---|
seed.range | La graine doit être comprise entre 0 et {max} |
show
| Code | Message |
|---|---|
show | Afficher |
signals
| Code | Message |
|---|---|
signals.encode | La bibliothèque de signaux n’a pas pu être écrite en JSON |
signals.json_invalid | {path} n’est pas une bibliothèque de signaux valide : erreur JSON ligne {line}, colonne {column} — corrigez le fichier ou supprimez-le |
socket
| Code | Message |
|---|---|
socket.option_failed | Le système n’a pas accepté l’option de socket {option} |
template
| Code | Message |
|---|---|
template.arg_empty | Argument vide |
template.arg_integer | {function} : {value} n’est pas un nombre entier |
template.arg_invalid | L’argument {value} doit être entre guillemets |
template.arg_number | {function} : {value} n’est pas un nombre |
template.arg_quote | Guillemet non fermé dans les arguments |
template.args_pick | pick(…) demande au moins une option |
template.args_random_float | random_float(min, max[, digits]) prend 2 ou 3 arguments |
template.args_random_int | random_int(min, max) prend 2 arguments |
template.args_uuid | uuid() ne prend aucun argument |
template.bad_call | {text} n’est pas un appel de fonction valide |
template.bad_name | {text} n’est pas un nom valide |
template.bad_path | {text} : chemin non valide — utilisez .field, [0] ou ["key"] |
template.digits | random_float accepte de 0 à {max} décimales |
template.empty | {{ }} vide |
template.needs_name | {head} demande un nom : {head}.NAME |
template.no_field | {name} n’a pas de champ {path} |
template.node_fields | node n’a que node.id |
template.now_fields | now n’a que now.iso |
template.range | {function} : min {min} doit être inférieur à max {max} |
template.run_fields | run n’a que run.id et run.seed |
template.unclosed | {{ non fermé |
template.unknown_function | Fonction inconnue {name}() |
transport
| Code | Message |
|---|---|
transport.address_in_use | {target} est déjà utilisé par un autre programme |
transport.address_unavailable | {target} n’est pas une adresse de cet ordinateur |
transport.denied | Le système ou un pare-feu a refusé l’accès à {target} |
transport.dns | Impossible de résoudre {target} — vérifiez le nom d’hôte |
transport.failed | L’envoi vers {target} a échoué |
transport.refused | {target} a refusé la connexion — rien n’écoute sur ce port |
transport.reset | {target} a fermé la connexion |
transport.target_invalid | {target} n’est pas une adresse valide |
transport.timeout | Pas de réponse de {target} à temps |
transport.tls | Impossible d’établir une connexion sécurisée avec {target} (certificat ou TLS) |
transport.unreachable | {target} est injoignable — vérifiez le réseau et l’adresse |
unknown
| Code | Message |
|---|---|
unknown | Erreur inattendue du moteur ({code}) |
variable
| Code | Message |
|---|---|
variable.name_invalid | Le nom de variable « {name} » doit commencer par une lettre ou _ et ne contenir que des lettres, des chiffres et _ |
variable.name_reserved | « {name} » est réservé et ne peut pas nommer une variable |
variable.shadows_param | La variable {name} porte le même nom qu’un paramètre |
wait
| Code | Message |
|---|---|
wait.bind_failed | Impossible d’écouter sur {target} |
wait.not_listening | Pas d’écoute sur {target} |
wait.receive_failed | L’écoute sur {target} s’est arrêtée sur une erreur |
wait.timeout | Aucun message correspondant en {ms} ms ({unmatched} autres messages sont arrivés sur {target}) |
ws
| Code | Message |
|---|---|
ws.close_code | {code} n’est pas un code de fermeture qu’un client envoie — utilisez 1000, ou 3000–4999 pour les codes propres à l’application |
ws.closed | La connexion WebSocket est fermée ({code}) |
ws.connection_after | {id} ne vient pas avant cette étape — c’est lui qui ouvre la connexion qu’elle utilise |
ws.connection_unknown | {id} n’est pas un nœud Connexion WebSocket de cette expérience |
ws.handshake_failed | La mise à niveau WebSocket avec {url} a échoué |
ws.handshake_status | {url} a répondu HTTP {status} au lieu de passer à WebSocket |
ws.header_invalid | L’en-tête {name} ne peut pas être envoyé avec la mise à niveau |
ws.message_too_large | Un message WebSocket est limité à {max} octets |
ws.not_connected | Pas de connexion WebSocket ouverte {id} |
ws.payload_required | Donnez le message en texte ou en octets hex |
ws.protocol_error | La connexion avec {url} s’est rompue : le serveur n’a pas respecté le protocole WebSocket |
ws.protocol_invalid | {value} n’est pas un nom de sous-protocole : ni espaces, ni virgules, ni barres obliques |
ws.subprotocol_refused | {url} n’a accepté aucun des sous-protocoles proposés |
ws.url_invalid | {url} n’est pas une adresse WebSocket — utilisez ws://host:port/path ou wss://… |
Champs
Le nom qu’un message donne au champ qu’il concerne.
| Champ | Nom |
|---|---|
address | Adresse |
argument | Argument |
attempts | Tentatives |
auth | Authentification |
bind | Écouter sur |
body | Corps |
broker | Broker |
burst_length | Longueur de rafale |
burst_start | Pertes en rafale |
code | Code de fermeture |
condition | Condition |
conditions | Conditions |
connection | Connexion |
corrupt | Corruption |
delay_ms | Délai |
duplicate | Duplication |
duration_s | Durée |
emulator | Émulateur |
expected | Attendu |
expected_text | Texte attendu |
fallback | Requêtes qu’aucune route ne prend |
greeting | Accueil |
header_name | Nom de l’en-tête |
header_value | Valeur de l’en-tête |
headers | En-têtes |
hex | Octets hex |
host | Hôte |
jitter_ms | Gigue |
json_path | Chemin JSON |
latency_ms | Latence |
listen | Écouter sur |
load | Charge |
load_base | Débit de base |
load_concurrency | Parallélisme |
load_duration | Durée |
load_every | Durée du palier |
load_from | De |
load_peak | Débit de pointe |
load_rate | Débit |
load_spike | Pic |
load_step | Palier |
load_steps | Paliers |
load_to | À |
loop_max | Itérations |
loss | Perte de paquets |
max_ms | Durée limite |
message | Message |
method | Méthode |
ms | Durée |
name | Nom |
outage_down | En panne |
outage_up | En service |
password | Mot de passe |
path | Chemin |
pattern | Motif |
payload | Charge utile |
port | Port |
profile_name | Nom du profil |
protocols | Sous-protocoles |
qos | QoS |
rate | Débit |
rate_kbps | Bande passante |
reason | Motif |
relay | Dégradation |
reorder | Réordonnancement |
repeat | Répétition |
repeat_count | Nombre d’envois |
repeat_duration | Répéter pendant |
repeat_interval | Intervalle |
repeat_jitter | Gigue |
reply | Réponse |
reply_address | Adresse de réponse |
reply_arg | Argument de réponse |
reply_args | Arguments de réponse |
reply_bind | Réponse sur |
reply_pattern | Motif de réponse |
reply_payload | Charge utile de réponse |
reply_topic | Topic de réponse |
reset | Connexion réinitialisée |
responses | Réponses |
retained | Messages retenus |
retry | Réessai |
retry_delay | Pause entre les tentatives |
rule | Règle |
rule_value | Valeur de la règle |
rules | Règles |
stall | Semi-ouverte |
status | Statut |
target | Cible |
threshold | Seuil |
thresholds | Seuils |
timeout_ms | Délai d’attente |
to | Répondre à |
token | Jeton |
topic | Topic |
url | URL |
username | Nom d’utilisateur |
value | Valeur |
variable | Variable |
weight | Poids |