API:FAQ
Cette page fait partie de la documentation de l'API MediaWiki Action. |
Présentation
Cette page fournit des réponses aux questions régulièrement posées au sujet de l'API Action MediaWiki. This page is intended for technical contributors and software developers who wish to understand and use the MediaWiki Action API.
Veuillez lire également la API:Page d'accueil . Elle répond à quelques questions qui n'ont pas leur réponse ici et pointe vers d'autres pages utiles.
À propos des APIs
Qu'est-ce qu'une API?
Une API est un acronyme pour Application Programming Interface. Cela permet à différentes applications de communiquer les unes avec autres. Sometimes an API allows an application to request an action to be done by the application which implements the API. In mediawiki general terms, it refers to web-based APIs, which use HTTP requests-response mechanism and produce JSON/XML structured data.
Qu'est-ce qu'une API REST ?
REST is an acronym for REpresentational State Transfer. A set of guiding principles or constraints define a RESTful system. A RESTful API — or just a REST API — adheres to these principles and hence is a faster, more reliable and scalable service.
Que peuvent faire les APIs ?
Voir Quelques utilisations des API.
Où en apprendre plus sur les APIs ?
Voici quelques ressources :
- Comprendre les APIs
- Une introduction aux APIs
- Qu'est ce que REST - Une explication simple pour les débutants, Partie 1 : Introduction
Généralités
L'API MediaWiki Action, c'est quoi ?
The MediaWiki Action API is a RESTful web service that allows users to perform certain wiki-actions like page creation, authentication, parsing, searching, etc.
A quoi peut servir l'API MediaWiki Action ?
The MediaWiki Action API can be used to:
- access wiki features.
- intéragir avec un wiki.
- obtain meta-information about wikis and public users.
The right sidebar points to many features supported by the API. Also, see some Wikimedia projects that use the MediaWiki Action API.
Utiliser (ou appeler) l'API Action de MediaWiki
HTTP requests are usually used to call the Action API. For detailed instructions, read the tutorial.
Pour expérimenter l'API Action :
- utilisez Special:ApiSandbox ;
- Enable your browser's developer console and watch net requests to
api.php
as you interact with the wiki.
Qu'est-ce qu'un module, un sous-module, et un paramètre ?
The MediaWiki Action API has numerous modules that we use to perform different tasks. In technical terms, a module is a subclass of ApiBase. A module requires parameters. These parameters may (or may not) be submodules.
Consider the following request:
ici:
action
est un paramètre du module principal.action=query
est un autre module. Il est appelé le module requête.list
est un paramètre du module requête.list=search
est aussi un module. Il peut être appelé sous-module deaction=query
.srsearch
est un paramètre du module de recherche. Il contient la chaîne de recherche 'abc'.format
est un paramètre du module principal.json
est le format de sortie.
Aussi, voir Introduction et règles de conduite. Cela décrit les sous-modules du module action=query
.
Comment savoir quel module et sous-module appeler ?
L'API Action de MediaWiki est vaste, et les extensions l'agrandissent encore. Voici quelques manières pour travailler avec votre requête API :
- Dans la barre de navigation latérale, regardez les fonctionnalités que vous souhaitez implémenter et cliquez sur le lien pour obtenir les information au sujet desquels modules il faut appeler.
- The self-documenting API pages contain a list of all modules and submodules with brief descriptions. You can start at the main module and follow the links to different submodules. (Append
recursivesubmodules=1
to view the expanded version)
Où trouver des exemples de code sur l'utilisation des modules de l'API ?
The API documentation pages contain an 'Examples' section to demonstrate how different modules and submodules can be used. The auto-generated docs also have examples trailing the module descriptions.
Voir Mediawiki-API-demos pour des extraits de code en Python et JavaScript.
Comment contrôler le format de sortie ?
Le format de sortie par défaut est JSON. Les autres formats de sortie ont été dépréciés ou supprimés dans la dernière version stable de MediaWiki, et leur utilisation est déconseillée.
Dans les vieilles versions, pour contrôler le format de sortie, vous pouvez ajouter &format=someformat
dans la chaîne de requête.
Pour d'autres informations, API:format de données.
Faut-il un jeton d'accès ?
Vous aurez besoin d'un jeton d'accès pour effectuer des actions de modification des données telles que la connexion, l'édition, le déplacement de pages, etc.
Pour en savoir plus, consultez API:Tokens ou la catégorie de la barre latérale "Authentification".
Comment faire des requêtes inter site en utilisant l'API ?
For details, see API:Cross-site requests.
Les résultats des requêtes ont-ils une limite ?
Yes, it depends on the query parameter. For example, the results for list
and property
queries cannot exceed 500 for regular users.
The API pages contain information about these limits in the 'Additional notes' section or the 'Limits' section. Note that some modules impose stricter limits under certain conditions.
If you are unsure about what limit to set and just want as many results as possible, set the limit to max
.
Y-a-t-il une limite sur les appels à l'API ?
There is no concrete limit. Yet, we recommend making a reasonable number of calls to prevent getting blocked. If you want to make many requests, contact the administrators beforehand.
Also, see API:Etiquette.
Où trouver les mises à jour de l'API Action de MediaWiki ?
You can subscribe to the MediaWiki-API-Announce mailing list for announcements and updates.
Les dumps wiki c'est quoi ? et comment travailler avec
Wikimedia’s data dumps are dumps of wiki collections, content, metadata, search indices, etc. To work with dumps, see using dumps and public dumps.
Où trouver de l'aide supplémentaire ?
If you can't find answers in the MediaWiki API documentation or the auto-generated documentation pages, feel free to reach out in the following ways.
- Créer un compte Wikimedia (si vous n'en n'avez pas déjà un) et ajoutez un sujet sur la page de discussion de l'API.
- Posez votre question sur:
- IRC in the #mediawiki connecter channel.
- MediaWiki-API mailing list.
Développeurs d'extensions et propriétaires de wikis
Comment créer un module API dans une extension ?
API:Extensions will walk you through the complete process of creating an API module in an extension.
Quelle est la structure interne de l'API ?
API:Implementation Strategy explains the implementation of the API machinery in MediaWiki Core.
Comment restreindre l'usage de l'API ?
To restrict the API usage, you can either restrict the use of write API or disable individual modules.
For instructions and examples, see API:Restricting API usage.
Erreurs et recherche de fautes
Comment détecter une erreur ?
If you encounter an error, the error response from the API will set the MediaWiki-API-Error
HTTP header and return an error structure.
Que signifie cette erreur ?
Find your error in the list of standard error messages to understand what the error means.
Comment déclarer un bogue ou une demande de fonctionalité ?
You can report bugs and file feature requests on Wikimedia's task tracking tool, Phabricator.
Note:
- Add the MediaWiki-API project tag to your task.
- If your report/request is offered by an extension, add that extension's project. (e.g. MediaWiki-extensions-AbuseFilter, MediaWiki-extensions-FlaggedRevs, etc.)
- Verify for duplicates before creating a new task.
- Understand the task creation terms on Phabricator before proceeding.
See How to report a bug for more details.
Est-ce que mes erreurs viennent d'un problème de version d'API ?
If a website runs a different version of MediaWiki, it would also run a different version of the API. Some module parameters supported in one version might be deprecated (or removed) in others. Such parameters will throw an exception if used. The API pages document any such deprecations.
See the release notes for information regarding different API versions.