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 que MediaWiki:Gadgets-definition est créé avec au moins un gadget valide, une nouvelle section Gadgetss'affichent dans Special:Preferences pour tous les utilisateurs. Les utilisateurs peuvent activer les gadgets qu'ils souhaitent utiliser. Un aperçu des gadgets définis actuellement par MediaWiki:Gadgets-definition est également affiché sur Special:Gadgets avec les liens d'aide vers les emplacements associés et les pages des scripts ou des styles pour faciliter la création ou la modification. Les statistiques concernant les gadgets préférés sont visibles sur Special:GadgetUsage.



Format de définition
Chaque ligne de la page MediaWiki:Gadgets-definition doit commencer par un caractère astérisque "*" qui définit un gadget. La ligne a le format suivant :

* mygadget [Options] | Noms de page

Le premier champ (" mygadget " dans l'exemple) est le nom interne du gadget. Le titre de la page des préférences vient d'une page de message d'interface, où le vrai nom et une courte description peuvent être fournis et le balisage du wikicode est autorisé.

Format des options :

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

La marque du ResourceLoader est nécessaire sauf si le gadget ne contient que des styles. Les options qui ont le rôle de drapeau, n'ont besoin que d'avoir leur nom présent pour indiquer qu'elles sont positionnées. Les options qui nécessitent une valeur sont suivies d'un signe égal et une liste de valeurs séparées par une virgule. Tous les espaces sont facultatifs et 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 vaut  (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  vaut.

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 au 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 de page dépende d'un autre script de page, chaque script doit être un gadget qui s'enregistre en tant que module dans le 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 champs de la ligne de définition font référence aux pages de code source JavaScript, CSS ou JSON qui composent le module du gadget. Ils sont stockés dans l'espace de noms MediaWiki en tant que messages d'interface (MediaWiki:Gadget-mygadget.js et MediaWiki:Gadget-mygadget.css dans l'exemple). Le nom des pages doit se terminer par ".css", ".js" ou ".json", respectivement.

Un gadget peut utiliser un nombre quelconque de pages source, par exemple :

* frobinator[ResourceLoader]|frob.js|frob.css|pretty.css * l33t[ResourceLoader]|l33t.js * foobar[ResourceLoader|package]|foo.js|bar.js|foobar-data.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.

