Extension:Gadgets/fr

L'extension Gadgets apporte un moyen pour les utilisateurs d'utiliser des "gadgets" écrits en JavaScript ou CSS que d'autres utilisateurs du wiki ont fournis.

Les gadgets sont constitués de de JavaScript et/ou CSS situés sur les pages de l'espace de noms MediaWiki. Chaque gadget est défini par une ligne dans MediaWiki:Gadgets-definition, fournissant un nom et une description pour le gadget, et une liste du code JavaScript et CSS qu'il utilise (voir la section Utilisation ci-dessous).

Comme les gadgets sont définis dans l'espace de noms  (la liste décrivant les gadgets comme le code lui-même), seuls les sysops (administrateurs d'interface depuis 1.32) peuvent modifier le code. Et c'est une bonne chose : seuls les utilisateurs particulièrement fiables au sein de la communauté du wiki sont supposés aptes à modifier le code JavaScript utilisé par d'autres utilisateurs, dans la mesure où le JavaScript peut être facilement utilisé pour hacker des comptes ou espionner des gens.

Utilisation
Une fois créés avec au moins un gadget valide, les gadgets définis s'affichent dans la section "Gadgets" de Special:Preferences, afin que les utilisateurs puissent choisir les gadgets qu'ils souhaitent utiliser. Un aperçu des gadgets définis par MediaWiki:Gadgets-definition est également affiché sur Special:Gadgets, ainsi que des liens vers les messages système respectifs, pour faciliter l'édition. Les statistiques d'utilisation des gadgets autres que par défaut sont visibles à Special:GadgetUsage.



Format
Chaque ligne de MediaWiki:Gadgets-definition qui commence par un ou plusieurs caractères "*" (astérisques) définit un gadget ; il doit avoir la forme suivante :

* mygadget [ == Options (peut être omis) == ] | Noms de page

Le premier champ (" mygadget " dans l'exemple) est le nom interne du gadget et fait référence à un message système (MediaWiki:Gadget- mygadget  dans l'exemple) qui contient une courte description du gadget, en utilisant la syntaxe wiki.

Format des options:

[ResourceLoader | option1 | option2 | ... optionN]

The ResourceLoader flag is required unless the gadget contains only styles. Options that are "flags" only need to have their name written to be turned on. Une option unique peut être constituée d'un nom d'option unique (dans ce cas, il s'agit d'une option d'indicateur) ou contenir une liste de valeurs séparées par des virgules: les espaces peuvent être omis.

[ResourceLoader | myflag | mykey = value1, value2, value3 ]

Exemples: * mygadget[ResourceLoader]|mygadget.js|mygadget.css ou * mygadget[ResourceLoader|package]| mygadget.js | mygadget-Foo.js | mygadget-data.json | mygadget.css ou * mygadget[ ResourceLoader | rights=foo, bar ] | mygadget.js | mygadget.css



Utiliser l'espace de noms de définition de Gadget
Il y a deux façons de définir les gadgets en fonction de. S'il est  (valeur par défaut), la liste des gadgets disponibles est définie sur MediaWiki:Gadgets-definition. De manière alternative, les définitions de gadget sont définies sur les pages de l'espace de noms Définition de gadget lorsque  est défini sur.

La création de la page  et l'insertion du code JSON ci-dessous ont le même effet que.

Dans l'exemple ci-dessus,  et   sont utilisés.

Options
Vous pouvez spécifier des dépendances supplémentaires pour vos gadgets, par exemple :

* mygadget[ResourceLoader|dependencies=jquery.ui, jquery.effects.clip]|mygadget.js|mygadget.css

Ici, nous demandons à ResourceLoader de charger les modules  et   avec mygadget. Notez que les gadgets ne peuvent pas dépendre des scripts des pages, des fichiers statiques ou d'URL externes, mais uniquement des modules déjà enregistrés dans ResourceLoader. Pour qu'un script d'une page dépende d'un autre script d'une page, chaque script doit être un gadget qui s'enregistre en tant que module dans ResourceLoader, puis on peut leur faire avoir des dépendances en utilisant la syntaxe suivante :

* childgadget[ResourceLoader|dependencies=ext.gadget.parentgadget]|childgadget.js Pour activer un gadget par défaut, utilisez " " : * mygadget[ResourceLoader|default|dependencies=mediawiki.util]|mygadget.js|mygadget.css Pour que le gadget ne soit accessible qu'aux utilisateurs disposant des droits appropriés, définissez l'option, par exemple : * ImprovedDeletion [rights=delete] | ImprovedDeletion.js Rend le gadget disponible uniquement pour les utilisateurs qui peuvent supprimer des pages.

Notez que les restrictions sont basées sur les droits, et non sur des groupes d'utilisateurs comme les administrateurs ou les bureaucrates. Voici quelques exemples réels :

* modrollback[ResourceLoader|rights=rollback]|modrollback.js * UTCLiveClock[ResourceLoader|rights=purge]|UTCLiveClock.js * Ajax_sysop[ResourceLoader|rights=patrol,rollback,markbotedits,delete]|Ajax_sysop.js

Pages
Les autres éléments de la ligne font référence au code JavaScript, CSS ou JSON qui compose le gadget, contenu dans des messages système (MediaWiki:Gadget-mygadget.js et MediaWiki:Gadget-mygadget.css dans l'exemple) ; les noms de ces messages doivent se terminer par ".js" ou ".css", respectivement.

Un gadget peut utiliser un nombre quelconque de messages système contenant de code. Plus précisément, un code commun peut être inséré dans un message système contenant du code utilisé par plusieurs gadgets, en plus de leur propre code spécifique, par exemple :

* frobinator[ResourceLoader]|commonStuff.js|frob.js|frob.css|pretty.css * l33t[ResourceLoader]|commonStuff.js|tools.js|l33t.js * foobar[ResourceLoader|package]|foo.js|bar.js|foobar.json Veuillez noter que si votre code contient des chaînes qui pourraient être interprétées comme de la syntaxe wiki (par exemple, le code de signature ), vous voudrez peut-être enfermer votre code dans  et placer ces balises dans des commentaires JavaScript ou CSS afin qu'elles ne soient pas interprétées jusqu'à ce qu'elles soient effectivement utilisées.

Voir la première et la dernière ligne de MediaWiki:Gadget-externalsearch-bar.js pour un exemple.

Sections
La liste des gadgets dans MediaWiki:Gadgets-definition peut être divisée en sections à l'aide de lignes qui commencent et finissent par deux ou plusieurs caractères "=" (égaux), entourant le nom d'un message système qui définit le nom de la section, par exemple :

== interface-gadgets ==

Cela définirait une nouvelle section, avec le titre défini sur la page MediaWiki:Gadget-section-interface-gadgets.

Popular gadgets
See Gadgets for gadgets which are popular in Wikimedia communities.

