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.


Signer[modifier le code]

Bonjour, quelle est l'astuce pour signer en Javascript ? (ex : "{{Suppression Immédiate|"+motif+"|~~~}}\n" '''Demandé''' par ~~~ le ~~~~~\)

Je sais que c'est possible sans bidouillage monstre vu que je suis arrivé (miraculeusement) à obtenir le code entre parenthèse sur mon script. Malheureusement, je ne me souviens plus des manipulation que j'ai fait pour leurrer médiaWiki. J'ai essayé avec nowiki et includeonly mais ça ne fonctionne pas. Cordialement.— Gratus (discuter) 28 février 2015 à 11:07 (CET)

MediaWiki:Gadget-DeluxeHistory[modifier le code]

Hello,

Est-ce possible d'utiliser ce script ailleurs (Commons, Meta, etc.) ? Si oui, où puis-je trouver le code source ?

Bonne journée

Scoopfinder(d) 1 mars 2015 à 12:26 (CET)

Notification Scoopfinder :
Pour l'installer ailleurs, ajouter dans son common.js le code suivant :
// DeluxeHistory
mw.loader.load('//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-DeluxeHistory.js&action=raw&ctype=text/javascript');
mw.loader.load('//fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-DeluxeHistory.css&action=raw&ctype=text/css', 'text/css');
⇨ Dr Brains ∞ Consultation ∞ 1 mars 2015 à 13:55 (CET)

MediaWiki:Gadgets-definition et MediaWiki:Gadget-monBrouillon[modifier le code]

Salut les scripteurs,

Notification Trizek a voulu rendre disponible par défaut le gadget monBrouillon, mais Notification Gratus a annulé sa modif car les utilisateurs non connectés étaient dirigés vers Utilisateur:null/Brouillon.

Deux questions :

  • Est-ce qu'il est possible de faire marcher le gadget pour les IP ? Une lecture rapide de mw:Manual:Interface/JavaScript me fait penser que non, il est d'ailleurs peut-être impossible de récupérer l'IP côté JS à dessein, pour des questions de confidentialité.
  • À défaut, j'imagine qu'on peut rendre le gadget inopérant pour les utilisateurs non enregistrés en ajoutant quelque chose comme if (mw.config.get('wgUserName')!= null) { au début de la fonction ? (ça fait longtemps que j'ai pas fait de JS).

Merci de votre attention,

El pitareio (discuter) 25 mars 2015 à 19:24 (CET)

Le gadget peut aussi n'être activé que pour les utilisateurs inscrits en requérant un droit (mwoauthmanagemygrants par exemple) dont les IPs ne disposent pas.
Mais pourquoi encore un gadget par défaut ? (Smiley: triste) Il est possible de contribuer directement à MediaWiki plutôt que d'ajouter du JavaScript partout pour modifier l'interface en local…
Amicalement — Arkanosis 25 mars 2015 à 20:58 (CET)
[conflit/grmf !] Effectivement, je doute qu’on ait l’IP disponible.
Plutôt mw.user.isAnon(), l’abstraction de la même chose, mais il me semble qu’on peut utiliser une dépendance en un droit spécifique aux utilisateurs enregistrés (typiquement sendemail) pour ne carrément pas exécuter le gadget pour les IPs.
— Ltrlg (discuter), le 25 mars 2015 à 21:00 (CET)
PS : ah, oui, j’ai trouvé : c’est l’option rights=…
Encore merci à Notification Gratus d'avoir veillé sur mes bêtises, et merci à vous de vous pencher sur le problème !
Arkanosis, j'avais posté un ticket sur Bugzilla où on m'avait envoyé aux fraises. Je n'ai donc pas insisté. Trizek bla 26 mars 2015 à 09:43 (CET)
Euh... finalement le gadget a été activé même pour les IP. C'est voulu ? Ça risque d'être un peu déconcertant pour ceux qui une IP dynamique. Orlodrim (discuter) 27 mars 2015 à 21:27 (CET)
C’était le but initial : il a été désactivé à cause du problème de la récupération d’un titre de page de brouillon, puis réactivé lorsqu’une solution a été trouvée. Ça risque effectivement d’être déroutant, d’autant que la consigne est « Pour revenir à tout moment sur votre brouillon, cliquez sur votre pseudonyme en haut à droite. », ce qui est franchement inadapté. Trizek ! — Ltrlg (discuter), le 27 mars 2015 à 22:34 (CET)
Faut avoir suivi le processus de relecture des articles mis en place depuis un bon moment, qui encourage IP et comptes à passer par un brouillon. La question à se poser est : faut-il demander sur phabricator la possibilité d'indiquer dans la définition des gadgets non pas un droit à avoir, mais un droit à ne pas avoir (comme autopatrol, ici). J'en ai discuté avec un commonist qui aurait besoin de la même chose. Discut' Frakir 28 mars 2015 à 10:14 (CET)
À l'heure actuelle, les pages d'aide encouragent les IP à créer d'abord un compte puis un brouillon.
Aide:Brouillon : « Vous devez avoir un compte et y être connecté pour faire cette action » et « Les pages de brouillon sont disponibles pour les utilisateurs ayant un compte »
Aide:Comment créer un article/3 : « Préparer mon article au brouillon - Méthode conseillée, nécessite un compte gratuit et anonyme ».
Faut-il changer les pages d'aide pour enlever ces consignes et dire à la place « le bouton Brouillon risque de mener à une page différente d'un jour sur l'autre ; pensez à mettre votre brouillon dans vos marques-pages pour ne pas le perdre » Euh ?
Orlodrim (discuter) 28 mars 2015 à 10:44 (CET)
Bonsoir
Désolé d'avoir fait des bêtises, ça m’embête vraiment. J’espère pouvoir compter sur votre aide pour en sortir.
Les différents messages et consignes sont adaptées au fait d'activer ce gadget pour les utilisateurs connectés seulement (hors de question de le faire pour les IP, vous savez que ce serait un foutoir monstre !). Seule la phrase « Pour revenir à tout moment sur votre brouillon, cliquez sur votre pseudonyme en haut à droite » est visiblement à revoir, car elle date de l’époque où l’activation du gadget par défaut n’était pas faite.
Frakir, ton idée m'a l'air cool. Si tu fais un ticket, peux-tu me mettre en copie ?
Trizek bla 29 mars 2015 à 21:24 (CEST)
Très bien, puisqu'on est d'accord, je le désactive pour les IP : Spécial:Diff/113368934. À vrai dire, les IP n'ont pratiquement pas utilisé le lien de toute façon (un seul brouillon créé aujourd'hui par une IP dans nouvelles pages, et avec l'éditeur visuel donc je ne sais pas s'il est passé par ce lien).
Concernant le droit à ne pas avoir : si le gadget est activé par défaut, autant le laisser activé pour tous ceux qui ne l'ont pas désactivé explicitement, non ? Parce qu'il y a de temps en temps des contributeurs qui deviennent autopatrolled, et s'ils utilisent le lien, ils ne vont pas comprendre pourquoi il disparaît.
Orlodrim (discuter) 29 mars 2015 à 21:55 (CEST)
Hello
Orlodrim, si j'ai bien suivi, c’est disponible pour tous les comptes enregistrés et ce par défaut ? J'ai essayé de voir pour l’activer ou le désactiver dans mes préférences, et, du coup, le lien ne s'affiche plus du tout, que je sois connecté ou non.
Est-ce normal ?
Merci, Trizek bla 9 avril 2015 à 17:12 (CEST)
C'est activé par défaut pour les utilisateurs enregistrés. Cela fonctionne correctement pour moi. Quand tu actives le gadget, est-ce que ça fonctionne mal sur toutes les pages ? Orlodrim (discuter) 9 avril 2015 à 19:29 (CEST)
Après deux ou trois purges de cache et quelques heures de navigation, c’est bon. Désolé du dérangement et encore merci pour la réparation ! Trizek bla 9 avril 2015 à 20:16 (CEST)
Nouvelle du jour : on peut demander à avoir la même chose sans gadget avec mw:Help:Extension:SandboxLink. En fait, ça vient d'être activé par défaut sur Wikipédia en anglais, pour tous les comptes (en:Wikipedia:Village pump (technical)#Sandbox link). Orlodrim (discuter) 9 avril 2015 à 21:19 (CEST)
J'ai fait la demande : phab:T95604. Orlodrim (discuter) 9 avril 2015 à 21:31 (CEST)

jQuery == Brainfuck[modifier le code]

Bonsoir. Je m’insurge avec véhémence contre la « décision » non discutée d’imposer sur Wikimedia l’usage de jQuery, qui n’est en fait qu’une pâle copie de Brainfuck (en aussi imbitable, mais en moins drôle(Smiley: triste)).

J’aimerais connaitre tous vos trucs pour ne surtout pas utiliser $(jQuery).

Amitiés. --GaAs 2 avril 2015 à 20:19 (CEST)

Extension MediaWiki : LiveRC[modifier le code]

Voir Discussion MediaWiki:Gadget-LiveRC.js#Extension Mediawiki : LiveRC

⇨ Dr Brains ∞ Consultation ∞ 3 avril 2015 à 23:03 (CEST)

Tooltip[modifier le code]

Bonjour,

Je ne suis pas sûr que ce soit le bon endroit pour ma question, mais je tente Clin d'œil.

J'ai développé le module Module:Échiquier à partir de la version anglaise pour remplacer les codes des différents modèles d'échiquier ({{Diagramme d'échecs}}, ...), et j'ai pour l'instant un petit souci de performance (l'utilisation du module demande un peu plus de ressources processeur que le modèle actuel). Actuellement, le module utilise une image de fond de l’échiquier et ajoute par dessus une image pour chaque case. J'aimerais bien ne pas ajouter d'image dans le cas des cases vides, mais je voudrais conserver l'affichage d'un tooltip sur la case, ce qui est actuellement fait par le code wiki pour l'image de la case (ligne 109 du module, return string.format( '[[File:Chess %s45.svg|%dx%dpx|alt=%s|%s]]', caseName, size, size, alt, alt )). Est-ce qu'il y a un moyen simple pour ajouter un tooltip seul sur un div ? --NicoV (discuter) 8 avril 2015 à 11:15 (CEST)

Il suffit d'ajouter un attribut title à ton div, avec comme valeur le texte du tooltip.
Tu est rapide pour remercier ! J'avais a à peine poster la réponse sur le projet modèle, sans te notifier, je passe à une autre page et la notification était là.
Zebulon84 (discuter) 8 avril 2015 à 11:48 (CEST)
Merci Zebulon84, ça marche. Bon, ça ne résoud pas mon écart de performance par contre (Smiley: triste) Les statistiques semblent plus en faveur de Variante Najdorf‎ qui utilise l’ancien modèle que Utilisateur:NicoV/Variante Najdorf‎ qui utilise le nouveau modèle. Quelqu'un aurait des idées d'optimisation ? --NicoV (discuter) 8 avril 2015 à 18:20 (CEST)
Y a-t-il vraiment un problème de performance ? Les 36 modèles {{diagramme d'échecs}} mettent entre 1 et 2 secondes à être exécutés, contre 1 à 2 secondes pour les 36 {{Utilisateur:NicoV/Diagramme d'échecs}}. Pas d'amélioration certes, mais c'est pas non plus un temps infini. Ces temps sont indiqués dans le code source à la fin de la page. J'utilise la console pour le trouver rapidement (sous firefox click droit vers le bas de la page, Examiner l'élément ; Inspecter l'élément sous IE11). Le temps lui-même est variable suivant le serveur qui traite la demande, mais assez stable en %.
Quelques éléments qui peuvent améliorer la performance de Scribunto, mais peut-être pas vraiment ce module (je n'ai fait que le survoler) :
  • mw.ustring est assez lent. Il vaut mieux éviter de l'utiliser lorsque c'est possible, surtout dans les boucles ou dans les fonction souvent utilisées. Lorsque le pattern ne contient pas de caractères non ASCII on peut à priori utilisé string sans risque. Attention %a,%w... contiennent les caratères unicodes dans mw.ustring, mais pas dans string. Attention aussi la syntaxe s:gsub(...) utilise string.gsub et non mw.ustring.gsub.
  • alt = alt .. xyz n'est pas optimal si souvent utilisé, surtout si les chaines xyz sont souvent les même. Lua gère en effet un tableau avec toutes les chaines utilisées. chaque concaténation de ce type va donc générer une nouvelle entrée dans le tableau, avec vérification de l'unicité... Si alt fini par être une grande chaine il est plus rapide de mettre tout les bouts de chaines dans un tableau, et de concaténé le tableau à la fin. Ceci dit la différence est minime tant que le nombre de concaténation est faible (il en faut plusieurs milliers pour que la différences soit mesurable)
Zebulon84 (discuter) 8 avril 2015 à 19:49 (CEST)
Autre élément éventuel : il me semble qu'utiliser string.format est plus gourmand que concaténer des valeurs (quand c'est possible, ce qui est le cas ici).
Après − mais je ne sais pas si ça s'applique ici − il est plus efficace de rechercher un élément indexé (truc[bidule]) que de parcourir des éléments. Donc parfois c'est intéressant de construire une table (un peu) plus grande complète pour piocher dedans plutôt que de construire un résultat.
Cordialement, Hexasoft (discuter) 8 avril 2015 à 20:15 (CEST)
Conflit d’édition
Merci Zebulon84, je vais regarder les pistes d'optimisation que tu m'as indiqué Sourire
En fait, si je cherche à optimiser, c'est aussi suite à cette discussion. Etant parti du module anglais, j’espérais améliorer les temps. Par rapport au module anglais, ma plus grosse modification a consisté à ajouter des tooltips même pour les cases vides de l’échiquier. Ce qui veut dire un nombre nettement plus important d'appels à la fonction qui calcule les tooltips, donc ça peut être une piste. --NicoV (discuter) 8 avril 2015 à 20:27 (CEST)
Merci Zebulon84 et Hexasoft, j'ai tenté vos suggestions:
  • pas réussi à utiliser string à la place de mw.ustring, ça ne marche pas, tant pis
  • j'ai simplifié les concaténations et remplacé le format : il est possible que ça ait amélioré les choses, c'est passé de environ 6s à environ 4.5s sur un test
--NicoV (discuter) 8 avril 2015 à 20:46 (CEST)

Icône lien externe, comment ne pas le copier ?[modifier le code]

Bonjour,

Voilà mon souci : le lien mediawik.org est immédiatement suivi de l'icône External small.svg. Comment le moteur s'y prend-il pour qu'on ne puisse copier/coller l'icône ? Je souhaite en effet utiliser cette technique de « non-copie » pour un texte de Wikisource. J'ai trouvé une longue recette dans http://stackoverflow.com/questions/826782/css-rule-to-disable-text-selection-highlighting, mais je pense qu'il y a plus court. Par exemple, dans https://developer.mozilla.org/fr/docs/Web/CSS/:after, on propose plus court mais il faut utiliser la pseudo-classe :after.

Dans un fichier CSS :

.texte-interessant::after {
   content: "<- Là, ça devient intéressant !"; 
   color: green;
}

et dans HTML :

<p class="texte-ennuyeux">Du texte bien barbant.</p>

Comment inscrire la pseudo-classe directement dans le wikitexte ?

Merci de votre aide,

CdlEst discuter 17 avril 2015 à 18:04 (CEST)

L'icône en question n'est en fait pas une image (balise <img>) mais un background ajouté via la class css a.external.
Quelques exemples d'utilisation d'icônes en background pour des liens : Utilisateur:Dr Brains/common.css
⇨ Dr Brains ∞ Consultation ∞ 17 avril 2015 à 18:54 (CEST)

Boucle[modifier le code]

Bonjour, comment peut-on savoir quand une boucle est bien fini ? En effet, dans le script que j'écris, j'ai impérativement besoin que la boucle soit fini avant de lancer la suite. Merci d'avance.— Gratus (discuter) 19 avril 2015 à 17:23 (CEST)

C'est tout simple, après la boucle c'est plus la boucle :
for (var i = 0; i < 10; i++)
{
   console.log("C'est la boucle numéro " + i);
} 

console.log("La boucle est forcément finie quand on arrive ici");
Prométhée33 (discuter) 19 avril 2015 à 18:06 (CEST)
C'est plus complexe que ça car je crois qu'il y a des requêtes Ajax asynchrone dans la boucle.
Notification Gratus : On parle bien de Utilisateur:Gratus/PaFtec real.js ? Tu veux faire quoi exactement ?
⇨ Dr Brains ∞ Consultation ∞ 19 avril 2015 à 18:18 (CEST)
Notification Dr Brains : Bonjour. Oui, c'est bien ce script Sourire. La fonction « verification » vérifie que les articles existent. Si ce n'est pas le cas, il réactualise la page, mettant fin au script. La boucle dans « titrepaf » sert à faire vérifier que toutes les pages indiqués dans la variable « chaine » existent. Ce que je cherche à faire, c'est savoir quand la boucle est finie, c'est à dire, quand on est sûr que tous les articles existent avant de lancer la suite des opérations. — Gratus (discuter) 19 avril 2015 à 18:51 (CEST)
Fait Ca devrait fonctionner avec les modifs apportées.
⇨ Dr Brains ∞ Consultation ∞ 19 avril 2015 à 19:59 (CEST)
Notification Gratus : On peut même faire mieux. Avec le module prop=info, on peut tester plusieurs pages à la fois : une seule requête devrait donc suffire à toutes les tester.
⇨ Dr Brains ∞ Consultation ∞ 19 avril 2015 à 20:06 (CEST)
Notification Dr Brains : Bonjour et merci pour les améliorations. Pourrai tu m'expliquer comment fonctionne les « CallBack, CallBackArgs » de la ligne 22 ainsi que les lignes 39, 64 et 68 ? Cordialement.— Gratus (discuter) 20 avril 2015 à 07:08 (CEST)
Notification Gratus :
C'est relativement simple :
  • CallBack, c'est la fonction que tu passes en paramètre et que tu souhaites exécuter à la fin de la requête. Tu la définis au moment de l'appel de la fonction, ou ailleurs dans le script.
  • CallBackArgs c'est les arguments (dans un Object de préférence si tu veux en passer plusieurs) que tu souhaites que la fonction que tu exécutes à la fin utilise. Ces arguments sont facultatifs.
Un exemple simple :
// #### Fonction d'initialisation du bouzin
// - Pas d'arguments

var Init = function(){
      // Pas de lien pour les IP
    if(!mw.config.get('wgUserName')) return;
      // On définit le titre de la page "brouillon"
    var PageBrouillon = mw.config.get('wgFormattedNamespaces')[2] + ":" + mw.config.get('wgUserName') + '/Brouillon';
      // On crée un <li> et on l'ajoute aux liens personnels
    var BrouillonLi = document.createElement('li');
    document.getElementById('p-personal').getElementsByTagName('ul')[0].appendChild(BrouillonLi);
      // On définit les arguments nécessaires à la création du lien via la fonction "creerLien" définie plus bas
    var Args = { 
        page : PageBrouillon, 
        title : 'Votre brouillon', 
        text : 'Brouillon', 
        target : BrouillonLi
    };
      // On lance le test de la page
    testpage(PageBrouillon, creerLien, Args);
}


// #### Fonction pour tester l'existence d'une page
// - Page = titre d'une page
// - CallBack = fonction à exécuter après la fin du test
// - Args = Arguments à passer à la fonction CallBack

var testpage = function(Page, CallBack, Args){
      // On lance une requête API (asynchrone) pour avoir des infos sur la page
    var api = new mw.Api();
    api.get({
        action: 'query',
        prop: 'info',
        titles: Page
    }).then(function(data) { // La requête a aboutit
          // On vérifie si la page existe ( pageID < 0, si on a demandé des infos sur une seule page, la présence d'un item -1 indique que la page n'existe pas )
        var existe = !data.query.pages[-1];
          // Si la page n'existe pas, alors on ajoute un argument à passer à la fonction CallBack
        if(!existe) Args.missing = true; 
          // On vérifie que CallBack est bien une fonction et on l'exécute (avec les arguments)
        if(typeof(CallBack)==="function") CallBack(Args);
    });
}


// #### Fonction pour créer un lien
// - Args.title = infobulle du lien
// - Args.text = texte du lien
// - Args.page = page cible du lien
// - Args.missing = page manquante (facultatif)
// - Args.redirect = page redirigée (facultatif)
// - Args.target = node dans laquelle on insère le lien

var creerLien = function(Args){
      // On crée le lien
    var Lien = document.createElement('a');
      // On définit le titre
    Lien.title = Args.title;
      // On définit le texte du lien
    Lien.innerHTML = Args.text;
      // On définit la cible du lien
    Lien.href = mw.config.get('wgServer') + mw.config.get('wgArticlesPath').split('$1').join(Args.page);
      // Si Args.missing, la page est manquante (lien rouge via classe CSS "new")
    if(Args.missing) $(Lien).addClass("new");
      // Si Args.redirect, la page est une redirection (classe CSS "mw-redirect")
    if(Args.redirect) $(Lien).addClass("mw-redirect");
      // On met le lien dans la page,
    Args.target.appendChild(Lien);
}


// #### On lance le bouzin

$(Init);
Ce code rajoute un lien pour tout utilisateur enregistré vers sa sous-page /Brouillon après avoir testé son existence via une requête asynchrone sur l'API, et si elle n'existe pas alors elle est affichée en rouge (classe CSS "new").
⇨ Dr Brains ∞ Consultation ∞ 20 avril 2015 à 17:42 (CEST)
Notification Dr Brains : Bonsoir, désolé j'ai quasiment rien compris à l'exemple mais je crois comprendre lorsque je l'analyse avec mon script. En résumé, la fonction callback est la fonction qui est en variable de « vérification », les fonctions qui sont à effectuer à la fin sont inscrits dans la variable « CallBack ». Ensuite, quand la fonction « vérification » est exécutée, ce qui était gardé bien au chaud ressort grâce à « if(typeof(CallBack)==="function") CallBack(CallBackArgs) » qui peut être traduit par : si mon paramètre est en réalité une fonction, alors je « transforme » la variable en fonction et je récupère éventuellement CallBackArgs comme variables de la fonction « CallBack ». Mais dans ce cas, à quoi sert le « Args » dans « function(Args) » puisqu'elle ne semble pas être définie ? — Gratus (discuter) 20 avril 2015 à 18:50 (CEST)
Notification Gratus :
Avec les commentaires, ça va mieux ?
⇨ Dr Brains ∞ Consultation ∞ 20 avril 2015 à 19:24 (CEST)
Dr Brains : Beaucoup mieux Sourire, je pense comprendre le fonctionnement (j'ai juste dans mon raisonnement précédent ?). Comment fonctionnent les $ (par exemple : $(Lien)). En tout cas, merci pour tes réponses.— Gratus (discuter) 20 avril 2015 à 19:45 (CEST)
Notification Gratus :
Oui, tu as juste (même si c'est en des termes peu orthodoxes). $ c'est un alias de jQuery. Difficile à expliquer en quelques lignes. Tu trouveras un début de doc ici et surtout .
⇨ Dr Brains ∞ Consultation ∞ 20 avril 2015 à 20:06 (CEST)

Changement de l'API pour les requêtes concernant les journaux d'événements[modifier le code]

BREAKING CHANGE: Formatting of log parameters is changing in logevents, recentchanges, and watchlist queries

Le changement aura lieu le 29 janvier avril pour Wikipédia. Les scripts contenant "logevents" ou "loginfo" nécessitent pour la plupart une mise à jour. Je pense que LiveRC est concerné, en particulier.

Orlodrim (discuter) 20 avril 2015 à 22:46 (CEST)

Notification Orlodrim :
Merci pour l'info. En effet, LiveRC sera impacté.
29 janvier ? Tu veux dire avril bien sûr.
⇨ Dr Brains ∞ Consultation ∞ 20 avril 2015 à 22:57 (CEST)
Oups, oui, c'est bien ça. Orlodrim (discuter) 20 avril 2015 à 22:58 (CEST)
LiveRC prêt.
⇨ Dr Brains ∞ Consultation ∞ 20 avril 2015 à 23:34 (CEST)
Notification Dr Brains : Il y a aussi MediaWiki:Gadget-GlobalWatchlist.js qui contient "new_title", propriété qui va être renommée. Les scripts de certains utilisateurs pointent encore vers Utilisateur:Dr Brains/GlobalWatchlist.js, peut-être peux-tu le remplacer par un simple import du gadget.
Orlodrim (discuter) 21 avril 2015 à 19:59 (CEST)
Notification Orlodrim :
Fait Corrigé.
Je n'ai pas trouvé d'utilisateur utilisant Utilisateur:Dr Brains/GlobalWatchlist.js, hormis Utilisateur:H4stings/vector.js que j'ai corrigé. Tu en connais d'autres ?
⇨ Dr Brains ∞ Consultation ∞ 21 avril 2015 à 20:13 (CEST)
Utilisateur:Grind24/vector.js, Utilisateur:Mathieugp/vector.js, Utilisateur:NicoV/vector.js (en commentaire), ainsi que dans un grand nombre de sous-pages "/GlobalManager.js" [1] (j'ignore s'il est utile de modifier dans ces sous-pages). Orlodrim (discuter) 21 avril 2015 à 20:43 (CEST)

PàStec[modifier le code]

Bonjour, j'ai amélioré le script en ajoutant des tableaux, ce qui permet d'avertir plusieurs projets/contributeurs à la fois (contre 2 avant) et simultanément. Cependant, j'ai deux bugs principaux (mais suffisamment mineure pour que je le laisse dans le script le temps d'avoir une réponse) :

  1. Les noms avec espaces ne sont pas accepté par le script, l'ajout n'est pas réalisé (cependant les autres noms classiques sont acceptés, même s'ils se trouvent après le noms problématique).
  2. Le message « Traitement en cours, veuillez patienter. Si ce message persiste, une erreur a du survenir.  » ne se retire pas.

Gratus (discuter) 4 mai 2015 à 21:25 (CEST)

Notification Gratus : Avant que tu ailles plus loin : j'ai pas mal bossé de mon côté (miroir).
⇨ Dr Brains ∞ Consultation ∞ 4 mai 2015 à 23:26 (CEST)
Notification Dr Brains : Je viens de voir, ça à l'air d'être du lourd. Je te laisse faire pour éviter de me voir mon travail « écrasé » Sourire. En tout cas merci pour l'attention apporté à ce script. — Gratus (discuter) 5 mai 2015 à 01:03 (CEST)

Renommer onglet liste de suivi[modifier le code]

Bonjour,

Quelle fonction javascript faut-il utiliser si je souhaite par exemple changer le nom de l'onglet "liste de suivi" en haut de page par "LdS" ?

Cordialement. £e p$y £éon (discuter) 7 mai 2015 à 15:40 (CEST)

function RenameLdS(){
    var LdSLi = document.getElementById('pt-watchlist');
    if(!LdSLi) return;
    LdSLi.firstChild.innerHTML = "LdS";
}
$(RenameLdS);
Par exemple.
⇨ Dr Brains ∞ Consultation ∞ 7 mai 2015 à 17:41 (CEST)
Yes, c'est ça, merci ! £e p$y £éon (discuter) 7 mai 2015 à 22:32 (CEST)

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

Le changement annoncé plus haut aura lieu à la fin du mois de juin (voir aussi Discussion Wikipédia:Bot#API BREAKING CHANGE: Default continuation mode for action=query will change at the end of this month).

J'ai mis à jour les scripts de l'espace MediaWiki le 21 avril, mais il y en a au moins un nouveau depuis (MediaWiki:Gadget-AddContribNumberInNewPages.js).

Je n'ai pas vérifié les sous-pages personnelles, il reste peut-être d'autres gadgets à mettre à jour.

Orlodrim (discuter) 3 juin 2015 à 19:38 (CEST)

afficher des suggestions basées sur les pages d'une catégorie[modifier le code]

bonjour tout le monde, je cherche a afficher (par fonction javascript) des suggestions basées sur les pages membres d'une catégorie. Quelque chose qui ressemble à ce que affiche BandeauxPortails.js.

Mon problème : l'api disponible (categorymember) ne permet pas d'afficher une partie de la liste basée sur un préfixe (exemple des titres commencent par « 2015 en .. ».

y-a-t-il une autre solution ?? --وهراني (discuter) 8 juin 2015 à 21:46 (CEST)

newCollapsible et target[modifier le code]

Le projet:Aide et accueil utilise abondamment le gadget newCollapsible via {{Section déroulante début}} / fin. Le problème c'est que les liens vers un titre à l'intérieur d'une section enroulée ne marchent pas.

J'arrive à les faire marcher avec le code suivant :

function openNewCollapsibleTarget() {
	$( this ).find('> .fr-collapsible-toggle-collapsed').click();
}
$( ':target()' ).parents( '.fr-collapsible' ).each( openNewCollapsibleTarget );
$( window ).on('hashchange', function(){ 
	$(':target').parents( '.fr-collapsible' ).each( openNewCollapsibleTarget );
});

C'est bien plus court que ce que j'imaginais initialement. J'ai malgré tout quelques questions :

  • y a-t-il moyen de mieux l'intégré au gadget.
  • avez-vous une solution pour que ça marche deux fois de suite sur le même lien. En effet avec la formule actuelle l'ouverture des boites n'est faite que lors du changement du target dans l'url. si on a refermer les boites recliquer sur le même lien ne les rouvre pas puisque l'adresse ne change pas.
  • Je ne comprend pas vraiment l'utilité du return au début de la fonction « newCollapsible ». Est-ce que ca marcherait sans ?

Zebulon84 (discuter) 13 juin 2015 à 18:43 (CEST)

DrapeauJaune[modifier le code]

Bonjour le projet JS Sourire,

J'ai développé il y a quelques mois de cela un script, DrapeauJaune.js, qui sert à marquer comme douteuse des modifications, afin d'éviter que celles-ci ne tombent dans l'oubli général et que quelqu'un de compétent dans le domaine puisse passer derrière pour vérifier.

Cela a aujourd'hui bien fait ses preuves, et suite à plusieurs demandes (sur IRC ou sur le Bistro), j'envisage

  1. de déplacer la liste des modifications douteuses dans l'espace Wikipédia ;
  2. de faire du script un gadget.

Est-ce que cela vous semble pertinent, vous qui avez plus l'habitude que moi des scripts ? Si oui, j'avertirais en premier lieu les utilisateurs actuel avant de déplacer quoi que se soit.

Merci — 0x010C ~discuter~ 15 juillet 2015 à 22:15 (CEST)

Flow[modifier le code]

Article connexe : Discussion Wikipédia:Bot#Flow.

Bonjour,

Flow arrive sur les pages de discussion utilisateur.

Pour l'instant, c'est en phase de test (trois utilisateurs qui l'ont fait activer manuellement). J'ai cherché les gadgets qui laissent des messages aux utilisateurs et qui doivent être mis à jour, pour l'instant j'ai repéré :

Les fonctions qui écrivent des pages de discussion utilisateur doivent être mise à jour pour utiliser action=flow&submodule=new-topic (j'ai donné des liens sur la page de discussion des bots). LiveRC est sans doute un gros morceau, si jamais vous avez du temps pour vous plonger dans le code...

Orlodrim (discuter) 20 juillet 2015 à 20:40 (CEST)

Pour poster des messages sur les PDD, MW core propose maintenant une API JS permettant de poster une nouvelle discussion que ce soit sur une PDD classique ou Flow. C'est le module mediawiki.messagePoster. Tpt (discuter) 21 juillet 2015 à 06:02 (CEST)

Dépréciation de document.write[modifier le code]

Bonjour,

La prochaine version de ResourceLoader étant complètement asynchrone, il ne sera plus possible d'effectuer des modifications synchrones à l'aide de document.write dans les gadgets, common.js. etc.

Sur la Wikipédia francophone, il y a encore une poignée de scripts qui se servent de cette fonction :

Amicalement — Arkanosis 6 août 2015 à 09:06 (CEST)

Projet:JavaScript/Notices/RevertDiff[modifier le code]

Un petit souci en ce qui concerne ce gadget : il semble qu'il ne soit plus possible de laisser un résumé de modif précis. La fenêtre popup ne s'ouvre plus lorsque l'on clique sur "message", mais peut-être est-ce un souci similaire à ceci, corrigé par Arkanosis ?--SammyDay (discuter) 24 août 2015 à 19:09 (CEST)

Est-ce encore d'actualité après un petit Ctrl + F5 ? Je pensais avoir corrigé ce problème vendredi soir suite à ce signalement
Pour information, il reste encore une belle poignée de gadgets à réparer.
Amicalement — Arkanosis 24 août 2015 à 20:25 (CEST)
C'est nickel, merci !--SammyDay (discuter) 24 août 2015 à 21:20 (CEST)

Suggestion : gadget "onglet WikiBlame"[modifier le code]

Bonsoir,

Seriez-vous intéressé par la création d'un gadget "OngletWikiBlame" ? Comme le nom l'indique, cela permettrait d'ouvrir la page en cours dans WikiBlame, un outil extrêmement utile !

L'ajout est très simple et se ferait à la suite des autres gadgets de type "onglet". Le code est le suivant :

if ( mw.config.get( 'wgNamespaceNumber' ) >= 0 ) {
    $( document ).ready( function () {
        mw.util.addPortletLink(
            'p-cactions',
            'http://wikipedia.ramselehof.de/wikiblame.php?lang=fr&article='
                + encodeURIComponent( mw.config.get( 'wgPageName' ) ).replace( /_/g, '+' ),
            'WikiBlame',
            'ca-wikiblame',
            'Ouvrir WikiBlame avec cette page pré-renseignée'
        );
    });
}

Ce message pour savoir si vous approuvez la suggestion. Personnellement j'utilise l'outil depuis des années, et on peut dire qu'il m'a rendu de fiers services. Clin d'œil

od†n ↗blah 14 septembre 2015 à 02:41 (CEST)

Il y a déjà un lien vers Wikiblame dans les historiques (« Rechercher l'auteur d'un passage de l'article »). Tu penses quand même que ce serait utile ? Orlodrim (discuter) 15 septembre 2015 à 00:07 (CEST)
Je n'avais pas remarqué ce lien dans les historiques ; du coup, ajouter un gadget pour faire gagner un clic de distance ne me parait pas rentable.
En revanche, j'ai remarqué que le paramètre "binary_search_inverse" (apparu ici, correction ici) est ineffectif, car la valeur reconnue est "on". Mais comme il serait inopportun de l'activer, il faudrait tout simplement le supprimer.
od†n ↗blah 15 septembre 2015 à 05:34 (CEST)
Je l'ai supprimé. Orlodrim (discuter) 15 septembre 2015 à 21:18 (CEST)

MediaWiki:Gadget-PageAuHasard.js et modèle {{Page au hasard}}[modifier le code]

Bonjour,

est-ce que quelqu'un saurai intégrer le Module:Random plutôt que le Modèle:Rand dans les modèles ci-dessus ? Ainsi, pour des pages telles que Portail:Bogota/Page au hasard/Liste, cela intégrerait directement le code [[{{#invoke:random|item|article1|article2|article3}}]] plutôt que {{#switch: {{{1|{{rand|1|3}}}}}|1=[[article1]]|2=[[article2]]|3=[[article3]]}}. Cela permettrait d'éliminer les "X=" et les "[[]]", soit 6 octets par ligne. Ça peut paraître dérisoire, mais pour des pages telles que Portail:Angleterre/Page au hasard/Liste pour lesquelles il y a près de 18000 articles liés, cela permettrait d'en réduire considérablement le poids et de pouvoir les générer plus rapidement (donc moins de ressources serveur).

N'ayant pas réussi à le faire par moi-même, un coup de main éventuel serait le bienvenu (cf un exemple d'utilisation du Module:Random sur cette page). Cordialement. £e p$y £éon (discuter) 24 septembre 2015 à 16:10 (CEST)

Je viens de faire une petite modification sur le code de MediaWiki:Gadget-PageAuHasard.js et je l'ai testé sur Portail:Psychologie/Page au hasard/Liste. Ce script semble toujours fonctionner sauf qu'au lieu d'avoir une page de 130 971 octets, elle n'est plus que de 88 389 octets ! Qu'en pensez vous ? Ce code vous semble-t-il correct ? Cordialement. £e p$y £éon (discuter) 24 septembre 2015 à 22:11 (CEST)
Ça semble correct. J'ai ajouté le remplacement de "=" par "{{=}}", sinon, sans la numérotation, les titres avec des signes "=" seraient interprétés comme des paramètres nommés du module. Je ne pense pas que le "rawcontinue=1" soit nécessaire. Orlodrim (discuter) 24 septembre 2015 à 22:44 (CEST)
Orlodrim, "rawcontinue=1" rajouté suite conseil de Notification Prométhée sur sa PDD. Après, si cela n'est effectivement pas nécessaire, on peut toujours l'enlever. £e p$y £éon (discuter) 24 septembre 2015 à 22:54 (CEST)
Orlodrim a raison ça sert à rien, Portail:Psychologie/Page au hasard/Liste contient a priori le même nombre d'article qu'avant donc le rawcontinue change rien : tu les récupérais déjà tous avant. La perte d'octet semble uniquement due au module random. Prométhée (discuter) 25 septembre 2015 à 08:05 (CEST)
"rawcontinue=1" supprimé. Il semblerait même engendre des problèmes car la page Portail:Afro-Américains/Page au hasard pour laquelle j'ai effectué un test s'est retrouvée catégorisée dans Catégorie:Page utilisant des arguments dupliqués dans les appels de modèle. £e p$y £éon (discuter) 25 septembre 2015 à 08:59 (CEST)
Le script semble fonctionner correctement avec des gains considérables pour certaines pages. Si vous voyez d'autres améliorations à apporter, je suis preneur, dans la mesure du possible. Cordialement. £e p$y £éon (discuter) 25 septembre 2015 à 10:00 (CEST)

hotcast[modifier le code]

(problème abordé ici: Wikipédia:Le Bistro/17 octobre 2015#Portails et catégories)

bonjour, sur cette page: Projet:JavaScript/Notices/BandeauxPortails vous dites (ligne 2) "Son fonctionnement est similaire à celui du gadget HotCats." voulez vous dire hotcatsmulti à la place de hotcats? (la redirection vers la notice hotcats est vide. une redirection vers la notice de hotcats multi serait peut être mieux?) --Vatadoshu... 17 octobre 2015 à 20:18 (CEST)

Bouton maison[modifier le code]

Bonsoir, j'ai essayé de me faire un bouton de modification pour wikifier et mettre en italliques un terme en un seul clic ( ''[[]]'' ). J'ai bidouillé un bouton existant mais ça me fait disparaitre la moitié de ma barre monobook. Qu'est-ce qu'il faut corriger Boulet ?

   mw.toolbar.addButton('//upload.wikimedia.org/wikipedia/commons/b/bd/Wikilinker.png',
    'Taxon',
    '''[[',
    ']]''',
    '',
    'mw-editbutton-taxon');  

-- Amicalement, Salix [Converser] 27 octobre 2015 à 18:04 (CET)

Notification Salix : Si tu veux insérer du texte qui contient des apostrophes comme ''[[, encadre-le avec des guillemets ("''[[") plutôt qu'avec des apostrophes ('''[['). Même chose pour la ligne suivante : ']]'''"]]''". Orlodrim (discuter) 27 octobre 2015 à 18:57 (CET)
Merci Orlodrim, ça marche impec' Clin d'œil ! -- Amicalement, Salix [Converser] 28 octobre 2015 à 21:30 (CET)

Spécial:GadgetUsage[modifier le code]

Nouvelle page spéciale (phab:T115152), résultats un peu inattendus il me semble. Il y a peut-être du ménage à faire vers la fin de la liste, qui allonge la liste des préférences alors que ce n'est utilisé par presque personne. — Oliv☮ Éppen hozzám? 7 novembre 2015 à 06:50 (CET)

Après retrait des gadgets qui n’existent plus
Ordre (section/no ) Gadget Nombre d’utilisateurs
01/13 Popups 3 160
01/11 LastContrib 3 030
09/01 DeluxeHistory 2 958
01/08 FlecheHaut 2 887
04/04 ResumeDeluxe 2 739
04/08 WikEd 2 537
03/01 EditZeroth 2 491
04/05 QPreview 2 429
03/02 OngletGoogle 2 380
06/01 CaracteresHTML 2 305
06/02 CaracteresMagic 2 244
02/02 SousPages 2 054
11/02 RevertDiff 1 846
03/04 OngletPurge 1 795
02/01 NavigAdmin 1 794
13/04 Evaluation 1 721
07/03 HotCatsMulti 1 674
06/03 CaracteresParser 1 614
03/03 OngletJournal 1 606
02/03 TriInterWiki 1 597
01/02 AncreTitres 1 573
10/02 OptimizedSuivi 1 534
01/03 dictionaryLookupHover 1 487
01/09 HomonymiesEnCouleur 1 474
10/01 LiveRC 1 422
07/02 BandeauxPortails 1 376
01/18 ZoomOnThumb 1 358
13/01 Accessibility 1 312
01/15 tooltipRef 1 279
07/01 BandeauxEbauches 1 241
01/01 AffMasLiens 1 220
01/04 EbauchesOff 1 118
12/02 AdvancedResearch 1 081
06/05 specialchars 981
01/14 referencederoulante 974
04/02 iRef 938
13/02 AvertissementImage 928
13/05 OptimizedShort 924
04/06 searchbox 904
08/01 AdvancedContribs 887
03/06 UTCLiveClock 861
08/02 ContribColors 766
05/03 MonobookToolbarSources 759
08/03 contribsrange 638
02/04 verifHomon 631
03/05 SupprimerInfoBulles 596
01/07 ExtendedCache 583
10/03 recentchangesbox 563
13/07 SuppressionDeluxe 485
02/05 verifEbauche 472
05/01 ForceMonobookToolbar 467
01/10 interProjets 466
12/03 OldSearchBox 454
05/04 MonobookToolbarPatrouille 453
04/03 MagnusEditBox 440
10/04 SuiviSimple 395
05/08 MonobookToolbarChangeCase 374
04/01 DotsSyntaxHighlighter 370
06/04 CaracteresOff 363
05/07 MonobookToolbarSmiliesAlien 337
05/09 MonobookToolbarDiacritiques 335
05/06 MonobookToolbarNotif 314
13/09 BugStatusUpdate 216
10/05 GlobalWatchlist 173
01/19 VectorClassic 158
04/07 TiretSignature 150
13/08 AllmessagesDeluxe 109
01/20 MiseEnPageEspaceAide 85
13/06 PaStec 85
01/05 LabelsOff 84
13/03 DeleteBot 31
11/01 ConfirmRollback 24
08/04 FusionContribs 4
Cette copie pourra aussi servir de référence future pour voir les évolutions.
En plus d’un éventuel ménage, il serait intéressant de comparer avec l’ordre dans lequel ils sont présentés (et éventuellement adapter celui-ci).
— bonnes contributions, Ltrlg (discuter), le 7 novembre 2015 à 18:28 (CET)
Aparté : sur la page en question, le tri des colonnes se fait incorrectement ; les valeurs sont traitées commes des chaînes et non comme des nombres. À part cela, une nouvelle page très utile Clin d'œil od†n ↗blah 31 janvier 2016 à 03:56 (CET)

Compter les unread[modifier le code]

Bonsoir,

existe-il une fonction javascript pour compter le nombre de unread (pages modifiées non lues) de notre liste de suivi ?

Cordialement. £e p$y £éon (discuter) 23 novembre 2015 à 23:01 (CET)

Bonjour, je pensais avoir trouvé la solution en générant un JSON (exemple) et en récupérant la valeur de unreadcount mais je n'y parviens pas. Quelqu'un sait-il comment faire ? Cordialement. £e p$y £éon (discuter) 25 novembre 2015 à 11:02 (CET)

Ça dépend comment tu veux l'utiliser exactement, mais si par exemple tu veux modifier le lien « Liste de suivi » dans la barre personnelle pour y ajouter le résultat, tu peux faire comme ça :

var api = new mw.Api();
api.get({action: 'query', meta: 'userinfo', uiprop: 'unreadcount'}).done(function (data) {
    $('#pt-watchlist a').text('Liste de suivi (' + data.query.userinfo.unreadcount + ')');
});

Orlodrim (discuter) 25 novembre 2015 à 20:14 (CET)

Bonsoir Notification Orlodrim. J'avais trouvé le code suivant qui semble aboutir au même résultat mais en plus de lignes :
var req= new XMLHttpRequest();
req.open("GET", mw.config.get('wgServer') + mw.config.get('wgScriptPath') + "/api.php?action=query&meta=userinfo&format=json&uiprop=unreadcount", true);
req.onreadystatechange = function() {
  if (req.readyState === 4 && req.status === 200) {
    var json = JSON.parse(req.response);
    document.write(json.query.userinfo.unreadcount);
  }
};
req.send(null);
Néanmoins, que ce soit mon code ou le tien, je ne parviens pas à l'insérer dans le code d'Utilisateur:Lepsyleon/MajLdS.js qui permettrait d'avoir, quand il y a de nouveaux éléments non lus dans la liste de suivi, un fond rouge ET le nombre d'éléments non lus. Si tu as une solution, je suis preneur ! Cordialement. £e p$y £éon (discuter) 25 novembre 2015 à 21:19 (CET)
Bizarrerie : alors que je n'ai plus que deux éléments non lus dans ma liste de suivi, ton script comme le mien indiquent que j'en aurais 4. Comment cela peut-il être expliqué ? Cordialement. £e p$y £éon (discuter) 25 novembre 2015 à 21:37 (CET)

api.get() ne renvoie pas le résultat, elle exécute une autre fonction en lui donnant en paramètre le résultat (que j'ai nommé data). Tout ce que tu veux faire avec ce résultat, il faut donc le mettre dans le fonction appelée par api.get().

var api = new mw.Api();
api.get({action: 'query', meta: 'userinfo', uiprop: 'unreadcount'}).done(function (data) {
    if (data.query.userinfo.unreadcount == 0) return;
    $('#pt-watchlist a').text('Liste de suivi (' + data.query.userinfo.unreadcount + ')').css({
        "background-color": "#C00",
        // Autres attributs CSS...
    });
});

Quant au nombre de messages non lus, je n'ai jamais regardé en détail comment ça fonctionnait (personnellement, j'ai entièrement désactivé la mise en évidence des modifications non consultées). Peut-être s'agit-il de modifications par des bots, masquées par défaut ? Ou alors des modifications trop anciennes pour être encore affichées ? Orlodrim (discuter) 25 novembre 2015 à 22:21 (CET)

Notification Orlodrim, merci pour l'aide. J'ai réussi à l'intégré dans mon code et il semblerait que cela fonctionne. Mais, j'ai toujours le problème avec le nombre de messages non lus, alors que les modifications des bots sont affichées ainsi que celles de wikidata. Même quand je désactive ces options, le bug demeure. Lepsyleon (discuter) 25 novembre 2015 à 22:43 (CET)
Notification Orlodrim, pour info, bug qui semble avoir disparu maintenant que je ne fais plus charger le brouillon de mon code javascript. Encore merci ! Cordialement. £e p$y £éon (discuter) 26 novembre 2015 à 12:12 (CET)
Bonjour Orlodrim. Je pense avoir trouvé la source du problème d'écart entre le nombre généré par le script et ce que je vois dans ma liste de suivi. En fait, il comptabilise les modifications apportées sur un article via wikidata, bien que celles-ci soient masquées dans ma liste de suivi. Sais tu comment faire pour que les modifications sous wikidata ne soient pas comptabilisées ? --Cordialement. £e p$y £éon (discuter) 27 novembre 2015 à 18:01 (CET)
Pas directement. Tu peux utiliser la fonction qui renvoie les articles de la liste de suivi qui satisfont certains critères et afficher le nombre d'éléments du résultat. La requête suivante renvoie les dernières modifications non vues (au plus 500) ayant n'importe quel type sauf « external » (c'est-à-dire Wikidata), sans inclure ni le titre ni aucune autre propriété (vu que ça ne sert qu'à compter) : https://fr.wikipedia.org/w/api.php?action=query&list=watchlist&wltype=edit%7Cnew%7Clog&wlprop=&wlshow=unread&wllimit=500. Orlodrim (discuter) 27 novembre 2015 à 21:03 (CET)
non désolé, ça ne semble pas fonctionner car il m'inclut un article modifié via wikidata dans le total des non lus. Tant pis, je vais voir pour faire autrement. --Cordialement. £e p$y £éon (discuter) 29 novembre 2015 à 21:56 (CET)

fr-collapsible fr-collapsed[modifier le code]

Bonsoir, je vous signale la discussion sur Wikipédia:Le Bistro/30 janvier 2016#Bandeau d'admissibilité "hors normes" selon laquelle, il faudrait corriger le script java pour "fr-collapsible fr-collapsed" utilisé par {{admissibilité à vérifier}} et {{suppression}}. Notification Jacques Ballieu et Pic-Sou : ont tous deux rencontré des problèmes d'affichage alors que sur mon navigateur tout semble ok. Salutations, Orphée [||] 30 janvier 2016 à 21:26 (CET)

Bonjour, j'ai le même souci avec Firefox 38.4 (pas de souci sur Chrome par contre). Quelque soit les paramètres dans le modèle, la partie "suppléments" reste affichée, ce qui rend le bandeau énorme. Par exemple, sur Hippolyte Brun (d · h · j · ), dans ma console d'inspection JS sur Firefox, j'ai l'erreur suivante :
"NS_ERROR_DOM_QUOTA_REACHED: Persistent storage maximum size reached" DOMException [NS_ERROR_DOM_QUOTA_REACHED: "Persistent storage maximum size reached"
code: 1014
nsresult: 0x805303f6
location: https://fr.wikipedia.org/w/load.php?debug=false&lang=fr&modules=jquery%2Cmediawiki&only=scripts&skin=vector&version=M%2BuGO6Lg:175]

. — H4stings d 1 février 2016 à 10:46 (CET)

[édit] en réactivant le gadget "NewCollapsible", tout est revenu dans l'ordre. — H4stings d 1 février 2016 à 10:50 (CET)
Cette erreur est causée par le problème décrit sur T67364, ce n’est pas lié à une absence d’exécution de gadget (en général…) — bonnes contributions, Ltrlg (discuter), le 1 février 2016 à 15:54 (CET)

Je commence à me lasser de ces problèmes récurrents à cause de la gestion par gadget. L’intégrer au common.js, même si moins pratique à gérer, les éviterait. Des avis ? — bonnes contributions, Ltrlg (discuter), le 1 février 2016 à 15:54 (CET)

Anniversaires du jour[modifier le code]

Bonjour à tous,

Notification Dr Brains m'avait créé il y a quelques temps un script affichant les anniversaires du jour à l'entrée de Wikipédia, mais il semble ne plus fonctionner. Quelqu'un pourrait le corriger ?

Merci et bon dimanche, — Superjuju10 [Aubline à votre disposition], le 8 mai 2016 à 10:35 (CEST)

Notification Superjuju10 : je peux regarder, il faudrait juste que tu me précises où ça apparaissait exactement ? Prométhée (discuter) 8 mai 2016 à 14:34 (CEST)
En haut de la page, derrière les onglets « Lire », « Modifier le code », etc mais devant le titre de la page. — Superjuju10 [Aubline à votre disposition], le 8 mai 2016 à 14:36 (CEST)
Sur Utilisateur:Prométhée/test.js, j'ai réussi à récupérer le bandeau. Après pas sûr que le lien de remise a zéro fonctionne comme avant. Prométhée (discuter) 8 mai 2016 à 17:43 (CEST)
Notification Prométhée Tout semble marcher. Merci à toi SourireSuperjuju10 [Aubline à votre disposition], le 8 mai 2016 à 23:35 (CEST)

Affichage des modifications Wikidata dans la liste de suivi (groupée par page)[modifier le code]

Bonjour bonjour. Il n'a pas du échapper à la plupart d'entre vous les tensions autour de Wikidata. Un des reproches les plus récurrents est l'impossibilité d'afficher les modifications de Wikidata dans la liste de suivi de Wikipédia, dès que cette dernière est groupée par page. Il avait été question d'une évolution du logiciel Mediawiki, mais visiblement ce n'est pas prioritaire (le ticket n'a pas beaucoup bougé depuis un an...).

Or je me suis rendu compte hier qu'un contributeur russe avait réalisé un script qui corrige exactement ça : Ru:MediaWiki:Gadget-wefwatchlist.js. Sur WPru, c'est devenu un simple gadget à activer dans les préférences, qui marche visiblement plutôt bien (je l'ai testé pour vous là-bas). Du coup j'ai tenté de reprendre le truc pour ici. Le problème c'est que je suis une pipe en Javascript. Et, le développeur, Vlsergey (d · c · b), que j'ai interrogé sur sa Pdd russe, n'a pas donné de nouvelles depuis février. J'ai peur qu'il ne faille donc pas trop compter sur lui…

Bref. J'ai copié le code sur meta et fait quelques bidouilles. Ca fonctionne en partie pour le transfert de la liste de suivi WP vers Wikidata (il y a un problème de limite à 300 pages, mais bon c'est accessoire). Par contre ça n'affiche rien du tout en retour dans la liste de suivi, alors que les éléments Wikidata semblent bien être récupérés (ma console JS sur Firefox indique juste « mal formé »…).

Certains partageraient-ils suffisamment mon enthousiasme pour ce script, susceptible de ramener paix et bonheur sur WPfr, pour y jeter un coup d'œil ? Pour info, il a un github associé, avec tous les gadgets dedans, mais je m'y perds un peu. Ce serait cool. Sourire Merci d'avance. — H4stings d 1 juin 2016 à 18:15 (CEST)

Ah, on dirait que ça marche. SourireH4stings d 2 juin 2016 à 00:09 (CEST)
Mon code est là : Utilisateur:H4stings/wef-watchlist.js. N'hésitez pas à le tester et à me faire des retours. S'il fait bien le taf, je suis preneur de votre expertise sur où et comment le mettre à disposition de tout un chacun (sur Projet:JavaScript/Liste des fonctions disponibles j'imagine, mais encore ?). — H4stings d 2 juin 2016 à 18:10 (CEST)

wgWikibaseItemId[modifier le code]

Hello. Question aux habitués du Javascript. Je souhaite récupérer le wgWikibaseItemId d'une page depuis son historique, mais ça ne fonctionne pas (la commande mw.config.get( 'wgWikibaseItemId' ) fonctionne depuis un article, mais renvoie null depuis l'historique du même article). Quelqu'un aurait un conseil / unbe idée ? Merci ! — H4stings d 4 juin 2016 à 10:51 (CEST)

C'est bon j'ai trouvé une fonction qui fait le truc dans les pages de code du cher vlsergey, j'en suis à récupérer l'historique de l'élément sur Wikidata avec l'API. Reste ensuite à afficher le résultat de façon lisible. A suivre... — H4stings d 4 juin 2016 à 15:36 (CEST)

Accès Wikidata dans gadget[modifier le code]

Notification H4stings : et tous : juste pour savoir parce que ça n'a pas l'air clair : en JS on ne peut pas appeler l'accès Lua à Wikidata (mw:Extension:Wikibase Client/Lua), par exemple le libellé à partir d'un élément Qxxx de modifs Wikidata en liste de suivi / historique ? — Oliv☮ Éppen hozzám? 8 juin 2016 à 16:29 (CEST)

A priori, le plus simple (mais pas le plus rapide...) sera d'appeler l'API Wikidata pour pouvoir remplacer les ID par les labels correspondants. Ça je peux faire en JS. — H4stings d 8 juin 2016 à 16:44 (CEST)

Défi[modifier le code]

Ô Grands Maîtres Goa'uld du code,

Pourriez-vous, à l'aide de vos doigts magiques, voir si Xpatrol.js, créé par le génialissime Arkanosis (mais qui semble un peu occupé en ce moment), nécessite une intervention de grande ampleur ou juste un petit point de suture pour que les demandes de purges d'historique soient de nouveau disponibles avec cet outil. Et si cela ne nécessite qu'un patch d'ampleur réduite, est-ce que vous pourriez voir si c'est dans vos cordes ? Sourire

Pour vous donner un peu plus envie de vous pencher dessus, l'outil est cassé depuis le 30 avril 2015 et l'activation des balises personnalisables dans les historiques. Ci-dessous le nombre de modifications par mois sur la page WP:DPH en 2015.

Merci d'avance, — Mattho69 me joindre 28 juin 2016 à 17:16 (CEST)

Je me suis penché là dessus, ça devrait déjà aller mieux. On était clairement du côté « point de suture ». (pas implémenté le support pour le funeste Flow, c'est probablement tout simple à faire, mais je vous laisse gérer ce truc infâme) – od†n ↗blah 29 juin 2016 à 04:10 (CEST)
Loués soient les Oris od†n. Merci SourireMattho69 me joindre 29 juin 2016 à 04:19 (CEST)
Merci Od1n ! Sourire
Et merci à toi aussi, Mattho69 Clin d'œilArkanosis 29 juin 2016 à 12:24 (CEST)

Projet:JavaScript/Notices/ListAllPortals[modifier le code]

Depuis quelques jours mon bot plante systématiquement sur une partie de MediaWiki:Gadget-ListAllPortals.js.

Cf cette édition : [2] par exemple.

Je n'ai pas d'erreur en console et rien ne semble avoir bougé dans le code. Une idée de ce qui pourrait faire planter ? Prométhée (discuter) 24 juillet 2016 à 11:39 (CEST)

Fait J'ai trouvé et corrigé le bug. De manière plus générale, ce gadget aurait besoin d'un ravalement, mais bon c'est loin d'être le seul, et du moment qu'il est fonctionnel… od†n ↗blah 24 juillet 2016 à 20:57 (CEST)
merci, difficile à voir comme changement. J'ai vu aussi des choses obsolètes mais ça demande du temps de faire des modifs... Prométhée (discuter) 24 juillet 2016 à 21:04 (CEST)