Aller au contenu

Discussion module:Wikidata

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Ajouter un sujet
Une page de Wikipédia, l'encyclopédie libre.
Dernier commentaire : il y a 22 jours par Escargot bleu dans le sujet Catégorie de traçage de bug plus perturbante qu'autre chose


Msg erreur du module

[modifier le code]

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)Répondre

Idem sur André Ménard --Hyméros --}-≽ Oui ? 7 avril 2021 à 19:04 (CEST)Répondre
@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)Répondre
Merci pour tes efforts et ta réactivité @TomT0m, Malik (discuter) 7 avril 2021 à 19:19 (CEST)Répondre
TomT0m, Merci pour la rectification. — Cantons-de-l'Est p|d|d [‌sysop] 7 avril 2021 à 20:14 (CEST)Répondre

Autre message d'erreur

[modifier le code]

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)Répondre

@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)Répondre
Merci
Tubamirum (discuter) 11 avril 2021 à 18:54 (CEST)Répondre

✔️ Affichage des proportions en pourcentage

[modifier le code]

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)Répondre

Fait. l'Escogriffe (✉) 4 mai 2022 à 23:07 (CEST)Répondre
Merci GrandEscogriffe Émoticône, c'est super.
--Dom (discuter) 5 mai 2022 à 09:10 (CEST)Répondre

Bug avec le code langue moldave

[modifier le code]

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)Répondre

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>
    
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)Répondre
Un effet de bord sinon ? Genre une variable « lang » globale quelque part qui dans le cas de l’appel en console est propre mais dans le cas de l’appel de l’infobox est incorrectement prédéfinie à "mo" ? — TomT0m [bla] 2 juin 2022 à 20:18 (CEST)Répondre
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)Répondre
@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)Répondre

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)Répondre

@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)Répondre
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)Répondre
edit : De toute façon le code IETF est dans la table mo du 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 avec als qui 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)Répondre
Merci Notification Zebulon84 et TomT0m : pour la résolution du problème--Remy34 (discuter) 2 juin 2022 à 21:49 (CEST)Répondre

@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

Enregistré sur Phabricator
Tâche 310581

à 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)Répondre

@TomT0m, je vais suivre ça merci !--Remy34 (discuter) 14 juin 2022 à 15:01 (CEST)Répondre
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)Répondre

Deux-points pour les catégories

[modifier le code]

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)Répondre

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)Répondre
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)Répondre

Transfert vers en:Module:Wikidata

[modifier le code]

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)Répondre

Bonjour AdrianoRutz Émoticône. 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 . La question se se pose plus pour les petits wikis. l'Escogriffe (✉) 7 octobre 2022 à 18:32 (CEST)Répondre
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)Répondre

Références uniquement

[modifier le code]

Bonjour Émoticône

Avec modèle, je veux aller chercher dans Wikidata uniquement les références d'une affirmation.

Parce que je n'arrive pas à comprendre la structure du langage (Lua ou Scribunto ??? même son nom, je ne capte pas), j'ai fait beaucoup d'essais-erreurs.
En fait, après lecture de la documentation, j'espérais exploiter getReferences, mais je n'ai aucune réponse de mes essais (j'imagine réponses nil mais ce n'est que conjecture).

Un exemple de ce que je veux obtenir : les références de la population des Philippines à l'occasion du recensement de 1980

  • {{#invoke:Wikidata|frameFun|formatStatements|normal+|entity=Q928|property=P1082|showsource=true|qualifier=P459|qualifiervalue=Q39825|atdate=1980}}
  • 48,1 M[1],[2],[3]
  1. recensement de 1980 aux Philippines (recensement de la population aux Philippines).Voir et modifier les données sur Wikidata
  2. TABLE 1.1 - Growth of Philippine Population: 1799 - 2007 (document), PSA, , [lire en ligne].Voir et modifier les données sur Wikidata
  3. Table 1. Population Enumerated in Various Censuses by Region: 1903 to 2007 (document), PSA, , [lire en ligne].Voir et modifier les données sur Wikidata

Ceci est le résultat le plus proche de ce que je veux obtenir, mais le nombre 48,1 M ne peut pas apparaître dans le résultat du modèle évoqué dans la première phrase.

Comment faire? Merci Émoticône

LeFit (discuter) 30 octobre 2023 à 10:06 (CET)Répondre

Je m'en suis sorti en
  1. apprenant les bases de Lua à la Wikiversité
  2. ajoutant, dans le code du module "Wikidata", un traitement pour l'argument showsource=="only" (valeur "only" que j'ai créée à l'occasion de ce besoin)
  • {{#invoke:Wikidata|frameFun|formatStatements|normal+|entity=Q928|property=P1082|showsource=only|qualifier=P459|qualifiervalue=Q39825|atdate=1980}}
  • [1],[2],[3]
  1. recensement de 1980 aux Philippines (recensement de la population aux Philippines).Voir et modifier les données sur Wikidata
  2. TABLE 1.1 - Growth of Philippine Population: 1799 - 2007 (document), PSA, , [lire en ligne].Voir et modifier les données sur Wikidata
  3. Table 1. Population Enumerated in Various Censuses by Region: 1903 to 2007 (document), PSA, , [lire en ligne].Voir et modifier les données sur Wikidata
LeFit (discuter) 10 novembre 2023 à 10:03 (CET)Répondre

Contournement possible de la blacklist via WikiData et le module:Wikidata

[modifier le code]
Enregistré sur Phabricator
Tâche 350480

Bonjour

Nous nous sommes aperçus en retirant les liens vers des sites gérés par Advercity qu'une partie des requêtes Spécial:Recherche de liens externes donnait encore des résultats alors que toutes les occurrences avaient été retirées de wp.fr.

Ces liens apparaissaient toujours dans les références enregistrées sur WikData, et peuvent ainsi contourner le blocage par MediaWiki:Spam-blacklist.

En attendant de voir si l'on peut implémenter un blocage mondial, est il possible de faire en sorte que les liens blacklistés sur wp.fr ne soient pas affichés via le module:Wikidata ? Il y a peut être d'autres modules utilisant les données WD et faisant la même chose, mais je ne les connais pas.

Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 3 novembre 2023 à 19:19 (CET)Répondre

Bac à sable Wikidata
Fonction
Gouverneur général d'Australie
jusqu'au
Biographie
Naissance
Décès
Nom dans la langue maternelle
第三节课, ou おもちゃのまちVoir et modifier les données sur Wikidata
Nom de naissance
小宮山 七右衛門Voir et modifier les données sur Wikidata
Nationalités
Activités
Propriétaire
Autres informations
A travaillé pour
布引電気鉄道 (d)
FerrariVoir et modifier les données sur Wikidata
Équipe
Instruments
Distinction
Je viens de tester avec oisillon.net qui est dans Spécial:BlockedExternalDomains, qu'on ne peut pas mettre dans le code des articles, et qui est également bloqué si on tente de le faire apparaître en ajoutant une infobox.
Par contre, si l'infobox est déjà présente sur la page et que le site blacklisté est introduit après sur WikiData, ça marche. Ici, j'ai mis l'infobox, sauvegardé et modifié WikiData après (Q4115189 (« bac à sable Wikidata ») a peut-être été modifié depuis).
Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 3 novembre 2023 à 19:59 (CET)Répondre
Je crains que ça ne nous dépasse un peu.
  • Soit il faudrait propager la blacklist sur Wikidata en amont, mais ça pose le problème politique des différences de règles entre les deux projets qui ne trouvera pas forcément de solution cohérente (dans tous les cas ça vaut ptete le coup d’en discuter sur Wikidata)
  • Soit ça nécessite une solution technique du côté de Mediawiki et Wikidata, problème à signaler en ouvrant un ticket sur Phabricator. Il ne me semble pas exister de solution évidente … Peut être qu’un "filtre" lors de l’import des données Wikidata par les fonctions lua ou la syntaxe wiki serait envisageable. Je ne pense en tout cas pas que les filtres soient accessibles à l’heure actuelle dans les modèles ou modules ? Pour être complet une consultation des filtres Wikipédia lors de l’ajout d’url sur Wikidata potentiellement, mais ce n’est probablement pas possible et ce n’est pas évident de savoir ce qu’il faudrait faire en cas de filtre positif, a voudrait dire qu’un site blacklisté sur n’importe quel client de Wikidata serait inutilisable sur Wikidata. Si il existe d’autres solutions elles dépassent mon imagination.
  • soit on vérifie les liens par le module qui peut tout à fait lire la blacklist qui est publique.
TomT0m [bla] 3 novembre 2023 à 20:54 (CET)Répondre
Justement, comme tenter de régler le problème hors de wp.fr est compliqué, il faut commencer par ne plus rendre possible l'affichage de liens blacklistés au travers du module:Wikidata (et éventuellement d'autres modules faisant la même chose s'ils existent). Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 3 novembre 2023 à 21:18 (CET)Répondre
J’avais pas les yeux en face des trous, on peut clairement accéder à la blacklist depuis le module WD puisqu’on peut l’inclure ici …
— Le message qui précède, non signé, a été déposé par TomT0m (d · c · b), le 4 novembre 2023 à 12:51‎ CET
Il y a également Spécial:BlockedExternalDomains dont la liste des sites est sur MediaWiki:BlockedExternalDomains.json, mais pas sous forme de regexes. Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ 4 novembre 2023 à 17:50 (CET) (y'a un problème avec {{Boîte déroulante}}...)Répondre

Catégorie de traçage de bug plus perturbante qu'autre chose

[modifier le code]

Bonjour Escargot bleu Émoticône. Merci pour ta double correction sur Modèle:ArchivéPar.

Je me demande si le mieux ne serait pas de retirer de la fonction wd.addTrackingCat du présent module la catégorisation « cheloue » qui signale une erreur. En effet il me semble normal de renvoyer une chaîne vide quand on demande les catégories de traçage d'une liste de propriétés qui se trouve être vide. Je ne vois pas pourquoi on considèrerait cela comme une erreur à signaler. La même remarque s'applique sûrement à d'autres catégorisations d'« erreur » faites dans ce module.

Qu'en penses-tu ? l'Escogriffe (✉) 8 février 2026 à 18:23 (CET)Répondre

Bonjour @GrandEscogriffe,
Dans sa version actuelle, la page n'est plus catégorisée si un tableau de propriétés vide est fourni mais uniquement si rien n'est fourni pour la propriété.

Les messages d'erreur étaient initialement affichés directement en rouge et ont ensuite été recyclés en clés de tri pour la catégorie Page avec un problème de codage Wikidata sans avoir été adaptés (ce qui fait que si des erreurs étaient présentes, il n'y aurait pas moyen de savoir précisément de laquelle il s'agit).

Je suis favorable à leur suppression, étant donné qu'ils n'ont de toute façon pas servi depuis 2017. A la place, je serais favorable à la création de tests unitaires, avec Module:UnitTests ou mw:Module:ScribuntoUnit, pour s'assurer que chaque changement apporté au module ne casse rien. Escargot (discuter) 8 février 2026 à 19:46 (CET)Répondre