Discussion Projet:Scripts et gadgets/2013

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Portail de qualité
  • Bon portail
  • Lumière sur
  • À faire
  • Archives
  • Commons


Cette page de discussion est destinée aux discussions sur le Projet:Scripts et gadgets.


jQuery 1.9[modifier le code]

Bonjour à tous,

jQuery 1.9 est sorti récemment, cette version introduit un certain nombre de changements pouvant nécessiter de mettre à jour les scripts. Il faut donc se préparer à son déploiement sur Wikipédia, c'est pourquoi je vous invite à consulter et à vous familiariser avec le guide de mise à jour Émoticône

Bien à vous, od†n ↗blah 16 janvier 2013 à 23:55 (CET)

Gros bug d'affichage de la barre d'outil Vector[modifier le code]

Bonsoir Émoticône sourire

J'ai depuis quelques mois (peut être un reste d'un bug non corrigé suite à une mise à jour de MediaWiki). un soucis assez gênant avec la barre d’outils amélioré WikiEditor (celle de l’habillage Vector.js). Dans une majorité des cas, celle ci n’apparaît pas à l'ouverture de la fenêtre de modification, mais uniquement après avoir appuyé sur le bouton de prévisualisation, parfois à deux reprises, ce qui reste un peu gênant pour ma part puisque j'utilise Wikipédia comme j'utilise les barre d'outils et rubans d'un logiciel de traitement de texte. Émoticône

Je vous transmet en annexe mon common.js ainsi que mon WikiEditor.js. C'est surtout ce dernier que je met en cause.

J'ai également les gadgets (rechercher et remplacer, tri alphabétique, etc) d'activé. Mais sa désactivation n'a pas résolu le bug.

Merci d'avance. --Superjuju10 [Contacter la Aubline], le 19 janvier 2013 à 00:10 (CET)

Bonjour.
J'ai finalement résolu ce soucis.
J'ai en revanche cette erreur qui s'affiche sous Firefox dans la console.
Horodatage : 21/02/2013 22:00:49
Erreur : ReferenceError: jsAlert is not defined
Fichier Source : https://pl.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta%3ANux%2FSearchBox.js
Ligne : 58
Cordialement. --— Superjuju10 [Contacter la Aubline], le 21 février 2013 à 22:02 (CET)
Bonsoir. L'erreur venait du gadget Searchbox. J'ai essayé de le corriger. Cordialement, Orlodrim [discuter] 21 février 2013 à 23:14 (CET)
Problème corrigé. Merci à toi Orlodrim Émoticône sourire. --— Superjuju10 [Contacter la Aubline], le 21 février 2013 à 23:26 (CET)

addCustomButton et vector.js[modifier le code]

Bonjour tous et toutes

je n'arrive pas a rajouter un boutton personnalise : est ce que c'est normal ou j'ai rate quelque chose ? Poleta33 (d) 21 janvier 2013 à 11:40 (CET)

Comment ajouter une fonction[modifier le code]

Bonjour

Comment faire pour ajouter un bouton dans la barre d'outils de WikiEdt qui appelle une fonction. Par exemple, je fais comment pour ajouter un bouton qui en cliquant sur lui il exécute la fonction InsertTags() qu'on trouve ici. Si c'est possible donner moi le code détaillé pour ça SVP. C'est la première que je programme en JavaScript.

Cordialement. Rabah201130 (d) 1 février 2013 à 13:37 (CET)

Bonjour,
Voir Projet:JavaScript/Aide WikiEditor
⇨ Dr Brains ∞ Consultation ∞ 1 février 2013 à 13:50 (CET)
Merci pour ta réponse mais rien compris dans l'aide. Je suis habitué à programmer avec Java et là je comprends comment on peut associer un bouton à une fonction. Est y aurait-il pas une fonction de genre AjouterBouton(image,fonction). Est ce que ça serait possible de me donner une réponse détaillée? Je précise que c'est obligatoire que le bouton s'ajoute à la barre d'outils de WikiEdt. Merci
Cordialement. Rabah201130 (d) 10 février 2013 à 19:47 (CET)

Minimiser le temps de chargement du javascript, quand il comporte une grande partie de code inutile à un moment donné[modifier le code]

Testez le gadget CreerNouveauMot sur le Wiktionnaire, vous serez bluffés par ce que peut faire un autodidacte en javascript, même s’il n’y comprend pas grand chose.Émoticône

Salut bonjour à tous.

Le gadget wikt:MediaWiki:Gadget-CreerNouveauMot.js comporte du code qui n’est pas utilisé selon la langue que l’utilisateur a choisie (dans le gadget, rien à voir avec ses préférences), mais il peut choisir de changer de langue à tout moment. Et la taille de ce code inutilisé est proportionnelle au nombre de langues gérées par le gadget, donc potentiellement considérable (~6ko par langue, pour l’instant, il y a actuellement 2700 langues sur le Wiktionnaire, je vous laisse faire le calcul).

C’est pourquoi j’ai mis ces parties de code, spécifiques à la langue, dans des sous-modules, comme wikt:MediaWiki:Gadget-CreerNouveauMot.js/oc.js. Mon idée initiale était de ne charger les sous-modules que quand l’utilisateur changeait de langue. Mais j’ai compris que importScript() était un processus asynchrone, et que donc si on fait

importScript("MediaWiki:Gadget-CreerNouveauMot.js/oc.js")
titi = CrNoMo_DialogHtml_oc(); // fonction déclarée dans wikt:MediaWiki:Gadget-CreerNouveauMot.js/oc.js

on a toutes les chances que ça échoue car CrNoMo_DialogHtml_oc() n’existe pas vu que importScript() n’est probablement pas fini. On peut toujours mettre un setTimeout(), mais la tempo sera tjs trop courte pour certains et trop longue pour les autres…

J’ai donc laissé tomber pour l’instant, et chargé systématiquement tous les sous-modules (la liste des langues gérées étant encore assez courte, mais ça n’a pas vocation à durer). Auriez-vous des solutions ?

Merci d’avance pour le temps que vous consacrerez à ma question. --GaAs (d) 11 mars 2013 à 20:36 (CET)

Bonsoir,
Tu peux essayer $.getScript, par exemple :
$.getScript("//fr.wikipedia.org/w/index.php?title=Utilisateur:Orlodrim/portail-eval.js&action=raw&ctype=text/javascript", function() {
    alert("C'est chargé, et le type de la variable cpeSpecialPage définie dans le script est " + typeof cpeSpecialPage);
});
Selon http://api.jquery.com/jQuery.getScript/, "the callback is fired once the script has been loaded but not necessarily executed". Je ne sais pas ce que ça garantit donc il se pourrait que ça marche toujours, parfois ou rarement.
Orlodrim [discuter] 11 mars 2013 à 21:13 (CET)
Merci, toute suggestion est la bienvenue, même si elle ne marche pas (je n’ai pas (encore) fait le test) elle est pleine d’enseignement. --GaAs (d) 11 mars 2013 à 22:18 (CET)
J’ai tjs un peu de mal avec cette syntaxe, mais mon petit doigt me dit me dit que c’est ça. Je l’essaierai dès que j’aurais le tps. Merci Orlodrim. --GaAs (d) 12 mars 2013 à 22:45 (CET)

Créer un onglet-menu pour les IP[modifier le code]

Bonsoir. J’ai piqué ici sur Wikipédia le code

addOnloadHook(function(){
    var OngletsCactions = document.getElementById('p-cactions');
    if(OngletsCactions){
      var CactionsUl = OngletsCactions.getElementsByTagName('ul')[0];
      CactionsUl.innerHTML += '<li><a href="' + lien + '">' + titre + '</a></li>';
      if(OngletsCactions.className){ OngletsCactions.className = OngletsCactions.className.replace(/[ ]*emptyPortlet[ ]*/, " "); }
  }
});

Ça ne semble pas marcher pour les IP. Je suppute que c’est parce qu’ils n’ont pas d’onglet 'p-cactions’ et qu’il faudrait le créer.

Mais c’est comment qu’on fait ?

C’est très compliqué à tester(Smiley: triste) parce qu’il faut être sous IP pour voir le résultat, et qu’il faut être connecté sous compte admin pour faire les modifs (ben oui, il n’y a que le javascript réservé aux admins qui s’applique aux IP). Alors si vous pouviez me guider, je vous ferais des bises jusqu’à la fin du Monde. --GaAs (d) 12 mars 2013 à 23:09 (CET)

Sous IP, c-à-d avec l'habillage Vector, c'est dans le menu déroulant (à droite) qu'est ajouté le lien.
Tu as bien vérifié qu'il n'y est pas ?
⇨ Dr Brains ∞ Consultation ∞ 12 mars 2013 à 23:11 (CET)
Je suis toujours sous vector, mais je vais revérifier. Pour préciser, il s’agit d’un gadget à chargement par défaut (qui a [default] derrière sa déclaration dans MediaWiki:Gadgets-definition), chose que j’ai déjà faite, mais pas assez souvent pour être sûr de moi. --GaAs (d) 12 mars 2013 à 23:32 (CET)
Je confirme que les IP n’ont pas le menu , et que c’est ma meilleure explication de l’échec du code ci-dessus, document.getElementById('p-cactions') étant probablement vide (pas envie de mettre des alert() dans le js actif du Wiktionnaire pour vérifier, je ne suis pas un sauvage). --GaAs (d) 12 mars 2013 à 23:41 (CET)
function alert2(text){ if (wgUserName=="ArséniureDeGallium") alert(text); }
Toi seul aura les alertes.
⇨ Dr Brains ∞ Consultation ∞ 13 mars 2013 à 17:15 (CET)
Tu m'as mis le doute alors j'ai vérifié : les IP ont le menu actions, mais comme il est vide, il est masqué via la classe emptyPortlet, d'où l'utilité de supprimer cette classe dans les fonctions qui ajoutent des liens à ce menu).
⇨ Dr Brains ∞ Consultation ∞ 13 mars 2013 à 17:19 (CET)
En utilisant mediaWiki.util.addPortletLink, ça devrait fonctionner tout seul en une ligne, non ? — Ltrl G, le 13 mars 2013 à 17:52 (CET)
Merci, j’essaierai tout ça qd j’aurais le temps. --GaAs (d) 13 mars 2013 à 18:13 (CET)

Gadget horloge[modifier le code]

On vient de m'indiquer que MediaWiki:Gadget-UTCLiveClock.js ne fonctionne pas pour la purge. Je pense que c'est la description du gadget qui est fausse. Ce gadget ne fait pas de purge. Leag ⠇⠑⠁⠛ 14 mars 2013 à 08:18 (CET)

J'ai mis à jour l'url.
⇨ Dr Brains ∞ Consultation ∞ 14 mars 2013 à 17:45 (CET)
Merci, mais la purge ne marche toujours pas (Smiley: triste) Leag ⠇⠑⠁⠛ 15 mars 2013 à 08:04 (CET)
Je propose de remplacer le code de ce gadget par un appel à la version centralisée, comme cela est fait sur d'autres wikis. od†n ↗blah 31 décembre 2014 à 15:49 (CET)

Bouton « modifier »[modifier le code]

Bonjour, je viens de remarquer un bug avec le lien « modifier » après les titres de section. Sur cette page les liens des 9 premières sections s'affiche bien juste après le titre alors que pour les sections suivantes le lien s'affiche tout à droite de la page. Quelqu'un sait-il où corriger ce bug ? Dans la section « Déplacement des [modifier] » de MediaWiki:Common.js ? Leag ⠇⠑⠁⠛ 3 avril 2013 à 11:12 (CEST)

C’est dû à la présence de <bdi>. La question est : pourquoi y a-t-il un <bdi> ? — Ltrl G, le 3 avril 2013 à 11:27 (CEST)
Tout simplement parce que MW les laisse passer. — Ltrl G, le 3 avril 2013 à 11:30 (CEST)
Merci Émoticône Leag ⠇⠑⠁⠛ 3 avril 2013 à 11:33 (CEST)

Questions diverses[modifier le code]

Bonjour,

J'aurais quelques questions à poser, et je remercie d'avance toute celle ou tout celui qui prendra le temps de répondre à l'une d'entre elles.

Cordialement, Automatik (d) 18 avril 2013 à 21:02 (CEST)

Obtenir un gadget sur sa page perso en .js[modifier le code]

Est-ce que, pour récupérer sur son vector.js un gadget xxx situé sur fr.wikipedia.org, les lignes suivantes sont équivalentes :

obtenir('xxx');
importScript('Mediawiki:Gadget-xxx.js')
importScriptURI('//fr.wikipedia.org/w/index.php?title=Mediawiki:Gadget-xxx.js&action=raw&ctype=text/javascript');
mw.loader.load('//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-xxx.js&action=raw&ctype=text/javascript');

En particulier, quelle est la différence entre les deux dernières ?

Bonjour. Les quatre lignes sont équivalentes. La fonction obtenir appelle importScript qui appelle importScriptURI. La fonction mw.loader.load est plus complexe (elle accepte d'autres paramètres), mais quand elle est utilisée avec un seul paramètre, elle fait la même chose que importScriptURI (selon mw:ResourceLoader/Migration guide (users)#Migrating user scripts). Orlodrim [discuter] 20 avril 2013 à 23:39 (CEST)
Pour être plus précis :
  • La première permet d'installer un gadget local (page du type Mediawiki:Gadget-NOMDUGADGET.js)
  • La deuxième permet d'installer un code javascript présent sur n'importe quelle page du site ayant une extension .js (pour des sous-pages personnelles, par exemple User:MACHIN/NOMDUSCRIPT.js) en fournissant le nom complet de la page
  • La troisième permet d'installer un code javascript présent sur n'importe quelle page de n'importe quel site, en fournissant l'url complète
  • La quatrième équivaut à la troisième, mais avec les nouvelles fonctions du RessourceLoader.
⇨ Dr Brains ∞ Consultation ∞ 27 avril 2013 à 01:13 (CEST)
Merci également Émoticône sourire Je me demande du coup, dans quel cas l'utilisation de fonctions spécifiques au Resource Loader a un sens. Notamment parce que pour exporter un gadget de mediawiki.org dont la ligne de définition est CodeEditor[ResourceLoader|dependencies=jquery.ui.resizable]|CodeEditor.js, je n'ai pas besoin d'écrire quelque chose du genre mw.loader.load( 'jquery.ui.resizable' );, mais seulement mw.loader.load('//mediawiki.org/w/index.php?title=Mediawiki:Gadget-CodeEditor.js&action=raw&ctype=text/javascript');.
Automatik (d) 30 avril 2013 à 01:42 (CEST)

Différence entre common.js et vector.js[modifier le code]

Y a-t-il une différence entre ajouter un code dans common.js ou l'ajouter dans son vector.js (si on est en vector) ?

Non. Avec l'apparence vector, Spécial:Ma page/vector.js et Spécial:Ma page/common.js sont chargés tous les deux. Avec l'apparence monobook, Spécial:Ma page/monobook.js et Spécial:Ma page/common.js sont chargés. Orlodrim [discuter] 20 avril 2013 à 23:39 (CEST)

Liens vétustes ?[modifier le code]

Ne faudrait-il pas changer les liens vers Spécial:Ma page/monobook.js en Spécial:Ma page/vector.js dans l'intro de Aide:Personnaliser la page d'accueil et Projet:JavaScript/Personnaliser une fonction ?

En général, si tu vois un Spécial:Ma page/monobook.js dans une page d'aide, tu peux le changer en Spécial:Ma page/common.js (plutôt que Spécial:Ma page/vector.js), ainsi ça marche pour tout le monde et pas seulement les utilisateurs de vector.
Ceci dit, le code sur la première page n'est plus fonctionnel, la page d'accueil ne s'appelant plus Accueil depuis 3 ans. Et l'exemple donné sur la seconde page, avec le gadget MediaWiki:Gadget-GoogleSearch.js, ne marche probablement pas sous vector.
Orlodrim [discuter] 20 avril 2013 à 23:39 (CEST)

Merci beaucoup pour toutes ces réponses Émoticône sourire Automatik (d) 21 avril 2013 à 01:32 (CEST)

DeluxeHistory[modifier le code]

Bonjour

J'ai une idée de longue date à propos de DeluxeHistory. Serait-il possible d'avoir une couleur concernant soi-même ?

Par ailleurs, il semble qu'il y ait un conflit entre ce script et d'autres (voir ici). Est-il possible d'y faire quelque chose ?

Cordialement, Trizek bla 12 juin 2013 à 17:40 (CEST)

Od1n en a fait une réécriture qui pourrait bien résoudre nombre de problèmes, mais qui a le défaut de ne pas être supportée par les vieux navigateurs. Personnellement je l’utilise depuis 10 mois sans avoir eu de soucis. Je viens de vérifier (mais j’en était presque sûr…), il est compatible avec ⇧ Shift pour masquer. Vois avec lui si il ne pourrait pas faire une adaptation pour les vieux navigateurs (le problème vient du localStorage qui remplace les cookies) et remplacer la version actuelle…
Pour la couleur concernant soi-même, c’est une bonne idée (un orange ?). Éventuellement je pourrai adapter le script actuel si besoin.
— Ltrl G, le 16 juin 2013 à 19:43 (CEST)
Salut, merci d'évoquer mon script Émoticône sourire
Il n'y a aucun problème de compatibilité avec les anciens navigateurs. Le script détecte si le navigateur supporte le localStorage, et si non les données idoines ne sont tout simplement pas mémorisées, ce qui est préférable à l'utilisation des cookies, comme mentionné sur cette page.
Le script est déjà fort stable en l'état, je l'utilise moi-même depuis des lustres sans le moindre souci, et je pense qu'il est en tous points préférable à l'existant. Je n'ai jusqu'alors pas proposé sa mise en prod car les derniers fignolages sont restés en suspend (optimisation de la logique du localStorage, fonctionnalité des "icônes" du script original sur laquelle je n'ai toujours pas fait le point).
Mon emploi du temps ne me permet guère de me repencher dessus comme il se doit… mais n'hésitez pas à vous y intéresser Émoticône sourire
od†n ↗blah 16 juin 2013 à 20:21 (CEST)
OK, j’avais mal compris (enfin… « comme mentionné sur cette page » : il n’y a que la non-utilisation qui est mentionnée, pas le fait qu’il fonctionne sans).
Pour les icônes, ça fait un bout de temps que ce n’est pas fonctionnel, donc ce n’est pas forcément nécessaire… Je regarderai quand même.
Qu’entends-tu par « optimisation de la logique du localStorage » ?
Je suis un peu occupé aussi, mais je peux m’y coller si besoin pour quelques modification.
— Ltrl G, le 17 juin 2013 à 10:53 (CEST)
Note : il y a le cas des RC groupées à voir aussi — Ltrl G, le 17 juin 2013 à 11:09 (CEST)
L'optimisation, je crois que c'est le localStorage.getItem('HistoryDeluxe_lastUpdate') qui est actuellement exécuté deux fois, autrement dit une fois de trop. Rien de crucial donc Émoticône od†n ↗blah 17 juin 2013 à 11:49 (CEST)

Bonjour.

Apparemment, XPatrol merdouille dans la détection des diffs, au niveau du nombre d'octets en plus ou en moins. Preuve. Comme Arkanosis est souvent occupé, que je sais qu'il n'est pas le seul à avoir bossé sur le script et que de toute façon, il est probable qu'il passe par ici, je signale le problème sur le projet.

Cordialement, --Orikrin1998 (+) blablatoir 16 juin 2013 à 19:01 (CEST)

[édit.] Ah, et aussi : la fonction d'avertissement met deux sections.

Le problème des sections venait du fait que le modèle {{Copieur}} redirige désormais vers {{Bienvenue Copyvio 1}}. J'ai mis à jour en conséquence.
L'algorithme de parsing des historiques est à réécrire complètement. Je pense que je vais faire une réécriture from scratch d'xpatrol, destinée à devenir un gadget : l'utilité du script n'est plus a démontrer, il faudrait juste le refaire proprement.
Amicalement — Arkanosis 28 août 2013 à 10:31 (CEST)
Ceci est un accusé de lecture. --Orikrin1998 (+) blablatoir 28 août 2013 à 10:44 (CEST)

Bonjour. Ai posé cette question sur le Bistro. Dessous, le conseil de Orlodrim.

Depuis que {{Autres projets}} est actif, j'ai ce gros pavé gris en allant, par exemple, sur cette page, en début d'article, alors que sur les autres pages, je n'ai qu'un petite ligne grise, avec un seul nom, pour aller dans Commons voir les photos.

Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante Image manquante
Monuments historiques de la Loire-Atlantique

Chaque Image manquante me menant vers l'assistant d'import de Commons, puisqu'aucune image n'est au bout de ce lien d'Image manquante.

En haut de la page FdN, j'ai 4 lien interProjet Commons : commons.wikimedia.org/wiki/File:Acte_de_mariage_de_Charles_Petitjean_et_de_Fatima_Ait_Kassi.pdf, commons.wikimedia.org/wiki/Special:UploadWizard, ce lien, ici. Le premier va ici, les trois autres vont .

D'ailleurs, est-il opportun de renvoyer systématiquement à l'assistant d'import en cas d'Image manquante ?

Donc, je me suis demandé si ça ne vient pas de mes réglages de "Préférences". Je navigue avec Chrome, alors je suis allé voir avec Firefox, sur le conseil de Père Igor. Non connecté à Wiki, je n'ai même pas le bandeau gris Commons. Une fois connecté, j'ai le même gros pavé gris qu'avec Chrome. J'ai créé Utilisateur:Llann Wé²/common.js et essayé "bottom" et "left" (l'un après l'autre), comme expliqué dans Aide:Gadget-interProjets, Ctrl/F5, mais ça ne change rien …

Si quelqu'un peut m'éclairer … Merci. --Llann .\m/ (Lie 2 Me ...) 19 juin 2013 à 22:41 (CEST)

Cela vient du gadget interProjets (MediaWiki:Gadget-interProjets.js). Ce gadget récupère tous les liens vers commons pour les mettre en haut de page, indépendamment du fait qu'ils soient créés par la boîte {{Autres projets}} ou non (ici, ils viennent du modèle pour affichant des lignes de monuments historiques). Il faudrait modifier le gadget pour qu'il n'affiche que les liens venant de {{Autres projets}} ou un modèle similaire. Tu peux demander au projet javascript.
Orlodrim [discuter] 19 juin 2013 à 23:04 (CEST)
✔️ Cette modif devrait régler le problème, après rechargement du cache du navigateur.
⇨ Dr Brains ∞ Consultation ∞ 19 juin 2013 à 23:29 (CEST)
Merci beaucoup, Dr Brains. C'est nettement plus esthétique, et pratique. --Llann .\m/ (Lie 2 Me ...) 20 juin 2013 à 00:05 (CEST)

Chargement de gadget[modifier le code]

Bonjour,

Quand j'effectue le test suivant :

if ( wgSiteName != "Wikipédia" ) {
mw.loader.load('//fr.wiktionary.org/w/index.php?title=Mediawiki:Gadget-SousPages.js&action=raw&ctype=text/javascript');
}

sur mon .js global (wikt:user:Automatik/sul.js), le résultat que j'attends (sur les projets où j'utilise ce script global) est que le code se charge sur tous les sites sauf Wikipédia. Or le code ne se charge jamais (après rafraîchissement du cache) sur aucun site. Quelqu'un saurait-il pourquoi ?

Merci d'avance, Automatik (d) 4 juillet 2013 à 13:22 (CEST)

Essaye ceci :
if(wgServer.indexOf(".wikipedia.org")==-1){
   //code si on n'est pas sur wikipedia
}
⇨ Dr Brains ∞ Consultation ∞ 4 juillet 2013 à 17:13 (CEST)
Finalement il ne s'agissait que d'une question de temps… En tout cas ton script marche aussi, alors merci beaucoup ! Automatik (d) 4 juillet 2013 à 18:09 (CEST)

Bonjour,

Lorsqu'on ajoute un bandeau d'ébauche actuellement avec ce gadget, il est indiqué dans le résumé d'édition (Changement {{Ébauche}} ; avec BandeauxEbauches). On pourrait être plus précis en spécifiant qu'il s'agit d'une création plutôt que d'un changement. Cordialement, Automatik (d) 5 juillet 2013 à 01:37 (CEST)

Bonjour, je fais un peu de ménage dans l'index des catégories et je vois que la catégorie Catégorie:', ’ n'existe pas mais contient une seule page, Utilisateur:Rhadamante/editbar.js. Sauriez-vous quelle modification apporter à cette page pour qu'elle ne soit pas catégorisée bizarrement ? Je voulais demander à Rhadamante de modifier sa page, mais tant qu'à faire autant lui proposer une solution… --NicoV (d) 5 juillet 2013 à 09:31 (CEST)

Il faut ajouter en début de page
// <nowiki>
et en fin de page (pour la propreté du code)
// </nowiki>
Ça empêche mediaWiki d’interpréter la 18e ligne comme du Wikitexte. — Ltrl G, le 5 juillet 2013 à 12:02 (CEST)
✔️ Amicalement — Arkanosis 5 juillet 2013 à 12:38 (CEST)

Détection des liens vers les pages d'homonymie[modifier le code]

Bonjour,

Il y a plusieurs gadgets qui détectent les liens vers les pages d'homonymie (Vérif. homonymies, Homonymies en couleur, …). Serait-il possible de les mettre à jour pour qu'ils tirent profit de la nouvelle extension Disambiguator qui a été mise en production sur tous les wikipédias ? Cette nouvelle extension définit un nouveau mot magique __DISAMBIG__ qui permet d'indiquer qu'une page est une page d'homonymie (ce qui crée une propriété spécifique sur la page, cf. par exemple Sabine), sans plus avoir besoin de chercher si une page contient ou non certains modèles ou appartient ou non à certaines catégories. Les modifications ont été faites hier pour que toutes les pages d'homonymie aient ce mot magique et donc la propriété correspondante. --NicoV (d) 11 juillet 2013 à 08:11 (CEST)

ResumeDeluxe pour l'éditeur visuel[modifier le code]

Bonjour.

Je teste actuellement l'éditeur visuel, que je trouve très bien. Mais il a aussi des désagréments : je voudrais bénéficier de ResumeDeluxe.js pour l'éditeur visuel, ou, encore mieux, de sa variante que j'ai dans mon common.js. Guillom m'a dit que c'était possible, et m'a proposé de vous poser la question, chers maîtres du JavaScript...Alors, comment faire ?

Cordialement, --Orikrin1998 (+) blablatoir 13 juillet 2013 à 15:25 (CEST)

Discussion déjà commencée ICI
⇨ Dr Brains ∞ Consultation ∞ 13 juillet 2013 à 15:30 (CEST)

Bonjour,

Pensez-vous qu'il est possible d'ajouter une variable personnalisable à ce code afin de décider si le gadget doit être sensible à la casse ou non pour le titre de la catégorie à renommer ? À moins que ce ne soit déjà fait ? Pas tous les projets ont une première lettre du titre insensible à la casse, comme les Wiktionnaires.

En vous remerciant par avance pour vos réponses, Automatik (d) 18 juillet 2013 à 16:26 (CEST)

✔️ Fait. Paramètre RenommageCategorie_CaseSensitive à passer à true pour les wikis "case-sensitive" comme le wikt.
⇨ Dr Brains ∞ Consultation ∞ 18 juillet 2013 à 17:24 (CEST)
Merci beaucoup, quelle efficacité ! Automatik (d) 18 juillet 2013 à 19:37 (CEST)

Palette de nouvelle génération[modifier le code]

Bonjour,

une nouvelle génération de palette est en cours de développement (cf. réflexion, développement, résultat). J'utilise actuellement le gadget MediaWiki:Gadget-newCollapsible.js pour plier ces palettes. Or ce dernier a été adapté pour un type spécifique de palette, aujourd'hui abandonné. Serait-il possible de simplifier et d'adapter ce gadget ? Cordialement, Hlm Z. [@] 29 juillet 2013 à 23:54 (CEST)

Changement sur RevertDiffs[modifier le code]

Bonjour. Suite à la discussion développée par le projet Accueil, nous souhaiterions une modification du gadget RevertDiff (et j'espère être à la bonne place pour cette demande).

Actuellement, le gadget comporte notamment les mentions "BienvenueIP" (qui insère {{Bienvenue IP}}) et "MerciIP" (qui insère {{Bienvenue IP méritante}}).

La modification serait :

Cordialement,--SammyDay (discuter) 10 septembre 2013 à 18:41 (CEST)

Ajout automatique de coordonnées depuis Wikidata[modifier le code]

Bonjour, depuis quelques jours, de nombreux modèles d'infobox ajoutent les coordonnées Wikidata par défaut lorsqu'elles ne sont pas fournies localement. Cependant, comme suggéré par user:VVVF sur Discussion Projet:Géolocalisation, sur le long terme, il serait plus simple de récupérer automatiquement les coordonnées Wikidata sur toutes les pages, sans passer par un modèle. Donc ma question est : serait-il envisageable de faire un javascript qui produirait par défaut le même résultat que {{#invoke: coordinates | coord | wikidata=true|display=title|format=dms}} mais qui pourrait, au besoin, être désactivé sur des pages individuelles par un mot clé ou quelque chose comme ça ? --Zolo (discuter) 22 septembre 2013 à 20:13 (CEST)

Quasiment tout est possible en javascript, y compris ce que tu demandes, mais plusieurs problèmes se posent : un probleme de performances : une requête Ajax obligatoire à chaque chargement de page (qu'on peut limiter aux seuls articles), mais aussi un problème de pertinence par rapport à d'autres solutions.
Je pense notamment à se servir du modèle central, {{Coord}}, et en particulier à deux de ses sous-modèles, {{Coord/display/inline,title}} et {{Coord/display/title}}, où on doit pouvoir facilement intercaler la propriété wikidata qui va bien.
C'est d'ailleurs ce qui me semble avoir été tenté avec la fonction wikidatacoords() du Module:Coordinates, appelé par {{Coord}}. Ca ne fonctione pas ?
⇨ Dr Brains ∞ Consultation ∞ 22 septembre 2013 à 23:20 (CEST)
{{Coord}} utlise désormais Module:Coordinates, et il serait facile d'y intégrer un appel à Wikidata. Je pense d'ailleurs que ça va être fait bientôt. L'avantage du script serait de ne pas avoir à ajouter le modèle sur tous les fichiers. Le modèle est un peu obscur, et même en utilisant Wikidata, il faudrait continuer à utliser le paramètre "display = title". Automatiser les choses éviterait de se poser des questions garantirait que toutes les pages fonctionnent de la même manière. Ce serait sans doute plus clair pour les nouveaux et on n'aurait pas besoin d'aller ajouter {{Coord}} à tous les articles qui ont des coordonnées sur Wikidata mais pas sur Wikipédia (je soupçonne qu'il y en a déjà des dizaines de milliers).
Cela dit, dans le fond, c'est vrai que ça revient à peu près au même. Si utiliser un script pose des problèmes de performance ou autres, on peut très bien s'en passer. J'ai oublié de préciser, le script devrait être capable de se désactiver chaque fois que des coordonnées avec display=title sont présentes, même lorsque cela passe par plusieurs modèles intermédiaires. --Zolo (discuter) 23 septembre 2013 à 00:26 (CEST)

Rapports de bug[modifier le code]

Bonjour, les rapports de bug s'entassent dans l'emplacement qui leur est dédié, et parmi les bugs, <mode="égocentrique">il y en a un dont la correction m'arrangerait</mode>... --Orikrin1998 (+) blablatoir 5 novembre 2013 à 11:48 (CET)

wikibits.js (et autres)[modifier le code]

Salut à tous, je viens rappeler qu’il y a un certain nombre de fonctions et variables obsolètes qu’il ne faut plus utiliser dans les scripts. Jusqu’à maintenant, les devs nous les ont laissées, mais il sont en train de marquer comme obsolète tout wikibits.js et de remplacer les fonctions par d’autres presque identiques ou inefficaces (qui font juste le minimum pour éviter un plantage total en général). Comme on peut le voir sur le bistro du jour, cela entraîne quelques bugs. Il est probable sûr que ces fonctions seront retirées bientôt. Il faut aussi imaginer que les autres fonctions obsolètes risquent de subir le même sort à plus ou moins brève échéance. Il vaudrait mieux anticiper les prochains bugs en convertissant dès maintenant le plus de scripts possibles… — Ltrlg (discuter), le 7 novembre 2013 à 23:08 (CET)

RevertDiffs en carafe ?[modifier le code]

Bonjour ! Je n'ai plus accès aux fonctionnalités de ce gadget, peut-être est-il en pause ?--SammyDay (discuter) 8 novembre 2013 à 14:01 (CET)

✔️ Corrigé, l’explication est une section au-dessus — Ltrlg (discuter), le 8 novembre 2013 à 18:54 (CET)

mediawiki.ui[modifier le code]

Bonjour

Vous avez peut-être/sûrement suivi : on a perdu quelques fonctions Javascript ces derniers jours. Personellement, j'en ai perdu une qui concerne les styles utilisés sur les pages d'aide et certains éléments de l'espace Wikipédia: (le Forum des nouveaux notamment), à savoir la ressource mediawiki.ui.

J'ai conversé avec S. Page, ingénieur de la Fondation, qui a bossé sur cette montée en version qui nous perturbe. J'aimerai avoir confirmation comme quoi le code suivant, préparé suivant ses conseils, ne va pas foutre en l'air le MediaWiki:common.js.

// ESPACE DE NOM AIDE

if( mw.config.get('wgNamespaceNumber') == 12 ) {

/* Chargement des styles Vector */

mw.loader.load( 'mediawiki.ui' );

}

// ESPACE DE NOM WIKIPEDIA

if( mw.config.get('wgNamespaceNumber') == 4 ) {

/* Chargement des styles Vector */

mw.loader.load( 'mediawiki.ui' );

}

Le code complet ajoute également cette ressource à l'espace utilisateur, car certains y utilisent les boutons.

Merci, Trizek bla 9 novembre 2013 à 16:44 (CET)

PS: ne souhaitant pas suivre cette page, si vous pouvez me notifier quand vous postez la réponse, je sous en serai fort reconnaissant ! Émoticône


@Trizek — Aucun problème, mais je l’utilise sur ma PDD, donc 3 serait bien aussi. Enfin, on peut factoriser :

/*
 * Chargement des styles Vector.
 * Espaces Utilisateur, Discussion utilisateur, Wikipédia, Aide.
 */
if( [2, 3, 4, 12].indexOf(mw.config.get('wgNamespaceNumber')) >= 0 ) {
    mw.loader.load( 'mediawiki.ui' );
}

(merci de t’être occupé du problème)

— Ltrlg (discuter), le 9 novembre 2013 à 18:09 (CET)

Merci pour la validation Ltrlg (mais je n'ai pas eu la notif, bizarre).
Je n’avais pas factorisé car le commentaire en en-tête disait de séparer suivant les espaces de noms.
J'applique. Trizek bla 10 novembre 2013 à 11:37 (CET)
Certes, Trizek (j’avais oublié de signer, peut-être que ma petite manipulation n’a pas suffi ?). Mais pour la maintenance, il vaut mieux à mon avis que ce code ne soit qu’une fois dans la page, regroupé. Sinon il y a des risques d’oubli lors d’un ajustement.
— Ltrlg (discuter), le 10 novembre 2013 à 11:48 (CET)
Note : pour limiter le nombre de requêtes, il faudra penser à factoriser les appels à mw.loader.load si on ajoute d’autres règles de ce type…
OK, merci pour le tuyau.
Pour la notification, je pense que la présence de syntaxhighlight a perturbé le système, qui n'a pas trouvé la signature. Je fais remonter ce bug.
Trizek bla 10 novembre 2013 à 11:54 (CET)

Recherche de fonctions[modifier le code]

Bonjour, je compte écrire un script pour traduire le modèle cite web et faire quelque mise en forme pour son contenu. Pour éviter d'écrire du code qui existe déjà, je me demande s'ils existent pas de fonctions qui font le travail suivant :

  1. Récupérer le contenu d'un modèle par son nom
  2. Récupérer la valeur d'un paramètre dans un modèle donné (le modèle récupéré par fonction précédente)

Cordialement. Hunsu (discuter) 12 novembre 2013 à 09:16 (CET)

Le bot de JackPotte s'occupe déjà de convertir les modèles cite web en lien web (voir la page due bot, ce code est à l'onglet hyperlynx.py). Zebulon84 (discuter) 12 novembre 2013 à 09:50 (CET)
Oui je sais pour le bot. Il m'arrive d'importer des refs depuis WPen, moi je laisse le modèle cite web car je sais que dans la journée le bot va passer les changer. Mais généralement un autre contributeur fait le travail de bot et m'a dit ne pas laisser ce travail pour les autres. Donc je préfère créer un script pour le faire moi-même. Hunsu (discuter) 12 novembre 2013 à 14:16 (CET)
Mon bot en Python passe effectivement toutes les nuits depuis le LABS Wikimedia, donc je ne trouve pas cela gênant que les modèles de référence soient en anglais pendant quelques heures comparativement à la somme de travail pour les traduire.
Néanmoins pour les rechercher-remplacer j'utilise MediaWiki:Gadget-searchbox.js (qui ne fonctionne plus ici depuis la rentrée, mais que j'ai maintenu sur le Wiktionnaire). JackPotte ($) 12 novembre 2013 à 14:33 (CET)

Gadget "popups"[modifier le code]

Bonjour, Conformément à ce qui est écrit sur la page de préférence des gadgets je viens signaler un problème (qui est quand même mineur...) concernant ce gadget. Lorsque l'on survole dans sa liste de suivi le lien "hist" correspondant à un article, et que parmi la liste des versions historique proposée, un des auteurs est une IPv6 alors la mise en forme est déformée (en particulier le résumé des modifications sors du cadre rose et est difficilement lisible). Exemple : Franche-Comté. Cordialement, --Sacamol (discuter) 1 décembre 2013 à 12:57 (CET)

Bonjour,

pourquoi ce gadget ne garde-il pas le « Trucmuche » de [[Catégorie:XXX|Trucmuche]] lors du renommage de la catégorie ? Est-ce un bug ? Voir ici par exemple.

Cordialement. --Jackrs le 4 décembre 2013 à 12:36 (CET)

Il devrait.
Peut-âtre un pb de RegExp dans la fonction RenommageCategorie_CreateRegExp() (appelée par la fonction RenommageCategorie_ModifCatRunning()).
Malheureusement je n'ai pas trop le temps de me pencher sur le problème, je suis occupé sur LiveRC.
⇨ Dr Brains ∞ Consultation ∞ 4 décembre 2013 à 20:47 (CET)
Notification Dr Brains : D'abords excuse moi si je dis des conneries. Je ne connaît pas grand chose en Javascript mais j'utilise là mes connaissances en d'autres langages. On a dans le code les deux instructions :
 var CatRegExp = new RegExp("(\\s*)\\[\\[( |_)*(?:"+wgFormattedNamespaces[14]+"|Category)( |_)*:( |_)*" + Cat.replace(/([\\\^\$\*\+\?\.\|\{\}\[\]\(\)])/g, "\\$1")+"( |_)*(\\|[^\\]]*)?\\]\\]", "g");
 OldText = OldText.replace(OldCatRegExp, "$1[["+wgFormattedNamespaces[14]+":" + RenommageCategorie_AddCat + "$2]]");
Pour la deuxième instruction je crois qu'il fallait pas mettre $2 mais $7 (ou autre chose) car $2 correspond à la deuxième capture qui est ( |_). Je ne sais pas comment faire pour tester. Hunsu (discuter) 4 décembre 2013 à 21:51 (CET)
✔️ Ceci devrait solutionner le problème.
En fait, il fallait faire avec la sixième capture.
⇨ Dr Brains ∞ Consultation ∞ 6 décembre 2013 à 15:49 (CET)
Oui c'est $6, je me suis trompé en comptant les captures. Hunsu (discuter) 6 décembre 2013 à 16:20 (CET)
Génial ! Merci à vous deux pour avoir résolu le problème. Bien cordialement Émoticône sourire. --Jackrs le 6 décembre 2013 à 17:05 (CET)

Qualité des gadgets et gadgets globaux[modifier le code]

Bonjour, ces derniers jours la liste wikitech-l s’est un peu enflammée au sujet de la qualité des gadgets et des gadgets globaux.

Sur le premier point, les devs de la Fondation se plaignaient de devoir vérifier que leur code reste compatible avec les gadgets très utilisés, la solution proposée a été de supprimer la possibilité d’activer par défaut des gadgets, solution qui a été farouchement contestée (argument de l’innovation rapide et aisée par les contributeurs), mais qui a amené le problème de la qualité globale des gadgets, en allant du design à la sécurité (failles XSS) (discussion en parallèle du bug et autre discussion en parallèle, et bug en parallèle). Il a été émis l’idée d’avoir une relecture formelle du code comme pour MediaWiki (avec l’outil Gerrit), mais plusieurs ne partagent pas cet avis pour améliorer la qualité globale (complexité du processus qui entraînerait une baisse de la motivation/participation/innovation) ; la page meta:Gadgets a été proposée comme lieu central pour maintenir les gadgets très utilisés — au passage, j’ai découvert la page meta:Gadgets/wikipedia où j’ai eu l’heureuse surprise de voir que mes gadgets vieux de quelques années sont utilisés par plusieurs projets Wikimedia totalisant 8000 utilisateurs, ça va me motiver pour les entretenir.

Sur le deuxième point, des gadgets globaux (=communs à tous les projets) pourraient apparaître d’ici quelques temps (estimation pifométrique : plusieurs mois). J’imagine qu’il y aurait alors une maintenance centralisée pour ces gadgets globaux (sur meta:Gadgets peut-être, ou sur Gerrit). L’extension MediaWiki a été écrite pour cela (bug de relecture avant activation, discussion), bien qu’elle soit un CSS/JS global (et non basée sur la notion de gadgets) et qu’elle n’utilise pas le ResourceLoader, aussi j’imagine que les arguments contre son activation l’emporteront.

Si vous êtes intéressé à réfléchir à l’amélioration de la qualité des gadgets (relecture plus ou moins formelle, design, centralisation des discussions, etc.) ou à aider à mettre en place des gadgets globaux, vous pouvez prendre part aux discussions sur Meta ou sur les bugs mentionnés ou sur la liste wikitech-l. ~ Seb35 [^_^] 15 décembre 2013 à 12:37 (CET)

Je ne suis pas opposé au principe, car je vois bien les avantages que cela procurerait, mais j'appréhende les difficultés.
Exemple : on décide de mettre LiveRC en global sur meta.
  • qui en assure la maintenace ou l'amélioration ? Ici, c'est moi qui le fait, pour la plus grande partie. Mais si le script est sur meta, il va me falloir demander les droits de sysop (ou un groupe quelconque ayant accès en écriture aux pages MediaWiki:). Et si on me les refuse ?
  • quid de la procédure de modification ? Est-ce que ça va tourner à l'usine à gaz type bugzilla pour la correction du moindre bug ?
  • quid des modifications qui plaisent à une communauté mais pas à une autre ? Qui impose son avis alors ? Et que se passe-t-il si une communauté n'est pas d'accord ? Si un fork est créé localement, on revient à la situation actuelle, décentralisée.
Bref, je pense que c'est une bonne idée mais qu'elle ne doit être appliquée que pour les scripts matures et peu susceptibles d'être modifiés (hors correction de bug /adaptation à un changement de Mediawiki). HotCats par exemple (dans sa version "Multi"). Les autres doivent continuer à être maintenus localement.
⇨ Dr Brains ∞ Consultation ∞ 15 décembre 2013 à 18:48 (CET)