Discussion Projet:Scripts et gadgets

Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Portail de qualité
  • Bon portail
  • Lumière sur
  • À faire
  • Archives
  • Commons
Le projet « Scripts et gadgets » a 3 notifications (voir).
PROJET SCRIPTS ET GADGETS
Centraliser les fonctions JavaScript et CSS pour éviter la dispersion du code.


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


Template gadgets

modifier
Enregistré sur Phabricator
Tâche 204201
Enregistré sur Phabricator
Tâche 63007
  Ne pas archiver.

Bonjour,

Depuis phab:T204201#9559072 il est possible de restreindre l'activation de gadgets aux pages dans une certaine catégorie, ce qui permet de faire des mw:Template gadgets : du code javascript qui ne s'active que lorsqu'un certain modèle est présent dans la page (le modèle doit juste ajouter une catégorie). Cela fonctionne car les gadgets activés par défaut sont aussi activés pour les IPs.

Beaucoup de code dans MediaWiki:Common.js a précisément pour rôle de ne s'activer que lorsqu'un modèle précis est présent : Modèle:Titre incorrect, Modèle:Sous-titre, Modèle:Méta palette de navigation, Modèle:Boîte déroulante, Modèle:Animation, Modèle:Aide contextuelle et indirectement Modèle:Édition et Modèle:Page de discussion. On pourrait déplacer ce code dans des gadgets dédiés pour alléger la taille du fichier js livré par défaut à tous les visiteurs.

Liens utiles :

Escargot (discuter) 4 juin 2024 à 18:14 (CEST)Répondre

C'est effectivement intéressant. Une petite mise en garde au sujet de Modèle:Page de discussion (la classe "transformeEnPageDeDiscussion"), vu que tu l'as mentionné : dans le MediaWiki:Common.js il y a tout un code lourdingue où l'on teste sur le nom de la page pour déterminer si la page est à "transformer", plutôt que de se baser sur la présence du modèle. Ceci permet d'appliquer la transformation aussi lorsque l'on modifie une section (et non la page entière), car dans ce cas le modèle ne peut pas être détecté. C'est un code que je n'aime franchement pas, en raison de cette grosse liste de pages qui se trouve dans le code, mais je ne vois vraiment pas d'autre solution. od†n ↗blah 4 juin 2024 à 20:36 (CEST)Répondre
Le passage de ns-subject à ns-talk n'est pas suffisant pour faire fonctionner les outils de discussion (activés par défaut sur mobile et en beta sur bureau). Il faut obligatoirement que le mot magique __NEWSECTIONLINK__ soit présent, éventuellement en combinaison avec __NONEWSECTIONLINK__ si on veut désactiver le bouton « Ajouter un sujet ».
En considérant que ce mot magique sera forcément présent sur les pages qu'on veut changer en page de discussion (et qu'il sera absent sinon), il y a peut-être moyen de le détecter et d'utiliser ça pour déterminer que ns-subject doit être remplacé par ns-talk (même si je n'ai pas trouvé comment). Escargot (discuter) 7 juin 2024 à 21:40 (CEST)Répondre
J'ai fait le changement en question pour MediaWiki:Gadget-Diaporama.js qui charge maintenant avec la catégorie Catégorie:Page utilisant le modèle Animation.
Le modèle fonctionne correctement en prévisualisation, y compris pour une section, mais pas avec l'aperçu rapide, même avec la page complète, ni avec l'éditeur visuel.
Je ne reviens pas en arrière sur mon changement qui permet quand même de faire fonctionner le modèle sur mobile. Escargot (discuter) 9 juin 2024 à 13:12 (CEST)Répondre

Boutons d'avertissement ne fonctionnant pas avec les Outils de discussion

modifier

Bonjour, est-il possible d'actualiser les boutons d'avertissements — boutons « Faut sourcer » ou « Test 1 » à droite des liens (Annuler / Message) (Révoquer / Message) sur une page de différence de diff d'un article —, qui ne fonctionnent pas avec les Outils de discussion (Préférences > Fonctionnalités bêta) ?

Merci de votre aide et bien à vous. @Jules* et @Arcyon37 pour information. Harrieta171 (discussion) 7 novembre 2024 à 18:55 (CET)Répondre

Pour préciser la demande d'Harrieta171, ce sont les boutons fournis par le gadget MediaWiki:Gadget-RevertDiff.js. — Jules* discuter 7 novembre 2024 à 18:59 (CET)Répondre
Ping @Od1n et @Arkanosis, pour info. — Jules* discuter 7 novembre 2024 à 19:16 (CET)Répondre
Il doit s'agir de la problématique déjà signalée sur Wikipédia:Bulletin des administrateurs/2023/Semaine 23#Problème technique ainsi que Projet:Modèle/Demandes#Faut sourcer - Test 1 - Test 2, Bienvenue, etc. od†n ↗blah 7 novembre 2024 à 21:27 (CET)Répondre
J'ai modifié pour que le gadget utilise forcément le formulaire éditeur de wikicode. Les boutons fonctionnent, mais on voit le formulaire flasher. Le mieux serait d'utiliser l'API pour faire l'édition, comme dit par Od1n dans la discussion qu'il vient de citer. Ca permettrait que l'édition se fasse directement, sans passer par un formulaire rempli automatiquement. Escargot (discuter) 7 novembre 2024 à 21:35 (CET)Répondre
Bonjour, ça fonctionne, merci beaucoup. Je n'ai pas compris le commentaire portant sur l'API. Bien à vous. Harrieta171 (discussion) 8 novembre 2024 à 09:11 (CET)Répondre

Demande d'ajout de code pour le gadget BandeauxEbauches

modifier

Bonsoir,

Le gadget BandeauxEbauches est évidemment protégé. Il est très complet, mais il y a un bémol : supprimer un bandeau d'ébauche est (à la longue) fastidieux, bien plus par rapport aux autres tâches d'évaluation.

J'ai donc ajouté créé un fork et y ait ajouté un bouton « Tout supprimer », effaçant en un clic toutes les thématiques associées.

Pour la suppression d'un bandeau de 3 thématiques (le plus courant en moyenne), cela revient à un clic « Modifier » + un clic « Tout supprimer » + un clic « Valider » + un clic « Confirmer » = 4 clics

Auparavant, il fallait compter « Modifier », « Valider », et « Confirmer », mais également un double-clic + un appui sur la touche effacer, ce qui donne 3 + 3×3 = 12 clics.

En moyenne, 8 clics d'économisés. Je crois que ça en vaut la peine pour ce genre d'éditions.

Amicalement, Athozus Discussion 7 novembre 2024 à 22:25 (CET)Répondre

Quelques remarques concernant l'UX :
  • Chez les utilisateurs du gadget, cela produirait un effet d'incitation à supprimer ces bandeaux. Plutôt une bonne chose, à mon avis.
  • Ce nouveau bouton ne devrait pas être à côté des deux boutons existants, mais plutôt à côté des inputs avec les noms. La raison est que ce bouton n'est pas une "action finale", comme sont les deux autres boutons, mais une "action intermédiaire", qui doit encore ensuite être publiée ou annulée.
    • Et hors de question que le bouton publie si l'on clique dessus (publication accidentelle). Et en ajoutant un avertissement intermédiaire, la manipulation demanderait deux clics… donc autant rester sur le workflow actuel, plus clair et deux clics aussi.
    • Aussi, si possible, il faudrait que le bouton soit plus petit. Pour réduire sa prévalence, pour qu'il s'intègre mieux avec les inputs, et pour qu'il se différencie des boutons Valider et Annuler.
  • Un détail en passant, il faudrait qu'il y un espacement entre les boutons (et peut-être aussi un léger espacement entre les inputs).
od†n ↗blah 7 novembre 2024 à 23:20 (CET)Répondre
Merci @Od1n pour les retours !
Je vais suivre point par point selon les tiens :
  • J'avoue ne pas avoir pensé à cet effet-là, mais tant mieux s'il existe.
  • Je vais essayer de le replacer à un meilleur endroit. Les inputs ont l'air vieux, ce qui n'est pas optimal. Je vais voir demain pour une retouche cosmétique
    • Peut-être que ce ne sera pas clair, mais le « Tout supprimer » se fait bel et bien avec les étapes de confirmation nécessaires. Envisager un autre libellé, tel que « Vider » ?
    • J'ai mis un fond rouge pour éviter de faire deux boutons similaires, mais l'action n'étant pas immédiatement destructive, je devrais remettre comme « Annuler ». Les boutons ne seront d'ailleurs plus côte-à-côte, qui plus est.
  • Ah et bien c'est dit :p
Merci encore, Athozus Discussion 8 novembre 2024 à 11:05 (CET)Répondre
  • Mmmmm, pas d'accord avec « Réinitialiser » : il y a un côté "retour à la situation initiale", i.e. retour aux ébauches de la version actuellement publiée. Alors que ce n'est pas ce que fait le bouton.
  • Comme Escargot vient de m'y faire penser, il y a une ambiguïté : on pourrait croire qu'après avoir vidé les champs puis publié, cela irait publier un bandeau vide, alors que non, c'est un cas spécial dans lequel le bandeau est supprimé à la publication.
    • À la réflexion, il me semble que cela soit en fait assez naturel / instinctif que le bandeau soit supprimé en le publiant sans valeurs.
  • Autre idée : un bouton intitulé "Supprimer le bandeau" qui, après un prompt de confirmation, irait directement supprimer le bandeau.
    • En fait c'est le workflow que je ne voulais pas dans mon message plus haut, mais avec cet autre intitulé pour le bouton, cela explicite son fonctionnement.
    • Aussi, je ne vois pas trop de situations on l'on voudrait supprimer toutes les ébauches existantes et en remettre de nouvelles.
  • Néanmoins, ma préférence reste encore plutôt pour un bouton discret "Vider tous les champs" à côté des inputs.
    • Mais il y a le risque que l'utilisateur clique par erreur sur le bouton, s'il va trop vite et ne remarque pas que ce n'est pas le bouton pour publier. Ce qui irait vider les champs que l'utilisateur vient de s'embêter à remplir, et faire hurler le-dit utilisateur.
od†n ↗blah 8 novembre 2024 à 17:56 (CET)Répondre
  • Ok, « Tout effacer » convient, ou il faut considérer un autre libellé ?
  • Pour le coup, c'est en me penchant sur le code que j'ai compris qu'il y avait cette option. La prévisualisation mettait toujours un bandeau, certes non thématisé, mais toujours présent ;
  • Il faudrait toujours une fenêtre de confirmation, mais c'est faisable ;
  • À commencer par moi :D
Amicalement, Athozus Discussion 8 novembre 2024 à 22:33 (CET)Répondre
Je viens aussi de remarquer qu'après avoir effectué l'action "Tout supprimer", la prévisualisation du bandeau n'est pas mise à jour. Lorsque l'on vide manuellement les inputs, la prévisualisation montre un bandeau ébauche sans qualificatifs (ce qui est un peu trompeur : dans ce cas particulier, lorsque l'on valide cela a pour effet de publier en supprimant le bandeau).
J'ai effectué divers essais d'interfaces, mais je ne suis pas parvenu à quelque chose qui me satisfasse. À noter que Codex complique énormément la tâche ; il me ferait même regretter OOUI… c'est dire.
od†n ↗blah 9 novembre 2024 à 12:28 (CET)Répondre
Ah oui carrément :D La mise à jour Codex devrait être envisagée un poil plus tard.
De toute façon, je vais supprimer le bouton « Tout supprimer » pour faire comme on a dit, à savoir rajouter un bouton « Supprimer le bandeau »
Amicalement, Athozus Discussion 9 novembre 2024 à 12:49 (CET)Répondre

Ajout d'un gadget pour la substitution automatisée

modifier

  Projet:Scripts et gadgets Bonjour, exceptionnellement pour les articles qui sont plutôt récents et qui ont besoin d'une substitution (subst:), j'ai créé un outil d'automatisation. Si vous souhaitez l'essayer, voici le code : Utilisateur:Pre7/Gadget-subst.js. Merci d'avance si vous l'ajoutez au MediaWiki:Gadget-. Si je ne peux pas avoir la permission pour mettre à jour mon gadget (s'il est ajouté), j'aimerais savoir s'il serait possible d'en avoir la permission? Pre7 (d) 7 février 2025 à 17:41 (CET)Répondre

Être dans l'espace de noms MediaWiki n'est pas une nécessité pour un gadget. Sur la page Projet:Scripts et gadgets/Liste des fonctions disponibles, une bonne partie des scripts sont dans l'espace Utilisateur. C'est également le cas de certains gadgets très utilisés comme Utilisateur:Orlodrim/portail-eval.js ou Utilisateur:Lgd/refErrors/refErrors.js. En gardant ton gadget dans l'espace Utilisateur, tu pourras continuer de l'éditer à volonté, contrairement à s'il passe dans l'espace MediaWiki.

Pour ce qui est de la liste des gadgets dans les préférences, il vaut mieux ne pas ajouter un gadget à cette liste avant qu'il ait prouvé son utilité, qu'il ait prouvé qu'il fonctionne correctement et que suffisamment d'utilisateurs soient favorables à cet ajout. Escargot (discuter) 8 février 2025 à 02:34 (CET)Répondre

Gadget Utilisateur:Pre7/Gadget-manquepoint.js : Est-il un outil non-cosmétique?

modifier

Bonjour, j'ai créé cet outil qui ajoute automatiquement un point à la fin des phrases sans points. Il s'adapte aux exceptions, du type liste et autres.

Je vais l'utiliser temporairement afin de tester ses possibles erreurs et, s'il est considéré comme n'étant pas cosmétique, je l'ajouterai à mon petit bot que je commence à travailler dessus   Pre7 (d) 13 février 2025 à 18:17 (CET)Répondre

  Projet:Maintenance Étant donné que c'est de la maintenance, mais qu'on est pas dans le projet maintenance, je vais notifier. Merci à Escargot bleu (d · c · b) de m'avoir expliqué comment fonctionnent les notifications de projets   Pre7 (d) 13 février 2025 à 18:33 (CET)Répondre
Revenir à la page « Scripts et gadgets ».