API:Opensearch/fr: Difference between revisions
Appearance
Content deleted Content added
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
{{API}} |
{{API}} |
||
'''Requête GET''' pour effectuer des recherches dans le wiki et obtenir des résultats au [[w:OpenSearch|format OpenSearch]]. |
'''Requête GET''' pour effectuer des recherches dans le wiki et obtenir des résultats au [[w:OpenSearch|format OpenSearch]]. |
||
{{note|1=Vous ne devez utiliser cette API que si vous développez un [[w:Web_browser|navigateur web]]. Ceci va vous permettre d'indiquer que vous voulez obtenir les résultats dans un format standard et accessible compatible avec la [[w:Web_syndication|syndication]] ou l'[[w:Search_aggregator|aggrégation]].}} |
{{note|1=Vous ne devez utiliser cette API que si vous développez un [[w:Web_browser|navigateur web]]. Ceci va vous permettre d'indiquer que vous voulez obtenir les résultats dans un format standard et accessible, compatible avec la [[w:Web_syndication|syndication]] ou l'[[w:Search_aggregator|aggrégation]].}} |
||
== Documentation de l'API == |
== Documentation de l'API == |
||
Revision as of 17:14, 13 January 2020
| Cette page fait partie de la documentation de l'API MediaWiki Action. |
Requête GET pour effectuer des recherches dans le wiki et obtenir des résultats au format OpenSearch.
Vous ne devez utiliser cette API que si vous développez un navigateur web. Ceci va vous permettre d'indiquer que vous voulez obtenir les résultats dans un format standard et accessible, compatible avec la syndication ou l'aggrégation.
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
Correspondant à 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.
- Extension:TextExtracts et
$wgExtractsExtendOpenSearchXmlconfigurés à true dansLocalSettings.phpva permettre que chaque élément du format XML puisse inclure une balise<Description>avec un texte extrait de l'article. - Extension:PageImages et
$wgPageImagesExpandOpenSearchXmlconfigurés à true dansLocalSettings.phpva permettre que chaque élément du format XML puisse inclure une balise<Image>avec une vignette de l'article.