Discussion Projet:JavaScript

Une page de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Projet   Fonctions disponibles   Notices   Discussion projet   Signaler un bug   Demander une nouvelle fonction
Raccourcis [+]
WP:JS
P:JS

Javascript icon.svg

Projet JavaScript
Ce projet essaie de centraliser les fonctions JavaScript pour éviter la dispersion du code.


modifier

Cette page de discussion est destinée aux discussions sur le Projet:JavaScript.


Monobook icon.svg
Personnaliser l'interface
Aide AideExemples
Aide Fonctions avancées
Aide Apparence vector
Wikimedia (en) User styles
CSS
page perso. common.css personnel
espace MediaWiki common.css
espace MediaWiki monobook.css commun
espace MediaWiki vector.css commun
(en) Catalogue of classes
Index des propriétés CSS2
JavaScript
page perso. common.js personnel
MediaWiki common.js commun
Projet Projet:JavaScript
Catégories Fonctions JavaScript
Cliquez ici pour purger le cache

jQuery 1.9[modifier | 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 Clin d'œil

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

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

Bonsoir 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. Clin d'œil

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 Sourire. --— Superjuju10 [Contacter la Aubline], le 21 février 2013 à 23:26 (CET)

addCustomButton et vector.js[modifier | 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 | 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 | 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.Mort de rire

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 | 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 MediaWiki Vector skin action arrow.svg, 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 | 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)

Bouton « modifier »[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 Clin d'œil Leag ⠇⠑⠁⠛ 3 avril 2013 à 11:33 (CEST)

Questions diverses[modifier | 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 | 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 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 | 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 | 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 Sourire Automatik (d) 21 avril 2013 à 01:32 (CEST)

DeluxeHistory[modifier | 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 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 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 Clin d'œil od†n ↗blah 17 juin 2013 à 11:49 (CEST)

XPatrol[modifier | modifier le code]

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)

{{Autres projets}}[modifier | modifier le code]

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)
Fait 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 | 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)

MediaWiki:Gadget-BandeauxEbauches.js[modifier | modifier le code]

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)

Catégorie:', '[modifier | modifier le code]

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)
Fait Amicalement — Arkanosis 5 juillet 2013 à 12:38 (CEST)

Détection des liens vers les pages d'homonymie[modifier | 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 | 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)

MediaWiki:Gadget-RenommageCategorie.js[modifier | modifier le code]

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 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 | 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 | 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 | 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 | 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 | 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 | 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)

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

mediawiki.ui[modifier | 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 ! Clin d'œil


@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 | 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 | 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)

Projet:JavaScript/Notices/RenommageCategorie[modifier | modifier le code]

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)
Fait 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 Sourire. --Jackrs le 6 décembre 2013 à 17:05 (CET)

Qualité des gadgets et gadgets globaux[modifier | 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)

Gadget-EvilUnicodeConverter.js[modifier | modifier le code]

Bonjour à tous. J’utilise ce script très pratique depuis quelques années et il ne fonctionne plus depuis quelques semaines. Son auteur me répond que la fonction addClickHandler() a été désactivée et que, n’ayant pas suivi les mises à jours de Mediawiki, il ne sait pas comment corriger ça. Quelqu’un du projet pourrait y jeter un coup d’œil ? – A2 (discuter) 14 janvier 2014 à 17:58 (CET)

Bonjour Sourire
Il faut « simplement » utiliser jQuery : « addClickHandler(A, B); » devient « $( A ).click( B ); ».
Si le développeur est encore un peu actif, tu peux lui indiquer l'existence de ce guide de migration. Sinon, il faudra trouver un admin sur test pour faire le changement.
Amicalement — Arkanosis 14 janvier 2014 à 20:07 (CET)
Merci pour cette réponse rapide et pertinente, cela fonctionne en local, je transmets le guide au développeur. – A2 (discuter) 15 janvier 2014 à 17:09 (CET)
Si ça peut aider, je suis sysop sur test.wiki
⇨ Dr Brains ∞ Consultation ∞ 9 février 2014 à 13:04 (CET)

2 questions...[modifier | modifier le code]

Bonjour, j'ai deux problème pour Utilisateur:Gratus/PaStec real.js.

  1. Comment faire pour mettre le tout dans une boite déroulante ?
  2. Comment faire pour mettre un bandeau juste au dessous du titre (niveau 1) d'un article ?

Cordialement.--Gratus (discuter) 9 février 2014 à 12:37 (CET)

Salut,
Il te faudrait être plus précis sur l'endroit du code visé et sur ce que tu souhaites réaliser exactement et à quel moment du processus.
Là c'est un peu trop vague.
⇨ Dr Brains ∞ Consultation ∞ 9 février 2014 à 13:05 (CET)
Pour ajouter un bandeau au-dessous du titre, voici un squelette :
var bandeau = '<div>Bandeau de test</div>';
$(bandeau).insertAfter($('#firstHeading'));
Automatik (discuter) 9 février 2014 à 14:43 (CET)
Bonjour, pour le
  1.  : tous le code afin de faire diminuer le volume du script sur la PàS
  2.  : Le but est de mettre le bandeau {{À fusionner}} sur l'article cible, il devrait donc être dans la function fusionner.
Cordialement.--Gratus (discuter) 9 février 2014 à 18:55 (CET)
  1. Tu parles du formulaire ajouté dans le talkpageheader ?
  2. N'est-ce pas ce que fait déjà la ligne suivante (4e appel à editPage() dans la fonction fusionner()) ?
    editPage(getPageName(),new RegExp("{{[Ss]uppression.*}}"), "{{À fusionner|"+getPageName()+"|"+page2+"}}",'[[User:Gratus/PaStec|PaStec]] : '+getPageName()+' fusion (remplacement bandeau suppression par le bandeau À fusionner)) ([['+wgPageName+'|Voir]]' );
⇨ Dr Brains ∞ Consultation ∞ 9 février 2014 à 19:51 (CET)
Ah oui, en effet, le formulaire prend énormément de place. Plutôt qu'une boîte déroulante, je pense qu'il faut revoir sa mise en page.
⇨ Dr Brains ∞ Consultation ∞ 9 février 2014 à 20:01 (CET)
Voir Utilisateur:Dr Brains/PaStec.js pour un formulaire un peu plus ramassé.
⇨ Dr Brains ∞ Consultation ∞ 9 février 2014 à 20:24 (CET)
Notification Dr Brains : Bonjour, je me suis permis de copier votre code (en vous créditant) et je vous remercie des modifications apportés. Concernant le point 2, il n'est pas déjà fait car lors d'une fusion, il y a, par définition, deux articles concernés. Ici, l'article concerné par la PàS est traité mais pas l'article cible. Cordialement.--Gratus (discuter) 10 février 2014 à 13:53 (CET)
OK, ça devrait le faire, si j'ai bien compris les différentes options de la fonction doEditPage()
⇨ Dr Brains ∞ Consultation ∞ 10 février 2014 à 17:44 (CET)
Notification Dr Brains : Bonjour, il modifie l'article cible mais il ne place pas le bandeau au bon endroit (il le met à la fin et pas au début) (cf.[1], [2]). Cordialement.--Gratus (discuter) 10 février 2014 à 18:00 (CET)
Notification Gratus : Oups...
⇨ Dr Brains ∞ Consultation ∞ 10 février 2014 à 18:02 (CET)
Merci beaucoup.--Gratus (discuter) 10 février 2014 à 18:06 (CET)

┌─────────────────────────────────────────────────┘
Jamais 2 sans 3 ... Bonjour, désolé de vous importuner mais je n'ai jamais fait de javascript auparavant donc désolé si vous trouvez cette question idiote :

var user=document.getElementById('raison_cloture').value;
editPage("Discussion utilisateur:",">", "{{subst:Avertissement suppression page|"+message+"}}\n",'[[User:Gratus/PaStec|PaStec]] : avertissement suppression' );

Comment insérer la variable user ? J'ai essayé [3] et quelques dérivés mais ça n'a pas fonctionné. Cordialement.--Gratus (discuter) 10 février 2014 à 19:38 (CET)

Dans quelle fonction ? kir() ?
Si oui, ce qu'il y a actuellement devrait fonctionner.
⇨ Dr Brains ∞ Consultation ∞ 10 février 2014 à 20:03 (CET)
Notification Dr Brains : Ca fonctionne : j'ai réussi à avoir une réponse via IRC et j'ai oublié d'indiquer ici que c'est résolu. Cordialement.--Gratus (discuter) 11 février 2014 à 19:12 (CET)

Date[modifier | modifier le code]

Bonjour, dans le script indiqué ci-dessus, il faut inscrire la date du jour manuellement pour mettre à jour la PàS. Y a t-il moyen d'automatiser la date en javascript sous la forme « jj(chiffres)|mois en lettre|année en chiffre » ? Cordialement.--Gratus (discuter) 12 février 2014 à 15:03 (CET)

Voir ici
⇨ Dr Brains ∞ Consultation ∞ 12 février 2014 à 17:33 (CET)

Wikipedia en 3 colonnes[modifier | modifier le code]

Magnus a fait un css pour afficher le contenu de Wikipedia sous forme d'un site 3 colonnes. Voir ce que ça donne sur mon blog. Est-il possible de restreindre le code au namespace 0 ? Et surtout qu'il ne fonctionne pas en mode édition ? Pyb (discuter) 16 février 2014 à 13:47 (CET)

Ça fonctionne en utilisant .action-view.ns-0 Pyb (discuter) 16 février 2014 à 20:01 (CET)

navigation entre sections[modifier | modifier le code]

Bonjour,

pour le script Utilisateur:Lepsyleon/GoTop.js, je souhaiterais rajouter deux boutons lorsqu'il y a possibilité de passer d'une section à une autre (comme c'est le cas pour un article ou sur cette PdD) : un pour aller vers la section suivante et l'autre pour la section précédente.

Savez vous comment résoudre ce problème? Vous en remerciant par avance. Cordialement. £e p$y £éon (discuter) 21 mars 2014 à 15:45 (CET)

Notification Lepsyleon :
Pas simple.
Non pas pour "aller à la section suivante/précédente", si on connaît son id c'est facile, mais pour déterminer quelle est la section "actuelle". A partir de liens à côté du titre de section, c'est easy, mais à partir de liens dans un menu complètement ailleurs dans la page, je ne vois pas comment faire.
Une alternative serait d'avoir une copie du sommaire que l'on pourrait faire surgir en cliquant sur un lien de ton menu. Mais il faut que ce sommaire ne soit pas plus long que l'écran, sinon ça va poser problème. Encore que, on peut imaginer de dérouler/enrouler les différentes branches du sommaire comme les arbres categorytree.
⇨ Dr Brains ∞ Consultation ∞ 21 mars 2014 à 20:32 (CET)
Pour déterminer le section "actuelle" tu peux enregistrer tous les positions des sections, et lorsque tu veux déterminer la section actuelle tu récupère la position actuelle et tu la compare avec tous les positions enregistrées auparavant. Notification Dr Brains : Est ce que cette solution pourrais être implémentée? Mais moi je ne vois pas l'utilité d'aller à la section précédente. Par contre l'idée de Dr Brains est intéressante. Hunsu (discuter) 21 mars 2014 à 21:17 (CET)
Sinon, sauf erreur de ma part, les sections sont numérotées de la 0 pour l'introduction à x pour la dernière. Ne peut on pas imaginer une fonction qui permettrait de partir de 0 et, à chaque fois qu'on clique sur l'icône "section suivante", la variable serait implémentée de 1 ? La difficulté serait peut etre alors juste de définir combien il y a de sections sur la page ? £e p$y £éon (discuter) 22 mars 2014 à 16:40 (CET)
Pour ajouter un lien section suivante à coté de lien modifier le code voila comment je vais procéder: je récupère tous les titres des sections (leur id), et pour chaque section tu lui ajoute le lien de la section suivante. Mais est ce vraiment utile? Y a pas une grande distance entre deux sections consécutives. Hunsu (discuter) 22 mars 2014 à 18:21 (CET)
Notification Lepsyleon :
Non, le numérotage n'est utilisé que pour l'édition. En mode normal les sections sont repérées via une id (celle d'un <span class="mw-headline"> contenu dans la balise <Hx>)
Notification Hunsu :
Récupérer la liste des sections est facile :
function getAllSections(){
  var Sections = new Array();
  Sections = getAllSections_Recursion(document.getElementById("mw-content-text"), Sections);
  return Sections
}
 
function getAllSections_Recursion(Content, Sections){
  if(!Content) return Sections;
  var Element = Content.firstChild;
  while(Element){
    if(Element.tagName){
      var TagH = /h(1|2|3|4|5|6)/.test(Element.tagName.toLowerCase());
      if(TagH) Sections.push(Element);
      else Sections = getAllSections_Recursion(Element, Sections); // à commenter si on souhaite ne chercher que dans le premier niveau de balises
    }
    Element = Element.nextSibling;
    if(!Element) break;
  }
  return Sections;
}
⇨ Dr Brains ∞ Consultation ∞ 22 mars 2014 à 19:58 (CET)

Problème de retour à la ligne[modifier | modifier le code]

Bonjour, actuellement le code editPage("Discussion utilisateur:"+user,">","{{subst:Avertissement suppression page|"+page+"}}\n",'PaStec : avertissement suppression' ); provoque un problème de mise en page car il met le message juste après le caractère et pas à la ligne, ce qui provoque [4]. Comment faire pour y remédier ? J'ai tenté [5] mais ça n'a pas fonctionné. Cordialement.--Gratus (discuter) 21 mars 2014 à 19:41 (CET)

Bonjour,
Tu peux essayer avec « \n » plutôt que « <br> ».
Si tu as l'intention de modifier ton script afin qu'il envoie automatiquement des messages sur les pages de discussion utilisateur, il serait utile de prévoir un mécanisme pour permettre à un utilisateur de signaler qu'il ne souhaite pas recevoir ce type de message, par exemple à l'aide du modèle standard {{Bots}}.
Cordialement,
Orlodrim (discuter) 21 mars 2014 à 19:56 (CET)

Possibles ?[modifier | modifier le code]

Notification Orlodrim : Fonctionne. Merci

Est-il possible pour le script de connaitre automatiquement le créateur/principaux contributeur de l'article proposé à la suppression ? Est-il également possible de séparer différent pseudos dans une même case (avec une détection de retour à la ligne par ex.) afin de pouvoir envoyer le message à plusieurs personnes ? Cordialement.--Gratus (discuter) 22 mars 2014 à 19:00 (CET)

Il faut que tu analyse l'historique de l'article. Le créateur c'est le premier contributeur. Les contributeur principaux sont les contributeurs qui ont beaucoup d'éditions. Cet outil donne les principaux contributeurs alors peut-être tu peux l'utiliser. Hunsu (discuter) 22 mars 2014 à 19:10 (CET)
Notification Hunsu : Je sais Sourire, ce que je ne sais pas, c'est si c'est exploitable par un script en JS, et comment le cas échéant. --Gratus (discuter) 22 mars 2014 à 19:32 (CET)
Non, tu ne pourras pas utiliser le contenu d'une page externe. Il te faut obligatoirement récupérer l'historique de la page (via l'API pour plus de simplicité, surtout si seul le créateur t'intéresse).
⇨ Dr Brains ∞ Consultation ∞ 22 mars 2014 à 19:38 (CET)
Pourquoi il est pas possible d'utiliser le contenu d'une page externe? Notification Gratus : JavaScript est un langage de haut niveau, tu peux alors faire tout ce que tu veux. Hunsu (discuter) 22 mars 2014 à 19:49 (CET)
Pour des raisons de sécurité, l'ajax ne fonctionne généralement pas en cross domain.
⇨ Dr Brains ∞ Consultation ∞ 22 mars 2014 à 20:08 (CET)
Merci! Hunsu (discuter) 22 mars 2014 à 20:10 (CET)
Notification Dr Brains : Bonjour, je ne comprend rien à l'API, comment fait-on pour récupérer le créateur (c'est peut-être trop dur de faire chercher les principaux contributeurs) ?--Gratus (discuter) 22 mars 2014 à 21:31 (CET)
Notification Gratus :
Comme ceci
Script à insérer juste après le test //PàS afin qu'il ne s'active que sur une sous-page /Suppression.
Fournit deux variables globales :
  • PaStec_Authors : Object listant les auteurs et le nombre de leurs modifications (PaStec_Authors["Machin"] = X). A explorer via une boucle for(user in PaStec_Authors){ ... }
  • PaStec_Creator : le nom du dernier auteur trouvé, donc logiquement le créateur de la page.
Il reste un risque que l'historique n'ait pas été complètement récupéré lorsqu'on en a besoin, il convient donc de tester le contenu de la variable PaStec_Creator lorsqu'on envisage d'utiliser l'une des deux variables. Si son type n'est pas String, c'est que ce n'est pas fini (ou qu'il y a eu un pb).
⇨ Dr Brains ∞ Consultation ∞ 22 mars 2014 à 22:53 (CET)
Notification Dr Brains : Bonjour, comment on utilise les variables ? En testant [6], je n'ai pas réussi à avoir un pseudo (null dans le premier cas et [object object] dans le 2e cas. Et comment on teste le contenu d'une variable ? Cordialement. --Gratus (discuter) 24 mars 2014 à 14:17 (CET)
Notification Gratus :
C'est normal. A ce stade les auteurs n'ont pas encore été récupérés. Il faut l'utiliser à l'intérieur de la fonction appelée par addOnloadHook(), et lancer la requête de l'historique avant, comme ceci.
Toutefois, même ainsi, le risque demeure pour les pages avec des gros historiques que le créateur et une partie des auteurs manquent toujours à l'appel. Le risque reste malgré tout négligeable, car les pages qui passent en PaS n'ont généralement pas eu le temps d'avoir un gros historique.
⇨ Dr Brains ∞ Consultation ∞ 24 mars 2014 à 17:33 (CET)
Notification Dr Brains : Il y a un problème. Le script ne fonctionne plus.--Gratus (discuter) 24 mars 2014 à 17:59 (CET)
Notification Gratus :
Oui, ça venait de l'ordre des fonctions. Certaines n'existaient pas encore lorsqu'elles étaient appelées.
Cette version fonctionne.
⇨ Dr Brains ∞ Consultation ∞ 24 mars 2014 à 20:42 (CET)

OneClickArchiver[modifier | modifier le code]

Bonjour, si certains sont intéressés, j'ai fait une petite documentation pour utiliser le script OneClickArchiver de Equazcion qui permet d'archiver manuellement un sujet de discussion en 1 clic. --NicoV (discuter) 27 mars 2014 à 09:53 (CET)

Merci Leag ⠇⠑⠁⠛ 27 mars 2014 à 10:38 (CET)

Bug[modifier | modifier le code]

Bonjour, comment ce bug a t-il pu se produire ?

Code javascript de la fonction :

  function kir (type){
  	do_if_no_edit_conflict(function() {
  	        actions_left=2;
    var page=getPageName()
    var d = new Date();
    var day = d.getDate(); 
    var year = d.getFullYear();
    var month = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"]; 
    var mois = month[d.getMonth()]
    var bdate=document.getElementById('page2').value;
    var bandeau=document.getElementById('raison_cloture').value;
    editPage(page,"<", "{{Suppression}}\n",'[[User:Gratus/PaStec|PaStec]] : ajout bandeau suppression' );
    editPage("Wikipédia:Pages à supprimer","{{En-tête section PàS|"+day+"|"+mois+"|"+year+"}}","{{En-tête section PàS|"+day+"|"+mois+"|"+year+"}}\n*{{L|"+page+"}}", '[[User:Gratus/PaStec|PaStec]] : Proposition à la suppression');
    if (document.getElementById('raison_cloture').value.length > 0) {
    if (document.getElementById('page2').value.length > 0) {
        editPage(page,'{{'+bandeau+'|date='+bdate+'}}', "",'[[User:Gratus/PaStec|PaStec]] : retrait modèle « '+bandeau+' »' );
      }else{
      	editPage(page,'{{'+bandeau+'}}', "",'[[User:Gratus/PaStec|PaStec]] : retrait modèle « '+bandeau+' »' );
      }
    document.getElementById('talkpageheader').innerHTML= errormsg.split("$1").join("Proposition à la suppression");
  	}});
  }

--Gratus (discuter) 2 avril 2014 à 15:46 (CEST)

Notification Gratus :
Un problème d'édition multiples sur la même page en mode asynchrone : il faudrait retirer le bandeau admissibilité (ou autre) et ajouter le bandeau suppression dans la même édition.
Pour cela, je pense que les fonctions editPage() et doEditPage() devraient être revues pour permettre plus d'options :
  1. pattern à remplacer
  2. modèles à ajouter
  3. modèles à retirer
⇨ Dr Brains ∞ Consultation ∞ 2 avril 2014 à 17:44 (CEST)
Notification Dr Brains : Je pense avoir trouvé plus simple. J'ai, avec if (!confirm, obligé le script à demander l'accord au contributeur avant de retirer le modèle. Le temps que la personne réponde, la commande "ajout suppression" est déjà enregistré. Cela à l'air de fonctionner.--Gratus (discuter) 2 avril 2014 à 18:24 (CEST)

disparition barre de navigation quand pas en visualisation[modifier | modifier le code]

Bonjour,

je suis en train de retravailler sur Utilisateur:Lepsyleon/GoTop2.js, script inséré dans mon vector.js et qui permet d'avoir une barre de navigation verticale. Quand je suis en visualisation, je vois bien la barre sur la gauche de mon écran. Mais, une fois mes modifications validées, la barre n'apparait plus, même après purge complète du cache...

Quelqu'un peut-il me dire d'où vient ce problème ? Merci d'avance. Cordialement. £e p$y £éon (discuter) 2 avril 2014 à 17:15 (CEST)

C'est quoi ce paramètre oracleGT ?
Si il n'est pas défini, il est possible que ça provoque une erreur.
⇨ Dr Brains ∞ Consultation ∞ 2 avril 2014 à 17:47 (CEST)
oracleGT : paramètre défini sur mon vector.js via oracleGT = true;
par défaut, il doit être désactivé mais si on veut qu'il soit activé (d'où le true) afin qu'un icône menant vers l'Oracle soit visible, il faut insérer cette ligne dans notre vector.js, et ce dans un objectif de personnalisation possible du script par les utilisateurs.
£e p$y £éon (discuter) 2 avril 2014 à 20:13 (CEST)

Existe ?[modifier | modifier le code]

Bonjour, comment peut-on faire pour que le script détecte si la page qu'elle veut modifier existe ou non ? Ceci afin d'éviter des créations de pages non voulus.--Gratus (discuter) 6 avril 2014 à 17:50 (CEST)

Bonjour. Tu peux passer le paramètre nocreate=1 à l'action "edit", et celle-ci renverra alors une erreur si tu tentes de modifier une page qui n'existe pas. Orlodrim (discuter) 6 avril 2014 à 18:53 (CEST)
Notification Orlodrim : Il faut écrire :
PaStec_ajax.http({retry:3,url: wgServer + wgScriptPath + '/api.php?format=xml&action=edit|nocreate=1',
ou il faut remplacer | par & ? --Gratus (discuter) 7 avril 2014 à 08:20 (CEST)
Fait Trouvé (&).--Gratus (discuter) 18 avril 2014 à 15:03 (CEST)

Changement du format de query-continue dans l'API (2)[modifier | modifier le code]

Bonjour,

D'après cet e-mail, la seconde partie des changements de l'API de MediaWiki liés au bug 24782 va avoir être déployée sur Wikipédia en français le 24 avril 2014. Ces changements concernent le nom et le format du paramètre pour obtenir la suite des résultats d'une requête. C'est la même chose qu'il y a deux ans pour d'autres fonctions. Les scripts qui semblent affectés par cette mise à jour sont :

Si vous avez une copie personnelle de LiveRC dans votre espace utilisateur :

  • Si vous vous en servez, vous pouvez la mettre à jour en effectuant ces changements dans la fonction "function readBlocks(xmlreq, data)". Vous pouvez le faire dès maintenant, cela fonctionne à la fois avec l'ancienne version de l'API et la nouvelle. À titre informatif, cette fonction construit une liste utilisée pour afficher une icône à côté des utilisateurs récemment bloqués. En raison d'un changement plus ancien de MediaWiki, il semble que cela ne fonctionne déjà plus, mais sans affecter le reste de LiveRC. Après la mise à jour, LiveRC risquerait de ne plus démarrer du tout. Le diff proposé répare les deux problèmes.
  • Si vous ne vous en servez plus, vous pouvez la blanchir ou en demander la suppression pour éviter que je vous dérange la prochaine fois.

Si un autre de vos scripts personnels est listé ci-dessus : il aura certainement besoin d'une mise à jour le 24 avril. Vous pouvez demander de l'aide sur cette page si besoin. Voici le détail des changements annoncés :

Action Ancien paramètre Nouveau paramètre
list=allimages aicontinue ou aistart aicontinue
list=blocks bkstart bkcontinue
list=categorymembers cmcontinue ou cmstart (selon l'ordre de tri demandé) cmcontinue
list=deletedrevs drcontinue ou drstart drcontinue
list=logevents lestart lecontinue
list=protectedtitles ptstart ptcontinue
list=recentchanges rccontinue rccontinue (le format de la valeur change)
list=usercontribs ucstart ou uccontinue uccontinue
list=watchlist wlstart wlcontinue

Mon ancien message donne un exemple de réponse de l'API avant et après la mise à jour.

Cordialement,

Orlodrim (discuter) 12 avril 2014 à 00:45 (CEST)

Corrigé ma part.
⇨ Dr Brains ∞ Consultation ∞ 12 avril 2014 à 01:25 (CEST)
Merci Orlodrim: En même temps je découvre Utilisateur:Rome2/Gadget-contribsrangeUpdate.js où je n'arrive pas à me rappeler ce que ça peut être. Donc s'il faut le supprimer, je pense que c'est faisable sinon, je crois que je me rappellerai de l'utilité. Mais si c'est possible à corriger ce serait mieux, sauf que je ne sais pas quoi faire, j'ai pas les compétences. — Rome2 [Discuter], le 12 avril 2014 à 14:53 (CEST)
J'ai regardé dans ton common.js, tu ne charges pas cette sous-page. Si tu ne te souviens plus de ce que c'est, alors tu n'en as probablement pas besoin. Il n'y a rien de spécial à faire, tu peux demander la suppression de la page si tu veux faire du ménage. Orlodrim (discuter) 12 avril 2014 à 17:35 (CEST)
Merci Orlodrim, dans ce cas, comme je ne l'ai pas mis dans mon commons, les admins peuvent supprimer sans problème Sourire. — Rome2 [Discuter], le 12 avril 2014 à 20:11 (CEST)
Merci pour la notif', je vais modifier ça. - DarkoNeko (mreow?) 14 avril 2014 à 14:05 (CEST)

Script Annuler/Révoquer[modifier | modifier le code]

Bonjour,

D'après les tests que j'ai fais le script annule pas une modification mais restaure la page à la version avant celle qu'on veut annuler. Merci de changer le nom au script ou le modifier pour qu'il annule vraiment la modification. Cordialement. Hunsu (discuter) 12 avril 2014 à 07:23 (CEST)

common.css[modifier | modifier le code]

Bonjour, depuis quelques temps, mon fichier de personnalisation css ne change plus la mise en forme des diff (section Diff rendering). Il y a peut-être eu des changements dans le nom des classes, mais je ne trouve rien dans MediaWiki:Common.css. Dans le code interprété, je trouve des classes <ins class="diffchange diffchange-inline">. Quelqu'un a-t-il une idée pour résoudre mon problème ? Merci Leag ⠇⠑⠁⠛ 18 avril 2014 à 11:43 (CEST)

La syntaxe // pour les commentaires est invalide, seule la syntaxe /*...*/ est utilisable en CSS. Essaie déjà en corrigeant cela. od†n ↗blah 18 avril 2014 à 13:41 (CEST)
Notification Od1n : Merci pour le conseil, c'est sûrement mieux mais ça ne résoud pas le problème. Leag ⠇⠑⠁⠛ 18 avril 2014 à 14:32 (CEST)
Peut-être avec une purge de cache ? Sur mon compte je modifie également l'aspect des diffs, et cela fonctionne toujours aussi bien. od†n ↗blah 18 avril 2014 à 21:59 (CEST)