API:Etiquette/fr

Cette page contient les meilleures pratiques à suivre pour utiliser l'API.

Demande de limitation
Il n'existe pas de limites codées en dur et rapides pour les requêtes en lecture, mais réfléchissez bien et essayez de ne pas surcharger les sites. La plupart des administrateurs système se réservent le droit de vous bloquer tout simplement, si vous portez atteinte à la stabilité de leur site.

En envoyant vos requêtes en série plutôt qu'en parallèle, en attendant qu'une requête se termine avant d'envoyer la suivante, vous pouvez atteindre un taux de requêtes respectable. Nous recommandons aussi de regrouper plusieurs éléments dans une seule requête en :


 * utilisant le caractère pipe à chaque fois que cela est possible par exemple , au lieu de faire un nouvelle requête pour chaque titre.
 * utilisant un au lieu de faire une requête pour chaque résultat venant d'une autre requête.

Utilisez la compression GZip lorsque vous faites des appels à l'API en initialisant  pour réduire l'utilisation de la bande passante.

Analyser les révisions
Alors qu'il est possible d'obtenir des résultats pour un numéro de révision spécifique en utilisant le paramètre, ceci reste une opération coûteuse pour les serveurs. Pour récupérer une révision spécifique utilisez le paramètre. Par exemple :

Paramètre maxlag
Si votre tâche n'est pas interactive (c'est à dire que l'utilisateur n'attend pas le résultat) vous devez utiliser le paramètre. La valeur du paramètre  doit être un nombre entier de secondes. Par exemple :

Ceci empêche votre tâche de s'exécuter quand la charge des serveurs est importante. Les valeurs hautes impliquent un comportement plus aggressif, les valeurs basses sont plus agréables.

See for more details.

Entête de l'agent utilisateur
It is best practice to set a descriptive User Agent header. To do so, use. For example in PHP:

Ne copiez pas simplement l'agent utilisateur d'un navigateur web populaire (à moins que votre client de l'API soit une application JavaScript qui s'exécute au travers du navigateur via Ajax, dans quel cas il est impossible de modifier l'agent utilisateur). Cela assure que si un problème apparait réellement, il est facile de tracer son origine.

If you are calling the API from browser-based JavaScript, you may not be able to influence the  header, depending on the browser. To work around this, use the  header.

Voir m:User-Agent policy pour les détails.

Formats des données
All new API users. See for more details.

Performances
Si vous essayez d'imaginer pourquoi vous obtenez les résultats plus lentement que vous ne l'espériez, essayez pour vous aider à penser généralement aux performances.

Si vous pensez que la lecture via l'API plutôt que directement dans la base de données plombe les performances de votre client, considérez s'il ne vaut pas mieux la mettre dans la Toolforge de Wikimedia.

Voir aussi

 * - Guide de démarrage rapide.