API:Data formats/fr

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page API:Data formats and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎বাংলা • ‎中文 • ‎日本語 • ‎한국어

Entrées

L'API récupère ses entrées à partir des paramètres fournis dans la requête HTTP 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 action=paraminfo .

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

Les parameters qui prennent plusieurs valeurs sont normalement envoyés avec les valeurs séparées par une barre verticale (caractèpre pipe |), par exemple param=value1|value2 . Si une valeur contient le charactère pipe lui-même, utilisez U+001F (séparateur unitaire) comme séparateur et préfixez la valeur avec U+001F, par exemple param=%1Fvalue1%1Fvalue2 .

Pour savoir si un paramètre accepte plusieurs valeurs, lisez explicitement la documentation du module.

Paramètres booléens

Si un paramètre booléen figure dans une requête HTTP, il est considéré à true quelquesoit sa valeur. Pour que sa valeur soit false, il suffit de ne pas le fournir. La meilleure manière de spécifier une valeur à vrai dans une requête HTTP est d'utiliser unParam=; 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 :

En sortie, les horodatages sont toujours au format ISO 8601.

Sortie

Le format de sortie standard et par défaut de MediaWiki est JSON. Tous les autres formats ne sont pas recommandés.

Le format de sortie doit toujours être spécifié en utilisant format=yourformat avec yourformat égal à l'une des valeurs suivantes :

Exemple

Obtenir la sortie en JSON.

Réponse

{
  "query": {
    "pages": {
      "217225": {
        "pageid": 217225,
        "ns": 0,
        "title": "Main page"
      }
    }
  }
}

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 aussi l'option « mise en forme HTML améliorée pour l'impression » avec le suffixe fm par exemple jsonfm .

Paramètres JSON

Les paramètres suivants peuvent être utilisés avec format=json et format=jsonfm :

  • utf8: encode la plupart des (mais pas tous) catactères non-ASCII en UTF-8 au lieu de les remplacer par des séquences hexadécimales échappées. Type: boolean.
  • ascii: encode tous les caractères non-ASCII en utilisant des séquences hexadécimales échappées. Type: boolean.
  • formatversion: formatage de la sortie. 1.25+
    • 1: format de compatibilié arrière, utilise les clés * pour les noeuds de contenu, encode les caractères non-ASCII en utilisant des séquences hexadecimales échappées.
    • 2: format moderne. Retourne les réponses dans un format plus propre, encode la plupart des caractères non-ASCII en UTF-8. (recommandé)
  • callback: la fonction de rappel dans laquelle le résultat sera enveloppé. Par mesure de sécurité, toutes les données spécifiques à l'utilisateur seront restreintes. De manière similaire, un certain nombre de choses sont désactivées :
    • Les jetons ne peuvent pas être obtenus, donc les actions de modification d'état ne sont pas possibles.
    • Le client est traité comme un utilisateur anonyme (c'est à dire non connecté) pour tous les sujets, même s'il se connecte après via action=login . Cela signifie que les éléments qui nécessitent des droits supplémentaires ne fonctionneront pas à moins que les utlisateurs anonymes ne soient autorisés à les utiliser.

Notes supplémentaires

  • les formats de sortie XML et PHP sont obsolètes mais encore utilisés. Les clients écrits en PHP doivent éviter d'utiliser le format PHP parce qu'il n'est pas sécurisé. Il est gardé pour l'instant simplement à cause de sa popularité.
  • Il existe beaucoup de bibliothèques de conversion et de convertisseurs en ligne pour transformer les réponses JSON en d'autres formats; par exemple, JSON-CSV convertit en liste de valeurs séparées par des virgules .
  • Les modules de flux tels que les flux des modifications récentes réécrasent le format standard de sortie, au lieu d'utiliser RSS ou Atom, comme spécifié par leur paramètre feedformat . Dans ces cas, le format spécifié par le paramètre format n'est utilisé que s'il y a une erreur.

Voir aussi