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. Nous espérons également que les règles aideront les développeurs de bibliothèques à décider de la manière de focaliser leurs efforts pour que le code qu'ils écrive soit facilement utilisable par les experts mais aussi par les débutants.

On considère qu'une bonne bibliothèque cliente doit être facile à installer, à comprendre, à utiliser, à déboguer et aussi à améliorer. 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
 * La bibliothèque est préparée pour être installée en utilisant une bibliothèque appropriée pour la génération des paquets (PyPI, CPAN, npm, Maven, rubygems, etc.)
 * Règle de platine : la bibliothèque est archivée dans un paquet dédié et disponible pour les distributions Linux



Facile à comprendre

 * Bien conçu : réalise tous les appels attendus à l'API avec le niveau d'abstraction souhaité et sans redondance
 * 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 débutant
 * 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
 * La documentation pointe vers les sections ou les sous-pages de la documentation de l'API



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: 
 * Décrire les attitudes et les comportements souhaités
 * 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