API:Opensearch/fr: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
No edit summary |
||
| Line 75: | Line 75: | ||
En lien avec cette API, voici quelques pointeurs supplémentaires pour les '''administrateurs de site''' et les '''développeurs d'extensions''' de MediaWiki : |
En lien avec cette API, voici quelques pointeurs supplémentaires pour les '''administrateurs de site''' et les '''développeurs d'extensions''' de MediaWiki : |
||
* {{ll|Extension:TitleKey}} - permettent que les suggestions de recherche à partir de cette API ne soient pas sensibles à la casse. |
* {{ll|Extension:TitleKey}} - permettent que les suggestions de recherche à partir de cette API ne soient pas sensibles à la casse. |
||
* lorsque {{ll|Extension:TextExtracts}} et <code>$wgExtractsExtendOpenSearchXml</code> |
* lorsque {{ll|Extension:TextExtracts}} et <code>$wgExtractsExtendOpenSearchXml</code> valent <code>true</code> dans <code>LocalSettings.php</code>, chaque élément du format XML inclut une balise {{tag|Description|open}} avec un extrait de texte de l'article. |
||
* lorsque {{ll|Extension:PageImages}} et <code>$wgPageImagesExpandOpenSearchXml</code> valent <code>true</code> dans <code>LocalSettings.php</code>, chaque élément du format XML inclut une balise {{tag|Image|open}} avec une vignette de l'article. |
* lorsque {{ll|Extension:PageImages}} et <code>$wgPageImagesExpandOpenSearchXml</code> valent <code>true</code> dans <code>LocalSettings.php</code>, chaque élément du format XML inclut une balise {{tag|Image|open}} avec une vignette de l'article. |
||
Revision as of 08:39, 3 May 2023
| Cette page fait partie de la documentation de l'API MediaWiki Action. |
Requête GET pour chercher des pages wiki par titre, utilise le format OpenSearch.
Documentation de l'API
action=opensearch(main | opensearch)
Search the wiki using the OpenSearch protocol. Specific parameters: Other general parameters are available.
Example:
|
Exemple
Requête GET
Réponse
[
"Hampi",
[
"Hampi",
"Hampi (town)",
"Hampi Express",
...
],
[
"Hampi, also referred to as the Group of Monuments at Hampi, is a UNESCO World Heritage Site located in east-central Karnataka, India.",
"Hampi is a town in Hospet taluk of the Ballari district in the Indian state of Karnataka. Located along the Tungabhadra River in the east and center part of the state, near the border of Andhra Pradesh, Hampi is near the city of Hosapete.",
"The Hampi Express is a daily express train running between the Mysooru and Hubballi Junction, the headquarters of the South Western Railway in India.",
...
],
[
"https://en.wikipedia.org/wiki/Hampi",
"https://en.wikipedia.org/wiki/Hampi_(town)",
"https://en.wikipedia.org/wiki/Hampi_Express",
...
]
]
Sur les wikis de Wikimedia, les descriptions sont désactivées pour des raisons de performances, ce qui fait que le second tableau ne contient que des chaînes vides. Voir T241437.
Exemple de code
Python
#!/usr/bin/python3
"""
opensearch.py
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
"action": "opensearch",
"namespace": "0",
"search": "Hampi",
"limit": "5",
"format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
print(DATA)
PHP
<?php
/*
opensearch.php
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
"action" => "opensearch",
"search" => "Hampi",
"limit" => "5",
"namespace" => "0",
"format" => "json"
];
$url = $endPoint . "?" . http_build_query( $params );
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
curl_close( $ch );
$result = json_decode( $output, true );
var_dump( $result );
JavaScript
/*
opensearch.js
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
*/
export async function getWikiSearch() {
const params = {
action: "opensearch",
search: "Hampi",
limit: "5",
namespace: "0",
format: "json",
};
const url =
"https://en.wikipedia.org/w/api.php?origin=*&" +
new URLSearchParams(params).toString();
try {
const data = await (await fetch(url)).json();
console.log(data);
} catch (error) {
console.error("Fetch error:", error);
}
}
MediaWiki JS
/*
opensearch.js
MediaWiki API Demos
Demo of `Opensearch` module: Search the wiki and obtain
results in an OpenSearch (http://www.opensearch.org) format
MIT License
*/
var params = {
action: 'opensearch',
search: 'Hampi',
limit: '5',
namespace: '0',
format: 'json'
},
api = new mw.Api();
api.get( params ).done( function ( data ) {
console.log( data );
} );
Erreurs possibles
| Code | Information |
|---|---|
| nosearch | Le paramètre search doit être défini. |
| unknown_format | Valeur non reconnue du paramètre format: aaa. |
Notes supplémentaires
En lien avec cette API, voici quelques pointeurs supplémentaires pour les administrateurs de site et les développeurs d'extensions de MediaWiki :
- Extension:TitleKey - permettent que les suggestions de recherche à partir de cette API ne soient pas sensibles à la casse.
- lorsque Extension:TextExtracts et
$wgExtractsExtendOpenSearchXmlvalenttruedansLocalSettings.php, chaque élément du format XML inclut une balise<Description>avec un extrait de texte de l'article. - lorsque Extension:PageImages et
$wgPageImagesExpandOpenSearchXmlvalenttruedansLocalSettings.php, chaque élément du format XML inclut une balise<Image>avec une vignette de l'article.