Discussion module:Wikidata

Dernier commentaire : il y a 1 an par LeFit dans le sujet Références uniquement

Qualifier sans wikification ?

modifier

Bonjour,

J'avais imaginé utilisé les fonctions de ce module pour simplifier l'utilisation du modèle Infobox Élection générale. Mon premier essai porte sur la détermination de l'année de l'élection précédente. J'ai utilisé :

{{#invoke: Wikidata|getQualifier|property=P155|qualifier=P585|formatting=raw}}.

Dans le cas de Élection présidentielle maldivienne de 2013, si je l'utilise directement dans l'article j'obtiens un lien sur l'année 2008, alors que j'attendais simplement "2008". Comment modifier le modèle pour ne plus avoir à préciser :

|date_précédente        = 2008

--Dom (discuter) 11 novembre 2013 à 10:08 (CET)Répondre

Bonjour, le formatage de date utilise la fonction modeleDate de module:Date, je pense que le plus logique serait de changer directement ce module (personnellement, je serais pour ne mettre de liens sur les dates que lorsque c'est explicitement demandé, mais il faudrait alors aussi changer modèle:Date pour rester cohérent). --Zolo (discuter) 11 novembre 2013 à 17:15 (CET)Répondre
Je ne suis pas sur de bien comprendre. Dans le module:Date, je vois plusieurs méthodes : modeleDate(frame), modeleInscriptionDate(frame), qui affichent une date correctement formatée, sans lien. N'est-il pas possible d'utiliser une de ces méthodes ? --Dom (discuter) 15 novembre 2013 à 05:12 (CET)Répondre
Effectivement, modeleInscriptionDate(frame) n'ajoute pas de lien, mais c'est une fonction moins développée que modeleDate et le paramètre année est obligatoire, ce qui est embêtant dans des cas du genre "Noël est le 25 décembre". Je pense donc qu'il vaut mieux utiliser modeleDate, et pour cette fonction, il y a un lien par défaut. Il y a un moyen de le désactiver ? --Zolo (discuter) 15 novembre 2013 à 16:24 (CET)Répondre

Type de recherche que l'on veut comme options

modifier

Il faudrait lister les différentes options que les utilisateurs veulent utiliser pour effectuer des tris via le module Wikidata si présence de plusieurs données:

Tri Paramètre Valeur du paramètre
avec référence source true,1,...
choix du rang rank rangée 2, case 3
choix du qualificateur rangée 2, case 2 rangée 2, case 3
choix de la valeur rangée 2, case 2 rangée 2, case 3
nombre de valeurs à afficher rangée 2, case 2 rangée 2, case 3
valeur la plus récente rangée 2, case 2 rangée 2, case 3
référence la plus récente rangée 2, case 2 rangée 2, case 3
Snipre (discuter) 9 juillet 2014 à 16:13 (CEST)Répondre

« - » pour ne pas utiliser Wikidata

modifier

Je vois sur WP hongrois cette modif au niveau de « --If a value is already set, use it », qui fait que si l'argument value du module est « - » on ne renvoie rien. D'après les discussions là-bas c'est bien utile : dans un article, il suffit de mettre dans la partie infobox par exemple « |conjoint=- », et le modèle d'infobox n'affichera rien même s'il va chercher la valeur Wikidata sous forme « {{Infobox/Ligne mixte optionnelle|Conjoint| {{Wikidata|p26|{{{conjoint|}}} }} ». — Oliv☮ Éppen hozzám? 15 juillet 2014 à 13:01 (CEST)Répondre

J'y pensais aussi. J'aurais tendance à préferer "~" à "-" mais c'est juste par habitude avec les modèles d'internationalisation de Commons.Zolo (discuter) 15 juillet 2014 à 14:23 (CEST)Répondre
Et lorsque l'on voudra introduire des nombres négatifs ? Snipre (discuter) 15 juillet 2014 à 15:12 (CEST)Répondre
Il faut juste que ce soit tout l'argument value qui soit testé contre « - » (c'est ce que fait la modif hongroise, « ~= » en Lua est le contraire de l'opérateur égalité). « - » pour dire « néant » me semble assez intuitif. — Oliv☮ Éppen hozzám? 15 juillet 2014 à 15:25 (CEST)Répondre
Pour moi, il y a 3 cas :
  • utiliser la valeur venant de Wikidata, le paramètre n'est pas utilisé dans le modèle
  • spécifier une valeur différente de Wikidata, le paramètre est utilisé dans le modèle, par exemple « |conjoint= Carla Bruni Tedeschi »
  • ingnorer la valeur venant de Wikidata, donc spécifier une valeur vide, c'est un sous-cas du précédent, par exemple « |conjoint= »
Ça me semble plus intuitif. --Dom (discuter) 16 juillet 2014 à 04:47 (CEST)Répondre
C'est peut être intuitif pour un informaticien (et encore), mais à mon avis pas pour le wikipédien moyen, qui ne fait pas vraiment la différence entre l'absence d'un paramètre et un paramètre vide. Cf. Leperebot (d · c) qui ajoute systématiquement les paramètres manquant d'une infobox, en les laissant vide.
Je suis aussi contre le « ~ » qui n'apparait pas directement lorsqu'on le tape sur un clavier français, et qui veut plutôt dire « environ » que « non »
Bref je serais pour la même solution que les Hongrois.
Zebulon84 (discuter) 16 juillet 2014 à 06:21 (CEST)Répondre
ok   [1]. --Zolo (discuter) 24 juillet 2014 à 15:22 (CEST)Répondre

Rétrolien « +/- »

modifier

Pour mémoire, le lien pour modifier affiché dans l'infobox à côté d'une valeur prise de Wikidata vient de cette discussion du Bistro en mars dernier. Je vois maintenant que WP en anglais fait dans une infobox quelque chose du même genre avec une icône Wikidata, depuis décembre dernier et via des sous-modèles ; notre affichage me semble plus parlant et c'est plus pratique via notre module Lua, mais c'est pour dire que l'idée fait son chemin là-bas aussi. — Oliv☮ Éppen hozzám? 12 mai 2015 à 06:57 (CEST)Répondre

Lien vers Commons

modifier

Y-a-t-il un moyen de faire pointer le lien vers Commons?

p.e.

{{#invoke:Interface Wikidata|formatStatements|entity = Q11329154| property = P2033|link=Commons}}

ce qui donne actuellement une erreur:

Catégorie:Photographie prise avec un Panasonic Lumix DMC-G2

au lieu de

Category:Taken with Panasonic Lumix DMC-G2

Le lien vers cette catégorie est définie à Q20857630 - - - Jura 22 août 2015 à 19:47 (CEST)Répondre

Je pense au lien sous "Autres sites" commonswiki, pas celui de P373.
A noter que l'erreur a disparu entretemps, mais il n'y a pas de lien vers Commons. - - - Jura 27 août 2015 à 13:44 (CEST)Répondre
Je m'aperçois que ça marche désormais en utilisant "link=commonswiki".
Catégorie:Photographie prise avec un Panasonic Lumix DMC-G2
Merci! - - - Jura 11 septembre 2015 à 11:59 (CEST)Répondre
Oui effectivement, j'avais ajouté link = pour les liens vers d'autres Wikipédia. En fait, dans les sitelinks, Commons s'appelle "commonswiki", comme Wikipédia en anglais s'appelle "enwiki", ce qui permet d'avoir le lien plus facilement, mais en même temps ça complique un peu l'ajout d'un popup du style "lire sur Wikipédia en anglais" suggéré par user:Oliv0. --Zolo (discuter) 11 septembre 2015 à 12:32 (CEST)Répondre
ça marchait probablement avant ma première question. Merci en tout cas ;). Y'a-t-il un moyen de remplacer le libellé? L'idée c'est d'avoir un lien du genre "photos prises avec la caméra" dans l'infobox. - - - Jura 11 septembre 2015 à 13:47 (CEST)Répondre
Ca ne marche pas depuis longtemps (il fallait l'arbitrary access). Pour changer le libellé, on peut passer par le paramètre labelformat, mais il ne fonctionne qu'en Lua (voir Module:Infobox/Fromage). --Zolo (discuter) 11 septembre 2015 à 15:39 (CEST)Répondre

Refs Harvard et cite element

modifier

Il faut extraire la date "publishdate" de l'année pour donner un paramètre "année" pour que les refs harvard marchent. — TomT0m [bla] 26 août 2015 à 13:51 (CEST)Répondre

@TomT0m il y a une fonction splitTimeStamp pour récupérer l'année à partir de value.time. --Zolo (discuter) 27 août 2015 à 14:45 (CEST)Répondre
  Zolo : Ne devrait-on pas créer un format pour les sources, histoire de pouvoir générer ce code ? Si oui, où serait-il approprié de coder ces format ? Dans ce module ? Dans un module à part ? Snipre (discuter) 27 août 2015 à 15:45 (CEST)Répondre
@Snipre Ça existe déja, la fonction "createSpan" dans Module:Biblio et le modèle {{harvsp}} génèrent ça à partir des noms des auteurs et de l’année pour générer un ID. Par contre comme ce sont les noms des auteurs qui sont concaténés avec l’année, il faut être sûr que c'est le bon nom. Il faut être sûr aussi qu'on extrait de manière raisonnable les noms (il faut charger les éléments des auteurs pour avoir les noms précis, ce que je pense ne faire que pour les auteurs dont les intitulés sont "Pierre Marie Paul", quand on est pas vraiment sûr de ce qui est le nom ou le prénom dans l'intitulé ...
ça a l’avantage d'être compatible avec l’existant. Après je ne serai pas contre créer une alternative à Harvsp qui utiliserait directement le Qid, ce serait largement plus simple :) à la place de Bidule et Machin 2005 les gens entreraient {{wikiref|Q4242}}. À discuter avec les utilisateurs ... — TomT0m [bla] 27 août 2015 à 16:04 (CEST)Répondre

Problème avec la fonction lower

modifier

Bonjour,

Le code suivant (que j'avais inséré dans une page le 1er septembre) ne fonctionne plus :

{{Wikidata|entity=Q322453|property=P374|showsource=true}}

Le message d'erreur est :

« Erreur Lua dans Module:Wikidata à la ligne 500 : bad argument #1 to 'lower' (string expected, got nil). »

Démonstration : 22162[1]

  1. code Insee (identifiant unique). 

Je constate qu'un appel à la fonction lower a été rajouté tout récemment. Peut-être faudrait-il vérifier son argument... Seudo (discuter) 21 septembre 2015 à 10:36 (CEST)Répondre

Oui effectivement, corrigé :]. -Zolo (discuter) 21 septembre 2015 à 13:03 (CEST)Répondre
Merci ! Seudo (discuter) 21 septembre 2015 à 14:08 (CEST)Répondre

alignement du +

modifier

@Zolo Il y a moyen d'ajouter une option pour formater les "+" ou quoi que ce sera décidé à droite ? J'ai lu une demande dans ce sens quelque part et je suis assez d'accord. Un code comme ça fonctionnerait je pense:

ref+
ref2+

En rajoutant le code suivant dans son Special:MyPage/common.css on a + qui s'affiche au survol:

.wikidata-data:hover .button {
    visibility: visible;
}	


@media (screen) and (any-hover:none), (screen) and (any-hover:on-demand){
	.wikidata-data:hover .button {
	    visibility: visible;
	}	
}

@media not (screen){
	.wikidata-data:hover .button {
	    visibility: hidden;
	}
}

@media (any-hover:hover) {

	.wikidata-data .button {
	    visibility: hidden;
	}  
	
	.wikidata-data:hover .button {
	    visibility: visible;
	}
	
	.wikidata-data:hover {
	    background-color : SeaShell ;
	}
}

Essai avec l'affichage de la souris au survol :

ref+
ref2+

Essai 2 :

ref+
ref2+


Dernière version, le meilleur des deux :

ref+
ref2+
ref3 +

-TomT0m.

Vu ça qu'a fait user:Oliv0 sur les exemples de Wikipédia:Sondage/Lien vers Wikidata, il semblerait qu'un "float: right" pourrait suffire. Mais c'est peut-être plus prudent d'attendre la fin du sondage avant de changer les choses ? --Zolo (discuter) 29 novembre 2015 à 10:08 (CET)Répondre
C'est TomT0m (d · c) qui a fait le float comme 2e ligne de mon tableau d'exemple, mais en effet pour ce float même si ce n'est pas une question du sondage il peut y avoir des pour et des contre. L'éloigner de la valeur affichée peut être ressenti comme ayant pour résultat de rendre moins clair le rapport avec celle-ci, comme si on éloignait le (d) ou le (en). — Oliv☮ Éppen hozzám? 29 novembre 2015 à 10:17 (CET)Répondre
Faudrait tester auprès de différents types de publics pour savoir ça. Je suis pas ultra convaincu par la méthode des sondages pour prendre ce genre de décisions, parce que les gens répondent pas forcément sincèrement en fonction de leur opinion propre mais parfois en fonction de ce que d'autres pourraient ressentir, ce qui est quand même assez casse gueule et au final on sait pas vraiment ce que veulent dire les réponses. Mais faut croire qu'on a pas mieux :) — TomT0m [bla] 1 décembre 2015 à 08:32 (CET)Répondre

Showsource

modifier

Il y a un moment déjà, j’ai signalé un problème sur cette page, mais peut-être qu’elle n’est pas assez consultée. Je mets le lien ici parce que cela concerne le module et que je trouve vraiment dommage que ça n’aie pas été encore réparé. Il s’agit juste d’un formatage des références de type url + titre (+ langue + date de consultation + date de publication). — Metamorforme42 (discuter) 29 novembre 2015 à 04:30 (CET)Répondre

@Metamorforme42 Fait en grand partie, mais il reste quelques trucs à régler. Je n'ai pas mis la date de publication parce que pour l'instant, il y a pas mal de cas, où la date affichée serait la date d'écriture d'un document, éventuellement mis en ligne plus tard alors que le paramètre de C désigne seulement la date de mise en ligne. --Zolo (discuter) 29 novembre 2015 à 11:09 (CET)Répondre
@Zolo : fonctionnellement, je ne pense pas que cela soit gênant, au contraire, même si cela introduit une disparité avec le modèle lien web. (La date réelle de parution d'un article est plus significatif que sa date de mise en ligne, notamment pour les domaines où l'obsolescence des connaissances est rapide).
C'est intéressant, cette fonction d'appel de source. Il y a un moyen de la récupérer dans les infobox ? --La femme de menage (discuter) 29 novembre 2015 à 11:31 (CET)Répondre
Merci Zolo  , c’est top !
  La femme de menage : dans les infobox en Lua je sais que c’est possible, vu qu’il suffit d’appeler le module (mais je n’ai pas d’exemple) ; et pour celles en wikicode, je l’ai ajouté à l’{{infobox Logiciel}} pour le numéro et la date de version et c’était plutôt simple. — Metamorforme42 (discuter) 29 novembre 2015 à 21:17 (CET)Répondre
Merci, c'est prometteur, d'autant plus que je vois dans le premier exemple qu'il est aussi possible de récupérer ces sources au format ref, en plus de ton dernier exemple où on récupère un lien direct vers la page web. Je notifie   O.Taris :, qui devrait être intéressé. --La femme de menage (discuter) 29 novembre 2015 à 22:21 (CET)Répondre

Sous-module pour les sources

modifier

@tomT0m c'est effectivement plus pratique d'avoir un sous-module pour ça, mais le sous-module actuel appelle lui-même Module:Wikidata. Je ne sais pas pourquoi ça ne crée pas une erreur de boucle comme ça se produit parfois. C'est peut-être parce que tu as utilisé des variables globales, mais généralement, il vaut mieux essayer de les éviter, avec tous les surmodule d'infobox ou autre qui se rajoutent, on se retrouve parfois avec des conflits de noms. --Zolo (discuter) 29 novembre 2015 à l11:09 (CET)

Oui j'ai tâtonné pour arriver a ce qu'il n'y ait pas de boucle. C'est la méthode recommandée en lua pour que les dépendances circulaires marchent. Ça a aussi l'avantage de ne pas nécessiter de chargement multiple de modules. J'aurai bien aimé pousser l'l'idée du global pour gerer les références sur tout un article en utilisant des refs nommees après la première occurrence d'un réf pour éviter par exemple d'appeler plusieurs fois le modèle article avec la même ref mais l'environnent est réinitialisé entre chaque appel de modèle. — TomT0m [bla] 29 novembre 2015 à 12:04 (CET)Répondre
tiens tant qu'on parle structuration j'ai un module expérimental module:Wikidata/Chemin pour trouver les données au bout d'une séquence de propriété. Ça devrait peut être trouver sa place dans /recup . — TomT0m [bla] 29 novembre 2015 à 12:57 (CET)Répondre

Doubles références et showsource

modifier

Bonjour, j’ai remarqué quelques problèmes avec l’option showsource du modèle {{wikidata}} :

  • Si on appelle plusieurs fois le modèle sur la page pour le même élément exactement, on se retrouve avec deux références au lieu d’une seule appelée deux fois (exemple d’utilisation: Comparaison de WAMP) ;
  • Il manque un point à la fin de la référence à chaque fois ;
  • Lorsqu’il y a plusieurs sources pour une seule utilisation du modèle, les numéros des références ne sont pas séparés par le modèle {{,}}.

Est-ce que quelqu’un sait comment faire pour corriger ça ? — Metamorforme42 (discuter) 10 janvier 2016 à 00:00 (CET)Répondre

solution pour le 1 : d:Wikidata:Contact_the_development_team#The_duplicate_reference_in_client_problemTomT0m [bla] 10 janvier 2016 à 21:25 (CET)Répondre

[BUG ]: les doubles références quand on utilise plusieurs fois une déclaration

modifier

Problème : duplication d'une référence quand on utilise plusieurs fois par page une déclaration.


Solution : utiliser le hash identifiant les références de la déclaration dans la structure de donnée en valeur de l’attribut "name" de la balise <ref>.

TomT0m [bla] 10 janvier 2016 à 21:24 (CET)Répondre

Question : trouver une propriété précise ou ses sous-classes/identiques

modifier

Bonjour,
suite à une question pour un module Lua je cherche à tester la présence d'une propriété spécifique et la présence d'une propriété qui soit "fille" (ou identique) à une propriété.
En pratique c'est P31 (nature de l'élément) et Q5 (être humain).
Je peux facilement chercher Q5 dans P31. Je peux aussi parcourir les valeurs de P31 et faire une requête sur chaque pour chercher si l'une est "identique à" Q5, ou "sous-classe de" Q5 (et récursivement).

Ma question : est-ce la bonne approche ? Est-ce que ça existe déjà (je n'ai pas trouvé comment l'exprimer) ?

Cordialement, Hexasoft (discuter) 12 janvier 2016 à 14:07 (CET)Répondre

J'ai répondu là bas, nos messages se sont croisé. — TomT0m [bla] 12 janvier 2016 à 14:15 (CET)Répondre

Dates doublon

modifier

Un cas de deux affirmations Wikidata équivalentes en calendrier julien et grégorien (actuellement en infobox Alexander von Bunge « Naissance : 6 octobre 1803 ou 24 septembre 1803 ») a été mentionné sur le Bistro il y a quelques jours, et d'après la réponse sur Bistro Wikidata ce cas, ainsi que celui de deux sources à précision différente (par exemple l'une ne donnant que l'année), serait à traiter dans Wikipédia et non dans Wikidata, donc ici dans Module:Wikidata ou un sous-module afin de n'afficher qu'une seule date. — Oliv☮ Éppen hozzám? 16 février 2016 à 12:49 (CET)Répondre

Apparemment le gros bug de gestion des dates sur Wikidata n'est pas encore réglé. Théoriquement, elles sont toutes stockées en grégorien, mais converties en julien dans l'interface lorsque c'est le calendrier choisi. Mais pour l'instant, ça ne se passe pas comme ça : la date affichée comme 6 Octobre 1803 Julien sur Wikidata est stockée comme 6 octobre 1803 dans les données. Avec ce flottement, difficile de savoir quoi faire (et il faudra sans doute vérifier toutes les dates lorsque le bug sera réglé... -Zolo (discuter) 16 février 2016 à 13:44 (CET)Répondre
Par curiosité : il y a un ticket pour ce bug ? Sinon comme je le disais sur le bistrot de Wikidata, le rang privilégié permet aussi de régler le problème. Cdlt, Vigneron * discut. 16 février 2016 à 19:42 (CET)Répondre
Ah pardon, j'avais eu la flemme de vérifier, mais apparemment j'ai complètement loupé une étape. Le modèle interne de Wikidata a changé et les dates stockées ne représentent plus la date en grégorien, voir mw:Wikibase/DataModel#Dates_and_times. Il faut donc changer le fonctionnement de Module:Wikidata. (@Vigneron : Le bug que j'avais en tête devait être phabricator:T72395).
Du coup, on sait comment vérifier que deux dates sont identiques. La question reste de comment traiter ça sur Wikidata en pratique : vérifier la date sur Wikipédia ou utiliser les rangs sur Wikidata. En fait, pour les calendriers, ce n'est pas forcément très compliqué à gérer, vu qu'il y en a deux. Mais je pense que la solution devrait être la même pour la question des nombres avec unité, par exemple une taille en centimètre et une taille en pouces. Et là, il y a beaucoup plus de possibilités, et ça devient plus lourd à gérer. --Zolo (discuter) 16 février 2016 à 20:37 (CET)Répondre

Sélectionner 1 seul qualificatif d'une propriété ?

modifier

Bonjour. J'ai posé la question là-bas : Discussion modèle:Wikidata mais je ne sais pas si c'est le bon endroit alors je reposte ici : est-ce possible de n'afficher qu'un seul qualificatif d'une propriété ? Je n'ai pas réussi en tout cas. Par exemple, n'afficher qu'un seul qualificatif dans la P166 de Mario Lemieux (Q316249) : Officier de l'Ordre du Canada (en), chevalier de l'Ordre national du Québec‎ (d), temple de la renommée de l'IIHF, allée des célébrités canadiennes, Trophée Hart, Trophée Hart, Trophée Hart, Trophée Art Ross, Trophée Art Ross, Trophée Art Ross, Trophée Art Ross, Trophée Art Ross, Trophée Art Ross, Trophée Bill Masterton, Trophée Calder, Trophée Conn Smythe, Trophée Conn Smythe, Lester B. Pearson Award (d), Lester B. Pearson Award (d), Lester B. Pearson Award (d), Lester B. Pearson Award (d), Trophée plus-moins de la LNH, Panthéon des sports du Québec, Panthéon des sports canadiens, temple de la renommée du hockey et trophée Lester-Patrick ? Merci 'toff [discut.] 25 février 2016 à 10:44 (CET)   Zolo : salut. Vu que tu as l'air de bien gérer ce module, tu saurais répondre à ma question ci-dessus ? 'toff [discut.] 5 avril 2016 à 20:34 (CEST)Répondre

  Supertoff : désolé, mais je ne vois pas du tout ce que tu cherches à faire. --Zolo (discuter) 6 avril 2016 à 15:37 (CEST)Répondre
  Supertoff : Est-ce que numval=1, tel le dernier exemple du tableau répond à ta question ? --FDo64 (discuter) 6 avril 2016 à 16:48 (CEST)Répondre
  Zolo : Pour Mario Lemieux sur WD, il existe une propriété Distinction (P166) dans laquelle il y a 3 qualificatifs valeurs actuellement : officier de l'ordre du Canada (Q15278116), chevalier de l'ordre national du Québec‎ (Q15463524) et temple de la renommée de l'IIHF (Q58818). Dans le cadre d'une infobox, j'aimerais ne pouvoir extraire que la Q58818 sans voir apparaître les autres. 'toff [discut.] 6 avril 2016 à 17:16 (CEST)Répondre
  FDo64 : malheureusement non. J'avais regardé ça aussi mais (sauf erreur) ça ne te permet d'extraire que les x premières valeurs alors que là je veux extraire une valeur spécifique qui n'est pas forcément toujours à la même position. 'toff [discut.] 6 avril 2016 à 17:20 (CEST)Répondre
  Supertoff : Tu n'utilises pas le bon vocabulaire: il ne s'agit pas de 3 qualificatifs, mais de 3 valeurs différentes pour une même propriété. Dès lors, il n'y a pas de raison de limiter l'affichage des valeurs à moins de vouloir uniquement afficher dans un tableau spécial les distinctions sportives. Dans ce dernier cas, tu dois filtrer les distinctions en fonction de leur lien avec le sport. Snipre (discuter) 6 avril 2016 à 17:26 (CEST)Répondre
  Snipre : Bof, pour moi Q voulait dire qualificatif comme P=propriété (et je ne suis probablement pas le seul)... mais soit, ce n'est pas le plus important dans le cas qui nous intéresse. Par contre on peut très bien sélectionner certaines choses (valeurs ?) avec showonlyqualifier et qualifier mais pas les deux en même temps... Sinon je ne vois pas ce que tu veux dire ensuite par « filtrer les distinctions en fonction de leur lien avec le sport »? 'toff [discut.] 6 avril 2016 à 17:45 (CEST)Répondre
'toff Si tu veux de l'aide rapide, il faut parler le même language que les autres et surtout savoir de quoi on parle, sinon on perd du temps à modifier des éléments du code qui ne serviront pas. Pour ton info, il existe d:Wikidata:Glossary/fr.
Encore une fois, pourquoi veux-tu afficher uniquement une valeur dans une infobox ? Si la personne en question a 12 titres, vouloir n'afficher qu'un titre est du POV-pushing: tu ne considères cette personne que sous un seul de ses aspects, alors que la personne en question a été distinguée par un cercle plus large que ce que tu considères comme important. Si maintenant tu fais un tableau qui recense uniquement les titres sportifs d'une personne, tu récupères tous les titres qu'a reçu la personne et tu vérifies chaque titre pour voir si le titre en question est issue d'une fédération sportive ou est lié à une compétition, voilà le filtrage dont je parle. Snipre (discuter) 6 avril 2016 à 17:59 (CEST)Répondre
  Snipre : Ce n'est pas du Pov-pushing mais de l'adaptation de WD à une infobox existante (et pas l'inverse). Et je ne comprends toujours pas comment tu fais ton filtrage ? Sur mon exemple (Mario Lemieux) tu filtres comment automatiquement certaines données ? Un exemple ? 'toff [discut.] 6 avril 2016 à 18:08 (CEST)Répondre
  Supertoff : Un qualificatif, c'est ce qui est écrit en petit, en dessous de la valeur principale (dans ton exemple "date : 2010"). Pour la valeur principale, tu peux utiliser |targetvalue = . --Zolo (discuter) 7 avril 2016 à 08:54 (CEST)Répondre
  Zolo : ça sert à quelque chose les deux appels pour targetvalue dans filterClaims de Module:Wikidata/Récup ? — Oliv☮ Éppen hozzám? 7 avril 2016 à 10:02 (CEST)Répondre
  oliv0 :, c'était juste mal relu, je l'ai d'ailleurs enlevé ;). --Zolo (discuter) 7 avril 2016 à 13:36 (CEST)Répondre
Ah oui pardon, j'avais dû voir ça dans un diff antérieur.  Oliv☮ Éppen hozzám? 7 avril 2016 à 14:16 (CEST)Répondre
  Zolo : zut, c'est pas exactement ça : je voudrais aussi récupérer la date (P585) de cette valeur. Je me suis mal exprimé. (Mais déjà ta première réponse m'a aidé). 'toff [discut.] 7 avril 2016 à 18:33 (CEST)Répondre

┌─────────────────────────────────────────────────┘
Théoriquement, ce serait {{wikidata|property=P166|targetvalue=Q15278116|qualifiers=P585|showonlyqualifier=true|entity=Q316249}}, mais comme l'a remarqué Oliv0, ça ne marche pas. @Zebulon84, il y a une nécessité au args.qualifier = args.showonlyqualifier ici ? --Zolo (discuter) 8 avril 2016 à 00:18 (CEST)Répondre

Oui, c'est utilisé ici pour n'afficher que la légende de l'image (sans le nom du fichier). Comme je l'ai documenté sur {{Wikidata}} il est possible que ce soit aussi utilisé ailleurs. La syntaxe est avec le nom de la propriété directement dans le paramètres showonlyqualifier : c'est plus court, plus simple pour ceux qui utilise le modèle. D'où le args.qualifier = args.showonlyqualifier.
{{wikidata|property=P166|targetvalue=Q15278116|showonlyqualifier=P585|entity=Q316249}} → . — Zebulon84 (discuter) 8 avril 2016 à 05:55 (CEST)Répondre
  Zebulon84 et Zolo : Super, ça fonctionne, merci à vous deux. Juste un truc : linkback ne fonctionne plus dans ce cas (avec showonlyqualifier) et on ne peut donc plus afficher le petit crayon qui indique que ça vient de wikidata... 'toff [discut.] 8 avril 2016 à 07:03 (CEST)Répondre
  Zebulon84 : ah ok, je peux paser ça sur Module:Wikidata pour pouvoir l'utiliser depuis Lua du coup ? Je pourrais en profiter pour ajouter les addcat et addlinkback nécessaires pour Superfott en même temps. -Zolo (discuter) 8 avril 2016 à 13:13 (CEST)Répondre
  Zolo : si tu veux, pas de problème pour moi. Lorsque j'en ai eu besoin, j'ai créé ce paramètre de la façon la plus simple possible pour faire ce que je désirais, mais si tu penses que c'est mieux ailleurs, n'hésite pas. — Zebulon84 (discuter) 8 avril 2016 à 14:47 (CEST)Répondre
  Zebulon84 : pas beaucoup d'utilisations de showonlyqualifier, le nom pourrait encore être changé assez facilement. — Oliv☮ Éppen hozzám? 8 avril 2016 à 16:11 (CEST)Répondre
  Zebulon84 et Supertoff : j'ai déplacé showonlyqualifier, il est maintenant compatible avec linkback et addcat. --Zolo (discuter) 9 avril 2016 à 16:13 (CEST)Répondre
  Zolo : impeccable, merci. 'toff [discut.] 9 avril 2016 à 16:43 (CEST)Répondre

stack overflow.

modifier

  Zolo : il y a quatre pages avec des erreurs de script « stack overflow » dans Catégorie:Page avec des erreurs de script : Apollodore (peintre), Équipe cycliste Dynamo Cover, Mount Vernon et N!xau. Quatre infobox différentes, et ça plante trois fois sur une P585 que je ne vois pas dans la page Wikidata. Tu as une idée de ce qui génère cette erreur ? — Zebulon84 (discuter) 5 avril 2016 à 16:21 (CEST)Répondre

  Zebulon84 : il y avait un truc bizarre dans la manière dont la fonction getFormattedDate gérait les "valeurs spéciales" (novalue, somevalue), ça devrait fonctionner maintenant [2]. --Zolo (discuter) 5 avril 2016 à 19:21 (CEST)Répondre

oups ?

modifier

Salut   Zolo : et les autres. J'ai l'impression qu'un bug est apparu cet après midi mais je ne sais pas bien d'où. L'{{Infobox Footballeur}} distingue les P54 (« membre de l'équipe de sport ») selon leur nature (clubs de football ou sélections, et leurs sous-classes respectives). Cela marchait très bien jusque-là, mais depuis quelques heures (minutes ?), l'affichage de Enrique Wolff ou Matías Lequi (pour prendre deux exemples d'articles rédigés récemment) déconne complètement.

J'ai l'impression que quelqu'un a touché à quelque-chose quelque-part, mais il n'y a pas eu de modifs dans les données sur Wikidata, rien sur Module:Infobox/Footballeur, etc. Quelqu'un aurait-il une idée ? Merci d'avance ! — H4stings d 7 avril 2016 à 17:34 (CEST)Répondre

[édit.] Cela venait de Diff #125088702, dans Module:Wikidata/Récup. Etant donné que je ne me sens pas de me lancer dans la correction de ce bout de code, et que le commentaire disait que c'était « cosmétique », je me suis permis d'annuler. Tout est rentré dans l'ordre de mon côté. — H4stings d 7 avril 2016 à 17:49 (CEST)Répondre
  H4stings : on peut visualiser le rendu de l'ancienne version du module en mettant "Enrique Wolff" dans le champ "titre de la page" ici, mais je ne vois pas de différence avec le rendu actuel ? --Zolo (discuter) 7 avril 2016 à 18:02 (CEST)Répondre
« en mettant "Enrique Wolff" dans le champ "titre de la page" »   désolé, je ne comprends pas.  
le rendu était que dans la partie "Sélection" de l'infobox, qui correspond à la fonction p._teams('Q6979593'... dans Module:Infobox/Footballeur, on se retrouvait avec des sélections mais aussi d'autres équipes qui s'affichaient avant dans la partie "Parcours senior" (pour prendre l'exemple de Wolff, c'était marqué Argentine, puis en dessous Las Palmas, Real Madrid, etc.). Peut-être du à des valeurs gardées en mémoire après le premier appel à la même fonction p._teams ? — H4stings d 7 avril 2016 à 18:09 (CEST)Répondre
Je confirme, ça faisait un sacré bug. Ainsi, Matías Lequi jouait en sélection nationale au Celta Vigo, par exemple. Et si tu fais ta manip, @Zolo, avec ce joueur, tu le verras je pense (je viens de le faire). @H4stings, la manip consiste à mettre le nom de la page (Matías Lequi par exemple) dans le champ sous les boutons « enregistrer » etc., dans le cadre nommé « Aperçu de la page avec ce modèle ». Auxerroisdu68 @ 7 avril 2016 à 18:24 (CEST)Répondre
Ah ok, désolé, ça marche mieux comme ça apparemment, même si je ne vois pas ce qui causait le problème. --Zolo (discuter) 7 avril 2016 à 18:53 (CEST)Répondre
Impec merci. Ca commençait déjà à râler sur le projet foot...  H4stings d 7 avril 2016 à 19:06 (CEST)Répondre
Il faudrait vraiment que je sois plus prudent dans mes modifs, mais ça prend du temps et il y a beaucoup à faire :(. La méthode de prévisualisation que je mentionnais aide déjà beaucoup, mais il faudrait prendre le temps de créer un vraie page de tests un peu systématique (en plus Module:UnitTests n'est pas vraiment adapté pour des données Wikidata). -Zolo (discuter) 8 avril 2016 à 00:00 (CEST)Répondre

Wikidata sur demande explicite

modifier

L'idée exprimée dans une section de discussion de PDD Wikidata est que

au lieu que cet affichage ait lieu par défaut quand aucune valeur n'est fournie en paramètre d'infobox dans l'article (« |paramètre= » ou absent), il ait lieu sur demande explicite par une valeur spéciale fournie en paramètre d'infobox (par exemple « |paramètre={{WD}} »).

En effet une question de la PDD interdira probablement dans les articles les « |paramètre={{Wikidata|Pxxx}} », laissant uniquement le choix dans les modèles d'infobox entre donnée Wikidata toujours affichée par défaut et donnée Wikidata jamais affichée, alors que certaines données Wikidata pourraient être inutiles en général mais intéressantes pour certains articles seulement, par exemple des données mises à jour sur Wikidata mais dont le caractère utile ou pas en infobox dépend de choix subtils difficiles à programmer automatiquement en Lua. Bref dans un modèle « {{Wikidata|Pxxx|expl=}} » ou l'équivalent Lua, pour faire que dans un article « |paramètre={{WD}} » soit la façon d'appeler la donnée Wikidata (noms « expl » et « {{WD}} » à changer si d'autres sont plus clairs). — Oliv☮ Éppen hozzám? 17 avril 2016 à 09:24 (CEST)Répondre

Pas très compliqué techniquement a priori, mais il faudrait choisir le texte qui active Wikidata. Que ça passe ou non par un modèle ne change rien ici : les modèles sont transformés en Wikitexte avant d'être passés au module. Je met "par wikidata" pour activer Wikidata ? --Zolo (discuter) 18 avril 2016 à 11:22 (CEST)Répondre
J'ai peur qu'on puisse croire à une vraie valeur du paramètre, c'est pour éviter toute confusion que je pensais au départ à un modèle évalué, au rendu invisible en cas d'appel par erreur hors infobox, comme un div vide avec une classe CSS. Mais si c'est sûr qu'il n'y aura jamais évaluation du modèle, il me vient une idée pour que ce soit plus parlant : le modèle existant « {{wikidata}} » (utilisation spéciale sans paramètre, qui serait alors à indiquer dans sa doc) ; de plus un tel modèle qui est évalué (sans paramètre) à une valeur vide aurait me semble-t-il l'avantage de continuer à fonctionner si dans le module d'infobox le « expl= » du champ est enlevé (ou ajouté). (barré : plus logique que c'est toujours évalué, voir ci-dessous)Oliv☮ Éppen hozzám? 18 avril 2016 à 11:50 (CEST)Répondre
Je voulais dire que le modèle est toujours évalué avant passage à ce module, donc un {{Wikidata}} vide de ne serait pas très pratique. Je demandais quelle chaîne doit déclencher le modèle. Effectivement une chaîne invisible est peut-être la meilleure solution, moins pour l'emploi hors infobox que pour le cas où elle serait utilisée par erreur dans un champ d'infobox sans Wikidata (enfin elle sera pas tout à fait invisible : elle déclenchera l'affichage du libellé des champs de type {{#if: {{{param|}}} then afficher la ligne }}). --Zolo (discuter) 18 avril 2016 à 14:10 (CEST)Répondre
Mettre quelque part comme Module:Wikidata/I18n une valeur bidon invisible du genre <div class="par wikidata"></div> et l'appeler dans le modèle ad hoc et dans Module:Wikidata, comme ça c'est sûr que c'est le même pour les deux s'il est changé ? — Oliv☮ Éppen hozzám? 18 avril 2016 à 14:30 (CEST)Répondre
Usine à gaz. Pourquoi faire simple quand on peut faire compliquer ? @Oliv0 Relis la proposition 9, et tu as ta solution. Pourquoi doit-on avoir un système pour ne pas afficher une donnée de WD et un autre système pour l'afficher ? Cela devient très compliqué. La solution est d'avoir un système pour ne pas afficher de données de WD (exemple, le caractère "-" empêche affichage). Et si on veut éviter l'affichage par défaut des données de WD, on ajoute par défaut le caractère "-" dans le code wiki de l'infobox vide. Voir exemple ci-dessous. Snipre (discuter) 18 avril 2016 à 14:52 (CEST)Répondre
{{Infobox Poème
 |image=Plaque Sous le pont Mirabeau coule la Seine, Paris 16.jpg
 |légende=Plaque reprenant les premiers vers du poème sur le pont Mirabeau, à Paris.
 | auteur      = - <!-- wikidata : Property:P50 -->
 | langue      = - <!-- wikidata : Property:P364 -->
 | publication = - <!-- wikidata : Property:P1433 -->
 | date        = - <!-- wikidata : Property:P577 -->
 | type        = - <!-- wikidata : Property:P136 -->
 | dédicataire = - <!-- wikidata : à partir de Property:P825 -->
 | lieu        = - <!-- wikidata : à partir de Property:P840 -->
 | sujet       = - <!-- wikidata : Property:P921 -->
 }}

┌─────────┘
Complètement d’accord avec Snipre, c’est lourd inutilement et complique l’utilisation du modèle. Certains ont déjà du mal alors si on doit rajouter une condition de ce genre ils ne s’en sortiront plus. — Metamorforme42 (discuter) 18 avril 2016 à 15:06 (CEST)Répondre

Conflit d’édition L'exemple pourrait justement montrer que ce n'est pas bien pratique si on est obligé de mettre des « - » dans de nombreux articles, et loin de l'usine à gaz c'est une possibilité très facile à ajouter comme dit Zolo, avec une syntaxe simple « ={{WD}} » pour les champs concernés. En fait les champs à demande Wikidata explicite seraient les cas peu nombreux de champs rarement utiles. — Oliv☮ Éppen hozzám? 18 avril 2016 à 15:22 (CEST)Répondre
Oliv☮ On doit déjà discuter des modifications des infobox lorsque l'on veut utiliser WD (question 6) et lorsque l'on a une solution acceptable par tous (sinon pas d'utilisation de WD), on doit encore valider à chaque utilisation de l'infobox l'affichage des données ?
Tu ne crois pas que si il y a des problèmes pour l'affichage de certaines données issues de WD, cela doit être réglé au moment des discussions sur la modification de l'infobox quitte à ne pas permettre l'utilisation de WD pour certains champs dans le code même de l'infobox ? Si le champ nationalité est trop critique pour les personnes, il est plus simple de ne pas coder l'affichage de WD pour ce champ et de laisser les contributeurs le remplir en dur dans le code plutôt que bricoler un ènième bidule technique. Si par contre on a une majorité de contributeurs pour afficher la nationalité des personnes depuis WD lors que la discussion sur l'utilisation de WD dans l'infobox, pourquoi devrait-on encore valider infobox par infobox cet affichage ? Bref, il faut garder une vision d'ensemble, sinon en tourne en rond, non ? Snipre (discuter) 18 avril 2016 à 15:48 (CEST)Répondre
Comme dit ci-dessus, c'est surtout intéressant si c'est un champ qui bénéficie de mises à jours sur Wikidata, mais qui n'est pertinent que dans certains cas ; si c'est un champ qui ne bouge pas mais qui est souvent contestable, en effet mieux vaut le remplir en paramètre d'infobox que de devoir y mettre de nombreux « - ». — Oliv☮ Éppen hozzám? 18 avril 2016 à 16:04 (CEST)Répondre
Oliv☮ Reprenons depuis le début:
- Toutes modification doit modèle pour y inclure un appel à des données de WD doit être approuvée. Premier moyen qui permet d'éviter l'utilisation de WD en cas de données critiques
- L'affichage des données pésentes dans le code de l'article est prioritaire sur l'affichage des données de WD. Deuxième moyen qui permet d'éviter l'utilisation de WD en cas de données critiques
- L'affichage des données de WD peut être empêché au moyen de l'ajout d'un paramètre. Troisième moyen qui permet d'éviter l'utilisation de WD en cas de données critiques
Toutes les situations où l'on ne veut pas de Wikidata sont prises en compte et maintenant on doit en plus préciser si on veut afficher les données de WD dans une infobox qui a été modifiée en accord avec tous pour utiliser WD ?
Si comme tu le dis, il y a des données qui sont contestables en général, alors on décide de ne pas utiliser WD, et dans les cas particuliers, on ajoute une donnée jugée non contestable en dur dans le code. Si on demande que les utilisateurs de WD vérifient la cohérence de l'infobox avec l'article, je crois que le minimum pour ceux qui contestent les données de WD est de fournir une donnée qui n'est pas contestable.
Je ne vois pas en quoi mettre de nombreux « - » est un problème: c'est un comble de juger que cela est un problème et de ne pas considére que de mettre des {{WD}} à chaque ligne de l'infobox est un problème.
Je considère qu'il est impossible de juger une donnée de WD contestable si on n'a pas une donnée similaire non contestable à disposition et si on a cette donnée, alors au lieu de supprimer l'affichage des données de WD dans l'infobox et de laisser cette dernière vide, on peut mettre en dur cette donnée dans le code. Bref, c'est le principe même d'une donnée contestable remplacée par un vide qui est illogique: si elle est contestable, c'est que l'on a une autre donnée et on n'a donc qu'à l'afficher. Snipre (discuter) 19 avril 2016 à 13:39 (CEST)Répondre
  Snipre : C'est utile dans le cas que j'indique.
Et ce n'est pas les deux ensemble mais l'un ou l'autre qui sera choisi par un projet pour un champ d'infobox donné parmi les deux mécanismes complémentaires :
  • si la plupart des données sont non pertinentes (l'utilité de « - » qui enlève l'affichage étant la non-pertinence plutôt que la fausseté de la donnée), « {{Wikidata|Pxxx|expl=}} » permet d'éviter qu'il y ait de nombreuses lignes « |paramètre xxx=- »,
  • si la plupart des données sont pertinentes (cas beaucoup plus fréquent), « {{Wikidata|Pyyy}} » permet d'éviter qu'avec l'autre mécanisme il y ait de nombreuses lignes « |paramètre yyy={{WD}} ». — Oliv☮ Éppen hozzám? 19 avril 2016 à 14:35 (CEST)Répondre
Je partage complétement l'avis de Snipre (d · c · b) : si la plupart des données de Wikidata devaient être « non pertinentes », alors on fait une infobox à la main et on ne s'emmerde pas.
Je suis assez circonspect avec ce concept de données pertinentes ou non, qu'on jugerait lors de la mise en place de l'infobox : Wikidata ayant vocation à s'améliorer/s'enrichir continuellement, une donnée non pertinente un jour le deviendra sûrement plus tard. Et à l'inverse, une donnée pertinente peut très bien ne plus l'être le lendemain (en cas de vandalisme par exemple). Une solution qui repose sur un contrôle manuel est donc à mon avis une mauvaise solution, qui cumule les handicaps des infobox traditionnelles (rigidité) et de Wikidata (suivi des modifications). — H4stings d 13 mai 2016 à 16:14 (CEST)Répondre

  Zolo : finalement c'est juste ça ? (ou string.match (args.value, valueexpl), ou enlever juste les espaces ?… ) — Oliv☮ Éppen hozzám? 19 avril 2016 à 20:47 (CEST)Répondre

Je ne vais pas pouvoir le faire aujourd'hui mais non là ça ne devrait pas fonctionner. -Zolo (discuter) 19 avril 2016 à 21:24 (CEST)Répondre
Ah oui plutôt comme ça… — Oliv☮ Éppen hozzám? 20 avril 2016 à 10:07 (CEST)Répondre
Non pas vraiment. Si args.value == valueexpl, il faut continuer le module, pas retourner args.value (qui en elle-même n'a pas d'intérêt). Il faut aussi vérifier qu'args.expl n'est pas demandé, même quand args.value est nil. Si args.expl est demandé mais qu'args.value n'et pas valueexpl, il faut retourner nil.
Sinon, je pense aussi que la valeur de valueexpl pourrait être déterminée dans Module:Wikidata/I18n. Je ne comprnds pas trop l'intérêt de la fonction wd.valueexpl() --Zolo (discuter) 20 avril 2016 à 14:58 (CEST)Répondre
Bon je viens encore d'essayer sans succès à partir du mien sans voir ce que tu avais fait, le tien est mieux ; la fonction c'était juste pour essayer de l'appeler dans le modèle {{WD}} en étant sûr que c'est la même valeur. — Oliv☮ Éppen hozzám? 20 avril 2016 à 17:11 (CEST)Répondre

  Zolo : pourrais-tu comme test, après l'avoir mis dans Module:Wikidata et {{WD}}, faire en sorte que ce soit utilisé dans Module:Infobox/Biographie pour les valeurs de P172 (« groupe ethnique ») (déjà prévu puis mis en commentaire par Thierry Caro (d · c)) ayant comme P31 (« nature de l’élément ») (parmi les valeurs permises en pdd de propriété par {{Constraint:Value type}}) uniquement Q41710 (« ethnie »), Q2472587 (« peuple »), Q6266 (« nation »), Q103817 (« peuple autochtone ») (donc notamment pas Q3254959 (« race humaine »)) ? Ça pourrait être utile aux nombreux articles biographiques du Projet:Hongrie sur des Magyars d'outre-frontières (en plus clair, ceux se considèrent d'identité et culture hongroises dans les pays voisins, en conséquence du traité de paix de la Première Guerre mondiale), par exemple le champ pourrait donner « Identité culturelle : Hongrois de Roumanie » (mieux je pense que ethnie/ethnicité et dérivés) pour des gens comme László Tőkés (ceux qui auraient {{Infobox Biographie2}}). C'est un type de sujet où, à cause des nationalismes des deux côtés, le contrôle Wikipédia par {{WD}} pourrait être utile ; il est vrai que ce n'est pas l'utilisation de expl que j'envisageais plus haut pour des données mises à jour et pertinentes seulement dans certains cas, mais c'est plutôt ici un moyen de faire quelque chose avec ce qui est présent en commentaire dans Module:Infobox/Biographie. — Oliv☮ Éppen hozzám? 13 mai 2016 à 18:28 (CEST)Répondre

  Oliv0 : Dis, tu as discuté sur le projet correspondant de la modification du modèle ? Comme tu es bien impliqué dans la PDD correspondante et que tu le rappelles aux autres, faire des modifications, cela demande accord des personnes impliquées et je ne crois pas qu'il y ait accord sur tes modifications quand je lis ce paragraphe. Snipre (discuter) 14 mai 2016 à 03:54 (CEST)Répondre
  Oliv0 : Désolé, mais là, j'en peux plus de l'hypocrisie: tu me fais chier pour obliger les contributeurs à discuter de l'introduction dans de nombreux articles d'un modèle utilisant WD et toi tu te passes à la première occasion de toute approbation pour modifier un modèle (modification que tu es le seul à vouloir) au mépris d'une future règle que pratiquement personne ne conteste. Franchement là tu n'as plus aucune crédibilité pour oser demander aux autres de suivre des règles alors que tu viens de faire la démonstration que tu ne sais pas les suivre quand cela t'arrange. Snipre (discuter) 14 mai 2016 à 04:14 (CEST)Répondre
  Snipre : Ne dis pas ce genre de choses de façon infondée : le projet Hongrie j'y suis un peu seul, et ici c'est un champ déjà ajouté par Thierry Caro (d · c)) puis mis en commentaire pour avoir la possibilité d'y revenir plus tard et c'est ici ce je fais en y voyant un cas de propriété polémique qui peut être l'occasion de tester la précaution supplémentaire offerte par expl ; un tel test est largement considéré comme utile et ayant manqué lors de l'introduction d'{{Infobox Biographie2}}. De plus en fait l'ajout d'un champ avec expl est bien différent de l'ajout sans expl auquel tout le monde pensait jusqu'ici, car pour afficher la valeur Wikidata il faut une contribution Wikipédia d'ajout de {{WD}} visible par ceux qui suivent l'article et par les patrouilleurs qui suivent les modifications récentes : alors est-ce que désormais ce ne serait pas une bonne idée de distinguer dans cette question de la PDD qui te pose problème entre accord d'un projet (ou de l'espace de discussion apparaissant le plus pertinent s'il n'y a pas de projet actif) pour l'ajout d'une propriété sans expl et avec expl ? — Oliv☮ Éppen hozzám? 14 mai 2016 à 13:41 (CEST)Répondre
J'ai ajouté le paramètre "expl" dans le module, et créé {{WD}} (peut-être qu'il faudrait un nom moins ambigü {{par wikidata}} ?). A priori Tu peux activer ça pour la nationalité en remplaçant property = 'P172'} par wikidata = {property = 'P172', expl = true}. Pas la peine d'ajouter des filtres de valeur, je pense, les "constraint" de Wikidata devraient déjà être traitées là-bas. Cela dit, j'ai quelques doutes sur la pertinence dans ce cas, si on ne vaut afficher l'éthnie qu'à partir du moment où on sait déjà qu'il est hongrois, autant le mettre directement dans l'article. Par ailleurs, il faudrait faire quelque chose pour les libellés. Là pour Q535922 (« László Tőkés »), on aura "ethnie : magyars", qui me parait un peu bancal au point de vue grammatical. --Zolo (discuter) 14 mai 2016 à 14:02 (CEST)Répondre
  Zolo : merci ! je demandais peuples et pas races ou autres donc plus restreint que les {{Constraint:Value type}} traités par Wikidata ; pour {{WD}} ça me semble bien car plus court c'est plus facile à écrire, mais peut-être faudrait-il que sa valeur html soit dans nos codes à un seul endroit en faisant de ce modèle aussi un appel à une fonction translate("activate-query") ? — Oliv☮ Éppen hozzám? 14 mai 2016 à 15:49 (CEST)Répondre
Ah oui pardon. Bon j'ai fait ça en vérifiant simplement qu'il ne s'agit pas d'une instance de race. Après rien n'oblige à l'utiliser.
La compatibilité avec Module:Infobox n'est en fait pas évidente (les valeurs locales ne sont généralement pas passées à Module:Wikidata). J'ai bricolé un truc, mais ce n'est pas particulièrement satisfaisant...
Effectivement, c'est plus logique d'appeler translate("activate-query"), fait.-Zolo (discuter) 15 mai 2016 à 11:58 (CEST)Répondre
  Zolo : j'essaie pour voir sur Q76 (« Barack Obama »), qui a pour P172 (« groupe ethnique ») : Q1075293 (« Irlando-Américains »), Q49085 (« Afro-Américains »), Q6935055 (« Américains multiraciaux »), Q1344183 (« Anglo-Américains »), Q6392846 (« Kényo-Américains ») : {{Infobox Biographie2|wikidata=Q76|ethnicité={{WD}} }} montre seulement « Appartenance ethno-culturelle : Afro-Américains ». Est-ce que c'est normal, car je ne vois pour aucun de ceux-là Q3254959 (« race humaine ») en P31 (« nature de l’élément ») ? — Oliv☮ Éppen hozzám? 15 mai 2016 à 21:48 (CEST)Répondre
  Oliv0 : c'est parce qu'Afro-américain a le rang "privilégié" sur Wikidata.--Zolo (discuter) 16 mai 2016 à 09:52 (CEST)Répondre
  Zolo : Ah oui en effet. Alors le problème est maintenant que sur Wikidata cette valeur Q49085 (« Afro-Américains ») dans Q76 (« Barack Obama ») n'a pas Q3254959 (« race humaine ») en P31 (« nature de l’élément ») mais Q41710 (« ethnie »), et n'a semble-t-il aucune autre valeur de propriété qui pourrait permettre d'enlever automatiquement ce genre d'indication raciale… (afro-américain étant la façon politiquement correcte aux États-Unis de dire noir) — Oliv☮ Éppen hozzám? 16 mai 2016 à 10:04 (CEST)Répondre
On peut exclure aussi les instances d'ethnie, ou ajouter une liste de valeurs à exclure, mais ce n'est pas forcément très lisible ni même très logique. Cela dit, à partir du moment où on considère qu'afficher l'appartenance ethnique est pertinent, ça me parait assez normal d'afficher "afro-américain" sur Obama. --Zolo (discuter) 16 mai 2016 à 10:45 (CEST)Répondre
Hongrois de Roumanie=Communauté magyare de Roumanie/Q518365 (« communauté magyare de Roumanie ») a P31 (« nature de l’élément »):Q351389 (« minorité ethnique »), pas bien différent de Q41710 (« ethnie ») si bien que la différence avec Q3254959 (« race humaine ») semble impossible à faire à partir du remplissage actuel de Wikidata, d'ailleurs les deux se mélangent : par exemple Q5538749 (« George E. Johnson ») a actuellement P172 (« groupe ethnique »):Q817393 (« Noir ») qui a P31 (« nature de l’élément »):Q3254959 (« race humaine »), alors que l'infobox correspondante en:George E. Johnson, Sr. dit « Ethnicity : African-American » = Q49085 (« Afro-Américains ») qui a P31 (« nature de l’élément »):Q41710 (« ethnie »).
Bref, la propriété P172 (« groupe ethnique ») est effectivement un cas de champ difficile à trier sinon à la main par « ={{WD}} ». — Oliv☮ Éppen hozzám? 16 mai 2016 à 13:32 (CEST)Répondre

Préparation à un gadget d'édition en un clic des paramètres

modifier

L'idée de Jean-Jacques Georges (d · c) étant maintenant archivée sur projet Wikidata, j'en recopie l'essentiel ici à un endroit plus durable. Il s'agit de savoir ce qui serait éventuellement nécessaire dans les modules Lua pour pouvoir faire fonctionner ensuite un gadget de choix rapide des paramètres d'infobox voulus (notamment mettre ou enlever « - ») par examen des valeurs Wikidata associées :

  • faudrait-il que les valeurs Wikidata affichées dans un champ d'infobox soient dans un class="param:< nom de paramètre >" pour que le gadget connaisse le nom du paramètre ?
  • faudrait-il que les valeurs Wikidata non affichées soient en fait présentes mais en display:none pour que le gadget puisse agir sur une valeur précédemment enlevée ? (par « - », ou par retrait du « ={{WD}} » en cas de champ à demande Wikidata explicite « expl= »)
  • autres suggestions alternatives plus réalisables ?

Oliv☮ Éppen hozzám? 28 juin 2016 à 18:02 (CEST)Répondre

Désolé, mais tel que c'est rédigé, je ne comprends rien : donc je serais bien en peine de choisir entre les deux possibilités.   Jean-Jacques Georges (Sonnez avant d'entrer) 28 juin 2016 à 21:52 (CEST) Répondre
  Jean-Jacques Georges : C'est deux choses nécessaires à un gadget et pas un choix et c'est fait pour que les programmeurs comprennent, pas besoin que tu dises ton choix. — Oliv☮ Éppen hozzám? 28 juin 2016 à 22:20 (CEST) Répondre
Ha, ok, je croyais qu'il fallait dire ce qu'on pense des deux propositions (j'aurais eu du mal...) Jean-Jacques Georges (Sonnez avant d'entrer) 28 juin 2016 à 22:22 (CEST)Répondre
Merci Oliv0 pour ce récapitulatif, je précise préventivement que je ne connais rien aux gadgets, ni même à Javascript, et que je m'abstiens de répondre sur le sujet. :] --Zolo (discuter) 29 juin 2016 à 19:15 (CEST)Répondre

Paramètre lang

modifier

Bonjour,

c’est moi ou bien le paramètre lang qui marchait très bien (particulièrement pour les légendes des images) est cassé désormais (au moins en wikicode) ?

Exemple :« {{wikidata|P18|numval=1|showonlyqualifier=P2096|lang=fr|entity=Q1117467}} » donne au moment où je publie ma modification « Menü in G4L et Menu de g4l. » à la place de « Menu de g4l. ».

Test ici pour voir si c’est corrigé : Actuellement {{wikidata|P18|numval=1|showonlyqualifier=P2096|lang=fr|entity=Q1117467}} » donne « Menü in G4L ».

C’est vraiment problématique car car c’est utilisé sur beaucoup de pages… J’espère que quelqu’un pourra apporter rapidement une solution.  Metamorforme42 (discuter) 18 juillet 2016 à 16:04 (CEST)Répondre

  Metamorforme42 : ce doit être le problème de regroupement de lang et isinlang dont Zolo (d · c) parlait ici. — Oliv☮ Éppen hozzám? 18 juillet 2016 à 23:45 (CEST)Répondre
Merci. J’envoie une notification à Zolo : peut-être qu’il aura une idée pour gérer à la fois le problème du paramètre officiel et celui des légendes. — Metamorforme42 (discuter) 19 juillet 2016 à 19:44 (CEST)Répondre
Les deux problèmes sont différents.
Merci Zolo  , ça devrait suffire pour ce dont j’ai besoin. J’essaierai de passer l’infobox en question en Lua vu qu’une bonne partie des problèmes que j’avais pour convertir l’infobox est réglée ; mais ça reste bien de pouvoir utiliser wikidata même avec les infobox non-Lua.
Si je comprends bien, j’ai juste à faire : « {{Légende Wikidata|entity=Q1117467}} » qui donne « Menu de g4l. » (pour reprendre l’exemple ci-dessus). — Metamorforme42 (discuter) 12 août 2016 à 22:53 (CEST)Répondre
Oh et juste deux questions : c’est possible d’ajouter optionnellement la catégorisation et le linkback avec un paramètre ? et on peut toujours faire le remplacement par la légende locale si elle existe (comme {{wikidata|P18|{{{légende}}}|numval=1|showonlyqualifier=P2096|lang=fr}}) ? — Metamorforme42 (discuter) 12 août 2016 à 23:01 (CEST)Répondre
  Zolo : {{Wikidata}}/Module:Wikidata ne devrait-il pas prévoir pour Wikidata en français de récupérer par défaut le texte monolingue en français ?— Oliv☮ Éppen hozzám? 12 août 2016 à 23:21 (CEST)Répondre
  Metamorforme42 : on peut utiliser la plupart des arguments de {{Wikidata}}, mais pour l'instant ni la catégorisation ni linkback (la gestion de ces deux paramètres demande bien souvent des bidouillages assez chaotiques).
  Oliv0 :.
  • Lorsqu'il s'agit d'un qualificatif, ne prendre que le français est peut-être souvent la meilleure solution en effet. Mais ce n'est pas forcément évident d'intégrer ça au module sans rajouter encore une bonne couche de complexité.
  • Quand il ne s'agit pas de qualificatif, ça demande vraiment réflexion. Par exemple si on veut la devise d'un pays, je pense qu'il faudrait par défaut prendre l'afficher dans sa langue orginale (le latin à Bélize, le vieux javanais en Indonésie...), ce qui revient sans doute je pense à prendre les valeurs avec un rang privilégié, et donc au final à n'appliquer aucun filtre particulier. Quand on veut seulement le français, on peut toujours ajouter le |isinlang= (ou lang = ?). --Zolo (discuter) 13 août 2016 à 00:16 (CEST)Répondre
  Zolo : sans y avoir bien réfléchi je dirais que ça fait deux cas : le français prioritaire tant que le rang est normal, ou bien le rang privilégié prioritaire sur le français, ce qui ferait un seul choix à faire entre les deux cas. Et par ailleurs en effet |isinlang= unifié avec |lang= serait plus simple pour l'utilisateur (s'il n'y a pas de cas en pratique où ils seraient utilisés ensemble sans avoir la même valeur). — Oliv☮ Éppen hozzám? 13 août 2016 à 07:31 (CEST)Répondre

┌──────────────┘
Ok, au pire je peux mettre le linkback et la catégorisation dans le modèle même si ça ne marche pas, comme ça quand ça marchera je n’aurai pas besoin de changer. Merci encore, j’essaierai ce soir. — Metamorforme42 (discuter) 13 août 2016 à 01:34 (CEST)Répondre

Mon accès Internet sera très intermittent pendant les 10 prochains jours donc je préfère ne pas le faire, mais si quelqu'un veut s'en occuper et mettre à jour les docs correspondantes, il faut remplacer filter('isinlang', isinlanguage, {'isinlang'} ) par filter('lang', isinlanguage, {'lang'} ). --Zolo (discuter) 16 août 2016 à 12:47 (CEST)Répondre
  Zolo : Bon je l'ai fait pour ne garder que lang au lieu de isinlang dans Module:Wikidata/Récup et dans Module:Infobox/Fonctions/Personne (c'était déjà dans la doc), mais dans l'exemple ci-dessus pour Q1117467 (« g4l »):P18 (« image »)+P2096 (« légende de média »), {{wikidata|entity=Q1117467|P18 |numval=1 |showonlyqualifier=P2096 |lang=fr}} fait alors « Menü in G4L » vide (pas mieux qu'au départ les valeurs des deux langues) : j'ai annulé, apparemment isinlanguage de Module:Wikidata/Récup serait à adapter aux qualificatifs.
(Par ailleurs il reste à voir cette question du choix du français ou de l'affichage du nom de langue pour « Nom officiel » dans Alexander 134.) — Oliv☮ Éppen hozzám? 26 août 2016 à 16:13 (CEST)Répondre
  Oliv0 : oui comme dit plus haut, récupérer une légende en français n'est pas prévu par Module:Wikidata. Le changement du nom de paramètre n'a pas d'impact direct là dessus. En revanche si on veut créer cette fonctionnalité, ou créer une fonction "nom officiel" qui prenne en compte la langue, il vaut mieux être sûr du nom de paramètre avant. --Zolo (discuter) 29 août 2016 à 09:25 (CEST)Répondre

Hmm… un bug :

  • « {{Légende Wikidata|entity=Q1117467}} » donne «  » : ok
  • « {{Légende Wikidata|légende|entity=Q1117467}} » donne «  » (non, je n’ai pas oublié de subster le modèle entre les guillemets) au lieu de donner « légende ».

Les légendes passées en paramètre de l’infobox ne s’affichent donc jamais. — Metamorforme42 (discuter) 2 septembre 2016 à 01:08 (CEST)Répondre

user:Metamorforme42 Effectivement, ce n'était pas prévu pour utiliser des données locales, je l'ai ajouté. --Zolo (discuter) 2 septembre 2016 à 09:18 (CEST)Répondre
Merci  Metamorforme42 (discuter) 2 septembre 2016 à 15:48 (CEST)Répondre
Pour information (lire les résumés de diff) : 196148217 ainsi que 196148567. od†n ↗blah 16 août 2022 à 00:13 (CEST)Répondre

Liens internes vers la même page

modifier

\o_ C'est pour signaler une mise en gras non voulue quand un modèle Wikidata génère un lien vers la page depuis laquelle il est appelé. Alan Turing avec le modèle Modèle:On Computable Numbers pour la petite histoire. — TomT0m [bla] 19 juillet 2016 à 19:49 (CEST)Répondre

C'est-à-dire dans formatEntity de Module:Wikidata/Formatage entité, prévoir de ne pas mettre de lien quand c'est la même page depuis laquelle c'est appelé ? — Oliv☮ Éppen hozzám? 19 juillet 2016 à 23:18 (CEST)Répondre

Ne pas avoir de langue de repli

modifier
Enregistré sur Phabricator
Tâche 143094

On fait comment ? GetLabel d'InterfaceWikidata donne le label en anglais même si on précise qu'on le veut en français. Ça casse le truc que j’avais fais dans Template:Propriété pour savoir si c'était ou pas à traduire. Faut plutôt tester directement si il y a un label en français à la place ? — TomT0m [bla] 16 août 2016 à 11:49 (CEST)Répondre

Ce n'est pas volontaire, et je crois que c'est nouveau. Le libellé est généralement fourni par une fonction toute faite : mw.wikibase.label(), et apparemment, elle donne maintenant par défaut le libellé anglais. Ca a des avantage mais ça casse aussi Catégorie:Page utilisant des données de Wikidata à traduire. Il faudrait demander aux développeurs si on peut rendre le fallback optionnel. Sinon, plutôt que d'utiliser mw.wikibase.label() on peut charger l'élément Wikidata par mw.wikibase.getEntityObject() et récupérer le libellé français, mais ça a un gros coût en termes d'utilisation de mémoire (à propos, l'analyse des ressources utilisées à disparu des prévisualisations de page ?). --Zolo (discuter) 16 août 2016 à 12:43 (CEST)Répondre

URL mal formatée

modifier

« {{wikidata|entity=Q3237868|P348|showsource=true}} » donne au moment où j’écris ceci « 1.7.2[1] ».

Rendu actuel : « 1.11.0[2] ».

C’est la section « Références » que j’ai placée ci-dessous qui m’intéresse ici.

L’url est mal formatée. C’est certainement du à un changement récent (je me souviens que ça marchait encore fin juin) et ce bug impacte actuellement de nombreux articles. — Metamorforme42 (discuter) 18 août 2016 à 23:16 (CEST)Répondre

  Metamorforme42 : Sans doute lié à Discussion modèle:Infobox Biographie2#Affichage d'une donnée avec modif par Zolo (d · c) qui dit plus haut qu'il revient dans une dizaine de jours. — Oliv☮ Éppen hozzám? 19 août 2016 à 09:47 (CEST)Répondre
  Metamorforme42 et Oliv0 :  . --Zolo (discuter) 20 août 2016 à 17:25 (CEST)Répondre

Références

modifier
  1. (en) « Libgcrypt 1.7.2 released » (consulté le 5 août 2016)
  2. (en) Werner Koch, « Libgcrypt 1.11.0 released », (consulté le )

Redirections Wikipédia dans l'affichage des éléments Wikidata

modifier

Bonjour, comme suggèré ici par Jean-Jacques Georges (d · c), pour que le lecteur puisse suivre facilement les liens ce serait bien que Module:Wikidata/Formatage entité se serve des redirections Wikipédia existantes, par exemple

Oliv☮ Éppen hozzám? 1 septembre 2016 à 11:00 (CEST)Répondre

  Oliv0 : Comme déjà expliqué, cela se fait déjà, mais pour cela il faut qu'il y ait un concensus sur WP:fr pour mettre des redirections en tant que liens dans les éléments. Merci de relire Wikipédia:Le_Bistro/29_juin_2015#Wikidatafier_les_redirections_.3F. Snipre (discuter) 1 septembre 2016 à 11:31 (CEST)Répondre
  Snipre : non relis ma demande, il s'agit de prendre en compte automatiquement sur Wikipédia les redirections existantes de Wikipédia coïncidant avec le texte affiché (qui est le libellé Wikidata), il ne s'agit pas de ce qu'il y a sur Wikidata pour les interwikis. — Oliv☮ Éppen hozzám? 1 septembre 2016 à 11:43 (CEST)Répondre
  Oliv0 : Donc ta question est au mauvais endroit: si tu n'affiches ni le lien vers l'article ni celui vers la reidrection sur WD, cela ne concerne plus WD. Merci de montrer en quoi WD est impliqué si tu ne mets aucun lien sur WD ? Et les libellés sur WD ne sont pas forcément les mêmes que ceux sur WD, (ex.: Sucre, capitale de la Bolivie. Sur WP:fr, le titre de l'article c'est Sucre (Bolivie), sur WD, c'est Sucre). Bref, ta solution va se planter régulièrement, chaque fois que le titre d'un article est différent du libellé de WD.
Finalement je ne vois pas en quoi WD doit se décarcasser pour trouver une nouvelle solution alors que l'on a proposé un truc qui marche. Moi aussi je veux le beurre, l'argent du beurre et la crémière. Snipre (discuter) 1 septembre 2016 à 12:30 (CEST)Répondre
  Snipre : Il n'y a rien à faire sur Wikidata, ma demande porte sur Module:Wikidata/Formatage entité qui est sur Wikipédia, ici c'est la page de discussion correspondante sur Wikipédia (en regroupant les demandes de développement des sous-modules au même endroit). — Oliv☮ Éppen hozzám? 1 septembre 2016 à 12:36 (CEST)Répondre
En gros, ce que tu demandes, c'est que quand une infobox tombe sur un numéro Q orphelin (orphelin car sans lien vers WP:fr à cause de l'interdiction d'utiliser une redirection en tant qu'interwikis), l'infobox sur WP trouve toute seule la page de redirection et établisse elle-même le lien vers l'article liée à le redirection ? La seule chose que peut faire l'infobox, c'est afficher le libellé de WD, mais jamais elle ne pourra faire de lien, car le libellé sur WD peut n'avoir aucun lien avec le titre en français. Snipre (discuter) 1 septembre 2016 à 13:26 (CEST)Répondre
Il faut que les infoboxes utilisées sur wikipédia fr aient la capacité de détecter une redirection sur wikipédia fr, sinon elles ne pourront jamais fonctionner correctement. Jean-Jacques Georges (Sonnez avant d'entrer) 1 septembre 2016 à 14:10 (CEST)Répondre
  Snipre : Reprenons : les infobox affichent Q15816836 (« bactériologiste ») et Q10855216 (« grand officier de la Légion d'honneur‎ ») comme « bactériologiste (en) » et « grand officier de la Légion d'honneur‎ (d) », je demande que le sous-module vérifie l'existence sur Wikipédia (ici comme redirection) de bactériologiste et grand officier de la Légion d'honneur‎, afin d'afficher sous une forme bien plus utile pour le lecteur : « bactériologiste » et « grand officier de la Légion d'honneur‎ ». — Oliv☮ Éppen hozzám? 1 septembre 2016 à 14:23 (CEST)Répondre
Ouai donc des listings interminables... --Nouill 1 septembre 2016 à 14:36 (CEST)Répondre
??? Non, des liens utiles - et respectueux de la logique wikipédienne - à la place des bugs actuellement importés par les infoboxes. Jean-Jacques Georges (Sonnez avant d'entrer) 1 septembre 2016 à 14:38 (CEST)Répondre

La logique voudrait que déjà une infobox wikipédia cherche SUR wikipédia le lien (quand il existe), et qu'après il aille voir sur des sites extérieurs. Et pas le contraire. Mais bon, l'intérêt de wikipédia et/ou la logique quand on parle de wikidata, on l'a bien compris, ce n'est pas intéressant... Mais imposer ces "machins" partout et surtout n'importe comment, c'est tellement plus facile... -- Fanchb29 (discuter) 1 septembre 2016 à 14:50 (CEST)Répondre

Pour être clairs : si une infobox est incapable d'aller chercher un lien sur wikipédia et nous impose au contraire un lien sur un site extérieur, c'est-à-dire un bug à la fois fastidieux et inutile pour le lecteur, alors elle nuit à wikipédia. Il me paraitrait impensable qu'il n'y ait pas de solution technique à ce problème. Jean-Jacques Georges (Sonnez avant d'entrer) 1 septembre 2016 à 14:54 (CEST)Répondre

  Zolo et Zebulon84 : en gros ce que je dis c'est simplement mettre, après le cas de lien Wikipédia trouvé à partir de l'élément Wikidata, un lien fait s'il y a une page Wikipédia identique au libellé Wikidata : « if mw.title.new(label, 0) then return str .. '[[' .. label .. ']]' end ». Mais pour éviter ce qui semble contrarier   Snipre et Nouill : de temps en temps un lien aberrant du genre Sucre pour Q1992579 (« Sucre ») (canton équatorien), il faudrait aussi ajouter un test qui n'autorise que les redirections, ou peut-être même analyser plus finement les cas où le lien dégrade la situation pour le lecteur, en espérant que c'est possible de régler ça sans fonctions coûteuses en temps. — Oliv☮ Éppen hozzám? 1 septembre 2016 à 17:11 (CEST)Répondre

Je vois deux problèmes possibles à cette solution :
  • la page du même nom peut concerner un autre sujet, car il y a des homonymies sur wikipédia ;
  • techniquement cela oblige à tester l'existence de la page. C'est une fonction couteuse, dont le nombre est limité à 500 pour tout le rendu de la page. Il ne faudrait pas que les pages arrivent dans la catégorie:Page avec trop d'appels dispendieux de fonctions parseurs à cause de ça.
Si on considère ces deux problèmes comme mineurs, cela doit pouvoir se faire.
Zebulon84 (discuter) 1 septembre 2016 à 17:20 (CEST)Répondre
mw.title.new n'est coûteux qu'avec id au lieu du titre ; et si on teste si c'est une redirection (coûteux d'après la même doc : isRedirect, mais ça ne concerne qu'un tout petit nombre d'éléments Wikidata par infobox), comme une redirection Wikipédia est faite pour aller vers le sujet le plus important ça doit diminuer le problème d'homonymie. — Oliv☮ Éppen hozzám? 1 septembre 2016 à 17:51 (CEST)Répondre
mw.title.new ne permet pas de savoir si la page existe ou non, pour cela il faut utiliser la fonction exists sur ce titre, et cette dernière est couteuse. Bien sur on peut aussi mettre un lien systématique (éventuellement rouge) est dans ce cas il n'y a plus de fonction couteuse. — Zebulon84 (discuter) 1 septembre 2016 à 19:15 (CEST)Répondre
Ah d'accord, not a valid title dans la doc ne veut pas dire que ça retourne nil quand le titre n'existe pas, mais quand ce n'est pas un titre possible. Mais bon comme je disais c'est en général au maximum 2 ou 3 éléments concernés par article, alors on peut accepter les fonctions coûteuses. — Oliv☮ Éppen hozzám? 1 septembre 2016 à 20:26 (CEST)Répondre

J'ai pas compris si vous cherchiez à vous baser sur le label de l’élément Wikidata pour trouver le nom de l’article, mais sachez le cas échéant qu'il n’est pas supposé être stable et peut être changé à tout moment. Je regarderai dans ce cas d'un oeil navré les guerres d'éditions sur un label pour qu'il colle avec le titre d'un article Wikipédia. — TomT0m [bla] 1 septembre 2016 à 19:43 (CEST)Répondre

À part ça il existe une initiative sur WD pour utiliser une autre approche d:WD:XLINK qui pourrait bénéficier de contributions  . — TomT0m [bla] 1 septembre 2016 à 19:45 (CEST)Répondre
C'est une autre question : effectivement quand il existe un article Wikipédia associé en sitelinks de l'élément Wikidata, le texte affiché en infobox ne devrait pas se baser sur le libellé Wikidata peu stable mais sur le titre Wikipédia qui a l'avantage de se conformer à WP:TITRE comme norme contre les guerres d'édition ; mais ici il s'agit uniquement de cas moins fréquents où il n'y a pas d'article Wikipédia associé même en ayant essayé d'en trouver via les affirmations (defaultlinkquery précisant P2354 (« liste d'éléments »), P361 (« partie de »), P425 (« domaine correspondant à l'occupation ») etc.), donc c'est moins grave d'utiliser le libellé. — Oliv☮ Éppen hozzám? 1 septembre 2016 à 20:21 (CEST)Répondre
Où en est-on exactement ? Est-ce qu'il y a eu une quelconque manip de faite, ou un test pour voir comment résoudre le problème ? Jean-Jacques Georges (Sonnez avant d'entrer) 28 septembre 2016 à 18:01 (CEST)Répondre

?uselang=fr pour les liens vers Wikidata

modifier

Bonjour, je vois sur « Charles Frederick Naegele (d) » (un exemple donné en PDD Wikidata étape 2) que pour éviter de se retrouver en anglais sur Wikidata, on a mis ?uselang=fr pour le lien Wikidata de la partie « crayon » (linkback) mais pas pour la partie « (d) », ce serait bien de l'y mettre aussi. — Oliv☮ Éppen hozzám? 28 octobre 2016 à 10:05 (CEST)Répondre

Ca pourrait se faire dans Module:Wikidata/Formatage entité, en transformant
 		if not sidelink then
			sidelink, site = tools.siteLink(entity, 'wikidata')
		end
Il faudrait passer d'un format "wikilien" de type [[d:QXX|d]] à un format lien externe de type [https://www.wikidata.org/wiki/Q12418?uselang=fr d]. Je ne sais pas si ça peut avoir ou pas des inconvénients. --Zolo (discuter) 28 octobre 2016 à 21:04 (CEST)Répondre

Erreur d'affichage sur Julia Vipsania

modifier

Hello, le module indique une erreur à la ligne 251 de ce module ("attempt to compare nil with number") sur l'article Julia Vipsania. - Ash - (Æ) 29 novembre 2016 à 08:21 (CET)Répondre

La « valeur inconnue » de P569 (« date de naissance ») ne doit pas plaire au table.sort. — Oliv☮ Éppen hozzám? 29 novembre 2016 à 08:45 (CET)Répondre
Effectivement. J'ai ajouté un petit truc pour parer au plus pressé. Il faut voir maintenant s'il y a lieu de chercher un moyen plus fin de gérer ce genre de cas. --Zolo (discuter) 29 novembre 2016 à 09:33 (CET)Répondre

à

modifier

Speculos demande sur le Bistro si par exemple dans le champ « Naissance » de Modèle:Infobox Personnalité des sciences humaines et sociales où on affiche « à {{wikidata|P19|{{{lieu de naissance|}}}|linkback=}} », il n'y aurait pas moyen d'adapter en « au » selon la valeur un peu à la façon de {{au?}}. — Oliv☮ Éppen hozzám? 6 mars 2017 à 20:53 (CET)Répondre

Possible sans doute mais pas forcément évident si à bien faire : "à" / "au" parait jouable, mais "à" vs "en" bien plus compliqué. On ne pourrait pas plutôt virer la préposition ? Je veux bien que ce soit super merveilleux tous ces modèle d'infobox spécialisés très subtilement pensés, mais j'ai du mal à voir pourquoi il faudrait une préposition pour les personnalités des sciences humaines et pas par exemple sur Kant ou Voltaire. --Zolo (discuter) 7 mars 2017 à 18:04 (CET)Répondre

showsource quand la propriété est absente de l'élément

modifier

(recopié du Bistro)

  Gdgourou : même sans P17 (« pays ») ajouté en qualificatif à la valeur P159 (« siège ») sur Wikidata, l'affichage de l'infobox Wikipédia devrait être possible sans erreur. — Oliv☮ Éppen hozzám? 3 avril 2017 à 15:03 (CEST)Répondre
Malheureusement ce n'est pas le cas si l'infobox contient l'information et que les données Wikidata sont incomplètes... je ne comprends pas pourquoi --GdGourou - Talk to °o° 3 avril 2017 à 15:12 (CEST)Répondre
Oui, ce serait à voir dans la discussion en pdd de l'infobox mais d'après la ligne de l'erreur encore visible sur d'autres pages comme Kontron, c'est dû au showsource dans le champ « Siège social » de Modèle:Infobox Société : on peut éviter ce cas dans le if args.showsource de Module:Wikidata mais est-ce normal que ça aille chercher la source en qualificatif d'une propriété qui n'a pas de valeur sur Wikidata,   Zolo et Od1n : ? (derniers contributeurs du module) — Oliv☮ Éppen hozzám? 3 avril 2017 à 16:53 (CEST)Répondre
  Gdgourou : j'aurais préféré garder Sony ou Kontron comme test, bon disons maintenant que l'article à tester c'est K+S. — Oliv☮ Éppen hozzám? 3 avril 2017 à 19:59 (CEST)Répondre

Comme je dis sur le Bistro ci-dessus, je n'y touche pas pour l'instant parce que je ne suis pas sûr de bien comprendre comment ça devrait marcher (on peut toujours mettre un « or "" » quelque part mais pourquoi seulement pour showsource ?) — Oliv☮ Éppen hozzám? 4 avril 2017 à 07:51 (CEST)Répondre

Corrigé, en espérant ne rien casser.
Rapide résumé technique :
La fonction formatStatement, prend un statement Wikidata et le transforme en chaîne. Elle part du principe que le statement avait déjà été sélectionné en amont pour sa pertinence par la fonction getClaims, et donc qu'au final, une chaîne est retournée. Les options showsource et showdate procèdent à des concaténations de chaîne en se basant sur cette idée qu'il y a bien un contenu à concaténer.
Le problème survient quand on active l'option "showonlyqualifiers". Dans ce cas, des statements acceptés par getClaims sont rejetés par formatStatement. Si dans le même temps, le statement contient une date ou une source à afficher, ça provoquait une erreur de concaténation.
C'est assez facile à corriger directement dans la fonction (je crois l'avoir fait) mais cette option "showonlyqualifiers" pose un petit problème conceptuel, et il faudrait peut-être trouve un moyen de filtrer plus en amont, dans "getClaims", les statements non pertinents.
Je sais pas si cette explication est très claire ou très utile, mais pour le principe je préfère la donner quand même. --Zolo (discuter) 5 avril 2017 à 10:10 (CEST)Répondre

excludespecial

modifier

  Zolo : dans la fonction filterClaims de Module:Wikidata/Récup, le filtre excludespecial ne devrait-il pas être en premier et actif par défaut ? Cela éviterait d'avoir à mettre ce filtre petit à petit un peu partout au fur à mesure que des bugs apparaisse car une valeur a été supprimée sur Wikidata.

Je me penche sur cette question à cause de l'erreur de script sur Suze Rotolo qui a un snack mais pas de valeur pour P856 (site officiel), ce qui fait buguer le filtre isinlanguage qui ne fait pas de vérification avant d’accéder à mainsnak.datavalue.type.

Zebulon84 (discuter) 26 août 2017 à 05:44 (CEST)Répondre

  Zebulon84 : Effectivement, j'ai bêtement enlevé la vérification ici...
Je ne sais pas trop s'il faut activer le "excludespecial" par défaut, mais je dirais que non, en vertu du principe de moindre surprise. Les valeurs spéciales compliquent parfois le codage, mais de toute façon, il faut que les fonctions fonctionnent, même quand elles sont là. --Zolo (discuter) 26 août 2017 à 09:03 (CEST)Répondre
  Zebulon84 : j'ai corrigé ça (oui j'avais regardé un peu trop vite, en fait je n'avais pas enlevé le test, juste pas adapté aux nouvelles fonctionnalités). --Zolo (discuter) 27 août 2017 à 13:19 (CEST)Répondre

Organisation

modifier

J'avais scindé ce module en sous-modules parce que je me perdais un peu dans les fonctions. Mais des sous-modules, qui s'appellent les uns et les autres, ce n'est pas très pratique non plus. Peut-être qu'il vaut mieux les réunir ? De toutes façon il finissent généralement par être tous chargés.--Zolo (discuter) 28 août 2017 à 13:04 (CEST)Répondre

  Plutôt pour à condition que le module final ne soit pas vraiment trop long (du style MediaWiki ne colore plus le code car trop long)
Il est certainement possible de supprimer des microfonctions pour mettre leur code directement là ou elle sont utilisées.
Par exemple dans la modification lié à la section précédente, tu as utilisé not tools.isSpecial(mainsnak), tu aurais tout aussi bien pu utilser une étape supplémentaire avec notSpecial(claim), fonction du module qui appelle la fonction tools.isValue(claim.mainsnak), ou simplement utiliser le code réel directement mainsnak.snaktype == 'value', qui n'est pas plus long, et a mon avis tout aussi clair. — Zebulon84 (discuter) 29 août 2017 à 01:36 (CEST)Répondre
Dans Module:Wikidata/Bac à sable, j'ai fusionné Module:Wikidata, Module:Wikidata/Récup, Module:Wikidata/Formatage entité et Module:Wikidata/Outils. Ca fait 43 ko, à peu près comme Module:Date. En prévisualisant Projet:Wikidata/Atelier/Manuel et quelques articles, je ne vois pas de bug, et on a l'air gagner 200 ko de mémoire. Mais il y a encore un peu de nettoyage à faire. Effectivmement il y a quelques micro-fonctions qui ne sont sans doute pas indispensables (je trouvais juste çà plus facile à retenir).
Il resterais donc :
Les deux derniers sont juste que l'on ne devrait pas souvent avoir besoin de charger, je pense qu'on peut les laisser sur des pages séparées (mais peut-être en harmonisant leurs titres). Pour les deux autres sous-modules, je ne sais pas trop, ils ont aussi un champ d'application relativement restreint. A noter : Module:Wikidata/Références charge Module:Wikidata et Module:Wikidata/Analyse transitive utilise une fonction de Module:Wikidata/Outils (enfin une toute petite qu'on peut copier-coller ailleurs). --Zolo (discuter) 30 août 2017 à 19:28 (CEST)Répondre
Quand je parle de module trop gros, je pense à Module:Cycling race, qui plus est programmé à la hache. Module:Wikidata/Bac à sable me semble rester raisonnable.
Je laisserai Module:Wikidata/Références indépendant car peu utilisé et assez spécifique.
Module:Wikidata/Analyse transitive est utilisé sur plus de 500 000 pages, à priori uniquement pour les infobox, et systématiquement en passant par Module:Interface Wikidata. Seules les fonctions isInstance, addVals et transitiveVals semblent utilisées depuis l'interface. Peut-être faut-il le déplacer vers l'un des module d'infobox ? Module:Infobox/Fonctions par exemple. J'avoue que je ne connais pas ce module, ni l'utilisation de ses fonctions, j'ai juste cherché quel module utilise tel nom de fonction.
Zebulon84 (discuter) 31 août 2017 à 01:01 (CEST)Répondre
Les fonctions un peu complexes sont je pense uniquement utilisées dans les infobox pour l'instant. Le problème est que les besoins sont assez variées, mais qu'en même temps la même fonction peut se révéler utile sur deux infobox complètement différente. J'avais donc commendé à faire diverses pages de mini-librairies, puis Module:Interface Wikidata pour avoir une vue d'ensemble mais il faudrait sans doute revoir ça.
Dans Module:Wikidata/Analyse transitive, la fonction isInstance est sûrement la plus utile directement, mais elle réutilise presque toutes les autres fonctions du module. --Zolo (discuter) 31 août 2017 à 11:10 (CEST)Répondre
J'ai fait la modif. J'ai aussi mis la liste des fonctions dans la doc (descriptions à compléter), et ça permet effectivement de voir qu'il y en a beaucoup, pas toujours dans une ordre logique, et que certaines pourraient sans doute soit être supprimées soit transformées en fonction local. L'essentiel de la doc pour les différents paramètres de mise en forme et de sélection des données se trouve sur Projet:Wikidata/Atelier/Manuel, l'idée était d'avoir un truc un peu moins technique, utilisable notamment sans programmation Lua depuis {{Wikidata}}, mais c'est peut-être plus simple d'avoir tout au même endroit pour ça aussi ? --Zolo (discuter) 2 septembre 2017 à 18:07 (CEST)Répondre

Test (Sandbox 2)

modifier
  • Declaration
  • Recognition
    • (some country)
  • Commemoration


Avec d:Q13406268 - discuté sur d:Wikidata:Property_proposal/gained_independence_from - - Jura 21 décembre 2018 à 14:12 (CET)Répondre

Groupement des références

modifier

Pour {{Liste des dirigeants successifs}} et {{Jumelages}} (et probablement d'autres modèles utilisant le module Wikidata), les références identiques sont un problème assez courant.

Un exemple de ce que ça donne avec la liste des présidents du British Ornithologists' Club, qui répète la même référence 30 fois.

J'ai modifié sourceStr pour grouper de manière optionnelle les références identiques, en utilisant le hash Keccak de la source en tant que nom de la référence. Pour l'instant, les modifications sont dans Module:Liste des dirigeants successifs, mais je peux modifier le module Wikidata (voir le diff) si il n'y a pas d'opposition.

On peut utiliser les hash des références directement sans avoir à en recalculer de nouveau. Suggestion de modification du module. Alt0160 ♫♪ 30 mars 2019 à 08:35 (CET)Répondre

@tomT0m qui je crois c'était penché sur la question.--Zolo (discuter) 16 juillet 2019 à 15:39 (CEST)Répondre

Filtre supplémentaire pour source

modifier

Serait-il possible d'ajouter un filtre pour sélectionner les valeurs en fonction de la présence de source (existant), en fonction des propriétés utilisées dans la section référence (existant), mais aussi en fonction de la valeur de la propriété sourceproperty. En gros, si un élément sur une encyclopedie X existe, je veux extraire la valeur uniquement si la déclaration est sourcée par P248 = QXXX, QXXX étant l'élement de l'encyclopedie X. Il faudrait prévoir une liste d'éléments en prévision qu'une liste de références pourraient être fournie. Merci. Snipre (discuter) 16 juillet 2019 à 13:45 (CEST)Répondre

  Snipre : je crois que ce que tu cherches est |withsource - QXXX|sourceproperty = P248. On peut mettre plusieurs sources différentes en les séparant par des virgules |withsource =QXXX, QYYY. Ca marche ? --Zolo (discuter) 16 juillet 2019 à 18:47 (CEST)Répondre

Supprimer le support de excludespecial

modifier

Bonjour, est-ce que ce filtre a une quelconque utilité ? J'ai dû mettre en place une rustine (voir diff) pour que le filtre fonctionne dans un cas précis, suite à un problème signalé sur le bistro. insource:/excludespecial/ retourne uniquement 4 utilisations du paramètre dans l'espace modèle et l'utilisation semble à chaque fois superflu. Lofhi (me contacter) 19 juillet 2019 à 16:53 (CEST)Répondre

  Lofhi : J'ai ajouté insource:/excludespecial/ dans le modèle {{Wikidata}} afin de corriger un mauvais affichage lorsqu'il y a « aucune valeur » dans Wikidata. donc pas si superflu, sauf si tu proposes une autre solution. --FDo64 (discuter) 19 juillet 2019 à 19:43 (CEST)Répondre
Merci pour l'exemple du cas pratique. Tri alors pratique et qui semble fonctionner avec ma correction, merci @FDo64 ! Lofhi (me contacter) 19 juillet 2019 à 19:51 (CEST)Répondre
  Lofhi :, le filtre n'est pas très utilisé dans l'espace modèle, mais il l'est beaucoup plus dans l'espace module ([3]).
  FDo64 : si je comprends bien tu as mis "excludespecial" par défaut, sans possibilité de le forcer. Il ne risque pas d'y avoir quand même des cas où c'est utile d'afficher les valeurs spéciales ? --Zolo (discuter) 8 octobre 2019 à 16:43 (CEST)Répondre
Bonsoir Zolo  . Libre à toi de le rendre paramétrable. Par contre, je ne vois pas de cas où ça serait utile. L'objectif étant d'ignorer « les déclarations "valeur inconnue" ou "aucune valeur" » (Cf. documentation) pour prendre en compte la valeur indiquée dans l'article. Voir discussion déjà indiquée. --FDo64 (discuter) 8 octobre 2019 à 21:58 (CEST)Répondre
Bonsoir FDo64   il me semble que "inconnu" ou "aucun" sont peuvent parfois être des infos utiles à avoir mais je ne sais pas trop s'il y a un moyen simple de trouver des cas où c'est utilisé en pratique. Je sais que c'est parfois utilisé pour les lieux de naissance, mais à part ça, je ne me souviens plus trop où. -Zolo (discuter) 10 octobre 2019 à 19:21 (CEST)Répondre

Affichage de la date de publication et de la citation

modifier

Ce module permet d'afficher les références, utilisé notamment pour les maires successifs de Saint-Aybert, mais la date de publication et la citation ne s'affichent pas. Autre point, quand il y a deux valeurs pour auteur (chaîne), seule l'une d'entre elle s'affiche. Jérémy-Günther-Heinz Jähnick (discuter) 16 août 2019 à 13:42 (CEST)Répondre

Concernant la date de publication, le problème a été résolu en créant un élément par article de presse, voir Bouin-Plumoison. Ça a aussi l'avantage de pouvoir dupliquer facilement les références.
Reste le problème de l'affichage des citation, je sais que dans une autre langue ça fonctionne, donc je vais tenter de modifier le code de sorte à pouvoir l'afficher, ce qui risque de causer quelques désagréments (je préviens d'avance). Jérémy-Günther-Heinz Jähnick (discuter) 19 décembre 2019 à 11:53 (CET)Répondre
Après avoir bien fouiné, j'ai réussi à faire s'afficher enfin les citations. C'est juste dommage de ne pas avoir eu un coup de main... Jérémy-Günther-Heinz Jähnick (discuter) 19 décembre 2019 à 18:33 (CET)Répondre

"circa" et "raw"

modifier

Hello,
suite à un problème spécifique sur un article, on a constaté après cette modification que la présence de "circa" en propriété de P106 fait que wd.stringTable() retourne "environ Q250867", même avec l'option "raw".
On peut bien sûr discuter de la pertinence de "circa" dans ce contexte, mais il me semble qu'il faudrait pouvoir obtenir "Q250867" tout seul si on en a besoin, ce que − de prime abord − l'option "raw" devrait donner.

Ma question ou suggestion : comment ne pas avoir ce "environ …", et si ce n'est pas possible ne faudrait-il pas avoir une option pour ignorer ces propriétés lors de la récupération ?

Cordialement, Hexasoft (discuter) 30 août 2019 à 23:51 (CEST)Répondre

Inconsistent return type

modifier

(Sorry for writing in English.) I looked at the pages with script errors, and 11 out of the 12 articles currently found in the category seem to be because the wd.stringTable sometimes returns nil instead of two tables (it happens when the function returns at line 1193 of the current code). I’m not familiar with the code, but I think changing that line to

		return {}, {}

would fix these errors. —Tacsipacsi (discuter) 30 décembre 2019 à 20:03 (CET)Répondre

Thanks, that makes sense and it seems to fix the error on Traité de la roulette and other pages.
Si personne ne vois de risque d'effet secondaire je pense que l'on peut faire la modification. — eru [Discuter] 30 décembre 2019 à 23:18 (CET)Répondre
Je l'avais oublié celui-la, diff   Fait !eru [Discuter] 10 mars 2020 à 22:31 (CET)Répondre

getLabel

modifier

Bonsoir, Je ne comprend pas comment utiliser cette fonction. Pourquoi {{#invoke:Wikidata|getLabel|entity=Q504736|lang='fr'}} ne marche pas ? Noritop (discuter) 24 février 2020 à 22:12 (CET)Répondre

Bonsoir Noritop, déso pour le retard, dès fois en bistrot ça va plus vite :

{{Libellé Wikidata2|Q504736|fr}} -> Villanders

{{Libellé Wikidata|Q504736|fr}} -> Villanders

{{WikidataLabel|Q504736|fr}} -> Villanders

--Viruscorona2020 (discuter) 8 mars 2020 à 05:55 (CET)Répondre

D'accord, merci ! Noritop (discuter) 8 mars 2020 à 06:42 (CET)Répondre

Problème affichage du (d)

modifier

Bonjour,

avec {{Wikidata|entity =Q83873593|P1603|showonlyqualifier=P4241|sorttype=inverted|numval=1}} , j'ai le (d) qui apparait à la fin. Y'a moyen de retirer ce (d) ? J'ai essayé de rajouter « linkback=no » mais sans succès. Cdt, --Viruscorona2020 (discuter) 10 mars 2020 à 21:05 (CET)Répondre

Tu peux utiliser link=-, mais cela enlèvera également le lien vers wikipédia s'il existe. — eru [Discuter] 10 mars 2020 à 22:22 (CET)Répondre
yes ! merci beaucoup eru, ça marche et ça n'enlève pas le lien vers wikipédia, puisque c'est pour l'utiliser dans le tableau de fr:Discussion:Pandémie_de_maladie_à_coronavirus_de_2020_en_France#Wikidata (2). --Viruscorona2020 (discuter) 12 mars 2020 à 00:49 (CET)Répondre

Mois : mars -> March

modifier

J'ai essayé de refaire le tableau de fr.wiki -> dans en.wiki, mais la version anglaise en:Module:WikidataFR de la version française Module:Wikidata renvoie les mois en langue française (mars) et pas en anglais (March).

J'ai essayé {{WikidataFR|entity =Q83873593|P1603|showonlyqualifier=P585|sorttype=inverted|numval=1|showlang=en|linktopic = -}} avec lang=en et showlang=en, mais ça sort toujours en français : ({{WikidataFR|entity =Q83873593|P1603|showonlyqualifier=P585|sorttype=inverted|numval=1|showlang=en|linktopic = -}} sur en.wiki sort aussi "mars" et non pas "March").

Pour faire fonctionner en:Module:WikidataFR j'ai du copié une dizaine de module dont deux modèles, et j'ai vu que certains étaient que pour le français comme en:Module:Wikidata/I18n ou en:Module:Linguistique, mais je manque de compétence pour les angliciser même en m'inspirant de wikidata:Module:Linguistic.

Si ça sort en tout chiffre du genre 03.03.2020, ça me va. — Le message qui précède, non signé, a été déposé par Viruscorona2020 (discuter), le 12 mars 2020 à 00:59 (CET)Répondre

Cdt,--Viruscorona2020 (discuter) 12 mars 2020 à 00:49 (CET)Répondre

Ça me parait logique, si tu veux que cela soit en anglais il faut sans doute utiliser le module en:Module:Wikidata. — eru [Discuter] 12 mars 2020 à 07:32 (CET)Répondre
Merci eru, mais le module en:Module:Wikidata a des fonctionnalités en moins que le module fr:Module:Wikidata comme par exemple la fonction de pouvoir afficher la dernière donnée d'une liste sans devoir bidouiller avec rank-preferred/normal/deprecated (en:Module:Wikidata ne propose d'afficher que la première donnée d'une liste, il peut aussi donner la dernière mais faut jouer sur rank-preferred/normal/deprecated, mais ça je n'en veux pas). J'avais posé ma question sur la pdd de en:Module_talk:Wd#Maxvals_&_inverted mais je n'ai pas eu de réponse. Je vais essayer sur en:Module:Wikidata. Cdt, --Viruscorona2020 (discuter) 12 mars 2020 à 09:22 (CET)Répondre

qualifiervalue

modifier

Bonjour,

Je souhaiterai afficher la valeur "285" de la page https://www.wikidata.org/wiki/Q83873593.

J'ai réussi avec l'exemple qui est donné par la page Module:Wikidata, mais le procédé pour y arriver prend trop de temps et j'aimerai afficher "285" en utilisant un autre procédé. Je m'explique. La façon que propose Module:Wikidata pour afficher "285" est d'utiliser "qualifier" avec "qualifiervalue":

  • qualifier = P518 (valeur=s'applique à)
  • qualifiervalue=Q42317 (valeur=40).

Et quand on écrit {{#invoke:Wikidata|frameFun|formatStatements|entity =Q83873593| property = P1603|qualifier = P518|qualifiervalue=Q42317 }} on obtient : .

Mon problème est que par ce procédé, le Module:Wikidata oblige d'enregistrer une suite non pas de chiffre (40, 41, 42, 43, ...) mais de valeur Q (Q42317, Q712623, Q812996, Q282113,...) qui est beaucoup plus chronophage.

Il m'est beaucoup plus rapide d'enregistrer une suite de chiffre plutôt qu'une suite de Q.

Mon procédé prendrait le qualifiervalue=40, qualifiervalue=41, ... (et pas qualifiervalue=Q42317, qualifiervalue=Q712623, ...) et mon qualifiervalue serait non pas associé à un qualifier = P518 (valeur=s'applique à) mais à un qualifier = P1352 (valeur=ranking), ce qui donnerait : {{#invoke:Wikidata|frameFun|formatStatements|entity =Q83873593| property = P1603|qualifier = P1352|qualifiervalue=40}} : Erreur Lua dans Module:Wikidata à la ligne 78 : attempt to concatenate field 'numeric-id' (a nil value). . Je ne comprends pas ce que veut dire ce "nil value", normalement ça aurait du afficher "285". --Viruscorona2020 (discuter) 13 mars 2020 à 02:36 (CET)Répondre

Bonjour,
"nil value" signifie que la valeur "snak.datavalue.value['numeric-id']" est null et ne peut pas être concaténé avec le string 'Q'.
Ce paramètre est visiblement prévu pour des Qitem, pas pour des numériques, il faudrait sans doute créer un paramètre spécifique.
Le problème serait probablement à la ligne 332 de Module:Wikidata, mais la modifier pourrait avoir des effets imprévus.
Peut-être sinon à la ligne 556 en ajoutant un filter.
J’essaierai de faire des tests ce week-end.
ps : sur wikidata ne confond pas le nombre Q42317 (« 40 ») avec l'année Q23335 (« 40 »)
eru [Discuter] 13 mars 2020 à 08:35 (CET)Répondre
Re-Merci beaucoup eru, et pour info, si je veux afficher cette valeur "285" c'est pour pouvoir créer une nouvelle colonne d'un tableau qui reprend les valeurs d'une autre colonne à une date précédente de 7 jours avant (voir : Discussion:Pandémie_de_maladie_à_coronavirus_de_2020_en_France#Nombre de guéris). Et pour l'instant ça fonctionne, même si la procédure est un peu plus longue, donc ne sacrifie pas tout ton week-end.
Concernant la confusion entre des Qitems homonymes mais ayant un sens différents, j'avais ouvert une pdd Discussion_module:Numéro_Q#Homonymie & Polysémie. --Viruscorona2020 (discuter) 13 mars 2020 à 20:19 (CET)Répondre
Bonjour Viruscorona2020  ,
J'ai ajouté un filtre qualifiernumber et une fonction pour l'instant uniquement dans le bac à sable, afin de filtrer une propriété qui donne une valeur et non un Qitem :
{{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity =Q83873593| property = P1603|qualifiernumber = P1352|qualifiervalue=40}} :
J'ai préféré dupliquer hasQualifier plutôt que la modifier, afin d'être sûr de ne pas avoir d'impacte sur le reste.
Je mettrai en production si personne ne voit d'objection. — eru [Discuter] 14 mars 2020 à 10:27 (CET)Répondre
Ca marche impec ! Merci beaucoup Eru. J'espère qu'il n'y aura pas d'objections à modifier le module ou sinon dans ce cas là, à recopier le module avec la modif, faisant deux modules quasiment pareil. --Viruscorona2020 (discuter) 15 mars 2020 à 18:00 (CET)Répondre
Edit : Ca marche avec P518 (applies to part) tout comme avec avec P1352 (ranking) :
  • {{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity =Q83873593| property = P1561|qualifiernumber = P1352 |qualifiervalue=58}} :
  • {{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity =Q83873593| property = P1561|qualifiernumber = P518 |qualifiervalue=58}} :
--Viruscorona2020 (discuter) 22 mars 2020 à 01:11 (CET)Répondre
tests : {{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity =Q83873593| property = P1603|qualifiernumber = P1352|qualifiervalue=60}}:
{{#invoke:Wikidata|frameFun|formatStatements|entity =Q83873593| property = P1603|qualifiernumber = P1352|qualifiervalue=60}}: — eru [Discuter] 25 mars 2020 à 19:45 (CET)Répondre

1 000 <-> 1000

modifier

Bonjour eru, avant de regarder pour qualifiervalue, j'aimerai voir si tu peux m'aider pour un autre problème :

quand j'additionne ou divise des valeurs de wikidata avec les modèles "Addition" et "Division", tout se passe bien quand c'est des valeurs inférieur à 999. Dès que ça passe à 1000 (1 000), je n'y arrive plus par exemple quand on écrit {{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1603|sorttype=inverted|numval=1 }} on obtient : puis quand je fais {{Division|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1603|sorttype=inverted|numval=1 }}|3|4}} ça fait  : Erreur d’expression : caractère de ponctuation «   » non reconnu. ou {{Addition|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1603|sorttype=inverted|numval=1 }}|1}} ça fait  : Erreur d’expression : caractère de ponctuation «   » non reconnu..


Alors que exemple quand on écrit {{#invoke:Wikidata|frameFun|formatStatements|entity=Q87143769|property=P1603|sorttype=inverted|numval=1 }} on obtient : puis quand je fais {{Division|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q87143769|property=P1603|sorttype=inverted|numval=1 }}|3|4}} ça fait  : Erreur d’expression : caractère de ponctuation «   » non reconnu. ou {{Addition|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q87143769|property=P1603|sorttype=inverted|numval=1 }}|1}} ça fait  : Erreur d’expression : caractère de ponctuation «   » non reconnu..


Je crois que c'est un problème de formatage français qui met un espace. J'ai essayé {{formatnum:formatnum-formatted number|R}} et {{formatnum:unformatted number|NOSEP}} mais sans succès.

--Viruscorona2020 (discuter) 14 mars 2020 à 08:52 (CET)Répondre

Bonjour Viruscorona2020  ,
Je n'ai pas réussi avec {{formatnum:}} ni {{#replace:5 000| |}}, mais j'ai trouvé comment le faire fonctionner avec Module:String#replace : {{#invoke:String|replace|5 000| |}} : 5000
Cela donne {{#invoke:String|replace|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1603|sorttype=inverted|numval=1 }}|&nbsp;|}} :
C'est là que j'ai remarqué que ce n'était pas un espace mais &nbsp;, d'où les problèmes avec {{formatnum:}}.
Avec la division : {{Division|{{#invoke:String|replace|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q87143769|property=P1603|sorttype=inverted|numval=1 }}|&nbsp;|}}|3|4}} : 697,6667 (édit de Zebulon84 en mai 2022 : ça ne marche plus, mais pour l'historique et éviter de catégoriser la page, j'ai mis en dur la valeur affichée en 2020)
eru [Discuter] 14 mars 2020 à 09:42 (CET)Répondre
Re-Ca marche impec ! Merci beaucoup Eru. Pour moi et pour les autres lecteurs, pour visualiser tout le code, il faut éditer la discussion sinon on ne voit pas une parti du code avec le "&-n-b-s-p-;" (normalement écrit tout attaché sans tiret "-"). --Viruscorona2020 (discuter) 15 mars 2020 à 18:06 (CET)Répondre
J'ai protégé le &nbsp; pour qu'il soit visible, merci. — eru [Discuter] 15 mars 2020 à 18:44 (CET)Répondre
Ah parfait comme ça, et je profite de me mettre un petit pense bête, car {{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifiervalue=1000}} ne fonctionne pas pour des valeurs supérieurs ou égales à 1000, ça donne : "" (c'est à dire : rien au lieu de "5 500"). Pour avoir une valeur il faut rajouter {{formatnum:}}, ce qui donne {{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifiervalue={{formatnum:1000}}}}, ce qui Re-donne : "" (normalement "5 500" mais si ça n’apparaît pas c'est que la valeur qui est sur wikidata:Q83873593 a dû changer ou être supprimée)--Viruscorona2020 (discuter) 16 mars 2020 à 01:25 (CET)Répondre
Bonjour Eru  , si tu es dans le coin, peux tu peux voir ce qui se passe avec le "bac à sable", en attendant, je vais regarder ça de plus près, --Viruscorona2020 (discuter) 25 mars 2020 à 19:21 (CET)Répondre
Bonjour Viruscorona2020   , Zolo l'avait supprimé en nettoyant le bac à sable pour d'autres test.
Je l'ai remis et je l'ai également ajouté dans le module principal. — eru [Discuter] 25 mars 2020 à 19:42 (CET)Répondre
Merci eru, tu m'as sauvé la vie, j'ai retiré le /Bac à sable de...#invoke:Wikidata/Bac à sable|frameFun... et tout fonctionne également impeccablement --Viruscorona2020 (discuter) 25 mars 2020 à 19:59 (CET)Répondre
J'arrive après la bataille, mais pour ceux qui lirait cette section à l'avenir :
  • Pour avoir des nombres utilisables pour des opérations, il est possible d'utiliser le paramètre displayformat=raw dans les appel à formatStatements.
  • Évitez les {{#invoke:String|replace|…}} pour ceci, ça n'est pas fiable, ce qui marchait par le passé ne marche plus aujourd'hui avec l'évolution de formatnum: (tiret → signe moins ; &nbsp; → caractère espace insécable, et peut être espace fine insécable demain…)
  • Si on est sur qu'il s'agit d'un nombre qui a été formaté par MediaWiki, il est possible d'utiliser le paramètre R de formatnum:
    exemple : {{formatnum:-1234.56}} / {{formatnum:{{formatnum:-1234.56}}|R}} → −1 234,56 / -1234.56
  • Aujourd'hui cette technique marche pour les nombres formatés par les modèles {{unité}} ou {{formatnum}}, mais ce ne sera peut-être plus le cas demain, par exemple si ces modèles étaient modifiés pour utiliser une espace fine insécable.
Zebulon84 (discuter) 2 mai 2022 à 17:15 (CEST)Répondre
Voir carrément d’éviter d’invoquer ce module pour ça. Récupérer les données brutes de Wikidata pour avoir des nombres non formatés serait plus rationnel que d’invoquer le module qui formatte les données pour l’affichage pour annuler le format pour faire des calculs. — TomT0m [bla] 2 mai 2022 à 20:41 (CEST)Répondre

Modèle:Durée

modifier

Bonjour Eru  ,

avec difficulté, on a réussi à wikidatisé l'infobox de Pandémie de maladie à coronavirus de 2020 en France. Je dis difficulté car un item c'est fait recalé, celui de la "date d'arrivée", en effet, wikidata ne donne que la date de début de l'épidémie sans la durée, à savoir "24 janvier 2020" au lieu de "Depuis le 24 janvier 2020 (1 mois et 25 jours)".

Quand on rentre sans wikidata {{durée|24|01|2020}}, il donne ça : 4 ans, 11 mois et 3 jours.

Mais quand on rentre du wikidata dans le Modèle:durée, le modèle bloque avec le jour (le mois et l'année ça passe):

  • Jour = 24
  • Mois = 01
  • Année = 2020

Ce qui donne en wikidata :

  • Jour = {{Date-|{{Date complexe|{{Wikidata|entity =Q83873593|P580|linktopic = -}}-}}-}} : Date invalide (Modèle:Date complexe-)
  • Mois = {{MONTHISO|{{Date-|{{Date|{{Wikidata|entity =Q83873593|P580|precision=month| linktopic = -}}-}} }}}} : 12
  • Année = {{Date-| {{Wikidata|entity =Q83873593|P580|precision=year| linktopic = -}} }} :

Mais quand je les injecte dans durée, ça donne :

{{durée|{{Date-|{{Date|{{Wikidata|entity =Q83873593|P580|linktopic = -}}-}}-}}|{{MONTHISO|{{Date-|{{Date|{{Wikidata|entity =Q83873593|P580|precision=month| linktopic = -}}-}} }}}}|{{Date-| {{Wikidata|entity =Q83873593|P580|precision=year| linktopic = -}} }}}} : (au lieu de 4 ans, 11 mois et 3 jours)

Le problème vient du jour car quand je laisse le jour en chiffre normal (à savoir 24), ça passe : {{durée|24|{{MONTHISO|{{Date-|{{Date|{{Wikidata|entity =Q83873593|P580|precision=month| linktopic = -}}-}} }}}}|{{Date-| {{Wikidata|entity =Q83873593|P580|precision=year| linktopic = -}} }}}} : 3 jours

Une idée du problème ? --Viruscorona2020 (discuter) 20 mars 2020 à 07:25 (CET)Répondre

Bonjour Viruscorona2020  , {{date}} insert une balise <time> (inspecte le code html pour le voir), ce qui gène forcément le calcule ensuite.
Pour l'instant je n'ai pas trouvé comment faire. — eru [Discuter] 22 mars 2020 à 17:39 (CET)Répondre
Merci eru, je vais faire comme tu dis, --Viruscorona2020 (discuter) 22 mars 2020 à 18:52 (CET)Répondre
Le Module:Date complexe a une fonction "duration" prévue pour Wikidata, il faudrait trouver un moyen de lui faire faire équipe avec Module:Durée. -Zolo (discuter) 22 mars 2020 à 19:17 (CET)Répondre
Merci Zolo, je vais voir ça, --Viruscorona2020 (discuter) 24 mars 2020 à 18:43 (CET)Répondre

Showrank (Withrank)

modifier

Il existe un "showdate" et un "showsource" pour n'afficher que la valeur ayant une date ou une source, mais il n'existe pas de "showrank" pour n'afficher que la valeur ayant un rang. --Viruscorona2020 (discuter) 22 mars 2020 à 00:23 (CET)Répondre

Si si Viruscorona2020, il y a "rank". — eru [Discuter] 22 mars 2020 à 16:21 (CET)Répondre
oui, mais ce dont tu parles, c'est rank=valid ou rank=preferred...,
moi je ne veux pas utiliser ce moyen car faut le changer à chaque fois qu'on rentre une nouvelle valeur, et si quelqu'un utilise déjà rank=preferred pour appeler une autre valeur dans la même liste, ça va crée un conflit (ça m'arrive souvent).
Si on veut le dernier chiffre d'une liste, il faut taper :
{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1561|sorttype=inverted|numval=1}} :
Je voulais avoir le dernier chiffre d'une liste qui possède un P1352 ranking contenant une valeur numérique (5, 23 ou autre), du genre  :
{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1561|sorttype=inverted|numval=1|withrank=true}}
Ainsi "withrank=true" utiliserait P1352 ranking, de la même manière que "withdate" utilise P585 date.
J'avais dit qu'on pouvait n'afficher que la valeur ayant une date ou une source avec "showdate" et "showsource", mais en faite je voulais dire avec "withdate" et "withsource".
Et je viens de me rendre compte que ces déclarations "withdate" et "withsource" font appel à un Qitem, ce dont je ne veux pas. Donc même si il existerait un "withrank" pour renvoyer la dernière valeur d'une liste ayant un P1352 ranking contenant une valeur numémrique (5, 23 ou autre), je ne pourrais l'employer.
Mais j'ai trouvé une autre manière pour contourner mon problème, qui était que le Modèle:Données_de_la_pandémie_de_maladie_à_coronavirus_de_2019-2020_en_France fait appelle au dernier nombre de guérison de wikidata:Q83873593#P1339 tout comme l'infobox de Pandémie de maladie à coronavirus de 2020 en France, mais le 21 mars, l'ANSP n'a pas donné de chiffre, et si pour l'infobox ça ne pose pas de problème, à contrario pour le Modèle, il me retournait le même chiffre que le 20 mars, dans la ligne du 21 mars, ce qui est donc faux, et comme malheureusement on ne peut pas mettre "no value" dans P1561 number of survivors, j'ai remis au wikidata:Q83873593#P1339 au rang n+1 le même chiffre qu'au 20 mars mais sans date (pas de 21 mars), pour ne pas que ça apparaisse dans l'infobox.
Cette autre manière, donc, utilise un #if: rank+1 et ça marche : ça renvoie la valeur 0 dans le Modèle et pas la valeur précédente contenant une date.
--Viruscorona2020 (discuter) 22 mars 2020 à 18:24 (CET)Répondre
  Viruscorona2020 : je ne suis pas sûr d'avoir compris exactement ce que tu cherchais à faire, mais il me semble que le codage du tableau serait plus robuste et plus clair en Lua. Note que chaque déclaration de Wikidata a un rang, et qu'il n'existe que 3 rangs preferred, normal, et deprecated. Un rang ne peut pas être une valeur numérique comme 5 ou 23.-Zolo (discuter) 22 mars 2020 à 18:57 (CET)Répondre
 
je voudrais afficher le dernier "number of recoveries" P8010 :
  • dans l'infobox : ayant le dernier "point in time" P858 de la liste
  • dans le modèle : ayant le dernier "ranking" de la liste
Et j'y suis parvenu avec du code en "if:" me donnant l’impression que ce n'est pas trop consolidé mais pour l'instant je n'ai pas de message d'erreur. Ce serait plus robuste en Lua, je suis en train de l'apprendre mais ça va être long.
--Viruscorona2020 (discuter) 24 mars 2020 à 18:38 (CET)Répondre
@Viruscorona2020 ok j'ai regardé un peu plus en détail. C'est assez impressionnant mais ça part de quelques idées erronées sur la structure des données de Wikidata. L'ordre des valeurs sur Wikidata n'a pas de signification particulière. La propriété P1352 (« rang/classement ») fait référence à un rang dans un compétition sportive, ou quelque chose du genre, pas à l'ordre des valeurs sur Wikidata. On ne peut pas vraiment partir du principe que les données seront dans le même ordre sur tous les éléments Wikidata concerné, c'est à peu près impossible à maintenir sur le long terme. Il faut donc trouver une autre solution, probablement avec l'option "atdate" de Module:Wikidata. Mais il y a a un bug, et il faut donc commencer par ce module. J'ai aussi commencé Module:Données de la pandémie de maladie à coronavirus de 2019-2020 en France/Bac à sable pour tester. -Zolo (discuter) 25 mars 2020 à 17:25 (CET)Répondre
Oui, merci beaucoup Zolo. Si il y a plusieurs façons d'obtenir ce que je souhaite, la façon que je fais et assurément pas la mieux, car j'ai vu que coté en.wiki ça passe par une autre façon ({{#invoke:String|match|{{#invoke:wd|properties|normal+|Q87144110|P1603|sep=X}}|[^X]*$}} versus {{#invoke:Wikidata|frameFun|formatStatements|entity=Q87144110|property=P1603|sorttype=inverted|numval=1}}). Si j'utilise ranking, c'est parce que je n'arrive pas à utiliser l'option "atdate" dans mon modèle qui ne fait pas que afficher les chiffres de wikidata mais qui en plus en sort des calculs. Par exemple, le modèle va afficher le nombre de nouveau cas aujourd'hui (25 233) mais aussi combien de cas en plus par rapport à hier (+2 931 cas) et cela en appelant la valeur d'aujourd'hui du 25.03.2020 que je soustrais à la valeur d'hier du 24.03.2020. Mais connaissant la date d'aujourdhui, que j'ai réussi à trouver grâce à m:Modèle:Date-n qui fait {date du 25.03.2020 - 1 jour (ou x jours) = date du 24.03.2020}, mais après question, même si je connais la date du 24.03.2020 (celle de -1 jour), comment je fais pour appeler la valeur dans la liste ? Avec ranking, j'y arrive (par exemple, je peux afficher la valeur d'une liste qui a le ranking=17), mais pas avec une date = JJ.MM.AA (ici 24.03.2020). Par exemple, si je veux la valeur dans la liste qui se trouve à la date du 18.02.2020, je ne sais pas comment faire, alors j'ai attribué un rang à chaque date, car avec ranking, je peux ajouter ou soustraire des chiffres (24-7=17). Donc, si comme tu dis bien « c'est à peu près impossible à maintenir sur le long terme », j'espère que l'épidémie va vite s’arrêter car je ne sais pas si j'aurais le courage de m-à-j chaque jour les 13 régions, (et qu'elle s'arrête aussi même si j'en avais le courage)--Viruscorona2020 (discuter) 25 mars 2020 à 22:01 (CET)Répondre

Arg1, Arg2, Arg3... avec Value1, Value2, Value3,

modifier

Bonjour Quand j'utilise qualifiernumber=P1352|qualifiervalue=74, j'ai deux chiffres :

  • "determination method" qualifier=P459 avec medical diagnosis qualifiervalue=Q177719
  • "location" qualifier=P276 avec Metropolitan France qualifiervalue=Q212429


{{#invoke:String|replace|{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifiervalue=74|rank=deprecated}}| |}}  :


Mais j'aimerai n'avoir que le premier ("determination method" qualifier=P459 avec medical diagnosis qualifiervalue=Q177719)

alors quand je rajoute qualifier=P459|qualifiervalue=Q177719 :

{{#invoke:String|replace|-{{#invoke:Wikidata|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifier=P459|qualifiervalue=Q177719|rank=deprecated}}| |}} : -

Je n'obtiens plus rien.

Je croyais qu'on pouvait avoir Arg1, Arg2, Arg3... avec Value1, Value2, Value3, mais finalement , non ? --Viruscorona2020 (discuter) 8 avril 2020 à 08:43 (CEST)Répondre

Bonjour,
Le problème est, je pense, que lorsque j'ai ajouté le filtre qualifiernumber j'ai gardé qualifiervalue pour la valeur, j'aurai dû ajouter un paramètre du genre qualifiernumbervalue afin de pouvoir utiliser les deux filtres en parallèle.
Je regarde ce soir pour améliorer cela. — eru [Discuter] 8 avril 2020 à 08:56 (CEST)Répondre
Ok, merci beaucoup Eru, --Viruscorona2020 (discuter) 8 avril 2020 à 09:15 (CEST)Répondre
  Viruscorona2020 : C'est bien ça, en mettant qualifiernumbervalue ça fonctionne :
  • {{#invoke:String|replace|{{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifiernumbervalue=74|rank=deprecated}}| |}}  :
  • {{#invoke:String|replace|-{{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifiernumbervalue=74|qualifier=P459|qualifiervalue=Q177719|rank=deprecated}}| |}} : -
Par contre, l'usage actuel ne fonctionne plus, forcément :
  • {{#invoke:String|replace|{{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifiervalue=74|rank=deprecated}}| |}}  :
  • {{#invoke:String|replace|-{{#invoke:Wikidata/Bac à sable|frameFun|formatStatements|entity=Q83873593|property=P1603|qualifiernumber=P1352|qualifier=P459|qualifiervalue=Q177719|rank=deprecated}}| |}} : -
N'applique donc la modification sur le module que lorsque tu es prêt à changer les pages, ou passe utilise temporairement le bac à sable. — eru [Discuter] 11 avril 2020 à 10:10 (CEST)Répondre
Ok, merci beaucoup Eru, ça marche nikel, ça ne me dérange pas d'attendre un peu avant de changer le module tant que personne ne change le bac à sable, --Viruscorona2020 (discuter) 13 avril 2020 à 08:18 (CEST)Répondre
Il faut mieux éviter d'utiliser les bacs à sable dans l'espace principal, dit moi quand il n'y a plus aucune occurrence de l'ancien usage et je mettrai à jour le module. — eru [Discuter] 13 avril 2020 à 09:03 (CEST)Répondre
C'est fait : diif (la fonction me permet d'afficher dans le tableau le taux d'augmentation en pourcentage de nouveaux cas d'Esms à partir de wikidata, par ex. lundi 13 : + 3,9%). --Viruscorona2020 (discuter) 14 avril 2020 à 14:52 (CEST)Répondre

Erreur de référence : Balise

modifier
Wikidata

Les références associées aux « Cas soignés » de l'infobox de Pandémie de Covid-19 en France génèrent un message d'erreur → [4] : Erreur de référence : Balise <ref> incorrecte : le nom « wikidata-c13d858c61b8315e43ba221879f9752ad4a581eb » est défini plusieurs fois avec des contenus différents. En haut de page, dans l'infobox, "cas signalés" indiquait 3 sources, mais en bas de page, dans la section référence on en voit que deux que j'ai mis conjointement dans la même ref dans wd et peut-être que j'aurais pas dû, alors j'ai demandé de l'aide à Wikipédia:Questions_techniques/semaine_15_2020#Erreur de référence : Balise --Viruscorona2020 (discuter) 10 avril 2020 à 23:50 (CEST)Répondre

Je ne vois pas d'erreur, le problème à été corrigé ? — eru [Discuter] 11 avril 2020 à 10:11 (CEST)Répondre
L'infobox, "Cas signalés" montrait 3 sources, mais en référence on n'en voyait que deux (a et b) et ça indiquait « http://archive.vn/didl8 ».
Or il se trouve que « http://archive.vn/didl8 » n'était pas seulement référencé dans wikidata pour le nombre de "cas soignés" mais aussi pour "nombre de morts", pour P373 quantity, pour "number of cases", et pour le "nombre d'hospitalisation" en binôme avec une seconde ref http://archive.vn/10WYk. Je pense que c'est peut-être le fait que deux adresses http étaient en binômes dans une même unique référence et du coup ça ne passait pas car il faut enregistrer dans wd une ref spécifique pour chaque adresse http.
En mettant à jour les données de wikidata, j'ai mis chaque adresse http dans une ref spécifique et l'affichage en rouge d'erreur est parti.
Mais peut-être que c'était dû à un autre problème. --Viruscorona2020 (discuter) 11 avril 2020 à 10:26 (CEST)Répondre
C'était surement ça, deux urls de référence doivent être dans deux zones différentes. Dans la même zone tu peux ajouter par exemple P813 (« date de consultation »), cela devrait apparaître comme ci contre. — eru [Discuter] 13 avril 2020 à 09:14 (CEST)Répondre
oui-oui, par exemple, --Viruscorona2020 (discuter) 14 avril 2020 à 14:52 (CEST)Répondre

Références

modifier

{{Infobox Ouvrage}} : trie des valeurs en fonction de P1545 (« rang dans la série »)

modifier

Bonjour,

J'ai remarqué que les auteurs n'étaient pas forcément dans le bon ordre (s'il y en a un), j'ai donc ajouté au Module Wikidata la possibilité de trier les valeurs en fonction d'une propriété en paramètre.

Il suffit ensuite d'ajouter le paramètre sorttype = 'P1545' pour que les items ayant ce qualifier soit trié.

Cela pourrait également être utilisé pour le paramètre comprend, ainsi que pour d'autre modèle.

Le résultat est visible ici : Modèle:Infobox Ouvrage/Test

Qu'en pensez-vous ?

Afin de regrouper les remarque, merci de répondre sur le projet Infobox. — eru [Discuter] 11 avril 2020 à 18:32 (CEST)Répondre

  Fait.eru [Discuter] 16 avril 2020 à 08:33 (CEST)Répondre

Afficher une référence dans l'article et pas dans la section référence

modifier

Bonjour,

quand on utilise par exemple {{Wikidata|entity =Q83873593|P1120|showonlyqualifier=P585|sorttype=inverted|numval=1|showsource = true|linktopic = -}}, on obtient : c'est à dire, que un chiffre s'affiche à la fois en exposant et à la fois dans la section référence où on y voit la référence à savoir  : http://archive.vn/pD2eR qui se trouve dans wikidata à la propriété P854.

Comment peut-on faire pour taper quelque chose du genre {{Wikidata|entity =Q83873593|P1120|showonlyqualifier=P585|qualifier=P854|sorttype=inverted|numval=1|showsource = true|linktopic = -}} et afficher http://archive.vn/pD2eR dans l'article et pas dans la section référence.

Plus concrètement, c'est afficher la référence P854 du "nombre de décès" (P1120) étant la dernière de la liste à avoir une date. --Viruscorona2020 (discuter) 13 avril 2020 à 08:18 (CEST)Répondre

J'ai essayé de le récupérer en appelant directement getReferences, mais pour l'instant je n'arrive pas. — eru [Discuter] 13 avril 2020 à 10:22 (CEST)Répondre
ok, merci quand même Eru, moi aussi je n'y suis pas parvenu, mais si tu finis par y arriver, n'hésite pas à me notifier, et en attendant, je vais voir si c'est possible du coté en.wiki, --Viruscorona2020 (discuter) 13 avril 2020 à 21:42 (CEST)Répondre

Références

modifier

Erreur Lua signalée dans le Module

modifier

  Eru : Bonjour. Voir sur Wikipédia:Forum des nouveaux#Erreur Lua dans Module :
Une erreur dans le Module Wikidata apparait dans la page Histoire de l'œil qui utilise l'{{infobox Ouvrage}}
Erreur Lua dans Module:Wikidata à la ligne 1061 : attempt to index local 'vals' (a nil value)..
NB: De nombreuses pages utilisent cette infobox sans avoir le problème. Sans préjuger de l'incidence d'une modif récente du module, merci de jeter oeil. Cordialement.--Csar62 (discuter) 17 avril 2020 à 12:00 (CEST)Répondre

Début de fonction en 1 avant J.-C.

modifier

Pour information, affichage de 1 av J-C -20 à la place de 1-20.

voir Discussion modèle:Infobox Biographie2#Début de fonction en 1 avant J.-C..— eru [Discuter] 16 mai 2020 à 08:26 (CEST)Répondre

Entité sans label

modifier

Bonjour,

J'aimerais ne pas récupérer les entités qui n'ont pas de label. Il y a bien un paramètre novaluelabel mais il semble ne pas fonctionner. Par exemple, je voudrais récupérer les entités compris dans la déclaration P361 de l'entité Imuta-ike (Q3149577). Ce code : {{#invoke:Wikidata|frameFun|formatStatements|entity = Q3149577 | property = P361|link=-}} me donne , mais est-il possible de ne récupérer que préfecture de Kagoshima et pas Q11403982 ?

--Noritop (discuter) 27 mai 2020 à 10:23 (CEST)Répondre

novaluelabel semble servir lorsqu'il n'y a pas de valeur, pas lorsque la valeur n'a pas de label.
Cela devrait être dans les possibilités de filterClaims, mais je ne vois rien qui correspondent. — eru [Discuter] 27 mai 2020 à 19:11 (CEST)Répondre

Msg erreur du module

modifier

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

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

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  , c'est super.
--Dom (discuter) 5 mai 2022 à 09:10 (CEST)Répondre

Bug avec le code langue moldave

modifier

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   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

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

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.wiki.x.io/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  . 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

Bonjour  

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). 
  2. TABLE 1.1 - Growth of Philippine Population: 1799 - 2007 (document), PSA, , [lire en ligne]. 
  3. Table 1. Population Enumerated in Various Censuses by Region: 1903 to 2007 (document), PSA, , [lire en ligne]. 

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  

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). 
  2. TABLE 1.1 - Growth of Philippine Population: 1799 - 2007 (document), PSA, , [lire en ligne]. 
  3. Table 1. Population Enumerated in Various Censuses by Region: 1903 to 2007 (document), PSA, , [lire en ligne]. 
LeFit (discuter) 10 novembre 2023 à 10:03 (CET)Répondre

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

modifier
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
Présentation
Type
Entité interne de Wikidata (d) 
Surface
12 m2 
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 (discuter), 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

Revenir à la page « Wikidata ».