Wiktionnaire:Questions techniques/février 2022
Page mensuelle des questions techniques posées en février 2022. Page précédente : janvier 2022 — Page suivante : mars 2022 — Modifier ce cadre
Rollout of the new audio and video player
[modifier le wikicode]Aidez-nous à traduire dans votre langue
Hello,
Over the next months we will gradually change the audio and video player of Wikis from Kultura to Video.js and with that, the old player won’t be accessible anymore. The new player has been active as a beta feature since May 2017.
The new player has many advantages, including better design, consistent look with the rest of our interface, better compatibility with browsers, ability to work on mobile which means our multimedia will be properly accessible on iPhone, better accessibility and many more.
The old player has been unmaintained for eight years now and is home-brewn (unlike the new player which is a widely used open source project) and uses deprecated and abandoned frameworks such as jQuery UI. Removing the old player’s code also improves performance of the Wikis for anyone visiting any page (by significantly reducing complexity of the dependency graph of our ResourceLoader modules. See this blog post.). The old player has many open bugs that we will be able to close as resolved after this migration.
The new player will solve a lot of old and outstanding issues but also it will have its own bugs. All important ones have been fixed but there will be some small ones to tackle in the future and after the rollout.
What we are asking now is to turn on the beta feature for the new player and let us know about any issues.
You can track the work in T100106
Thank you, Amir 17 février 2022 à 17:59 (UTC)
- Traduction
- Déploiement du nouveau lecteur audio et vidéo
- Bonjour,
- Au cours des prochains mois nous allons progressivement changer le lecteur audio et vidéo des Wiki de Kultura à Vidéo.js et avec ça, l'ancien lecteur ne sera plus accessible. Le nouveau lecteur est actif en tant que fonctionnalité bêta depuis mai 2017.
- Le nouveau lecteur présente de nombreux avantages, notamment un meilleur design, une apparence cohérente avec le reste de notre interface, une meilleure compatibilité avec les navigateurs, la possibilité de travailler sur mobile, ce qui signifie que notre multimédia sera proprement accessible sur iPhone, une meilleure accessibilité et plus encore.
- L'ancien lecteur n'est plus maintenu depuis huit ans maintenant et est fait maison (contrairement au nouveau lecteur qui est un projet open source largement utilisé) et utilise des frameworks obsolètes et abandonnés tels que jQuery UI. La suppression du code de l'ancien lecteur améliore également les performances des Wikis pour toute personne visitant n'importe quelle page (en réduisant considérablement la complexité du graphe de dépendance de nos modules ResourceLoader. Voir cet article de blog.). L'ancien lecteur a de nombreux bugs ouverts que nous serons en mesure de clore comme résolus après cette migration.
- Le nouveau lecteur résoudra de nombreux problèmes anciens et en suspens mais il aura aussi ses propres bugs. Tous les plus importants ont été réglés mais il en reste encore quelques mineurs à régler à l'avenir et après le lancement.
- Ce que nous demandons maintenant, c'est d'activer la fonctionnalité bêta pour le nouveau lecteur et de nous faire savoir tout problème. Vous pouvez suivre le travail dans T100106.
- Merci, Amir 17 février 2022 à 17:59 (UTC)
- Étymologia (discussion) 27 mars 2022 à 15:28 (UTC)
Erreur Python dans pywikicode
[modifier le wikicode]Après plusieurs mois, j’essaie de relancer mon robot basé sur pywikicode, et j’ai l’erreur suivante :
(dans site.py, ligne 3440)
'Nonetype' object is not subscriptable
Je précise que je n’ai changé ni de version Python, ni de version pywikicode, ni d’ordinateur, ni rien dans mes propres programmes Python. Il y a seulement eu des mises à jour Windows. Est-ce que quelqu’un comprendrait comment c’est possible : ça marchait, ça ne marche plus.
Lmaltier (discussion) 19 février 2022 à 13:52 (UTC)
- Bonjour @Lmaltier :. Est-ce pywikicode ou Pywikibot ? Je ne sais pas si cela peut aider, mais en septembre 2021 un ticket a été ouvert sur Phabricator : https://phabricator.wikimedia.org/T291202 (Pywikibot: 'NoneType' object is not subscriptable in validate_tokens). Cela semble être un problème à cause de la dépréciation d'une méthode pour la gestion des jetons API. Si c'est au niveau de l'API, cela pourrait expliquer pourquoi tu n'as rien changé et que ça ne fonctionne pas. Toujours sur Phabricator : https://phabricator.wikimedia.org/T295238 (Upgrade pywikibot to latest version) un commentaire : I was wondering why all my scripts are failing and thought I was going crazy. Glad it isn't just me.. Les personnes ayant un robot en activité pourront certainement être plus utiles que moi. Je ne sais pas si la solution passe par un patch ou la mise à jour de Pywikibot. Snawei (discussion) 19 février 2022 à 15:16 (UTC)
- @Snawei : Merci. Il faut donc que je fasse une mise à jour pour prendre la dernière version, en espérant que ça n’aura pas d’impact négatif sur mes programmes. Lmaltier (discussion) 19 février 2022 à 15:39 (UTC)
- @Lmaltier : Si tu fais la mise à jour, n'oublie pas de sauvegarder tes fichiers de configuration. https://www.mediawiki.org/wiki/Manual:Pywikibot/Installation#Configure_Pywikibot. Tu peux aussi attendre d'avoir d'autres avis. Snawei (discussion) 19 février 2022 à 16:01 (UTC)
- @Lmaltier : moi j'ai dû faire cette mise à jour immédiatement après le blocage, le 25 septembre dernier, et en fin de compte ça m'a pris plusieurs commits. JackPotte ($♠) 20 février 2022 à 10:18 (UTC)
- @Lmaltier : Si tu fais la mise à jour, n'oublie pas de sauvegarder tes fichiers de configuration. https://www.mediawiki.org/wiki/Manual:Pywikibot/Installation#Configure_Pywikibot. Tu peux aussi attendre d'avoir d'autres avis. Snawei (discussion) 19 février 2022 à 16:01 (UTC)
Merci à tous. J’ai remis le robot en route. Lmaltier (discussion) 22 février 2022 à 10:14 (UTC)
Comment appeler une fonction de module dans la console de la sandbox ?
[modifier le wikicode]Bonjour, j'ai une question de débutant en ce qui concerne le codage d'un module LUA dans la sandbox. Quand j'édite la page d'un module dans la sandbox (ex: https://fr.wiktionary.org/w/index.php?title=Module:bac_à_sable/Marxav/prononciation), quelle est la syntaxe pour appeler une fonction depuis la console de débogage qui se trouve tout en bas de la page? Par exemple, pour la fonction p_pron() de "mon" module pronociation expérimental, j'ai essayé avec l'appel à =p.pron('to.to','fr') ainsi qu'avec plusieurs variantes (ex: \{\{#invoke: bac_à_sable/Marxav/prononciation|pron|to.to|fr}} qui fonctionne bien dans ma page Utilisateur), mais sans succès. Sans reussir à faire les appels dans la consoler, ça m'oblige à publier le code de test, ce qui fait des logs inutiles dans l'historique des pagegs du Wiktionnaire. Merci. Marxav (discussion) 23 février 2022 à 17:50 (UTC)
- Salut, c’est indiqué au-dessus de la console que les propriétés publiques sont accessible avec la variable
p
. Du coup, dans le cas de ce module, seules les fonctions et variables de l’objetp
sont accessibles par ce moyen. Si tu veux appeler la fonctionpron_apf
, il faut écrirep.pron_apf(…)
. Darmo (Viendez parler !) 24 février 2022 à 20:57 (UTC)- Merci @Darmo117. Certes, j'avais bien lu tout ça, mais je n'y arrive néanmoins pas, et pas seulement dans mon expérimentation de module. Par exemple, si tu vas sur Module:prononciation et que tu cliques sur "Modifier le wikicode", qu'écris-tu dans la console pour faire un appel à la fonction pron() ? Par exemple, écris-tu quelque-chose comme =p.pron('toto', 'fr') ou p.pron('toto', 'fr') ou encore p.pron({'toto', 'fr'}) ?
- Depuis que j'ai posé la question initale, j'ai trouvé un paliatif en utilisant "Aperçu de la page avec ce modèle", donc c'est moins important si les appels dans la console ne fonctionnent pas. Marxav (discussion) 26 février 2022 à 12:33 (UTC)
- Il faudrait écrire quelque chose du genre
p.pron(…)
. Le soucis c’est que cette fonction-là en particulier fait appel à la méthode:getParent()
du paramètreframe
, du coup tu pourras pas l’appeler correctement depuis la console. En fait, si tu vois une fonction qui prend un unique paramètre appeléframe
, c’est une fonction appelable depuis un modèle dont le paramètre est construit par MediaWiki lors du parsing. - Si par contre je veux appeler la fonction
lua_pron
, j’écriraisp.lua_pron("sa.ly", "fr", "\\\\", false, false)
par exemple. Darmo (Viendez parler !) 26 février 2022 à 14:39 (UTC)
- Il faudrait écrire quelque chose du genre