API:Client code/Gold standard/fr

Les bibliothèques clientes de l'API action disponibles dans permettent aux développeurs d'interagir facilement et intuitivement avec l'API de MediaWiki. Les bibliothèques listées actuellement varient largement de par leurs possibilités, leur état de maintenance, et la qualité de leur code ou de leur documentation. Pour que les nouveaux utilisateurs puissent trouver plus facilement une bibliothèque qui réponde à leurs besoins, nous introduisons des « règles d'or » qui identifient particulièrement les bibliothèques de haute qualité maintenues régulièrement. We also hope that the standard will also help library developers decide how to focus their efforts so that the code they create can be easily used by expert and novice developers alike.

We believe that a good client library should be easy to install, easy to understand, easy to use, easy to debug, and easy to improve. De même, une documentation accessible est aussi importante qu'un code élégant. Sauf indication contraire, les sujets ci-dessous suivent les règles d'or - du moins ils essaient. Les éléments marqués « règles de platine » indiquent que les développeurs de la bibliothèque - ainsi que ses mainteneurs - ont dépassé l'exigence des règles d'or en fournissant une bibliothèque exceptionnelle.



Facile à installer

 * Les instructions d'installation sont correctes et faciles à trouver
 * Library is packaged for installation through appropriate package library (PyPI, CPAN, npm, Maven, rubygems, etc.)
 *  Platinum standard: library is packaged for and made available through Linux distributions 



Facile à comprendre

 * Well designed: makes all intended API calls available with the intended level of abstraction with no redundancies
 * Platinum standard: rend disponible l'API Wikidata
 * Bien documenté :
 * Le code est commenté et lisible
 * La documentation est assimilable, actuelle et facile à trouver
 * La documentation indique les versions de MediaWiki avec lesquelles la bibliothèque est compatible
 * Les fonctions obsolètes sont clairement marquées en tant que telles
 * Platinum standard: la documentation est compréhensible par un programmeur novice
 * Le code utilise les termes spécifiques du langage dans lequel la bibliothèque a été écrite



Facile à utiliser

 * Possède des exemples fonctionnels de code, simples, et bien écrits pour les tâches communes
 * Explique les requêtes
 * Explique les modifications
 * Handles API complications or idiosyncrasies so the user doesn't have to:
 * Connexion/Déconnexion
 * Cookies
 * Jetons
 * Query continuations using the new "continue" and not "query-continue"
 * Fait les demandes https, avec la validation du certificat
 * Courteous API usage is promoted through code samples and smart defaults
 * la compression gzip est utilisée par défaut
 * Examples show how to create and use a meaningful user-agent header (as in User-agent policy)
 *  Platinum standard: generates a unique user-agent string given name/email address/repository location 
 * Utiliser efficacement les appels à l'API
 * Can be used with the most recent stable version of the language it is written in (e.g. Python 3 compatible)



Facile à déboguer

 * Contient les tests unitaires des fonctions de la bibliothèque les plus longues et le plus souvent modifiées
 *  Platinum standard: Unit tests for many code paths exist and are maintained 
 * Terrible hacks/instances of extreme cleverness are clearly marked as such in comments
 * Documentation links to the relevant section/subpage of the API documentation



Facile à améliorer

 * Library maintainers are responsive and courteous, and foster a thoughtful and inclusive community of developers and users
 *  Platinum standard: Project sets clear expectations for conduct for spaces where project-related interactions occur (mailing list, IRC, repository, issue tracker). It should: 
 *  State desired attitudes and behaviors 
 * Fournit des exemples de comportement et de harcèlement non souhaités
 * Indique comment ces événements seront défendus
 * Les demandes de retrait sont soit acceptées soit rejetées avec un motif dans un délai de 3 semaines (Règle de platine : 3 jours de bureaux)
 * Issues/bugs are responded to in some manner within 3 weeks (Platinum standard: 3 business days) (but not necessarily fixed)
 * The library is updated and a new version is released within 3 weeks (Platinum standard: 3 business days) when breaking changes are made to the API
 *  Platinum standard: library maintainers contact MediaWiki API maintainers with feedback on the API's design and function 
 * La bibliothèque indique sous quelle licence elle est diffusée