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 écrits.

Les gadgets sont faits de snippets en JavaScript et/ou CSS localisés dans les pages de l'espace de nommage. Chaque gadget est défini par une ligne dans, fournissant un nom et une description pour le gadget, et une liste des snippets JavaScript et CSS qu'il utilise (voir la section Utilisation en dessous).

Comme les gadgets sont définis dans l'espace de nommage  (la liste décrivant les gadgets comme le code des snippets eux-même), seuls les administrateurs du wiki 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 à éditer du 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.

Installation

 * 1) Téléchargez ou parcourez le dossier   dans le dépôt SVN.
 * 2) Copiez le dossier   dans le dossier   de votre installation MediaWiki.
 * 3) Ajoutez la ligne suivante dans votre fichier   (vers la fin) :

Utilisation
La liste des gadgets disponibles est définie dans  . Une fois créé avec au moins un gadget valide défini, un onglet "Gadgets" apparaît dans la page Special:Preferences, de tel sorte que des utilisateurs peuvent sélectionner les gadgets qu'ils ont envie d'utiliser. Une vue d'ensemble des gadgets définis par  est aussi accessible sur Special:Gadgets, avec des liens vers les messages système respectifs, pour une édition facile.

Format
Chaque ligne dans  qui commence par un ou plusieurs caractères   (astérisque) définit un gadget; elle doit avoir la forme suivante : * nom_du_gadget [options (peut être omis)] | noms de page

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

Le nom interne est utilisé comme étant une partie du nom champs de formulaire et doit suivre les règles définies pour les valeurs de l'attribut NAME. Ceci signifie qu'il doit commencer par une lettre ([A-Za-z]) et peut être suivi par n'importe quelle suite de lettres, chiffres ([0-9]), traits d’union ("-"), tirets bas ("_"), deux-points (":"), et points (".").

Format des options : [option1 | option2 | ... optionN] Les espaces peuvent être omis. Chaque option peut consister soit au nom de l'option seul (dans ce cas, il s'agit d'une option d'activation), ou contenir une liste de valeurs séparées par une virgule : option = valeur1, valeur2, valeur3

Exemples : * mongadget|mongadget.js|mongadget.css

* mongadget[ResourceLoader]|mongadget.js|mongadget.css

* mongadget[rights=titi,toto]|mongadget.js|mongadget.css

* mongadget[ ResourceLoader | rights=titi, toto ] | mongadget.js | mongadget.css

Options
Vous pouvez définir des dépendances extra pour vos gadgets, par exemple : * mongadget[ResourceLoader|dependencies=jquery.ui, jquery.effects.clip]|mongadget.js|mongadget.css

Ici, on demande au ResourceLoader de charger les modules jquery.ui et jquery.effects.clip avec mongadget. Notez que des gadgets ne peuvent pas dépendre de scripts venant de pages, de fichiers statiques ou d'URLs externes, uniquement de modules déjà enregistrés dans ResourceLoader.

Pour rendre le gadget disponible uniquement aux utilisateurs ayant les droits appropriés, configurez l'option rights. Par exemple, * SuppressionAmelioree [rights=delete] | SuppressionAmelioree.js rend le gadget disponible uniquement aux utilisateurs qui peuvent réellement supprimer les pages. Notez que les restrictions sont basées sur les privilèges et non sur les groupes d'utilisateur comme administrateurs ou bureaucrates. Voici de vrais exemples : * modrollback[ResourceLoader|rights=rollback]|modrollback.js * UTCLiveClock[ResourceLoader|rights=purge]|UTCLiveClock.js * Ajax_sysop[ResourceLoader|rights=patrol,rollback,markbotedits,delete]|Ajax_sysop.js

Support du ResourceLoader
Toutes les CSS des gadgets sont toujours chargées via le ResourceLoader. Cependant, un JavaScript plus ancien est souvent incompatible avec le RL, donc tous les gadgets doivent explicitement être marqués comme étant compatibles afin d'avoir ses scripts chargés par RL. Sinon, le bon vieux &lt;script src="/w/index.php?title=MediaWiki:Gadget- nom_du_gadget.js &action=raw"&gt; sera utilisé.

Chaque gadget qui utilise au moins partiellement ResourceLoader (à savoir, qui a des styles ou scripts compatibles) a son propre module RL. Les modules sont nommés ext.gadget.&lt;nom du gadget&gt;.

Pages
Les champs restants sur la ligne font référence aux codes JavaScript ou CSS qui construisent le gadget, contenu dans les messages système (MediaWiki:Gadget-mongadget.js et MediaWiki:Gadget-mongadget.css dans l'exemple); les noms de ces messages doivent respectivement se terminer par  ou. Un gadget peut utiliser n'importe quel nombre de messages de code, en particulier, du code commun peut être mis dans un message de code utilisé par plusieurs gadgets, en plus de leur propre code spécifique, par exemple :

* biduleur|codeCommun.js|bidule.js|bidule.css|cool.css * l33t|codeCommun.js|outils.js|l33t.js

Sections
La liste des gadgets dans MediaWiki:Gadgets-definition peut être découpée en sections en utilisant des lignes qui commencent et se terminent avec deux ou plus de caractères  (égal) entourant le nom du message système qui définit le nom de la section — par exemple :

== interface-gadgets ==

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

Voir aussi

 * bogues connus sur Bugzilla
 * Gadget Manager
 * Gadget Studio
 * Extension:SecureWidgets
 * Extension:SimpleScript
 * Extension:Widgets