API:Data formats/fr

Entrées
L'API récupère ses entrées à partir des paramètres fournis dans la requête ou à partir d'une entité POST dans le format application/x-www-form-urlencoded ou multipart/form-data. Chaque module (et chaque sous-module ) a sa propre liste de paramètres, qui sont listés dans la documentation et dans action=help. Ils peuvent également être récupérés par.

Encodage
Toute entrée doit être du UTF-8 valide, sous la forme NFC. MediaWiki essayera de convertir les autres formats ce qui pourra éventuellement générer des erreurs.

Paramètres Multi-valeurs
Certains paramètres acceptent plusieurs valeurs séparées par une barre verticale   (pipe). Par exemple, pour soumettre les trois valeurs,   et   pour le paramètre  , vous devez écrire    dans la requête. Si un paramètre accepte de multiples valeurs, cela est affiché explicitement par  et. La documentation ne fait pas la différence directement entre les paramètres multi-valeurs mais la description de ces paramètres suit habituellement les mots "Une liste de ..." ou "Une liste de ... séparés par des barres verticales".

Si vous avez besoin de soumettre une liste de valeurs parmi lesquelles certaines contiennent un caractère barre verticale (ce qui est rare - la plupart des paramètres multi-valeurs sont des listes de titres de pages, ou des noms d'utilisateurs, dont aucun ne peut contenir de barres verticales), vous pouvez utiliser le caractère de séparateur unitaire à la place:   (où  représente U+001F) va soumettre les trois valeurs ,   et. (Remarquez qu'il y a un caractère  supplémentaire au début. Ceci est obligatoire pour éviter l'ambiguité avec le cas où on soumet une valeur unique contenant une barre verticale).

Valeurs booléennes
Les paramètres booléens fonctionnent comme des cases à cocher HTML : si le pramètre est spécifié dans la requête HTTP, quelle que soit sa valeur, il est considéré à vrai. Pour une valeur à faux, ne pas fournir le paramètre entièrement. La meilleure manière de spécifier une valeur à vrai dans une requête HTTP est d'utiliser ; ce qui suit le   assure que l'explorateur où la bibliothèque HTTP ne supprimera pas le "vide" de unParam.

Horodatages
Les paramètres qui contiennent des valeurs de références horaires (horodatage), acceptent des valeurs de temps sous différents formats :


 * format ISO 8601:
 * Format de l'horodatage interne MySQL:
 * Format de l'horodatage UNIX  (Nombre de secondes depuis le 1er janvier 1970)
 * Format de l'horodatage UNIX  (Nombre de secondes depuis le 1er janvier 1970)

Dans les sorties, les horodatages sont toujours au format ISO 8601.

Sortie
L'API MediaWiki a historiquement pris en charge un nombre de différents formats, mais ceci a compliqué les développements successifs. Nous aimerions standardiser en adoptant un seul format JSON. Pour l'instant, MediaWiki ne recommande pas, mais prend encore en charge deux formats de sortie génériques supplémentaires (XML et PHP). Vous devez toujours spécifier le format à l'aide du paramètre d'entrée (de la requête)  suivi d'une valeur en minuscules. Feed modules like Feed Recent Changes override the standard output format, instead using RSS or Atom, as specified by their  parameter. In those cases, the format specified in the  parameter is only used if there's an error. Tous les formats autres que JSON sont obsolètes. XML and PHP are still supported, but all others have been removed in either MediaWiki 1.26 or 1.27; see the table below. Tous les nouveaux utilisateurs de l'API doivent utiliser JSON. Clients written in PHP should avoid using the PHP format because it is fundamentally insecure. It is maintained for now only due to its popularity.

Unless specified, all modules allow data output in all generic formats. To simplify debugging, all generic formats have "pretty-print in HTML" alternatives with an  suffix.

The default format changed in MediaWiki 1.25 to ; it was   in earlier MediaWiki releases.

Note that while the pretty-print formats are all indented and separate syntactic elements with newlines, the non-pretty formats don't do this.

There are many conversion libraries and online converters to convert JSON responses to other formats—for example, JSON-CSV converts to Comma-Separated Values

Paramètres JSON
and  accept the following additional parameters:


 * Specify  for to get json (and php) format responses in a  cleaner format. This also encodes most non-ASCII characters as UTF-8.
 * Specify  for to get json (and php) format responses in a  cleaner format. This also encodes most non-ASCII characters as UTF-8.
 * Specify  for to get json (and php) format responses in a  cleaner format. This also encodes most non-ASCII characters as UTF-8.

Restrictions pour les callback
Si vous utilisez JSON en mode callback, certains éléments sont désactivés par sécurité :


 * Tokens cannot be obtained (so state-changing actions aren't possible)
 * The client is treated as an anonymous user (i.e. not logged in) for all purposes, even after logging in through
 * This means that things that require additional rights, such as, won't work unless anonymous users are allowed to use them

Exemples
it may be useful to add the '&indexpageids' parameter, to parse the json if the pageid ("736") is not known before the result.