API:Errors and warnings/fr

From mediawiki.org
This page is a translated version of the page API:Errors and warnings and the translation is 79% complete.

Si la requête à l'API pose problème, une erreur ou un avertissement sera émis (bien que la réponse HTTP soit habituellement encore 200 OK). Les avertissements sont émis pour des conditions non fatales comme rencontrer des paramètres non valides, alors que les erreurs n'apparaissent qu'avec des conditions fatales.

Avertissements

Les avertissements sont groupés en fonction du nom du module qui les a émis. Les avertissements multiples à partir d'un même module sont séparés par un saut de ligne. Dans l'ancien mode de formatage des erreurs (voir ci-dessous), qui est le mode par défaut, les avertissements sont fournis dans le format suivant  :

"warnings": {
    "modulename": {
      "*": "warning text"
    }
  }

(* est remplacé par warnings quand formatversion=2 est utilisé).

Si une option non ancienne de formatage des erreurs est utilisée, les avertissements sont émis au même format que les erreurs. Par exemple avec errorformat=wikitext le format sera le suivant :

"warnings": [
    {
        "code": "warning message key",
        "*": "text of warning",
        "module": "API module which caused the warning"
    }
]

(* est remplacé par text quand formatversion=2 est utilisé).

Messages d'avertissement

Type Description Message(s) d'avertissement
Sous-module désactivé Le sous-module action=query a été désactivé dans le wiki. Pour vérifier si un module est disponible avant de l'invoquer, voir Comment vérifier si le module API est disponible ? dans la FAQ. Le module submodulename a été désactivé.
Sous-module absent Le sous-module list, prop ou meta n'est pas présent dans le wiki, par exemple s'il est implémenté par une extension qui n'est plus chargée. Valeur non reconnue pour le paramètre list=submodule.
Validation du paramètre Avertissements générés lors de la validation des paramètres de tout module API. paramname est remplacé par le nom du paramètre.
  • Trop de valeurs fournies pour le paramètre paramname : la limite est définie par limit .
  • Valeur non reconnue pour le paramètre paramname:value .
  • Valeurs non reconnues pour le paramètre paramname:value1, value2, value3

Erreurs

Formats des erreurs

Depuis MediaWiki 1.29 les erreurs sont localisables et disponibles sous divers formats. An error (or warning) is expected to consist of a message, an error code (an arbitrary string, usually generated from the message key; see also #Standard error messages below), and optional extra data (an associative array). An API response with errors will look like this:

{
    "errors": [
        {
            "code": "error-code",
            /* ...message d'erreur..., */
            "data": [ /* ...données supplémentaires... */ ],
            "module": "chemin vers le module API qui a généré l'erreur"
        },
        /* ...autres erreurs... */
    ],
    "docref": "message lisible par un humain pour trouver de l'aide"
}

La clé data dans la sortie ci-dessus sera absente si aucune donnée supplémentaire ne doit être affichée.

La manière dont le message d'erreur dans la sortie ci-dessus est renvoyé au client est contrôlée par le paramètre d'API errorformat. Les différents formats d'erreur disponibles sont :

Format Description Sortie
html Conçu pour l'affichage aux humains avec les clients qui reconnaissent le HTML
    "html": "le message, interprété comme un wikicode et analysé en HTML"
wikicode
    "text": "le message tel qu'il est, avec la substitution des paramètres mais sans l'analyse syntaxique"
texte en clair Intégré pour l'affichage aux humain pour les clients qui ne reconnaissent pas le HTML. Plaintext conversion is a minimal, best-effort transformation to make the message (assumed to contain wikitext) more readable: tags are removed, HTML entities are replaced, certain HTML tags are intelligently replaced with punctuation.
    "text": "the message, like wikitext, but with added plaintext conversion"
raw Intended as a machine-readable format (note that the error key is more unique than the error code). Parameters can themselves be objects with key and params fields.
    "key": "clé de message",
    "params": [ /* ...paramètres du message... */ ]
aucun Pas d'information du tout sur le message.
bc Valeur par défaut pour backward compatibility. There’s no point in specifying this value, use one of the non-legacy formats instead. See #Legacy format

For the formatting modes which involve message lookup (html, wikitext and plaintext) the API parameter errorlang can be used to set the language (only needed when different from the content language) and errorsuselocal to set whether the MediaWiki: namespace can be used to override default error messages.

Error codes are also returned in the MediaWiki-API-Error response HTTP header, separated by commas when there are multiple errors.

For an example error response or to test your client's error handling, visit https://en.wikipedia.org/w/api.php?action=blah&errorformat=plaintext&format=jsonfm&formatversion=2

API responses can contain multiple errors. For an example, try adding the lines the abusefilter will block this and the abusefilter will also block this to a Test Wikipedia page (API sandbox. If you are logged in, go to the action=edit tab and click Auto-remplissage du jeton first before making the request).

When errorformat is not set (or set to bc), errors will be displayed in the legacy format instead.

Ancien format

In the legacy error format, there is always at most one error; additional ones are discarded. La réponse ressemble à ceci :

{
    "error": {
        "code": "error-code",
        "info": "the message as-is, with parameter substitution but without any parsing",
        /* ...autres données supplémentaires... */
    }
}

The extra data in the output above is spliced into the object instead of being under the data key.

Messages d'erreur dans la documentation

Error messages are documented in this wiki as shown below, which corresponds to the json error response in #Legacy format above:

Code Information
code d'erreur message d'erreur

Les différents messages d'erreur sont :

Type Description Messages d'erreur
Code Information
Module désactivé The action module has been disabled in the wiki. To check if a module is available before invoking it, see How do I check if an API module is available? in the FAQ. moduledisabled The modulename module has been disabled.
Module absent The action module is not present in the wiki, for example if it is implemented by an extension that isn't loaded unknown_action Unrecognized value for parameter action: modulename.
Validation de paramètre Errors thrown when validating parameters of any API module. paramname est remplacé par le nom du paramètre. multival_paramname Only one of 'value1', 'value2', 'value3' is allowed for parameter 'paramname'
unknown_paramname Valeur non reconnue du paramètre paramname: value.
paramname paramname ne peut pas être inférieur à min (fixé à value).
paramname paramname ne peut pas dépasser max (fixé à value) pour les robots ou les opérateurs système.
paramname paramname ne peut pas dépasser max (fixé à value) pour les utilisateurs.
badtimestamp_paramname Valeur non valide « value » pour le paramètre de référence horaire paramname.
baduser_paramname Valeur « value » non valide pour le paramètre utilisateur paramname.
invalidparammix The parameters param1, param2, param3 cannot be used together
missingparam One of the parameters param1, param2, param3 is required
_badcontinue Invalid continue param. You should pass the original value returned by the previous query

Messages d'erreur standard

Certains messages d'erreur génériques sont partagés entre les modules. Si un module peut générer ces erreurs, elle sont explicitement indiquées dans sa section Possible errors.

Code Information
unknownerror Erreur inconnue : cela indique habituellement qu'une chose bizarre s'est produite comme un conflit rare entre conditions. Si ce type d'erreur apparaît, soumettez à nouveau votre requête tant qu'elle est en échec, ou que vous n'avez aucun message plus précis.
unknownerror Erreur inconnue : « code d'erreur ».
unknownerror-nocode Erreur inconnue.
unsupportednamespace Pages in the Special namespace can't be edited
protectednamespace-interface You're not allowed to edit interface messages
protectednamespace You're not allowed to edit pages in the "namespace" namespace
customcssjsprotected You're not allowed to edit custom CSS and JavaScript pages
cascadeprotected Cette page est protégée contre les modifications car elle est incluse par la page suivante, qui a été protégée avec l’option « protection en cascade » activée :

liste des pages protégées en cascade

protectedpage The "right" right is required to edit this page
permissiondenied Autorisation refusée.
confirmemail Vous devez confirmer votre adresse de courriel avant de modifier des pages.

Veuillez définir et valider votre adresse de courriel via vos préférences d’utilisateur.

blocked You have been blocked from editing
autoblocked Your IP address has been blocked automatically, because it was used by a blocked user
ratelimited You've exceeded your rate limit. Please wait some time and try again
readonly The wiki is currently in read-only mode
badtoken Invalid token (did you remember to urlencode it?)
missingtitle The page you requested doesn't exist
mustbeposted Type of your HTTP request message must be POST
hookaborted The modification you tried to make was aborted by an extension hook
nosuchpageid There is no page with ID id
nosuchrevid There is no revision with ID id
nosuchrcid There is no change with rcid "id"
nosuchuser The user you specified doesn't exist
invalidtitle Bad title "title"
invaliduser Invalid username "username"
assertbotfailed "assert=bot" has been used, but logged in user is not a bot
assertuserfailed "assert=user" has been used, but user is not logged in
readapidenied You need read permission to use this module
noapiwrite Editing of this wiki through the API is disabled. Make sure the $wgEnableWriteAPI=true; statement is included in the wiki's LocalSettings.php file

Notes supplémentaires

  • Toutes les sorties d'erreurs et les avertissements utilisent format=json&formatversion=2. Pour formatversion=1, le champ docref est remplacé par *.