API aide de MediaWiki
Ceci est une page d’aide de l’API de MediaWiki générée automatiquement.
Documentation et exemples : https://www.mediawiki.org/wiki/API
Module principal
- Source : MediaWiki
- Licence : GPL-2.0-or-later
État : L’API MédiaWiki est une interface stable et mature qui est supportée et améliorée de façon active. Bien que nous essayions de l’éviter, nous pouvons avoir parfois besoin de faire des modifications impactantes ; inscrivez-vous à la liste de diffusion mediawiki-api-announce pour être informé des mises à jour.
Requêtes erronées : Si des requêtes erronées sont envoyées à l’API, un entête HTTP sera renvoyé avec la clé « MediaWiki-API-Error ». La valeur de cet entête et le code d’erreur renvoyé prendront la même valeur. Pour plus d’information, voyez API: Errors and warnings.
Test : Pour faciliter le test des requêtes de l’API, voyez Special:ApiSandbox.
- action
Quelle action effectuer.
- block
- Bloquer un utilisateur.
- categorytree
- Module interne pour l’extension CategoryTree.
- changeauthenticationdata
- Modifier les données d’authentification pour l’utilisateur actuel.
- checktoken
- Vérifier la validité d'un jeton de action=query&meta=tokens.
- clearhasmsg
- Efface le drapeau
hasmsg
pour l’utilisateur courant. - clientlogin
- Se connecter au wiki en utilisant le flux interactif.
- compare
- Obtenir la différence entre deux pages.
- createaccount
- Créer un nouveau compte utilisateur.
- cspreport
- Utilisé par les navigateurs pour signaler les violations de la politique de confidentialité du contenu. Ce module ne devrait jamais être utilisé, sauf quand il est utilisé automatiquement par un navigateur web compatible avec CSP.
- delete
- Supprimer une page.
- edit
- Créer et modifier les pages.
- emailuser
- Envoyer un courriel à un utilisateur.
- expandtemplates
- Développe tous les modèles avec du wikitexte.
- feedcontributions
- Renvoie le fil des contributions d’un utilisateur.
- feedrecentchanges
- Renvoie un fil de modifications récentes.
- feedwatchlist
- Renvoie un flux de liste de suivi.
- filerevert
- Rétablir un fichier dans une ancienne version.
- help
- Afficher l’aide pour les modules spécifiés.
- imagerotate
- Faire pivoter une ou plusieurs images.
- import
- Importer une page depuis un autre wiki, ou depuis un fichier XML.
- linkaccount
- Lier un compte d’un fournisseur tiers à l’utilisateur actuel.
- login
- Reconnecte et récupère les témoins (cookies) d'authentification.
- logout
- Se déconnecter et effacer les données de session.
- managetags
- Effectuer des tâches de gestion relatives à la modification des balises.
- mergehistory
- Fusionner les historiques des pages.
- move
- Déplacer une page.
- opensearch
- Rechercher dans le wiki en utilisant le protocole OpenSearch.
- options
- Modifier les préférences de l'utilisateur courant.
- paraminfo
- Obtenir des informations sur les modules de l’API.
- parse
- Analyse le contenu et renvoie le résultat de l’analyseur.
- patrol
- Patrouiller une page ou une révision.
- protect
- Modifier le niveau de protection d’une page.
- purge
- Vider le cache des titres fournis.
- query
- Extraire des données de et sur MediaWiki.
- removeauthenticationdata
- Supprimer les données d’authentification pour l’utilisateur actuel.
- resetpassword
- Envoyer un courriel de réinitialisation du mot de passe à un utilisateur.
- revisiondelete
- Supprimer et rétablir des révisions.
- rollback
- Annuler les dernières modifications de la page.
- rsd
- Exporter un schéma RSD (Découverte Très Simple).
- setnotificationtimestamp
- Mettre à jour l’horodatage de notification pour les pages suivies.
- setpagelanguage
- Modifier la langue d’une page.
- spamblacklist
- Valider une ou plusieurs URL de la Liste Noire des pourriels.
- stashedit
- Préparer des modifications dans le cache partagé.
- tag
- Ajouter ou enlever des balises de modification aux révisions ou aux entrées de journal individuelles.
- titleblacklist
- Valider un titre de page, un nom de fichier ou un nom d’utilisateur d’après TitleBlacklist.
- unblock
- Débloquer un utilisateur.
- undelete
- Restituer les versions d'une page supprimée.
- unlinkaccount
- Supprimer un compte tiers lié de l’utilisateur actuel.
- upload
- Téléverser un fichier, ou obtenir l’état des téléversements en cours.
- userrights
- Modifier l’appartenance d’un utilisateur à un groupe.
- validatepassword
- Valider un mot de passe conformément aux règles concernant les mots de passe du wiki.
- watch
- Ajouter ou supprimer des pages de la liste de suivi de l’utilisateur actuel.
- tokens
- Désuet. Obtenir des jetons pour des actions de modification des données.
- Une des valeurs suivantes : block, categorytree, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, spamblacklist, stashedit, tag, titleblacklist, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, tokens
- Par défaut : help
- format
Le format de sortie.
- json
- Sortir les données au format JSON.
- jsonfm
- Extraire les données au format JSON (HTML mis en forme améliorée pour l'impression).
- none
- Ne rien extraire.
- php
- Extraire les données au format sérialisé de PHP.
- phpfm
- Extraire les données au format sérialisé de PHP (mise en forme HTML améliorée pour l'impression).
- rawfm
- Extraire les données, y compris les éléments de débogage, au format JSON (mise en forme HTML améliorée pour l'impression).
- xml
- Extraire les données au format XML.
- xmlfm
- Extraire les données au format XML (affiché proprement en HTML).
- Une des valeurs suivantes : json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- Par défaut : jsonfm
- maxlag
La latence maximale peut être utilisée quand MédiaWiki est installé sur un cluster de base de données répliqué. Pour éviter des actions provoquant un supplément de latence de réplication de site, ce paramètre peut faire attendre le client jusqu’à ce que la latence de réplication soit inférieure à une valeur spécifiée. En cas de latence excessive, le code d’erreur maxlag est renvoyé avec un message tel que Attente de $host : $lag secondes de délai.
Voyez Manuel: paramètre Maxlag pour plus d’information.- Type : entier
- smaxage
Fixer l’entête HTTP de contrôle de cache
s-maxage
à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.- Type : entier
- Par défaut : 0
- maxage
Fixer l’entête HTTP de contrôle de cache
max-age
à ce nombre de secondes. Les erreurs ne sont jamais mises en cache.- Type : entier
- Par défaut : 0
- assert
Vérifier si l’utilisateur est connecté si la valeur est user, ou s’il a le droit d’un utilisateur robot si la valeur est bot.
- Une des valeurs suivantes : user, bot
- assertuser
Vérifier que l’utilisateur actuel est l’utilisateur nommé.
- Type : nom d’utilisateur
- requestid
Toute valeur fournie ici sera incluse dans la réponse. Peut être utilisé pour distinguer des demandes.
- servedby
Inclure le nom d’hôte qui a renvoyé la requête dans les résultats.
- Type : booléen (détails)
- curtimestamp
Inclure l’horodatage actuel dans le résultat.
- Type : booléen (détails)
- responselanginfo
Inclure les langues utilisées pour uselang et errorlang dans le résultat.
- Type : booléen (détails)
- origin
En accédant à l’API en utilisant une requête AJAX inter-domaines (CORS), mettre le domaine d’origine dans ce paramètre. Il doit être inclus dans toute requête de pre-flight, et doit donc faire partie de l’URI de la requête (pas du corps du POST).
Pour les requêtes authentifiées, il doit correspondre exactement à une des origines dans l’entête
Origin
header, donc il doit être fixé avec quelque chose comme https://en.wikipedia.org ou https://meta.wikimedia.org. Si ce paramètre ne correspond pas à l’entêteOrigin
, une réponse 403 sera renvoyée. Si ce paramètre correspond à l’entêteOrigin
et que l’origine est en liste blanche, des entêtesAccess-Control-Allow-Origin
etAccess-Control-Allow-Credentials
seront positionnés.Pour les requêtes non authentifiées, spécifiez la valeur *. Cela positionnera l’entête
Access-Control-Allow-Origin
, maisAccess-Control-Allow-Credentials
vaudrafalse
et toutes les données spécifiques à l’utilisateur seront filtrées.- uselang
Langue à utiliser pour les traductions de message. action=query&meta=siteinfo avec siprop=languages renvoie une liste de codes de langue, ou en spécifiant user pour utiliser la préférence de langue de l’utilisateur actuel, ou en spécifiant content pour utiliser le langage du contenu de ce wiki.
- Par défaut : user
- errorformat
Format à utiliser pour la sortie du texte d’avertissement et d’erreur.
- plaintext
- Wikitexte avec balises HTML supprimées et les entités remplacées.
- wikitext
- wikitexte non analysé.
- html
- HTML.
- raw
- Clé de message et paramètres.
- none
- Aucune sortie de texte, uniquement les codes erreur.
- bc
- Format utilisé avant MédiaWiki 1.29. errorlang et errorsuselocal sont ignorés.
- Une des valeurs suivantes : plaintext, wikitext, html, raw, none, bc
- Par défaut : bc
- errorlang
Langue à utiliser pour les avertissements et les erreurs. action=query&meta=siteinfo avec siprop=languages renvoyant une liste de codes de langue, ou spécifier content pour utiliser la langue du contenu de ce wiki, ou spécifier uselang pour utiliser la même valeur que le paramètre uselang.
- Par défaut : uselang
- errorsuselocal
S’il est fourni, les textes d’erreur utiliseront des messages adaptés à la langue dans l’espace de noms MediaWiki.
- Type : booléen (détails)
- Aide pour le module principal
- api.php?action=help [ouvrir dans le bac à sable]
- Toute l’aide sur une page.
- api.php?action=help&recursivesubmodules=1 [ouvrir dans le bac à sable]
Type de données
Les entrées dans MédiaWiki doivent être en UTF-8 à la norme NFC. MédiaWiki peut tenter de convertir d’autres types d’entrée, mais cela peut faire échouer certaines opérations (comme les modifications avec contrôles MD5) to fail.
Certains types de paramètre dans les requêtes de l’API nécessitent plus d’explication :
- boolean
- Les paramètres booléens fonctionnent comme des cases à cocher HTML : si le paramètre est spécifié, quelle que soit sa valeur, il est considéré comme vrai. Pour une valeur fausse, enlever complètement le paramètre.
- timestamp
- Les horodatages peuvent être spécifiés sous différentes formes. Date et heure ISO 8601 est recommandé. Toutes les heures sont en UTC, tout fuseau horaire inclus est ignoré.
- Date et heure ISO 8601, 2001-01-15T14:56:00Z (la ponctuation et Z sont facultatifs)
- Date et heure ISO 8601 avec fractions de seconde (ignorées), 2001-01-15T14:56:00.00001Z (tirets, deux-points et Z sont facultatifs)
- Format MédiaWiki, 20010115145600
- Format numérique générique, 2001-01-15 14:56:00 (fuseau horaire facultatif en GMT, +##, ou -## sont ignorés)
- Format EXIF, 2001:01:15 14:56:00
- Format RFC 2822 (le fuseau horaire est facultatif), Mon, 15 Jan 2001 14:56:00
- Format RFC 850 (le fuseau horaire est facultatif), Monday, 15-Jan-2001 14:56:00
- Format ctime C, Mon Jan 15 14:56:00 2001
- Secondes depuis 1970-01-01T00:00:00Z sous forme d’entier de 1 à 13 chiffres (sans 0)
- La chaîne now
Paramètres de modèle
Les paramètres de modèle supportent les cas où un module d’API a besoin d’une valeur pour chaque valeur d’un autre paramètre quelconque. Par exemple, s’il y avait un module d’API pour demander un fruit, il pourrait avoir un paramètre fruits pour spécifier quels fruits sont demandés et un paramètre de modèle {fruit}-quantité pour spécifier la quantité demandée de chaque fruit. Un client de l’API qui voudrait une pomme, cinq bananes et vingt fraises pourrait alors faire une requête comme fruits=pommes|bananes|fraises&pommes-quantité=1&bananes-quantité=5&fraises-quantité=20.
Remerciements
Développeurs de l’API :
- Yuri Astrakhan (créateur, développeur en chef Sept. 2006–Sept. 2007)
- Roan Kattouw (développeur en chef Sept. 2007–2009)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Brad Jorsch (développeur en chef depuis 2013)
Veuillez envoyer vos commentaires, suggestions et questions à [email protected] ou remplir un rapport de bogue sur https://phabricator.wikimedia.org/.