Jump to content

API:API REST/Références

From mediawiki.org
This page is a translated version of the page API:REST API/Reference and the translation is 100% complete.

Pour voir la documentation de cette API dans un bac à sable interactif, aller sur Special:RestSandbox de n'importe quel wiki Wikimedia. Par exemple : bac à sable REST de la Wikipedia anglophone.

Chercher

Version de MediaWiki :
1.35

Objet du résultat de recherche

L'objet résultat de la recherche représente une page wiki qui répond aux critères demandés pour la recherche.

Exemple

{
  "id": 38930,
  "key": "Jupiter",
  "title": "Jupiter",
  "excerpt": "<span class=\"searchmatch\">Jupiter</span> est la cinquième planète du Soleil et la plus grande du système solaire. C'est un géant gazeux dont la masse est de un millième de celle du soleil, mais deux fois et demi",
  "matched_title": null,
  "description": "cinquième planète du soleil et la plus grande du système solaire",
  "thumbnail": {
    "mimetype": "image/jpeg",
    "size": null,
    "width": 200,
    "height": 200,
    "duration": null,
    "url": "//upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Jupiter_and_its_shrunken_Great_Red_Spot.jpg/200px-Jupiter_and_its_shrunken_Great_Red_Spot.jpg"
  }
}


Schéma

Nom Nécessaire ? Type Description
id obligatoire entier Identifiant de la page
key obligatoire chaîne Titre de la page dans le format convivial des URL
title obligatoire chaîne Titre de la page dans le format convivial de lecture
excerpt obligatoire chaîne Pour le point d'accès de la recherche de pages :

Quelques lignes donnant un échantillon du contenu de la page avec les termes de recherche mis en valeur à l'aide de balises <span class=\"searchmatch\">. Les extraits peuvent être coupés à mi-chemin

Pour le point d'accès de l'auto-complétion du titre de page :

Titre de la page dans le format convivial de lecture

matched_title optionnel chaîne Titre de la page de où vient la redirection si le terme de recherche correspond initialement à une page de redirection, ou null si le terme à chercher ne correspond pas à une page de redirection.
description obligatoire chaîne Dans les projets Wikimédia : Résumé rapide du sujet de la page, basé sur l'entrée correspondante dans Wikidata, ou null si cette dernière n'existe pas. Voir Extension:ShortDescription pour remplir ce champ dans les installations tierces.
thumbnail obligatoire objet Version réduite de l'image principale de la page, ou null si aucune image principale n'existe
  • mimetype (string): Vignette du type de média
  • size (integer): Taille du fichier en octets ou null si elle n'est pas disponible
  • width (integer): Largeur d'image maximale recommandée en pixels ou null si elle n'est pas disponible
  • height (integer): Hauteur d'image maximale recommandée en pixels ou null si elle n'est pas disponible
  • duration (integer): Longueur du fichier vidéo, audio ou multimédia ou null pour les autres types de média
  • url (string): URL pour télécharger le fichier

Rechercher des pages

Path /search/page?q=search terms Method GET
Content type application/json Returns objet pages contenant un tableau de résultats de recherche


Recherche les titres et le contenu des pages du wiki pour les termes de recherche fournis et renvoie les pages correspondantes.

Lorsque vous utilisez ce point d'accès sur votre wiki
Ce point d'accès utilise le moteur de recherche configuré dans le paramètre de configuration $wgSearchType et renvoie les résultats dans les espaces de noms configurés par $wgNamespacesToBeSearchedDefault.

Exemples

curl

# Rechercher dans la Wikipédia anglophone jusqu'à 20 pages contenant des informations sur Jupiter
$ curl "https://en.wikipedia.org/w/rest.php/v1/search/page?q=jupiter&limit=20"


Python

# Rechercher dans la Wikipédia anglophone jusqu'à 20 pages contenant des informations sur Jupiter
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/search/page'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
    'q': 'jupiter',
    'limit': '20'
}

response = requests.get(url, headers=headers, params=params)
data = response.json()

print(data)


PHP

<?php
/*
Rechercher dans la Wikipédia anglophone jusqu'à 20 pages contenant des informations sur Jupiter
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/search/page";
$params = [ "q" => "jupiter", "limit" => "20" ];
$url = $url . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Rechercher dans la Wikipédia anglophone jusqu'à 20 pages contenant des informations sur Jupiter
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/search/page";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  let params = {
    'q': 'jupiter',
    'limit': '20'
  };
  let query = Object.keys(params)
             .map(k => k + '=' + encodeURIComponent(params[k]))
             .join('&');
  url = url + '?' + query;

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

q

required | query | string

Termes à rechercher
limit

optional | query | string

Nombre maximal de résultats de recherche à recevoir, entre 1 et 100. Par défaut : 50

Réponses

200 Succès : résultat trouvé. Renvoie un objet pages contenant un tableau de résultats de recherche.
200 Succès : aucun résultat n'a été trouvé. Renvoie un objet pages contenant un tableau vide.
400 Le paramètre de la recherche n'est pas initialisé. Ajouter le paramètre q.
400 Limite demandée non valide. Le paramètre limit doit être entre 1 et 100.
500 Erreur dans la recherche

Complétion automatique du titre de page

Path /search/title?q=search terms Method GET
Content type application/json Returns objet pages contenant un tableau de résultats de recherche


Recherche les titres des pages du wiki, et renvoie les correspondances entre le début du titre et les termes de recherche fournis. Vous pouvez utiliser ce point d'accès pour une recherche en avant qui suggère automatiquement les pages concernées par titre.

Lorsque vous utilisez ce point d'accès sur votre wiki
Ce point d'accès utilise le moteur de recherche initialisé dans le paramètre de configuration $wgSearchType et renvoie les résultats dans les espaces de noms configurés par $wgNamespacesToBeSearchedDefault . Les résultats peuvent varier selon le serveur de recherche configuré. Alors que le serveur par défaut n'applique que les replis de la casse basiques ainsi que les correspondances des préfixes, les serveurs plus avancés peuvent appliquer des variations plus complexes. Dans le cas de CirrusSearch par exemple, les correspondances sont basées sur les suggestions de complétion de Elastic Search.

Exemples

curl

# Rechercher sur la Wikipédia anglophone jusqu'à 5 pages dont le titre commence par "solar"
$ curl "https://en.wikipedia.org/w/rest.php/v1/search/title?q=solar&limit=5"


Python

# Rechercher sur la Wikipédia anglophone jusqu'à 5 pages dont le titre commence par "solar"
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/search/title'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
    'q': 'solar',
    'limit': '5'
}

response = requests.get(url, headers=headers, params=params)
data = response.json()

print(data)


PHP

<?php
/*
Rechercher sur la Wikipédia anglophone jusqu'à 5 pages dont le titre commence par "solar"
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/search/title";
$params = [ "q" => "solar", "limit" => "5" ];
$url = $url . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Rechercher sur la Wikipédia anglophone jusqu'à 5 pages dont le titre commence par "solar"
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/search/title";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  let params = {
    'q': 'solar',
    'limit': '5'
  };
  let query = Object.keys(params)
             .map(k => k + '=' + encodeURIComponent(params[k]))
             .join('&');
  url = url + '?' + query;

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

q

required | query | string

Termes à rechercher
limit

optional | query | string

Nombre maximal de résultats de recherche à recevoir, entre 1 et 100. Par défaut : 50

Réponse

200 Succès : résultat trouvé. Renvoie un objet pages contenant un tableau de résultats de recherche.
200 Succès : aucun résultat n'a été trouvé. Renvoie un objet pages contenant un tableau vide.
400 Le paramètre de la recherche n'est pas initialisé. Ajouter le paramètre q.
400 Limite demandée non valide. Le paramètre limit doit être entre 1 et 100.
500 Erreur dans la recherche

Pages

Version de MediaWiki :
1.35

Objet Page

L'objet page représente la dernière révision d'une page wiki.

Exemple

{
  "id": 9228,
  "key": "Earth",
  "title": "Earth",
  "latest": {
    "id": 963613515,
    "timestamp": "2020-06-20T20:05:55Z"
  },
  "content_model": "wikitext",
  "license": {
    "url": "//creativecommons.org/licenses/by-sa/3.0/",
    "title": "Creative Commons Attribution-Share Alike 3.0"
  },
  "html_url": "https://en.wikipedia.org/w/rest.php/v1/page/Earth/html"
}

Schéma

id

required | integer

Identifiant de la page


key

required | string

Titre de la page dans le format convivial des URL


title

required | string

Titre de la page dans le format convivial de lecture


latest

required | object

Information sur la dernière révision, y compris :
  • id (integer): Identifiant de révision pour la dernière révision
  • timestamp (string): Horodatage de la dernière révision au format ISO 8601


content_model

required | string

Type de contenu de la page. Voir la Référence des gestionnaires de contenu pour les modèles de contenu pris en charge par MediaWiki et ses extensions.


license

required | map of strings

Informations sur la licence du wiki, y compris :
  • url (string): URL de la licence applicable basée sur la valeur de $wgRightsUrl
  • title (string): Nom de la licence applicable basée sur la valeur de $wgRightsText


html_url

required | string (Obtenir une page only)

Route API pour obtenir le contenu de la page en HTML


html

required | string (Obtenir une page en HTML only)

Contenu le plus récent de la page en HTML, d'après la norme HTML


source

required | string (Obtenir le source de la page, créer une page et mette à jour une page only)

Contenu le plus récent de la page dans le format spécifié par la propriété content_model


Objet langue de la page

L'objet page language représente une page wiki et sa langue.

Exemple

{
  "code": "pl",
  "name": "polski",
  "key": "Ziemia",
  "title": "Ziemia"
}

Schéma

code

required | string

Code de langue. Pour les projets Wikimedia, voir la matrice de site sur Meta-Wiki.


name

required | string

Nom de la langue traduit


key

required | string

Titre traduit de la page dans le format convivial des URL


title

required | string

Titre traduit de la page dans le format convivial de lecture


Création de page

Path /page Method POST
Accepts application/json Body voir le schéma ci-dessous
Content type application/json Returns objet Page avec la propriété source


Crée une page wiki. La réponse comprend une en-tête location contenant le point d'accès de l'API pour récupérer la nouvelle page.

Ce point d'accès est conçu pour être utilisé avec le processus d'autorisation de l'extension OAuth. Les appelants qui utilisent à la place l'authentification basée sur les cookies doivent ajouter un token CSRF dans le corps de la requête. Pour obtenir un jeton CSRF, voir l'API Action.

Exemples

curl

# Créer une page dans le bac à sable de l'utilisateur sur la Wikipédia anglophone
$ curl -X POST https://en.wikipedia.org/w/rest.php/v1/page -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data '{"source": "Hello, world!", "title": "User:<my username>/Sandbox", "comment": "Créer une page de test avec l'API REST"}'

Python

# Créer une page dans le bac à sable de l'utilisateur sur la Wikipédia anglophone
import requests
import json

url = 'https://en.wikipedia.org/w/rest.php/v1/page'

# Remplacez votre jeton OAuth
headers = {
    'User-Agent'   : 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)',
    'Content-Type' : 'application/json',
    'Authorization': 'Bearer $TOKEN'
}

# Remplacez votre nom d'utilisateur
request_data = {
    "source" : "Hello, world!",
    "title"  : "User:<my username>/Sandbox",
    "comment": "Créer une page de test avec l'API REST"
}

response = requests.post( url, headers=headers, data = json.dumps(request_data) )
output = response.json()

print(output)

PHP

<?php
/*
Créer une page dans le bac à sable de l'utilisateur sur la Wikipédia anglophone
*/

$url = 'https://en.wikipedia.org/w/rest.php/v1/page';

// Remplacez votre nom d'utilisateur
$fields = [
    'source' => 'Hello, world!',
    'title' => 'User:<my username>/Sandbox',
    'comment' => 'Créer une page de test avec l'API REST'
];

$json = json_encode( $fields );

$token = 'YOUR_OAUTH_TOKEN'; // Remplacez votre jeton OAuth
$authorization = 'Authorization: Bearer ' . $token;

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json' , $authorization ));
curl_setopt( $ch, CURLOPT_USERAGENT, 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)' );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );

$output = curl_exec( $ch );
curl_close( $ch );

echo( $output );
?>

JavaScript

/*  
    Créer une page dans le bac à sable de l'utilisateur sur la Wikipédia anglophone

    Remplacez $TOKEN par votre jeton OAuth.
    Remplacez <my username> par votre nom d'utilisateur.
*/

async function doFetch() {
  const response = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page",
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer $TOKEN'
      },
      body: JSON.stringify({
        "source" : "Hello, world!",
        "title"  : "User:<my username>/Sandbox",
        "comment": "Créer une page de test avec l'API REST"
      }),
      'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
    }
  );
  const data = await response.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Requête de schéma

Name Required? Type Default Description
source obligatoire string Contenu de la page dans le format spécifié par la propriété content_model
title obligatoire string Titre de la page title. Voir le manuel pour les informations sur le litre des pages dans MediaWiki.

Pour les projets Wikimedia, voir les wikis individuels pour les politiques concernant les formats et les caractères des titres de pages. Pour les exemples, voir sur la Wikipedia anglophone les Titres des articles.

comment obligatoire string Raison pour laquelle la page a été créée. Pour permettre au serveur de remplir le commentaire, utiliser "comment": null.
content_model optionnel string wikitext Type de contenu de la page. Voir la Référence des gestionnaires de contenu pour les modèles de contenu pris en charge par MediaWiki et ses extensions.
token optionnel string ? jeton CSRF nécessaire pour l'authentification par cookie Ne pas utiliser cette propriété si OAuth est autorisé.

Réponses

201 Succès : page créée. Renvoie un objet page avec la propriété source.
400 Manque token pour l'authentification basée sur les cookies. Ajouter un jeton CSRF au corps de la requête, ou utiliser un flux d'autorisation OAuth.
400 Mauvais modèle de contenu. Utiliser un content_model valide basé sur les gestionnaires de contenu disponibles.
409 La page existe déjà
415 Type de contenu non pris en charge. Ajoutez l'entête de la requête Content-Type: application/json.

Mise à jour de page

Route /page/{title} Type de contenu application/json
Méthode PUT Renvoie objet Page avec la propriété source

Met à jour ou crée une page du wiki. Ce point d'accès est conçu pour être utilisé avec le processus d'autorisation de l'extension OAuth. Les appelants qui utilisent à la place l'authentification basée sur les cookies doivent ajouter un token CSRF dans le corps de la requête. Pour obtenir un jeton CSRF, voir l'API Action.

Pour mettre à jour une page, vous avez besoin du dernier ID de révision de la page et du source de la page. Appeler d'abord le point d'accès du source de la page qui fait la demande, puis utiliser source et latest.id pour mettre la page à jour. Si latest.id ne correspond pas à la dernière révision de la page, l'API résout automatiquement les conflits quand cela est possible. En cas de conflit de modification, l'API renvoie une erreur 409.

Pour créer une page, ne pas utiliser latest.id dans la requête.

Exemples

curl

# Mettre à jour la page du bac à sable de la Wikipédia anglophone avec Hello, world!
$ curl -X PUT https://en.wikipedia.org/w/rest.php/v1/page/Wikipedia:Sandbox -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" --data '{"source": "Hello, world!", "comment": "Tester l'API REST", "latest": { "id": 555555555 }}'

Python

# Update the sandbox page on English Wikipedia with "Hello, world!"
import requests
import json

url = "https://en.wikipedia.org/w/rest.php/v1/page/Wikipedia:Sandbox"

# Substitute your OAuth token
headers = {
    "User-Agent" : "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)",
    "Content-Type" : "application/json",
    "Authorization" : "Bearer $TOKEN"
}

# Utiliser le point d'accès de la page obtenue pour obtenir l'ID de la révision la plus récente
request_data = {
    "source" : "Hello, world!",
    "comment": "Testing out the REST API",
    "latest" : { "id": 555555555 }
}

response = requests.put( url, headers=headers, data = json.dumps(request_data) )
output = response.json()

print(output)

PHP

<?php
/*
Update the sandbox page on English Wikipedia with "Hello, world!"
*/

$page = 'Wikipedia:Sandbox';
$endpoint = 'https://en.wikipedia.org/w/rest.php/v1/page/';
$url = $endpoint . $page;

// Use the get page endpoint to get the latest revision ID
$fields = [
    'source' => 'Hello, world!',
    'comment' => 'Testing out the REST API',
    'latest' => [
        'id' => 555555555
    ]
];

$json = json_encode( $fields );

$token = 'YOUR_OAUTH_TOKEN'; // Remplacez votre jeton OAuth
$authorization = 'Authorization: Bearer ' . $token;

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'PUT' );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $json );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));
curl_setopt( $ch, CURLOPT_USERAGENT, 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)' );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); 

$output = curl_exec( $ch );
curl_close( $ch );

echo( $output );
?>

JavaScript

/*  
    Update the sandbox page on English Wikipedia with "Hello, world!"

    Remplacez $TOKEN par votre jeton OAuth.
    Use the get page endpoint to get the latest revision ID.
*/

async function doFetch() {
  const response = await fetch(
    "https://en.wikipedia.org/w/rest.php/v1/page/Wikipedia:Sandbox",
    {
      method: 'PUT',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer $TOKEN'
      },
      body: JSON.stringify({
        "source": "Hello, world!",
        "comment": "Testing out the REST API",
        "latest": { "id": 555555555 }
      }),
      'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
    }
  );
  const data = await response.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Paramètres

Name Required? Type Description
title obligatoire path Titre de page du wiki

Requête de schéma

Name Required? Type Default Description
source obligatoire string Contenu de la page dans le format spécifié par la propriété content_model
comment obligatoire string Résumé de l'édition. Pour permettre au serveur de remplir le commentaire, utilisez "comment": null.
latest optionnel object Objet identifiant la révsion de base de la modification. Cette information est récupérable à partir du point d'accès du source de la page qui fait le get.
latest.id optionnel integer Identifiant de la révision utilisée comme base pour le nouveau source, nécessaire pour mettre à jour une page existante. Pour créer une page, ne pas utiliser cette propriété.
content_model optionnel string wikitext Type de contenu de la page. Voir la Référence des gestionnaires de contenu pour les modèles de contenu pris en charge par MediaWiki et ses extensions.
token optionnel string jeton CSRF nécessaire pour l'authentification par cookie Ne pas utiliser cette propriété si vous autorisez via OAuth.

Réponses

200 Succès : page mise à jour. Renvoie un objet page avec la propriété source.
201 Succès : page créée. Renvoie un objet page avec la propriété source.
400 token doit être spécifié si vous utilisez l'authentification basée sur les cookies. Ajouter un jeton CSRF au corps de la requête, ou utiliser un flux d'autorisation OAuth.
400 Mauvais modèle de contenu. Assurez-vous que la propriété de content_model dans le corps de la requête correspond à la propriété content_model de la page cible.
409 La page existe déjà. Pour mettre à jour la page existante, indiquez dans le corps de la demande, l'identifiant de la révision de base dans latest.id.
409 Conflit d'édition La réponse en erreur comprend les différences entre la révision de base spécifiée dans la requête et la révision publiée la plus récente. Voir la documentation Wikidiff2 pour les informations concernant le format du diff. Nécessite Wikidiff2 extension 1.10+.
415 Type de contenu non pris en charge. Ajoutez l'entête de la requête Content-Type: application/json.

Obtenir une page

Route /page/{title}/bare Type de contenu application/json
Méthode GET Renvoie objet Page avec la propriété html_url

Pour les sous-pages, le titre nécessite que / soit encodé en %2F.

Renvoie l'objet page standard pour une page du wiki, avec la route de l'API pour récupérer le contenu le plus récent en HTML, la licence, et les informations concernant la dernière révision.

Exemples

curl

# Obtenir des informations sur l'article Jupiter de la Wikipédia anglophone
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare"


Python

# Obtenir des informations sur l'article Jupiter de la Wikipédia anglophone
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir des informations sur l'article Jupiter de la Wikipédia anglophone
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir des informations sur l'article Jupiter de la Wikipédia anglophone
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/bare";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

Name Required? Type Description
title obligatoire path Titre de page du wiki

Réponses

200 Succès : page trouvée. Renvoie la page avec la propriété html_url.
301 Redirection de la normalisation du titre
404 Titre ou révision non trouvée

Obtenir une page en HTML

Route /page/{title}/with_html Type de contenu application/json
Méthode GET Renvoie objet Page avec la propriété html

Retourne les informations d'une page wiki, y compris la licence, la dernière révision et le dernier contenu en HTML.

Exemples

curl

# Obtenir le HTML et les métadonnées de l'article Jupiter de la Wikipédia anglophone
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html"


Python

# Obtenir le HTML et les métadonnées de l'article Jupiter de la Wikipédia anglophone
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir le HTML et les métadonnées de l'article Jupiter de la Wikipédia anglophone
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir le HTML et les métadonnées de l'article Jupiter de la Wikipédia anglophone
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/with_html";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

title

required | path | string

Titre de page du wiki
redirect

optional | query | bool

Mettre no pour ne pas suivre les redirections du wiki.

Réponses

200 Succès : page trouvée. Renvoie la page avec la propriété html.
301 Redirection de la normalisation du titre
307 Redirection du wiki
404 Titre ou révision non trouvée

Obtenir le source d'une page

Route /page/{title} Type de contenu application/json
Méthode GET Renvoie objet Page avec la propriété source

Retourne le contenu d'une page wiki dans le format spécifié par la propriété content_model, la licence et les informations sur la dernière révision.

Exemples

curl

# Obtenir le source et les métadonnées de l'article sur Jupiter de la Wikipédia anglophone
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter"


Python

# Obtenir le source et les métadonnées de l'article sur Jupiter de la Wikipédia anglophone
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir le source et les métadonnées de l'article sur Jupiter de la Wikipédia anglophone
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir le source et les métadonnées de l'article sur Jupiter de la Wikipédia anglophone
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

Name Required? Type Description
title obligatoire path titre de page du wiki

Réponses

200 Succès : page trouvée. Renvoie la page avec la propriété source.
301 Redirection de la normalisation du titre
404 Titre ou révision non trouvée

Obtenir du HTML

Route /page/{title}/html Type de contenu text/html
Méthode GET Renvoie Page HTML au format HTML

Renvoie le contenu le plus récent d'une page wiki en HTML.

Exemples

curl

# Obtenir le contenu d'un article sur Jupiter de la Wikipedia anglophone en HTML
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html"


Python

# Obtenir le contenu d'un article sur Jupiter de la Wikipedia anglophone en HTML
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir le contenu d'un article sur Jupiter de la Wikipedia anglophone en HTML
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir le contenu d'un article sur Jupiter de la Wikipedia anglophone en HTML
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/html";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

title

required | path | string

titre de page du wiki
redirect

optional | query | bool

Mettre no pour ne pas suivre les redirections du wiki.
flavor

optional | query | string

Choisissez le type du HTML à renvoyer. Les types actuellement disponibles :
  • view – HTML pour afficher la page.
  • edit – HTML adapté à la modification et au retour pour édition. Contient des annotations pour prendre en charge la reconversion en wikicode.

Il est possible que d'autres types soient ajoutés à l'avenir.


Réponses

200 Succès. Renvoie la page HTML au format HTML.
301 Redirection de la normalisation du titre
307 Redirection du wiki
404 Titre ou révision non trouvée

Obtenir les langues

Route /page/{title}/links/language Type de contenu application/json
Méthode GET Renvoie Tableau de langues des pages

Recherche des pages dans les wikis connectés avec le même sujet mais dans des langues différentes. Renvoie un tableau d'objets de langue de page comprenant le nom de la langue, le code de langue, et le titre traduit de la page.

Exemples

curl

# Trouvez les articles sur d'autres Wikipédia liés à l'article Jupiter de la Wikipédia anglophone
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language"


Python

# Trouvez les articles sur d'autres Wikipédia liés à l'article Jupiter de la Wikipédia anglophone
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Trouvez les articles sur d'autres Wikipédia liés à l'article Jupiter de la Wikipédia anglophone
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Trouvez les articles sur d'autres Wikipédia liés à l'article Jupiter de la Wikipédia anglophone
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/language";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

title

required | path

Titre de page du wiki

Réponses

200 Succès : langues trouvées. Renvoie un tableau de langues de pages.
404 Titre non trouvé

Obtenir des fichiers sur la page

Route /page/{title}/links/media Type de contenu application/json
Méthode GET Renvoie objet files contenant un tableau de fichiers

Renvoie les informations sur les fichiers de médias utilisés sur une page wiki, jusqu'à 100 fichiers.

Exemples

curl

# Obtenir les fichiers de médias utilisés dans l'article Jupiter de la Wikipédia anglophone
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media"


Python

# Obtenir les fichiers de médias utilisés dans l'article Jupiter de la Wikipédia anglophone
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir les fichiers de médias utilisés dans l'article Jupiter de la Wikipédia anglophone
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir les fichiers de médias utilisés dans l'article Jupiter de la Wikipédia anglophone
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/links/media";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

title

required | path

Titre de page du wiki

Réponses

200 Succès : fichiers de média trouvés. Renvoie un objet files contenant un tableau de fichiers.
200 Succès : aucun fichier de média n'a été trouvé. Renvoie l'objet files contenant un tableau vide.
404 Titre non trouvé
400 La page contient plus de 100 fichiers de médias

Transformer

Version de MediaWiki :
1.41

Le point d'accès de transformation fournit une conversion au fil de l'eau entre le wikicode et HTML.

Cette documentation ne couvre pas encore toutes les caractéristiques disponibles du point d'accès de transformation. Pour plus d'informations, voir la documentation de l'ancien point d'accès RESTBase : https://en.wikipedia.org/api/rest_v1/#/Transforms

Convertir du Wikicode en HTML

Route /transform/wikitext/to/html/{title} Type de contenu application/json
Méthode POST Données Corps de la requête de transformation avec source
Renvoie un document HTML.

Convertit le wikicode en HTML

Exemples

curl

# Générer le wikicode dans le contexte de la page Jupiter sur la Wikipédia anglophone, sans modifier la page :
$ curl -X POST -H "Content-Type: application/json" --data '{ "wikitext": "== Hello Jupiter ==" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/wikitext/to/html/Jupiter'

Paramètres

title

required | path

Titre de page du wiki, utilisé pour le contexte

Réponses

200 Succès : le corps de la réponse contient le HTML généré.

Convertir du HTML en Wikicode

Route /transform/html/to/wikitext/{title} Type de contenu application/json
Méthode POST Données Corps de la requête de transformation avec HTML
Renvoie un document wikicode.

Convertit le HTML en wikicode.

Exemples

curl

# Générer le wikicode à partir du HTML, dans le contexte de la page Jupiter sur la Wikipédia anglophone :
$ curl -X POST -H "Content-Type: application/json" --data '{ "html": "<h2> hello World </h2>" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/html/to/wikitext/Jupiter'

Paramètres

title

required | path

Titre de page du wiki, utilisé pour le contexte

Réponses

200 Succès : le corps de la réponse contient le wikicode.


Convertir du Wikicode en erreurs lint

Route /transform/wikitext/to/lint/{title} Type de contenu application/json
Méthode POST Données Corps de la requête de transformation avec wikitext
Renvoie tableau JSON d'erreurs.

Transformer le wikicode en erreurs lint.

Exemples

curl

# Obtenir les erreurs de lint pour le wikicode dans le contexte de la page Jupiter sur la Wikipédia anglophone sans modifier la page :
$ curl -X POST -H "Content-Type: application/json" --data '{ "wikitext": "== Hello Jupiter ==[[Link|text]]<table><table>" }' 'https://en.wikipedia.org/w/rest.php/v1/transform/wikitext/to/lint/Jupiter'

Paramètres

title

required | path

Titre de la page utilisé pour le contexte

Réponses

200 Succès : le corps de la réponse contient les erreurs de lint.

Transformer le corps de la requête

Structure des données pour les requêtes de transformation.

Exemple

Pour convertir le wikicode en HTML :

{
  "wikitext": "Hello World"
}

Pour convertir le HTML en wikicode :

{
  "html": "<h2>Hello World</h2>"
}

Fichiers de médias

Version de MediaWiki :
1.35

Objet File

L'objet fichier représente un fichier téléversé sur un wiki.

Exemple

{
  "title": "The Blue Marble.jpg",
  "file_description_url": "//commons.wikimedia.org/wiki/File:The_Blue_Marble.jpg",
  "latest": {
    "timestamp": "2011-12-07T05:11:41Z",
    "user": {
      "id": 811185,
      "name": "Ultimate Roadgeek"
    }
  },
  "preferred": {
    "mediatype": "BITMAP",
    "size": null,
    "width": 599,
    "height": 599,
    "duration": null,
    "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/The_Blue_Marble.jpg/599px-The_Blue_Marble.jpg"
  },
  "original": {
    "mediatype": "BITMAP",
    "size": 7011595,
    "width": 3000,
    "height": 3002,
    "duration": null,
    "url": "https://upload.wikimedia.org/wikipedia/commons/7/78/The_Blue_Marble.jpg"
  },
  "thumbnail": {
    "mediatype": "BITMAP",
    "size": null,
    "width": 1023,
    "height": 1024,
    "duration": null,
    "url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/The_Blue_Marble.jpg/1023px-The_Blue_Marble.jpg"
  }
}

Schéma

title

required | string

Titre du fichier
file_description_url

required | string

URL de la page décrivant le fichier, y compris les informations sur la licence et autres métadonnées
latest

required | object

Objet contenant les informations à propos de la dernière révision du fichier, comprenant :
  • timestamp (string): Horodatage de la dernière modification au format ISO 8601 format
  • user (object): Objet contenant des informations sur l'utilisateur qui a téléversé le fichier
    • id (integer): Identifiant de l'utilisateur
    • name (string): Nom d'utilisateur
preferred

required | object

Informations sur le format d'aperçu préféré du fichier, le format d'origine et le format de la vignette, y compris :
  • mediatype (string): Type de fichier, une valeur parmi : BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, UNKNOWN, OFFICE, TEXT, EXECUTABLE, ARCHIVE, 3D
  • size (integer): Taille du fichier en octets ou null si elle n'est pas disponible
  • width (integer): la largeur d'image maximale recommandée en pixels ou null si elle n'est pas disponible
  • height (integer): la hauteur d'image maximale recommandée en pixels ou null si elle n'est pas disponible
  • duration (integer): la longueur du fichier vidéo, audio ou du fichier multimédia; null pour les autres types de médias
  • url (string): URL pour télécharger le fichier
original

required | object

Obtenir un fichier uniquement

thumbnail

required | object

Obtenir un fichier

Route /file/{title} Type de contenu application/json
Méthode GET Renvoie Fichier

Renvoie les informations sur un fichier, y compris les liens pour télécharger le fichier en vignette, en aperçu et en format original.

Exemples

curl

# Obtenir File:The_Blue_Marble.jpg de Wikimedia Commons
$ curl "https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg"


Python

# Obtenir File:The_Blue_Marble.jpg de Wikimedia Commons
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir File:The_Blue_Marble.jpg de Wikimedia Commons
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir File:The_Blue_Marble.jpg de Wikimedia Commons
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/file/File:The_Blue_Marble.jpg";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

paramètre description
title

required | path

Titre du fichier

Réponses

200 Succès : fichier trouvé. Renvoie le fichier.
404 Titre non trouvé

Historique

Version de MediaWiki :
1.35

Objet Revision

L'objet révision représente la modification d'une page wiki.

Exemple

{
  "id": 931281281,
  "page": {
    "id": 38930,
    "title": "Jupiter"
  },
  "size": 126009,
  "minor": false,
  "timestamp": "2019-12-18T01:39:24Z",
  "user": {
    "id": 27015025,
    "name": "InternetArchiveBot"
  },
  "comment": "Bluelinking 2 books for [[WP:V|verifiability]].) #IABot (v2.1alpha3",
  "delta": 231
}

Schéma

id

required | integer

Identifiant de révision
Obtenir une révision uniquement

page

required | object

Objet contenant les informations de la page, y compris :
  • page_id (integer): Identifiant de la page
  • title (string): le titre de la page dans le format convivial de lecture
user

required | object

l'objet contenant des informations sur l'utilisateur qui a effectué la modification, y compris :
  • name (string): Nom d'utilisateur
  • id (integer): Identifiant de l'utilisateur

pour les utilisateurs anonymes, name contient l'adresse IP origine et id vaut null.

timestamp

required | string

Horodatage de la modification au format ISO 8601
comment

required | string

le commentaire ou le résumé de la modification écrit par l'éditeur. Pour les révisions sans commentaire, l'API renvoie null ou "".
size

required | integer

Taille de la révision en octets
delta

required | integer

le nombre d'octets modifiés, en positif ou en négatif, entre une révision et la révision précédente (exemple : -20). Si la révision précédente n'est pas disponible, l'API renvoie null.
minor

required | boolean

Mis à true pour les modifications marquées mineures
html_url

required | string (Obtenir une révision only)

Route API pour obtenir le contenu de la révision en HTML


html

required | string (Obtenir la révision en HTML only)

Contenu de la révision en HTML, d'après la norme HTML


source

required | string (Obtenir le source de la révision only)

Contenu de révision dans le format spécifié par la propriété content_model


Obtenir l'historique de page

Route /page/{title}/history Type de contenu application/json
Méthode GET Renvoie Segment d'historique de page

Renvoie les informations sur les dernières révisions d'une page wiki, dans des segments de 20 révisions, à commencer par la dernière révision. La réponse comprend les routes de l'API pour les segments de révision précédents les plus anciens, suivants les plus récents, et les derniers segments de révision vous permettant de parcourir l'historique de la page.

Exemples

curl

# Obtenir les modifications apportées à l'article sur Jupiter de la Wikipédia anglophone faites par des robots avant la révision 939967546
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history?filter=bot&older_than=939967546"


Python

# Obtenir les modifications apportées à l'article sur Jupiter de la Wikipédia anglophone faites par des robots avant la révision 939967546
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
    'filter': 'bot',
    'older_than': '939967546'
}

response = requests.get(url, headers=headers, params=params)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir les modifications apportées à l'article sur Jupiter de la Wikipédia anglophone faites par des robots avant la révision 939967546
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history";
$params = [ "filter" => "bot", "older_than" => "939967546" ];
$url = $url . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir les modifications apportées à l'article sur Jupiter de la Wikipédia anglophone faites par des robots avant la révision 939967546
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  let params = {
    'filter': 'bot',
    'older_than': '939967546'
  };
  let query = Object.keys(params)
             .map(k => k + '=' + encodeURIComponent(params[k]))
             .join('&');
  url = url + '?' + query;

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

title

required | path

Titre de page du wiki
older_than

optional | query

Accepte un ID de révision. Renvoie les 20 révisions les plus anciennes qui précèdent l'ID de révision donné.
newer_than

optional | query

Accepte un ID de révision. Renvoie les 20 révisions les plus récentes qui suivent l'ID de révision donné.
filter

optional | query

Filtre qui ne renvoie que les révisions avec certaines balises, une des suivantes :
  • reverted: Ne renvoie que les révisions qui annulent une modification antérieure
  • anonymous: Ne renvoie que les révisions faites par les utilisateurs anonymes
  • bot: Ne renvoie que les révisions faites par robot
  • minor: Ne renvoie que les révisions marquées mineures

L'API prend en charge un filtre par requête.

Réponses

200 Succès : révision trouvée. Renvoie un segment de l'historique de la page.
200 Succès : aucune révision trouvée. Renvoie un segment de l'historique de la page contenant un tableau revisions vide.
400 L'identifiant de révision doit être plus grand que 0
400 Les paramètres older_than et newer_than ne peuvent pas figurer en même temps
400 Paramètre non valide.
404 Titre ou révision non trouvée

Schéma de la réponse

latest

required | string

Route d'API pour obtenir les dernières révisions
older

optional | string

route de l'API pour obtenir les révisions précédentes, si elle est disponible
newer

optional | string

route de l'API pour obtenir les révisions suivantes, si elle est disponible
revisions

required | array

Tableau de 0 à 20 objets révision

Obtenir les nombres d'historiques de page

Route /page/{title}/history/counts/{type} Type de contenu application/json
Méthode GET Renvoie Objet nombre d'historiques

Renvoie les données sur l'historique d'une page.

Exemples

curl

# Obtenir le nombre de modifications faites à une page entre les révisions 384955912 et 406217369
$ curl "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits?from=384955912&to=406217369"


Python

# Obtenir le nombre de modifications faites à une page entre les révisions 384955912 et 406217369
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}
params = {
    'from': '384955912',
    'to': '406217369'
}

response = requests.get(url, headers=headers, params=params)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir le nombre de modifications faites à une page entre les révisions 384955912 et 406217369
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits";
$params = [ "from" => "384955912", "to" => "406217369" ];
$url = $url . "?" . http_build_query( $params );

$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir le nombre de modifications faites à une page entre les révisions 384955912 et 406217369
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/page/Jupiter/history/counts/edits";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  let params = {
    'from': '384955912',
    'to': '406217369'
  };
  let query = Object.keys(params)
             .map(k => k + '=' + encodeURIComponent(params[k]))
             .join('&');
  url = url + '?' + query;

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

title

required | path

Titre de page du wiki
type

required | path

Type de compteur, une valeur parmi :
  • anonymous: Modifications faites par des utilisateurs anonymes. Limite : 10 000
  • bot: Modifications faites par des robots. Limite : 10 000
  • editors: Utilisateurs ou robots qui ont modifié une page. Limite : 25 000
  • edits: Toute modification du contenu de la page. Limite : 30 000
  • minor: Modifications marquées mineures. Si le nombre de modifications mineures dépasse 2 000, l'API renvoie une erreur 500. Limite : 1 000
  • reverted: Modification qui annule une modification antérieure. Limite : 30 000
from

optional | query

Uniquement pour les types edits et editors

Limiter le nombre compris entre deux révisions, spécifiées avec l'ID de révision. Les paramètres from et to de la requête doivent être utilisés par paire. Le résultat exclut les modifications ou les éditeurs représentés par les révisions from et to .

to

optional | query

Réponses

200 Succès
400 Paramètre ou combinaison de paramètres non valide
404 Titre ou révision non trouvée
500 Le nombre de modifications mineures dépasse 2 000

Schéma de la réponse

count

required | integer

La valeur des données indique la limite du type. Si la valeur dépasse cette limite, l'API renvoie la limite pour la valeur count et initialise la propriété limit à true.
limit

required | boolean

Renvoie true si le point d'accès dépasse la limite du type.


Obtenir une révision

Path revision/{id}/bare Method GET
Content type application/json Returns Révision


Renvoie les détails d'une révision individuelle.

Exemples

curl

# Obtenir les informations sur la révision 764138197
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare"


Python

# Obtenir les informations sur la révision 764138197
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir les informations sur la révision 764138197
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir les informations sur la révision 764138197
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/bare";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

id

required | path | string

ID de révision

Réponses

200 Succès : révision trouvée. Renvoie une révision.
404 Révision non trouvée

Obtnenir le source de la révision

Path revision/{id} Method GET
Content type application/json Returns Révision


Renvoie les détails d'une révision individuelle.

Exemples

curl

# Obtenir le wikicode de la révision 764138197
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197"


Python

# Obtenir le wikicode de la révision 764138197
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir le wikicode de la révision 764138197
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir le wikicode de la révision 764138197
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

id

required | path | string

ID de révision

Réponses

200 Succès : révision trouvée. Renvoie une révision.
404 Révision non trouvée

Obtenir le HTML de la révision

Path revision/{id}/html Method GET
Content type text/HTML Returns Révision


Renvoie HTML pour une révision individuelle.

Exemples

curl

# Obtenir le HTML de la révision 764138197
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html"


Python

# Obtenir le HTML de la révision 764138197
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir le HTML de la révision 764138197
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir le HTML de la révision 764138197
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/html";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

id

required | path | string

ID de révision

Réponses

200 Succès : révision trouvée. Renvoie le contenu de la révision en HTML.
404 Révision non trouvée

Obtenir les informations de la révision en HTML

Path revision/{id}/with_html Method GET
Content type application/json Returns Révision


Renvoie le HTML et les méta-données pour une révision individuelle.

Exemples

curl

# Obtenir les informations sur la révision 764138197 avec le rendu HTML
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html"


Python

# Obtenir les informations sur la révision 764138197 avec le rendu HTML
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Obtenir les informations sur la révision 764138197 avec le rendu HTML
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Obtenir les informations sur la révision 764138197 avec le rendu HTML
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/revision/764138197/with_html";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

id

required | path | string

ID de révision

Réponses

200 Révision trouvée. Renvoie une révision.
404 Révision non trouvée

Comparer les révisions

Route revision/{from}/compare/{to} Type de contenu application/json
Méthodes GET Renvoie format JSON Wikidiff2 du diff

Renvoie des données permettant d'afficher une comparaison ligne par ligne de deux révisions (voir un exemple). Seules les pages wiki basées sur du texte peuvent être comparées.

Pour utiliser ce point d'accès sur votre wiki
Installer Wikidiff2 1.9.0+

Exemples

curl

# Comparer la révision 847170467 avec la 851733941
$ curl "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941"


Python

# Comparer la révision 847170467 avec la 851733941
import requests

url = 'https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941'
headers = {
    'User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'
}


response = requests.get(url, headers=headers)
data = response.json()

print(data)


PHP

<?php
/*
Comparer la révision 847170467 avec la 851733941
*/
$url = "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941";


$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_USERAGENT, "MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)" );
$output = curl_exec( $ch );
curl_close( $ch );

echo($output);
?>


JavaScript

/*  
    Comparer la révision 847170467 avec la 851733941
*/
async function doFetch() {
  let url = "https://en.wikipedia.org/w/rest.php/v1/revision/847170467/compare/851733941";
  let headers = {'Api-User-Agent': 'MediaWiki REST API docs examples/0.1 (https://www.mediawiki.org/wiki/API_talk:REST_API)'}
  

  const rsp = await fetch(url, headers);
  const data = await rsp.json();
  return data;
}

async function fetchAsync()
{
  try {
    let result = await doFetch();
    console.log(result);
  } catch( err ) {
    console.error( err.message );
  }
}

fetchAsync();

Essayez

Paramètres

from

required | path

Identifiant de révision à utiliser comme base de comparaison
to

required | path

Identifiant de révision à comparer avec la base

Réponses

200 Succès: révisions trouvées
400 Les identifiants de révision concernent des pages différentes ou des pages qui ne peuvent pas être comparées
400 Type de contenu non valide
403 Révision non accessible publiquement
404 Révision non trouvée
500 l'extension Wikidiff2 1.9.0+ n'est pas installée

Schéma de la réponse

from

required | object

Informations sur la révision de base utilisée dans la comparaison
to

required | object

Informations sur la révision comparée à la révision de base
from.id

to.id
required | integer

Identifiant de révision
from.slot_role

to.slot_role
required | string

Zone de la page à comparer, généralement main
from.sections

to.sections
required | array

Tableau d'objets représentant les titres de section, y compris :
  • level (integer): Niveau du titre : de 1 à 4
  • heading (string): Texte de la ligne du titre, en wikicode
  • offset (integer): Emplacement de l'entête, en octets comptés depuis le début de la page
diff

required | array of objects

Chaque objet du tableau diff représente une ligne dans une comparaison visuelle ligne par ligne entre les deux révisions.
diff.type

required | integer

Type de modification représentée par l'objet diff, soit :
  • 0: une ligne avec le même contenu existe dans les deux révisions; incluse pour fournir le contexte lors de la visualisation du diff. L'API renvoie jusqu'à deux lignes de contexte autour de chaque modification.
  • 1: une ligne est incluse dans la révision to mais pas dans la révision from .
  • 2: une ligne est incluse dans la révision from mais pas dans la révision to .
  • 3: une ligne contenant un texte différent entre les deux révisions. (Pour les modifications d'emplacement et du contenu de paragraphes, voir le type 5).
  • 4: lorsque l'emplacement d'un paragraphe diffère entre deux révisions, l'objet de type 4 représente l'emplacement dans la révision from .
  • 5: lorsque l'emplacement d'un paragraphe diffère dans les deux révisions, l'objet de type 5 représente l'emplacement dans la révision to . Ce type peut également inclure des différences au niveau des mots entre les deux révisions.
diff.lineNumber

optional | integer

Numéro de ligne de la modification basé sur la révision to .
diff.text

required | string

Texte de la ligne, avec le contenu des deux révisions. Pour une ligne contenant du texte qui diffère entre les deux versions, vous pouvez utiliser highlightRanges pour indiquer visuellement le texte ajouté et celui supprimé. Pour une ligne contenant un passage à la ligne, l'API renvoie le texte sous la forme "" (chaîne vide).
diff.highlightRanges

optional | array of objects

Tableau d'objets indiquant où et dans quel style le texte doit être mis en valeur pour représenter visuellement les modifications.

Chaque objet contient :

  • start (integer): Indique le point de départ du texte mis en valeur, en nombre d'octets depuis le début de la ligne.
  • length (integer): longueur de la section mise en valeur, en octets.
  • type (integer): type de mise en valeur :
    • 0 indique une addition.
    • 1 indique une suppression.
diff.moveInfo

optional | object

Indicateurs visuels à utiliser lorsque l'emplacement d'un paragraphe est différent dans les deux révisions. les objets moveInfo vont par paire dans le diff.
  • id (string): identifiant du paragraphe décrit par l'objet diff.
  • linkId (string): identifiant du paragraphe correspondant.
    • Pour les objets diff de type 4, linkId représente l'emplacement dans la révision to .
    • Pour les objets diff de type 5, linkId représente l'emplacement dans la révision from .
  • linkDirection (integer): indicateur visuel de la relation entre les deux emplacements. Vous pouvez utiliser cette propriété pour afficher l'icône d'une flèche dans le diff.
    • 0 indique que le paragraphe linkId figure plus bas sur la page que le paragraphe id .
    • 1 indique que le paragraphe linkId figure plus haut sur la page que le paragraphe id .
diff.offset

required | object

Emplacement de la ligne en octets à partir du début de la page, y compris :
  • from (integer): premier octet de la ligne dans la révision from . null indique que la ligne n'existe pas dans la révision from .
  • to (integer): premier octet de la ligne dans la révision to . null indique que la ligne n'existe pas dans la révision to .