Projet:Scripts et gadgets/Débuter
Projet | Fonctions disponibles | Notices | Discussion projet | Signaler un bug | Demander une nouvelle fonction |
Cette page permet de regrouper une série d'actions à effectuer dans le but d'améliorer la qualité et la maintenabilité des scripts utilisateurs et des gadgets disponibles sur frWiki, notamment en réduisant la dispersion du code.
Cette page est un bon point de départ pour apprendre à développer des scripts en Javascript sur Wikipédia et découvrir les subtilités inhérentes à cet environnement. Notez toutefois que ce n'est pas un tutoriel pour apprendre à coder, et qu'il est nécessaire d'avoir des connaissances préalables dans ce langage.
Où se trouve le JavaScript ?[modifier | modifier le code]
Le JavaScript est omniprésent sur Wikipédia. De nombreuses couches se superposent, chacune ayant un objectif et un processus d'édition qui lui est propre. Par ordre d'importance et de chargement, on trouve du JS :
Quoi | Où | Exécuté par | Commentaires |
---|---|---|---|
Core de Mediawiki | Gerrit | Tous | Chargé automatiquement, affecte tous les wikis utilisant MediaWiki. |
Page global de la version desktop | Mediawiki:Common.js | Tous sur la version desktop | |
Page global de la version mobile | MediaWiki:Mobile.js | Tous sur la version mobile | |
Page global relative à un skin | MediaWiki:NomDuSkin.js | Tous les utilisateurs utilisant ce skin | |
Page global relative à un groupe | MediaWiki:Group-nomDuGroupe.js | Tous les membres du groupe | |
Page global relative à une extension Mediawiki | Mediawiki:NomDeLExtension.js | Sur les pages où sont utilisés l'extension | |
Gadgets | Mediawiki:Gadget-NomDuGadget.js | Utilisateurs inscrit l'ayant activé dans Spécial:Préférences | Liste des gadgets dans les préférences définis dans MediaWiki:Gadgets-definition, voir section Gadgets. |
Script personnel commun à tous les wikis | User:Exemple/global.js | Utilisateur concerné | Sur meta. |
Script personnel commun à tous les habillages | User:Exemple/common.js | Utilisateur concerné | |
Script personnel relatif à un habillage | User:Exemple/skin.js | Utilisateur concerné lorsqu'il utilise ce skin | À éviter autant que possible, préférer le common.js personnel. |
Toutes les pages JavaScript présentes dans l'espace de nom MediaWiki sont éditables par les seuls administrateurs d'interface, lorsque celles présentes dans l'espace de nom Utilisateur ne le sont que par l'utilisateur concerné et les administrateurs d'interface.
Développer sur Wikipédia[modifier | modifier le code]
Quelques considérations à prendre en compte :
- Essayer de suivre la convention d'écriture JavaScript de MediaWiki, afin d'avoir un code homogène à travers Wikipédia : Conventions de codage/JavaScript ;
- La majeur partie de la documentation des fonctions JavaScript du cœur de MediaWiki ou de ses extensions est disponible là : Wikimedia Open Source ;
- Favoriser au maximum la réutilisation du code existant en utilisant les fonctions du cœur de MediaWiki au lieu de réinventer la roue (cela évite bien souvent des bugs et évite aux scripts de casser à chaque mise à jour de MediaWiki) ;
- Lorsque vous débugger un script, ajoutez le paramètre ?debug=true dans l'URL pour recevoir les scripts non-minifiés ;
- ...
Codons ![modifier | modifier le code]
Pas à pas vers son premier script sur Wikipédia
Faire un appel à l'API[modifier | modifier le code]
Découvrir et préparer une requête[modifier | modifier le code]
L'API de Mediawiki est vaste et riche ; tout ce qu'il est possible de faire via l'interface web est réalisable via l'API, et même plus. Afin de s'y retrouver, deux ressources sont à votre disposition :
- La documentation de l'API sur mediawiki.org : API:Main page ;
- Le bac à sable API, qui est une page spéciale disponible sur chaque wiki et permet d'explorer, préparer et tester graphiquement ses requêtes à l'API : Spécial:ApiSandbox.