Discussion module:Wikidata
From Wikipedia, the free encyclopedia
Msg erreur du module
Bonjour,
Dans Bonnie Henry, ce message d'erreur apparaît : « Erreur Lua dans Module:Wikidata à la ligne 1059 : bad argument #1 to 'ipairs' (table expected, got nil). » Je soupçonne que c'est causé par deux date de naissance dans d:Q87761491.
— Cantons-de-l'Est p|d|d [sysop] 7 avril 2021 à 19:00 (CEST)
- Idem sur André Ménard --Hyméros --}-≽ ♥ Oui ? 7 avril 2021 à 19:04 (CEST)
- @Cantons-de-l'Est et @Hyméros Non, c’est à cause de ma modif récente sur les nationalités dans Module:Infobox/Fonctions/Personne et ça devrait être corrigé. — TomT0m [bla] 7 avril 2021 à 19:11 (CEST)
Autre message d'erreur
Bonjour
Dans Danny MacAskill, ce message d'erreur apparaît : « Erreur Lua dans Module:Wikidata à la ligne 1108 : attempt to index local 'claim' (a nil value). »
Tubamirum (discuter) 10 avril 2021 à 21:53 (CEST)
- @Tubamirum modifs récentes sur le traitement des nationalités, corrigé merci. Le problème c’est qu’il est noté de nationalité écossaise et que l’écosse n’a pas de date de création sur Wikidata. Le cas ou le pays n’a pas de date de création n’était pas pris en compte. J’ai mis une valeur par défaut et ça refonctionne.
- Le truc dans ce cas précis c’est que je suis pas certain que "Écosse" soit techniquement correct en valeur de citoyenneté. — TomT0m [bla] 10 avril 2021 à 22:39 (CEST)
Affichage des proportions en pourcentage
Bonjour,
Est-il possible d'afficher les proportions d'actions détenus par les actionnaires sous la forme d'un pourcentage comme pour la version bac à sable de l'Infobox Organisation2 dans l'exemple ?
Dom (discuter) 14 avril 2022 à 10:13 (CEST)
- Fait. l'Escogriffe (✉) 4 mai 2022 à 23:07 (CEST)
- Merci GrandEscogriffe
, c'est super.
--Dom (discuter) 5 mai 2022 à 09:10 (CEST)
- Merci GrandEscogriffe
Bug avec le code langue moldave
Bonjour, à la suite de cette discussion sur wikidata je me permets de venir ici pour voir si quelqu'un peut résoudre le problème du moldave non reconnu que l'on retrouve dans cette catégorie, merci d'avance pour vos éclairages :) Remy34 (discuter) 2 juin 2022 à 17:14 (CEST)
- J'ai un peu de mal a comprendre :
- si je regarde le code généré par l'infobox sur Spécial:ExpansionDesModèles pour Antonie Ruset j'ai :
<span class="wd_p1559"><span class="lang-ro-MD" lang="ro-MD">Антоние Русет</span>[[Catégorie:Page avec code de langue invalide|Langue]] <span class="error">langue non reconnue : mo</span>[[Category:Page utilisant P1559]]<span class="noprint wikidata-linkback">[[File:Blue pencil.svg|Voir et modifier les données sur Wikidata|10px|baseline|class=noviewer|link=https://www.wikidata.org/wiki/Q541714?uselang=fr#P1559]]</span></span>
- Si j'exécute le code qui génère cette info (
=p.othernames().rows[1].wikidata()) dans la console lua du Module:Infobox/Fonctions/Personne, en définissant dans le code du module le bon item, j'obtiens<span class="wd_p1559"><span class="lang-ro-MD" lang="ro-MD">Антоние Русет</span>[[Category:Page utilisant P1559]]<span class="noprint wikidata-linkback">[[File:Blue pencil.svg|Voir et modifier les données sur Wikidata|10px|baseline|class=noviewer|link=https://www.wikidata.org/wiki/Q541714?uselang=fr#P1559]]</span></span>
- si je regarde le code généré par l'infobox sur Spécial:ExpansionDesModèles pour Antonie Ruset j'ai :
- J'ai sans doute un problème de cache quelque part. Je vais essayer de penser à re-tester ça plus tard.
- — Zebulon84 (discuter) 2 juin 2022 à 19:31 (CEST)
- en tout cas un appel à {{Wikidata|P1559|entity=Q541714}} Антоние Русет ne pose pas de problèmes.
- Trouvé : ce code comme
{{Infobox Biographie2|wikidata={{Qid|Antonie Ruset}}}}ne pose pas de problème non plus ici car le module langue n'affiche le message de langue non reconnu que dans les espaces de nom 0, 4, 10, 12, 14 et 100. Je vais donc fouiller plus loin. — Zebulon84 (discuter) 2 juin 2022 à 20:31 (CEST) - @Zebulon84 Notre module Module:Langue définit le code "mo" comme invalide, c’est a priori celui utilisé en lua pour les type de donnée texte monolingues, cf. d:Wikidata:Report_a_technical_problem#Moldavian_langcode. C’est un code de langue « Médiawiki » quand notre module attend un code IETF, d’ou le clash ? Le truc c’est que le « span » affiche le bon code de langue donc la correspondance est faite quelque part correctement. — TomT0m [bla] 2 juin 2022 à 20:38 (CEST)
- Trouvé : ce code comme
Je continue avec Antonie Ruset : l'élément affiché provient du claim suivant
table#1 {
table#2 {
["id"] = "Q541714$eae58873-4fa3-643b-4f10-699578b33a12",
["mainsnak"] = table#3 {
["datatype"] = "monolingualtext",
["datavalue"] = table#4 {
["type"] = "monolingualtext",
["value"] = table#5 {
["language"] = "mo",
["text"] = "Антоние Русет",
},
},
["property"] = "P1559",
["snaktype"] = "value",
},
["rank"] = "normal",
["type"] = "statement",
},
}
Le module Wikidata envoie demande au module langue d'afficher langue({table#5.language, table#5.text}), en considérant que le contenu de ce champs language est un code IETF. Ce n'est visiblement pas le cas. — Zebulon84 (discuter) 2 juin 2022 à 20:54 (CEST)
- @Zebulon84 Oui, la liste des bons codes est à priori disponible sur cette page, cf. la discussion liée plus haut. Je sais pas si on a un module tout près quelque part pour la correspondance avec les code de langue Wikimédia. — TomT0m [bla] 2 juin 2022 à 21:00 (CEST)
- Pour le moment j'ai modifié le Module:Wikidata pour ne pas catégoriser / afficher de message de langue invalide, le temps de trouver un moyen d'avoir le vrai code IETF sous Lua (fonction MediaWiki ou table de traduction de code en local). Je verrai ça un autre jour. — Zebulon84 (discuter) 2 juin 2022 à 21:09 (CEST)
- edit : De toute façon le code IETF est dans la table
modu Module:Langue/Data, donc ça ne pose pas de problème. L'affichage est surtout pour éduquer les contributeurs, inutile quand le code vient de Wikidata. Je préfèrerai avoir une fonction MediaWiki pour ne pas avoir à ce poser ces questions pour une autre langue à l'avenir, mais la table de correspondance existe dans Langue/Data, avec indication que les codes ne sont pas IETF. Il faut juste vérifier que toutes les langues de d:Help:Wikimedia_language_codes/lists/all avec des codes différent entre les deux première colonnes sont bien connus dans Langue/Data. Je sais déjà qu'il y a un soucis avecalsqui est un code IETF, mais est utilisé pour une autre langue par Wikimedia. - Merci TomT0m pour ton aide. Mes messages donne sans doute l'impression que j'ignore les tiens, mais j'en ai tenu compte, c'est juste que je les ai parfois vu en essayant de publier mes propres messages. — |Zebulon84 (discuter) 2 juin 2022 à 21:31 (CEST)
- Merci
Zebulon84 et TomT0m : pour la résolution du problème--Remy34 (discuter) 2 juin 2022 à 21:49 (CEST)
@Remy34 et @Zebulon84 pour info, ce signalement d’erreur a donné lieu suite à la discussion avec les développeurs Wikidata la création d’un ticket de bug
à propos de l’ajout d’une nouvelle fonction pour lua pour gérer les codes de langues. — TomT0m [bla] 14 juin 2022 à 11:03 (CEST)
- @TomT0m, je vais suivre ça merci !--Remy34 (discuter) 14 juin 2022 à 15:01 (CEST)
- Pour information, sur ma pdd justement à propos de ce code : Discussion utilisateur:Od1n#Code IETF du moldave déprécié. Le code « mo » est considéré comme invalide depuis 194160058 (, juste avant la présente discussion), et l'est encore après 195261455. od†n ↗blah 16 août 2022 à 00:20 (CEST)
Deux-points pour les catégories
Bonjour @GrandEscogriffe. Merci d'avoir révoqué ma modification qui introduisait un bug inattendu, et merci d'avoir trouvé une solution. Et désolé pour le bug créé.
Le seul cas que je connais c'est Wikipédia:Opération Libre/Chéméré qui inclut le modèle pour l'élément Q21013100, soit Catégorie:Chéméré. Du coup la page se retrouvait dans la catégorie encyclopédique, et le lien vers la catégorie n'apparaissait pas. Rien de très grave comme tu peux le constater, mais je me suis dit que si on pouvait éviter que le bug se produise ailleurs à l'avenir, ça ne coûtait pas grand chose. Mal m'en a pris !
Oui ta modif fonctionne bien. Par contre ne t'étonne pas : la catégorie contient toujours l'article, mais c'est normal, pour y remédier il faut retirer le code et le remettre pour que ça se mette à jour (la purge du cache ne fonctionne pas).
Question naïve : vu que le bug dans {{Stations voisines}} se manifestait par des liens du type [[::fr:Ligne 1 du métro de Paris|ligne 1]], j'ai cru comprendre que le problème venait du fait que Module:Stations voisines WD insérait déjà un deux-points par sécurité, pour la même raison que moi (même si je n'ai pas trouvé où dans le code). Si c'est bien ça, ne serait-ce pas plus simple d'enlever le deux-points là-bas et de le mettre systématiquement dans la fonction formatEntity de Module:Wikidata ?
Cordialement. — Hr. Satz 2 octobre 2022 à 18:16 (CEST)
- Bonjour Herr Satz. Pas de souci, c'est légitime d'avoir tenté de résoudre le problème et ta modif initiale était l'option la plus directe.
- C'est très possible que ça vienne du module Stations voisines WD, que je connais peu. Je pense que le plus sûr est d'éviter au maximum les deux-points superflus, que ce soit sur Module:Wikidata ou Stations voisines WD. l'Escogriffe (✉) 2 octobre 2022 à 21:02 (CEST)
- Oui c'est vrai qu'on ne peut tout maîtriser et que ta solution est donc la plus sécurisée, en y réfléchissant davantage. Je me disais juste que ça prenait peut-être un peu plus de performance, mais c'est probablement ultra-négligeable (je ne me rends pas bien compte). Merci beaucoup en tous cas.— Hr. Satz 2 octobre 2022 à 21:30 (CEST)
Transfert vers en:Module:Wikidata
Bonjour!
Je suis habitué à éditer Wikidata, donc pardonnez certaines questions de débutant concernant Wikipedia. Bien que de langue maternelle française, je me suis d'abord tourné vers la version anglaise de Wikipedia, en essayant d'inclure de nouvelles informations provenant de Wikidata vers les infoboxes Wikipedia (voir https://en.wikipedia.org/wiki/Wikipedia_talk:WikiProject_Chemicals#Add_a_%60found_in_taxon%60_statement_from_Wikidata_in_the_chemical_infobox). Je me suis vite retrouvé face à certaines limitations des différents modules anglais, que n'ont pas les modules français.
J'ai été très surpris des différences assez grandes entre "mêmes" modules, surtout qu'il s'agit à 99% de code Lua qui n'est donc pas censé être utilisable en une langue seulement. (Les commentaires doivent être adaptés, essentiellement)...J'ai tenté l'exercice mais le module Wikidata appelle d'autres modules qui n'existent pas en anglais, ce qui complique les choses.
Je suis naïf à tout développement de module mais cela me semble extrêmement dommage que ces petites merveilles ne soient pas plus interchangeables. @GrandEscogriffe, j'ai vu que vous étiez très actif sur ce module...serait-il possible de le porter facilement vers une version anglaise? Y a-t-il des moyens existants pour améliorer l'interopérabilité entre modules Wiki? AdrianoRutz (discuter) 7 octobre 2022 à 16:01 (CEST)
- Bonjour AdrianoRutz
. C'est une question intéressante. L'obstacle n'est pas tellement la langue mais plutôt la structure du mouvement wikimédien où chaque wiki s'organise de son côté. Ainsi notre Module:Wikidata est parti d'une copie de en:Module:Wikidata en 2013. Mais depuis les modules ont énormément divergé. Les anglophones ont même déclaré obsolète leur module et l'ont remplacé par en:Module:Wd et en:Module:WikidataIB. Donc ça me paraît compliqué de fusionner les deux systèmes. D'ailleurs les anglophones ont l'air d'avoir assez de contributeurs compétents pour résoudre leur problèmes, et de ne pas voir d'un bon œil les tentatives d'importer des modules de chez nous pour des problèmes résolubles par leurs modules, comme là. La question se se pose plus pour les petits wikis. l'Escogriffe (✉) 7 octobre 2022 à 18:32 (CEST)
- Merci pour votre réponse! En fouillant un peu plus, je suis tombé sur https://www.mediawiki.org/wiki/Global_templates/Proposed_specification#Imagine_a_world et effectivement le problème semble assez ancien et énorme pour faire peur à n'importe qui.
- En voyant les dépendances du module:Wikidata, cela ajoute une couche de complexité puisque celles-ci diffèrent aussi entre langues. Bien qu'amenant une certaine duplication de code, une première étape vers une meilleure portabilité ne serait-elle pas d'essayer de tout rassembler à l'intérieur du module? Je pose vraiment la question naïvement. Je découvre seulement la complexité de l'interopérabilité Wiki. AdrianoRutz (discuter) 10 octobre 2022 à 10:30 (CEST)