Discussion Projet:Scripts et gadgets

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 23 février 2024 à 22:04 et modifiée en dernier par Ideawipik (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Portail de qualité
  • Bon portail
  • Lumière sur
  • À faire
  • Archives
  • Commons
Le projet « Scripts et gadgets » n'est pas notifié pour le moment.


Projet Fonctions disponibles Notices Discussion projet Signaler un bug Demander une nouvelle fonction
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.


Gadget pour affichage de l'aide dans le menu de la version mobile

Ne pas archiver.

Hello les sorciers du code,

Je vous ai trouvé une nouvelle mission Émoticône sourire !

Comme vous pourrez le lire sur ce sujet il y a un petit souci sur la version mobile du site, il n'y a pas de lien vers l'aide dans le menu hamburger.

Du coup, on a ouvert un ticket sur Phabricator (Phab:T252796) pour ajouter un lien. Ce n'est pas une priorité pour les dévs mais il semble qu'il y ait, sur la version sv.m.wikipedia.org, un gadget qui permette l'affichage du lien vers l'aide.

Sauf que je n'arrive pas à l'identifier ni à savoir s'il serait adaptable ici.

Est-ce que vous pourriez nous apporter votre éclairage ?

Merci — Mattho69 me joindre 8 juin 2020 à 18:38 (CEST)[répondre]

Il faudrait sinon demander sur le Bistro suèdois... -- Nemo Discuter 8 juin 2020 à 19:45 (CEST)[répondre]
@Mattho69 et @Nemo Le Poisson : Il s'agit de MediaWiki:Gadget-helpLinkMinerva.js. Le gadget n'est pas utilisable tel quel ici mais
mw.loader.using( [ 'mediawiki.api', 'mediawiki.util', 'mediawiki.base' ], function () {
	$( function () {
		if ( mw.config.get( 'skin' ) === 'minerva' ) {
			new mw.Api().loadMessagesIfMissing( [ 'help' ] ).then( function () {
				mw.util.addPortletLink(
					'p-navigation',
					'/wiki/Aide:Accueil',
					mw.message( 'help' ).text(),
					'n-help'
				);
				$( '#n-help' ).children().attr( 'class', 'mw-ui-icon mw-ui-icon-before mw-ui-icon-help' );
			} );
		}
	} );
} );
devrait suffire. Cordialement, ─ DreZhsh Discuter 28 août 2022 à 10:35 (CEST)[répondre]
@DreZhsh, un grand merci d'avoir identifié la source du code sur le wiki suèdois. J'ai essayé le code que tu propose dans Utilisateur:Nemo Le Poisson/minerva.css mais je ne vois pas le lien vers l'aide s'afficher dans le menu de gauche. Est-ce que j'ai tout fait comme il faut tu penses ? -- Nemo Discuter 16 octobre 2022 à 17:09 (CEST)[répondre]
@Nemo : Le morceau de code est en JavaScript, pas en CSS. ─ DreZhsh Discuter 16 octobre 2022 à 20:00 (CEST)[répondre]
J'ai déplacé le code vers la bonne page (Utilisateur:Nemo Le Poisson/minerva.js), histoire que tu n'aies pas de code CSS invalide en version mobile. od†n ↗blah 21 octobre 2022 à 10:52 (CEST)[répondre]
Ça marche merci beaucoup Od1n et DreZhsh ! -- Nemo Discuter 2 novembre 2022 à 22:26 (CET)[répondre]

Proposition de logo pour le gadget PaStec

Bonjour Émoticône, je souhaiterais changer le logo actuellement utilisé par le gadget PaStec, c'est pourquoi je demande des avis extérieurs. Voici le logo actuel et ma proposition.

Ma proposition
Logo actuellement utilisé

. Cordialement, manȷıro💬 22 octobre 2023 à 15:54 (CEST)[répondre]

J'adore ta proposition ! — Koreller (d) 22 octobre 2023 à 18:13 (CEST)[répondre]
Idem ! Un peu de fraîcheur fait du bien, il faudrait l'implémenter ! Cordialement, — AquilonsM'écrire 23 novembre 2023 à 12:50 (CET)[répondre]
@Aquilons @Koreller@Manjiro5 alors en fait comment ? Pour Riad Salih (discuter) 19 janvier 2024 à 00:09 (CET)[répondre]
Je vote Pour la modification du logo pour celui de Manjiro — Koreller (d) 19 janvier 2024 à 09:37 (CET)[répondre]
@LD comment en fait pour modifier le logo ? Cdlt Riad Salih (discuter) 23 janvier 2024 à 01:47 (CET)[répondre]
@Riad Salih, MediaWiki:Gadget-PaStec.js L492 : //upload.wikimedia.org/wikipedia/commons/b/b4/PaStec_logo_%28black%29.png à remplacer par //upload.wikimedia.org/wikipedia/commons/4/46/PaStec_logo_proposal.svg. LD (d) 25 janvier 2024 à 00:02 (CET)[répondre]
Je viens d'effectuer le remplacement.
À noter que comme l'image est plus grande que la précédente, il a fallu ajouter un redimensionnement pour ne pas se retrouver avec une image exagérément grande ; ça tombe bien c'est un SVG, donc ça se prête sans problème au redimensionnement. J'avais aussi fait divers essais avec des tailles en pourcentage de la boîte, mais il s'est avéré que le mieux est une taille fixe. J'ai très légèrement réduit la taille (600px de largeur, versus les 668px pour l'image précédente), mais j'étais tenté de réduire bien davantage.
(après comparaisons supplémentaires : la nouvelle image, avec la largeur 600px que je lui ai mise, est un peu moins large que l'image précédente, et étant donné qu'elle a un aspect-ratio différent, je viens de constater qu'elle fait quasi-exactement la même hauteur que l'image précedente ; le 600px va donc vraiment bien comme base)
od†n ↗blah 25 janvier 2024 à 01:10 (CET)[répondre]
Bravo pour le logo ! — Thibaut (discuter) 28 janvier 2024 à 19:18 (CET)[répondre]
Pour information, j'ai fait renommer le fichier pour mieux correspondre à son nouveau statut : 212039702. od†n ↗blah 1 février 2024 à 09:12 (CET)[répondre]

Wdsearch

Pour information, refs cette discussion : en:MediaWiki talk:Wdsearch.js#Edit request: code fix.

tl;dr : Une partie de code visant à injecter du contenu supplémentaire dans les résultats de ce gadget était pétée depuis trois ans. Cette partie vient d'être réparée, mais il se pourrait qu'en fait c'était mieux de ne pas injecter ce contenu supplémentaire, car je trouve que les descriptions perdent énormément en clarté (beaucoup de redondance, parfois même du texte en anglais…).

(liens pratiques : MediaWiki:Gadget-Wdsearch / MediaWiki:Gadget-Wdsearch.js / en:MediaWiki:Wdsearch.js / en:MediaWiki:Wdsearch-autodesc.js)

od†n ↗blah 30 octobre 2023 à 02:43 (CET)[répondre]

C'est des descriptions automatique non c'est utile au moins sur les éléments sans description en français, et ça peut évoluer ter d'avoir à ajouter des descriptions quand l'auto fait l'affaire. Ce serait bien d'aller corriger à la source. — TomT0m [bla] 13 janvier 2024 à 19:05 (CET)[répondre]

Cherche idées de nom pour un script

Bonjour,

J'utilise énormément l'outil WikiBlame (site), mais je rencontre deux problèmes avec lui :

  • J'ai souvent des faux négatifs à cause de la recherche binaire, et du coup je dois tripatouiller avec la date de début de recherche pour que ça teste d'autres révisions…
  • Récemment, l'outil a été hors ligne quelques temps, et je me suis rendu compte à quel point il m'est indispensable.

Le premier point me fait envisager depuis longtemps de développer mon propre outil (surtout après avoir réalisé à quel point le principe est simple, et réalisable avec l'API JavaScript, puisque c'est simplement une histoire de récupérer les révisions et chercher dans leur contenu).

Le deuxième point m'a décidé à me lancer dans ce développement.

Donc voilà, je me suis réalisé un outil, qui reprend le principe de WikiBlame mais en exécution JavaScript côté client. Le code est plutôt bien avancé : les fonctionnalités principales sont présentes, il manque quelques fonctionnalités avancées (et pour garder le script simple, pas certain que je les mette en place), et surtout il reste à mettre le code au propre. Il m'est tellement agréable à l'utilisation que je me commence déjà à prendre l'habitude de l'utiliser à la place de WikiBlame.

J'envisage naturellement de le publier ici, surtout parce que ça me facilitera son utilisation, en "JavaScript utilisateur". Mais le script m'a l'air tellement utile que je pense qu'il sera envisageable de le publier sous forme de gadget.

C'est là que vous pourriez apporter votre aide : je n'arrive pas à trouver de nom pour le script… Il faut que le nom contienne "Blame", et qu'il soit simple et générique, étant donné qu'il pourra éventuellement être publié sous forme de gadget.

Voilà, alors si quelqu'un trouve LE nom auquel je n'ai pas pensé…

od†n ↗blah 13 janvier 2024 à 18:31 (CET)[répondre]

@Od1n Je suggèrerai bien "who wrote that?" mais ce serait une énorme repompe honteuse vu que c'est déjà pris : mw:Who_Wrote_That? et c'est désormais utilisable sur ce wiki. — TomT0m [bla] 13 janvier 2024 à 19:01 (CET)[répondre]
J'avais justement remarqué cet outil il n'y a pas longtemps (probablement lorsque je cherchais des idées de noms…). C'est vraiment impressionnant comment projet. od†n ↗blah 13 janvier 2024 à 19:24 (CET)[répondre]
Bonsoir Émoticône sourire Merci pour ce dev od†n! J'utilise aussi beaucoup Wikiblame, mais une autre implémentation existe dans xTools, qui ne marche que pour les articles (et qui semble utiliser le même backend que Who wrote that).
De mémoire, l'extension navigateur Who wrote that ne permet pas bien d'analyser le wikicode, uniquement le rendu html. Difficile avec d'avoir des infos sur l'ajout des paramètres des modèles par ex.
J'ai pas d'idée pour le nom, mais ça peut être une bonne idée d'utilisation d'un LLM Émoticône sourire Cordialement, -Framawiki 13 janvier 2024 à 21:15 (CET)[répondre]
"Inquisiteur" pour rester dans l’esprit du "wikiblame". C’est ptete un peu sombre mais en tant que moines encyclopédiques … — TomT0m [bla] 19 janvier 2024 à 15:59 (CET)[répondre]
ou "historiographe" pour faire dans l’archéologie d’écriture, ou "comparateur" pour faire genre "littérature comparée". — TomT0m [bla] 19 janvier 2024 à 16:02 (CET)[répondre]
Historiographe est sympa. Peut-être aussi QuiEst-Ce? Cordialement, -Framawiki 20 janvier 2024 à 22:30 (CET)[répondre]
Karma, car celui qui est l'auteur du diff va se faire remonter les bretelles ! Lofhi (discuter) 24 janvier 2024 à 10:18 (CET)[répondre]

Permettre aux gadgets/scripts d'utiliser Vue et Codex

Enregistré sur Phabricator
Tâche 313945

Les développeurs de la Fondation ont développé Codex qui va remplacer MediaWiki UI, OOUI et l'ancien Wikimedia Design Style Guide. Codex en plusieurs morceaux cela donne : des composants Vue, des composants en CSS uniquement, des icônes et des règles atomiques (pour la base des différents habillages, un peu à la Tailwind si cela vous dit quelque chose).

Ils veulent à terme que Vue soit un modèle de contenu d'une page possible (MediaWiki:Gadget-Truc-main.vue ; MediaWiki:Gadget-Truc-form.vue ; ...). Exemple non contractuel : mw:User:Roan Kattouw (WMF)/Codex example gadget (assuming better Vue support in gadgets). Plus ou moins mature parce que certains cas d'usages ne sont pas prévus... « [...] it is made clear that Codex components (and the CSS for the Codex Button specifically) is not guaranteed to be stable for use in wikitext » (réf : T355242).

Il y a eu des tensions entre les équipes avec le cas de classe CSS .mw-ui-button ; mise en production du retrait puis retour en arrière (réf : T346469). Visiblement TemplateStyles ne sera pas compatibles avec Codex (impossible d'@import un fichier .less ; voir réf. T56864 [2020]). Sauf que dernièrement, ils annoncent vouloir rendre possible l'import des fichiers .less pour les gadgets, voire plus (réf : T340477). C'est tout pour le résumé rapide. Lofhi (discuter) 24 janvier 2024 à 10:37 (CET)[répondre]

Breaking change dans les scripts utilisateur

Enregistré sur Phabricator
Tâche 301212
Enregistré sur Phabricator
Tâche 357580

Pour info : T301212 ainsi que T357580, et ça va faire un peu mal.

Pour résumer : Actuellement, les utilisateurs avec la skin Vector 2022 se voient charger leur vector-2022.js et leur vector.js (oui, le même que celui avec la skin Vector classique). Même chose avec les fichiers CSS. Ainsi, les utilisateurs qui sont passés de la skin Vector classique à la skin Vector 2022, et qui avaient des personnalisations dans leur vector.js (donc j'imagine pas mal de monde…), n'ont constaté aucun changement, jusqu'à prochainement. Mais cela devrait bientôt changer, avec la skin Vector 2022 qui ne chargera plus que les fichiers "vector-2022".

Le changement est bienvenu, dans la mesure où il s'inscrit dans une démarche de distinction des deux skins, car au départ elles étaient un peu confondues, et il s'est avéré que cela pose beaucoup de problèmes.

En revanche, préparez-vous à de nombreuses doléances d'utilisateurs ne comprenant pas pourquoi leurs personnalisations ont subitement disparu…

od†n ↗blah 21 février 2024 à 21:06 (CET)[répondre]

Une recherche de "vector.js" dans le titre me donne moins de 1000 utilisateurs avec "vector.js" (et certains sont des vector 2022, fin de liste), pour donner un ordre de grandeur.
Peut-être qu’on peut se débrouiller pour laisser un message sur leur PU ? — TomT0m [bla] 22 février 2024 à 15:23 (CET)[répondre]
Je peux délivrer les messages, à vous de savoir ce que vous voulez mettre dedans. @Od1n pourrait même utiliser Spécial:MassMessage, non ? Lofhi (discuter) 22 février 2024 à 17:09 (CET)[répondre]
Tu peux ajouter des quotes pour éliminer ces faux positifs : recherche.
J'avais oublié de mentionner le ticket lié T357580. Sur celui-ci figure une suggestion de script, à ajouter en exécution chez tous les utilisateurs connectés, et leur proposant, lors de la première exécution du script, de copier automatiquement les pages, si le script a détecté des pages ayant besoin d'être copiées. L'idée pourrait sembler bonne, mais j'y vois deux défaut :
  • La copie n'est suggérée qu'une seule fois. Si l'utilisateur clique sur « Annuler », il n'a plus d'autre chance de faire appel à cette copie automatique.
  • De nombreux utilisateurs ne vont pas comprendre « qu'est-ce que c'est encore que ce message qui s'est affiché » (et vont probablement cliquer sur « Annuler »…)
Je pense à une solution plus radicale : Pour tous les utilisateurs ayant du "vector" mais pas du "vector-2022" correspondant, on s'occupe de leur copier automatiquement les fichiers. Avec une seule limite, on fait ça seulement pour les utilisateurs avec au moins un edit au cours des six derniers mois (par exemple, et on peut toujours à nouveau effectuer des copies plus tard) ; ceci pour limiter la démultiplication de pages avec des codes obsolètes, qui compliquent les recherches de maintenance de code sur le wiki.
od†n ↗blah 22 février 2024 à 17:29 (CET)[répondre]
Les admins ont le droit de modifier ces fichiers chez les utilisateurs ? Je crois pas perso avoir le droit de modifier le fichier common.js d’un autre en tout cas, pour des raisons bien compréhensibles. — TomT0m [bla] 22 février 2024 à 17:32 (CET)[répondre]
Seuls les Administrateur d'interface ont le droit (cf edituserjs de Spécial:Liste_des_droits_de_groupe). -Framawiki 22 février 2024 à 18:13 (CET)[répondre]
Ça ne dispense sans doute pas de prévenir quand même au cas ou il y aurait édition ultérieure du vector en toute ignorance du changement pour des gens qui n’auraient même pas la page en liste de suivi :) Et pour ceux qui n’auraient pas d’édition dans les 6 mois sans faire le transfert le message peut toujours être utile. — TomT0m [bla] 22 février 2024 à 21:45 (CET)[répondre]
Oui, dans tous les cas, il faudra laisser un message (et clairement, ce n'est pas moi qui vais le rédiger) en pdd pour tous les utilisateurs ayant besoin d'au moins une copie de fichier. Comme ça ils seront nettement mieux informés, avec un message dont ils seront notifiés et qui ne sera pas volatile. Je pense qu'il faudra quand même faire les copies automatiques, pour simplifier la vie aux utilisateurs.
Le truc, c'est le timing : il faudrait basculer le wiki vers le nouveau mode, et seulement (et aussitôt) après faire les copies ; parce que sinon il faudrait en plus gérer l'histoire que les scripts seraient exécutés en double jusqu'à la bascule vers le nouveau mode…
od†n ↗blah 23 février 2024 à 00:38 (CET)[répondre]
Le timing ne semble pas problématique : élus et nommés ont généralement le privilège noratelimit. Les 2 000 pages peuvent sûrement être traitées à la chaîne en 5 minutes pour ne pas risquer de surcharger les réplicas, mais de nuit cela devrait rouler. Lofhi (discuter) 23 février 2024 à 00:50 (CET)[répondre]
Tout à fait. Mais ce que je voulais dire, c'est surtout qu'il faut avoir tout préparé (message à poster, liste des utilisateurs devant recevoir le message, script de copie automatique des fichiers, lequel doit aussi déterminer l'ancienneté du dernier edit de l'utilisateur) avant de demander la bascule du wiki. Et aussi être disponible au moment où la bascule est effectuée, pour exécuter tout cela. od†n ↗blah 23 février 2024 à 04:02 (CET)[répondre]
Une autre possibilité serait, au lieu de recopier les codes, de créer des "redirections". Exemples de codes :
pour le JavaScript :
mw.loader.using( 'mediawiki.util', function () {
	var page = 'Utilisateur:' + mw.config.get( 'wgRelevantUserName' ) + '/vector.js';
	var url = mw.util.getUrl( page, { action: 'raw', ctype: 'text/javascript' } );
	mw.loader.load( url );
} );
et pour le CSS :
/*
 * Limites :
 * - le nom d'utilisateur est hardcodé, donc cela ne fonctionnera plus si l'utilisateur fait renommer son compte
 * - il faut escaper :
 *     - les quotes (single ou double selon celles employées pour la string)
 *     - les backslashes (oui, on peut en avoir dans les noms d'utilisateurs...)
 */
@import '/w/index.php?title=Utilisateur:<Nom de l\'utilisateur>/vector.css&action=raw&ctype=text/css';
Je ne sais pas si cette solution serait une meilleure idée. Elle aurait l'avantage de réduire la duplication de code, et l'inconvénient d'ajouter des requêtes HTTP.
Je vois aussi le risque que si les utilisateurs touchent aux fichiers après, ils fassent n'importe quoi (genre laisser ce code, et copier en dessous des codes de l'ancien fichier, résultant en deux exécutions de la même chose), ou bien ne sachent simplement pas quoi faire avec ce code présent et n'osent plus toucher au fichier.
od†n ↗blah 23 février 2024 à 07:29 (CET)[répondre]
Pour la liste des contributeurs à traiter pour la première salve, une requête SQL au résultat formatée devrait convenir. Sinon, au final sur le ticket la WMF propose de s'en occuper... Je leur ai demandé ce qu'il pensait d'un massedit, cela n'a pas l'air d'enchanter. Pour être franc je ne comprends pas pourquoi ils n'ont pas traité le sujet eux-mêmes, un peu trop frileux pour pas grand chose, c'est littéralement leur rôle d'opérer MediaWiki... Lofhi (discuter) 23 février 2024 à 07:58 (CET)[répondre]
ça marche sur des oeufs quand il s'agit de modifier les contenus des wikis communautaires, trop de risques de fâcher la communauté, ça a pu mal se passer dans le passé.TomT0m [bla] 23 février 2024 à 10:00 (CET)[répondre]
Note en passant : en recherchant les vector.js et vector.css existants, penser à exclure les pages vides (i.e. pages blanchies, 0 octet). Cela peut faire qu'il n'y a rien à copier pour l'utilisateur, et même qu'il n'y a pas lieu de lui poster un message si en fait il n'a rien à copier. En reprenant la recherche indiquée plus haut pour les vector.js, sur les 922 résultats il y a quand même 192 pages vides. od†n ↗blah 23 février 2024 à 17:34 (CET)[répondre]
Liste des vector.js et vector.css existants pour les contributeurs actifs sous les 6 derniers mois : https://superset.wmcloud.org/sqllab/?savedQueryId=81. Dommage qu'on n'ait pas à accès à user_touched pour des raisons évidentes : the last time a user logged in (not just mere visiting using an existing session), modified user settings, or got promoted into new user groups. Cela rallonge vachement le temps d'exécution. Aussi la colonne arbitaire redirect ne sert pas à grand chose bizarrement : les contributeurs qui se sont renommés sont tous inactifs ces six derniers mois ? Lofhi (discuter) 23 février 2024 à 19:41 (CET)[répondre]
Bonjour. Questions et remarques en vrac, par curiosité.
Y a-t-il moyen de savoir qui utilise quel habillage ? Je ne crois pas mais sait-on jamais. Si quelqu'un est "définitivement" passé au vector-2022, est-ce que la page vector.js lui sera encore utile ? Plutôt que de créer de nouvelles pages, est-il possible d'envisager des renommages sans création de redirection depuis l'ancien nom. Avantages : limitation du nombre de nouvelles pages, conservation de l'historique. Les .js (et .css) sont-ils compatibles ? Inversement, un utilisateur continuant volontairement d'utiliser la version 2010 de l'habillage n'a pas besoin d'une sous-page vector-2022.js.
Il y a quatre pages /Vector.js (avec majuscule) dont un vide et un étant une redirection. Ces titres sont-ils valides pour MediaWiki ? Il y a aussi dans les résultats de vos recherches internes ci-dessus un intrus en « /articlebox vector.js » et des sous pages « /vector.js/CopyScape.js » (×2) et « /vector.js/signature.js » (et un « /lrc-vector.css », un « /old vector.css » et un « /vector.css&action=edit », ce dernier étant à supprimer). Et deux redirections /vector.js (vers /commons.js pour l'une, vers /vector-2022.js pour l'autre). Cette opération donne l'occasion de vérifier que chacune de ces pages correspond à un compte existant (possible coquille lors de la création ou oubli lors d'un renommage de compte).
La limitation aux comptes actifs au cours des six derniers mois est une bonne chose. En ce qui concerne le contenu vide, il y a vide (0 octets) et vide (commentaires uniquement, exemple rencontré : /* empty */)
Le message en amont aux utilisateurs concernés pourrait en inciter à actualiser leurs fichiers de personnalisation ou à blanchir ceux qu'ils n'utilisent plus, réduisant le besoin.
Remarque plus générale sur l'action automatisé envisagée. Dans une optique différente (autonomie), on peut aussi se dire que les contributeurs ayant créé leur vector.js ou vector.css seront capables de générer les versions 2022, si "par malheur" ils auraient cliqué sur le bouton « Annuler » lors de l'ouverture du script suggéré. Surtout s'ils ont reçu un message explicatif sur leur page de discussion. Avec ces deux éléments, les doléances devraient être limitées. — Ideawipik (discuter) 23 février 2024 à 21:04 (CET)[répondre]