API:API REST/Références
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 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
|
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.
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();
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.
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();
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 :
|
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 :
|
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();
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();
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();
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();
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 :
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();
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();
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.
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 :
|
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 :
|
original
required | object | |
| Obtenir un fichier uniquement
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();
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
required | object |
Objet contenant les informations de la page, y compris :
|
user
required | object |
l'objet contenant des informations sur l'utilisateur qui a effectué la modification, y compris :
pour les utilisateurs anonymes, |
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();
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 :
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();
Paramètres
title
required | path |
Titre de page du wiki |
type
required | path |
Type de compteur, une valeur parmi :
|
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 |
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();
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();
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();
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();
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.
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();
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
|
Identifiant de révision |
from.slot_role
|
Zone de la page à comparer, généralement main
|
from.sections
|
Tableau d'objets représentant les titres de section, y compris :
|
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 :
|
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 :
|
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.
|
diff.offset
required | object |
Emplacement de la ligne en octets à partir du début de la page, y compris :
|