API:Query/fr

Le module  vous permet de récupérer l'information concernant un wiki et les données qu'il contient telles que le wikicode d'un page donnée, les liens et les catégories d'un ensemble de pages, ou le jeton dont vous avez besoin pour.



Documentation de l'API


Modules du Query
Le module de requête possède trois types de sous-modules (appelés également modules de requête) :


 * Les concernant le wiki et l'utilisateur connecté.
 * les des pages, incluant les révisions des pages et le contenu.
 * Les des pages correspondant à certains critères.

Exemples


Exemple 1: spécifier des pages
A la différence des modules de requête des données meta et des listes, tous les modules de requête de propriété fonctionnent avec une liste de pages que l'on peut spécifier avec l'une des manières suivantes :


 * Par le nom, en utilisant le paramètre  ; par exemple.
 * Par l'ID de la page, en utilisant le paramètre  ; par exemple.
 * Par l'ID de révision, en utilisant le paramètre  ; par exemple  . La plupart des modules de requête convertissent l'ID de révision en ID de la page correspondante. Seul  utilise actuellement directement l'ID de révision.
 * En utilisant un générateur.



Réponse


Exemple 2: normalisation du titre
La normalisation des titres transforme le titre des page en leur forme canonique.

Cela veut dire qu'elle met en majuscule le premier caractère du titre, remplace les caractères souligné '_' par des espaces, et traduit le nom de l'espace de noms en sa forme locale, telle qu'elle a été définie pour ce wiki.



Réponse


Exemple 3: titres absents et invalides
Les titres qui n'existent pas, ou qui ne sont pas valides, auront un attribut  ou   positionné dans la réponse.

Dans les formats de sortie qui prennent en charge les clés numériques de tableaux, les titres absents ou non valides auront des ID de page négatifs.

Dans certains cas, il est possible qu'un titre soit vu d'un utilisateur et ne soit pas accessible par l'API, comme les pages miroir qui dupliquent le contenu d'un autre wiki. Ces titres auront un attribut  présent dans la réponse.



Réponse


Exemple 4: requêtes continues
Lorsque toutes les données ne tiennent pas dans une seule réponse de requête, il y aura un attibut  pour indiquer que d'autres données vont encore arriver.



Réponse
Pour obtenir ces données supplémentaires, ajoutez leur valeurs dans la requête initiale.



Réponse


Exemple 5: fin de traitement par lot
L'API retourne un élément  pour indiquer que toutes les données pour le lot courant d'éléments, ont été fournies.

Dans la réponse de l'exemple de requête ci-dessous,  a été inclus pour indiquer que toutes les données de chacune des trois images ont été envoyées.

On continue ensuite en renvoyant les données concernant l'ensemble suivant de 3 images.



Réponse


Exemple 6: les générateurs
Utilisez les générateurs si vous voulez obtenir les informations concernant un ensemble de pages.

Par exemple, pour obtenir les données concernant les pages d'une certaine catégorie, au lieu de faire la requête, puis redemander avec   initialisé sur toutes les pages retournées, combinez les deux appels à l'API en un seul avec.

Lorsque vous spécifiez un module de liste comme générateur, vous n'avez pas besoin de préciser les pages.

Néanmoins, pour un module de propriétés, vous devez préciser les pages sur lesquelles le générateur va travailler.

Par exemple, pour charger toutes les pages appelées par la page principale, utilisez.

Les paramètres passés à un générateur doivent être préfixés avec le caractère. Par exemple, lors de l'utilisation de, utilisez   au lieu de.

L'exemple de requête ci-dessous récupère les liens et les catégories des trois premières pages commençant par « Ba », dans l'espace de noms principal.



Continuing queries
Very often you will not get all the data you want in one API query. When that happens the API result indicates there is more data.

Because there are more data matching the query, the API result includes a  element. If you want further data, you would add its values (in the example,  and  ) to the original request to get the next set of results. You continue to do this until an API result does not have a  element, indicating there are no more data matching the query.

Here is Python code showing how to iterate over query results (using the python requests lib). Note you should not manipulate or depend on any specifics of the values returned inside the  element, as they may change.

batchcomplete
When you make an API request using a generator together with properties, the API result may signal to continue because there are more properties to retrieve for the pages so far, or because there are more pages from the generator, or both. From version 1.25 onwards, the API returns a  element to indicate that all data for the current "batch" of pages has been returned. This can be useful to avoid building a combined result set for thousands of pages when using a generator together with prop modules that may themselves need continuation.

Backwards compatibility of continue
From MediaWiki 1.21 to 1.25, it was required to specify  (i.e. with an empty string as the value) in the initial request to get continuation data in the format described above. Without doing that, API results would indicate there is additional data by returning a  element, explained in Raw query continue. Prior to 1.21, that raw continuation was the only option.

If your application needs to use the raw continuation in MediaWiki 1.26 or later, you must specify  to request it.



Avertissements possibles
<span id="Parameter_history">

Historique des paramètres

 * v1.21:  ajouté
 * v1.24:  ajouté (notez que raw continuation était le comportement par défault jusque la v1.26)

<span id="Additional_notes">

Notes supplémentaires

 * Concernant le nombre maximum de titres par requête, la limite est de 50 lorsque vous spécifiez les titres par  ou , et de 500 pour ceux qui ont les droits.
 * Vous pouvez combiner ensemble dans une seule requête, plusieurs modules pour obtenir ce que vous voulez; par exemple.
 * Generators always pass page titles to the query module. Unlike lists (which may include additional data by default), generators should not output any information themselves, unless when explicitly requested via the generator module's query parameters.

<span id="Resolving_redirects">

Résoudre les redirections
Les redirections peuvent être résolues automatiquement, de sorte que la cible d'une redirection est renvoyée à la place du titre donné. Lorsqu'ils sont présents, ils vont toujours contenir les attributs  et   et éventuellement un attribut   pour les redirections qui pointent vers des sections spécifiques.

La normalisation et la redirections peuvent s'appliquer en même temps. En cas de redirections multiples, toutes les redirections seront résolues, et s'il y a un rebouclage, la section 'pages' pourra avoir aucune page (voir aussi ci-dessous). La résolution des redirections ne peut pas être utilisée en combinaison avec le paramètre  ou avec un générateur fournissant des identifiants de révision; en faisant cela vous allez produire un avertissement et ne résoudrez pas les redirections pour les identifiants spécifiés.

Les exemples ci-dessous montrent comment fonctionne le paramètre.

<span id="See_also">

Voir aussi

 * - Guide de démarrage rapide.
 * - Contient des informations sur l'utilisation du paramètre.