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. Dans ces cas, le format spécifié par le paramètre  n'est utilisé que s'il y a une erreur. 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. Les clients écrits en PHP doivent éviter d'utiliser le format PHP parce qu'il n'est pas sécurisé. Il est maintenu jusqu'à présent simplement à cause de sa popularité.

Tous les modules permettent d'utiliser n'importe quel format générique pour les informations de sortie - sauf indication contraire. Pour simplifier le débogage, tous les formats génériques possèdent l'option "mise en forme HTML améliorée pour l'impression" avec le suffixe.

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
et  acceptent les paramètres supplémentaires suivants :


 * 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é :


 * Les jetons ne peuvent pas être obtenus (donc les actions de modification d'état ne sont pas possibles)
 * 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
il peut être utile d'ajouter le paramètre '&indexpageids' pour analyser le code JSON si l'ID de la page ("736") n'est pas connu avant le résultat.