Discussion Projet:Scribunto/Archive 4
- Admissibilité
- Neutralité
- Droit d'auteur
- Portail de qualité
- Bon portail
- Lumière sur
- À faire
- Archives
- Commons
Module:Langue
modifierSalut,
Quelqu'un pourrait regarder Projet:Modèle/Demandes#Dialectes d'oïl régionaux en France qui concerne le module:Langue. Merci d'avance. Cordialement, — Mattho69 me joindre 7 mars 2015 à 18:06 (CET)
- Merci, j'ai répondu là-bas. Zebulon84 (discuter) 8 mars 2015 à 08:40 (CET)
DISPLAYTITLE en lua
modifierBonjour,
J'écris des modules lua sur wikiWommons.
Je cherche à remplacer un Module qui appellait DISPLAYTITLE (change l'affichage du titre de la page) par son équivalent en lua.
J'ai naivement essayé currentTitle.text = 'nouveau titre'.
Mais text est readOnly.
Une idée ? A qui puis-je demander ?
Amitiés Liné1 (discuter) 26 mars 2015 à 16:12 (CET)
- Hello,
- à ma connaissance ceci n'existe pas (encore). C'est dans les propositions d'API mais ça ne semble pas arriver à une réalisation effective… C'est d'ailleurs dommage car c'est le cas de beaucoup de "parser functions".
- Cordialement, Hexasoft (discuter) 26 mars 2015 à 16:45 (CET)
- S'il n'y a pas d'équivalent Lua, il faut se reposer sur les fonctions de parseur normales :
frame:preprocess( "{{DISPLAYTITLE:nouveau titre}}" )
(à faire écrire). — Dakdada (discuter) 27 mars 2015 à 10:49 (CET)- Oui. C'est toutefois dommage de lancer un interpréteur wiki juste pour rebasculer (en pratique) sur une fonctionnalité interne : c'est de la performance perdue.
- Il y a une proposition d'extension mw.page permettant de regrouper ce genre de chose, mais j'ignore comment c'est perçu et prioritisé coté dev. Hexasoft (discuter) 27 mars 2015 à 11:18 (CET)
- Oui, pour l'instant c'est un bricolage. Je n'ai pas trouvé de tâche relative à cette question dans Phabricator. Cela dit, je pense que le coût est minime et ça risque de ne pas avoir une grosse priorité. — Dakdada (discuter) 27 mars 2015 à 11:38 (CET)
- S'il n'y a pas d'équivalent Lua, il faut se reposer sur les fonctions de parseur normales :
Module Chessboard ?
modifierBonjour,
Serait-il possible de récupérer le module Chessboard anglais sur frwiki ? Je n’ai pas encore touché aux modules Lua, j'hésite à le faire moi-même...
Le besoin serait de pouvoir remplacer le fonctionnement du modèle {{Diagramme d'échecs}} actuel par un fonctionnement similaire au modèle anglais Chess diagram qui se comporte mieux vis à vis de la catégorie Page utilisant des arguments dupliqués dans les appels de modèle. Cf. la conversation que j'ai initiée sur le projet Echecs. Merci d'avance! --NicoV (discuter) 31 mars 2015 à 17:04 (CEST)
- Je me suis lancé pour finir, ça semble marcher : Module:Échiquier, Utilisateur:NicoV/Diagramme d'échecs, Discussion Projet:Échecs#Discussion Projet:Échecs. --NicoV (discuter) 1 avril 2015 à 15:23 (CEST)
- Par contre, j'ai l'impression d'avoir un souci de performance... Je m'attendais à avoir des temps à peu près similaires, voire meilleurs, mais sur la page de test Utilisateur:NicoV/Variante Najdorf, les données Temps CPU / Temps réel sont plutôt en hausse (environ fois 2). Une idée pour améliorer ça ? --NicoV (discuter) 2 avril 2015 à 13:29 (CEST)
Console
modifierVu dans le changelog de MediaWiki 1.25/wmf24 :
- Allow Lua console on protected module pages (Phabricator:T93902)
Donc à partir de jeudi 9 il sera possible d'utiliser la console y compris sur les modules protégés.
Afficher defaut.svg dans infobox biographie2
modifierBonjour,
Je ne sais pas si j'interviens au bon endroit, mais bon, je n'hésite pas (trop).
J'insère avec LuaBot (d · c · b) {{Infobox Biographie2}}, basée sur le module:Infobox/Biographie, sur des articles biographiques qui n'ont aucune infobox. Lorsqu'il y a une image sur l'article, j'insère automatiquement cette dernière dans l'infobox (exemple Bunk Johnson). Lorsque l'article n'a aucune image, j'aime bien afficher par défaut l'image Fichier:defaut.svg pour sensibiliser les lecteurs à cette problématique. Pour ce faire, j'insérais automatiquement cette dernière dans le paramètre image=defaut.svg
(exemple Luc Cauchon)
Cependant, un utilisateur a souligné que l'intégration par défaut de cette image dans les paramètres de l'infobox empêche cette dernière de charger une image déjà présente sur Wikidata (exemple Michael Schub).
Bref, ma question est : est-il possible d'insérer des lignes de code dans module:Infobox/Biographie pour que l'infobox affiche defaut.svg si le paramètre image=
est vide et s'il n'y a pas d'image sur Wikidata (si Property:P18
est inexistante) et, si oui, quelles sont-elles ? - Simon Villeneuve 14 juillet 2015 à 01:52 (CEST)
- P.S. : Je vois que les pages affichant les images de Wikidata sont référencées dans la Catégorie:Page utilisant des données de Wikidata/P18. Je peux faire en sorte que mon bot repasse dans cette catégorie pour remplacer
{{Infobox Biographie2|image=defaut.svg}}
par{{Infobox Biographie2}}
, mais cela fait en sorte que plusieurs pages seront modifiés deux fois plutôt qu'une (au sens littéral). - Simon Villeneuve 14 juillet 2015 à 12:08 (CEST)- J'ai ajouté "default.svg" par défaut directement dans Module:Infobox/Fonctions/Personne. Je ne suis pas complètement convaincu que la rapport incitation à ajouter un image/gêne pour le lecteur lambda soit très positif, mais c'est toujours mieux que de le mettre directement dans l'article (entre autres pour ne pas casser Catégorie:Article à illustrer/Biographie, et pour l'import/export vers Wikidata). --Zolo (discuter) 15 juillet 2015 à 15:06 (CEST)
- Merci ! - Simon Villeneuve 16 juillet 2015 à 03:13 (CEST)
- @Zolo : est-ce qu'il y aurait moins de mettre un "link=Aide:Insérer une image" dans l'image quand l'infobox affiche l'image par défaut ? Orlodrim (discuter) 21 juillet 2015 à 21:15 (CEST)
- @Orlodrim fait. Il y a des discussion sur la pertinence de ces images par défaut sur Discussion modèle:Infobox Biographie2. Si je comprends bien, la pratique actuelle, c'est : "suivant les goûts du rédacteur du modèle, on met un message par défaut ou on n'en met pas". -Zolo (discuter) 22 juillet 2015 à 11:53 (CEST)
- @Zolo : est-ce qu'il y aurait moins de mettre un "link=Aide:Insérer une image" dans l'image quand l'infobox affiche l'image par défaut ? Orlodrim (discuter) 21 juillet 2015 à 21:15 (CEST)
- Merci ! - Simon Villeneuve 16 juillet 2015 à 03:13 (CEST)
- J'ai ajouté "default.svg" par défaut directement dans Module:Infobox/Fonctions/Personne. Je ne suis pas complètement convaincu que la rapport incitation à ajouter un image/gêne pour le lecteur lambda soit très positif, mais c'est toujours mieux que de le mettre directement dans l'article (entre autres pour ne pas casser Catégorie:Article à illustrer/Biographie, et pour l'import/export vers Wikidata). --Zolo (discuter) 15 juillet 2015 à 15:06 (CEST)
Tester des modifications d'un modèle sans casser les articles liés
modifierBonjour,
Dans le cadre de cette discussion concernant {{Infobox Biographie2}}, je me demandais si vous connaissez une manière de tester les modifications d'un modèle/module utilisé à grande échelle sans casser les autres modèles/modules/articles qui intègrent ce dernier ? - Simon Villeneuve 2 août 2015 à 15:44 (CEST)
- Les espaces /Bac à sable et /Test d'un modèle ou d'un module sont là pour ça. Chaque documentation d'un modèle est munie d'une notice d'instruction permettant de créer ces sous-pages. Tu peux également utiliser Spécial:ExpansionDesModèles. Cordialement, Hlm Z. (discuter) 2 août 2015 à 16:16 (CEST)
- Merci pour ta réponse. Cependant, j'aurais 2 autres questions :
1- Puisque le modèle utilise des données importées de Wikidata, je crois qu'il faudrait que la page test soit liée à une page test de Wikidata. Sais-tu comment faire ça ?
2- Existe-t-il de la documentation à propos de l'utilisation de expansion des modèles ? J'ai trouvé mw:Extension:ExpandTemplates, mais ça ne me dit pas grand chose. - Simon Villeneuve 2 août 2015 à 20:26 (CEST)- Le plus simple est de créer un modèle test ou tu colles ton code et que tu appliques sur un article de manière temporaire, pour visualiser l'affichage du code. Snipre (discuter) 3 août 2015 à 15:08 (CEST)
- Oui, "Prévisualiser" pendant que tu édites. Tu peux aussi lire les infos de n'importe quelle page wikidata par mw.wikibase.getEntity( "1234" ) ou mw.wikibase.getEntity( "nom de page" ). Voir ici. Attention cette fonction est "expensive" c'est à dire demande beaucoup de ressources serveur. Une limitation de son utilisation est même en cours de réalisation. Mais en test temporaire c'est pas grave. --Rical (discuter) 5 août 2015 à 20:31 (CEST)
- Le plus simple est de créer un modèle test ou tu colles ton code et que tu appliques sur un article de manière temporaire, pour visualiser l'affichage du code. Snipre (discuter) 3 août 2015 à 15:08 (CEST)
- Merci pour ta réponse. Cependant, j'aurais 2 autres questions :
Appeler deux propriétés sur la même ligne, et appeler une sous-propriété
modifierJe viens de créer le Module:Infobox/Banque, qui reste assez basique mais fait très bien ce qu'on lui demande. Je me posais par contre quelques questions de base concernant la mise en page, notamment (et pour l'instant) la ligne concernant le siège de l'entreprise: j'ai deux paramètres, siège (ville) et siège (pays): comment faire qu'ils s'affichent sur la même ligne? Et, si la propriété P59 (siège social) est renseignée, comment faire pour qu'il ne prenne pas simplement la déclaration principale (qui est une ville) mais aussi la sous-propriété P17 correspondante? Merci, Leo Fischer (discuter) 5 août 2015 à 14:57 (CEST)
- On peut remplacer le paramètre
property
par le paramètrewikidata
et utiliser les paramètres documentés pour la fonction formatStatements Module:Wikidata. Mais si on veut faire quelque chose d'un peu plus propre, avec l'adresse complète demande de connaitre un peu le fonctionnement de Lua et de Wikidata. Cela dit, la meilleure façon d'utiliser la fonction siège est sans doute de ne donner qu'une seule valeur, par exemple, le nom de l'immeuble du siège. L'adresse sera alors récupérée automatiquement de l'élément concernant l'immeuble. Par exemple, pour HSBC (d:Q190464), le siège social est "8 Canada Square", et l'adresse est stockée sur d:Q572887. Récupérer ces données sur Wikidata ne sera possible techniquement qu'à partir de la semaine prochaine. --Zolo (discuter) 5 août 2015 à 20:18 (CEST)- Excellent, merci. Leo Fischer (discuter) 5 août 2015 à 21:33 (CEST)
Question idiote du jour
modifierBonjour à tous,
Je me posais la question en voyant fleurir ces boites: est-il possible d'intégrer directement un élément wikidata dans le corps du texte? Genre "La ville de Londres compte [P1082] habitants en [P585]". A priori ça devrait le faire en usant d'un modèle, mais je voulais vérifier avec des gens mieux instruits. L'avantage immédiat que je vois serai d'éviter ce genre de disssonance où texte et infobox ne sont pas sur la même longueur d'ondre. Popo le Chien 11 août 2015 à 09:57 (CEST)
- Bonjour Popo
- Oui et non : techniquement, une combinaison module + modèle permet de faire quelque chose du genre (ex: « La ville de Londres compte {{Wikidata|P1082|showqualifiers=P585}} ») ; en revanche si on a déjà tout ce qu'il faut pour récupérer les propriétés (ici, le nombre d'habitants), je ne suis pas certain qu'on ait déjà ce qu'il faut sur la Wikipédia francophone pour récupérer les qualificateurs (ici, l'année). Un peu de code à écrire en plus, somme toute.
- Amicalement — Arkanosis ✉ 11 août 2015 à 15:29 (CEST)
- Créer le modèle nécessaire serait facile, étant donné que Module:Wikidata possède déjà les fonction nécessaires. En revanche, j'ai de gros doutes sur la pertinence d'une telle pratique, et j'ai vu par d'autres messages que je n'étais pas le seul. Un texte est sensé un peu construit, et mettre une partie variable peut conduire à des bizarreries. Par exemple, si un paragraphe consacré à de la démographie utilise les données d'un recensement de 2013, ce serait un peu bizarre que la première phrase soit automatiquement mise à jour pour dire "en 2015, la population est de X". --Zolo (discuter) 11 août 2015 à 21:20 (CEST)
- @Popo le Chien C'est possible techniquement, mais lors du dernier sondage sur l'utilisation des données de WD, il était ressorti que l'utilisation des données de WD ne devait se faire que dans une infobox voir un modèle et pas dans le texte brut pour éviter de transformer le wikitest en un charabia informatique incompréhensible pour le lambda moyen. Snipre (discuter) 12 août 2015 à 15:12 (CEST)
- Salut salut, je ne sais pas si je suis au bon endroit... Enfin, c'est une question idiote à propos de liens Wikidata dans le texte donc : Logique paracohérente#Compromis. J'ai essayé la PdD mais je ne pige toujours pas le pourquoi du comment... Merci, merci Fou de Bassan / Argument(s) ? 12 août 2015 à 15:53 (CEST)
- Ok, merci de vos réponses. Pas forcément la solution la plus cohérente àmha, mais c'est vrai que vouloir éviter d'alourdir le wikitexte avec d'autres modèles est louable (même si pas trop suivi). Popo le Chien 12 août 2015 à 16:33 (CEST)
- Salut salut, je ne sais pas si je suis au bon endroit... Enfin, c'est une question idiote à propos de liens Wikidata dans le texte donc : Logique paracohérente#Compromis. J'ai essayé la PdD mais je ne pige toujours pas le pourquoi du comment... Merci, merci Fou de Bassan / Argument(s) ? 12 août 2015 à 15:53 (CEST)
- @Popo le Chien C'est possible techniquement, mais lors du dernier sondage sur l'utilisation des données de WD, il était ressorti que l'utilisation des données de WD ne devait se faire que dans une infobox voir un modèle et pas dans le texte brut pour éviter de transformer le wikitest en un charabia informatique incompréhensible pour le lambda moyen. Snipre (discuter) 12 août 2015 à 15:12 (CEST)
- Créer le modèle nécessaire serait facile, étant donné que Module:Wikidata possède déjà les fonction nécessaires. En revanche, j'ai de gros doutes sur la pertinence d'une telle pratique, et j'ai vu par d'autres messages que je n'étais pas le seul. Un texte est sensé un peu construit, et mettre une partie variable peut conduire à des bizarreries. Par exemple, si un paragraphe consacré à de la démographie utilise les données d'un recensement de 2013, ce serait un peu bizarre que la première phrase soit automatiquement mise à jour pour dire "en 2015, la population est de X". --Zolo (discuter) 11 août 2015 à 21:20 (CEST)
Deuxième question idiote du jour
modifierC'est un peu lié à la question du contributeur ci-dessus : quand-est ce que l'on va passer à la phase 3 et que les données pourront être utilisées sous forme de tableaux dans le corps de l'article ? La page consacrée sur Wikidata n'a pas été mise à jour depuis plus d'un an, ce qui est une éternité quand on sait comment Wikidata a évolué depuis. Je pose la question parce que de mon côté les données sont déjà prêtes pour certaines opérations, et l'arrivée de l'arbitrary access va permettre de développer mon projet. Jérémy-Günther-Heinz Jähnick (discuter) 11 août 2015 à 10:12 (CEST)
- Oui, mais attention, l'arbitrary access est "expensive", c'est à dire coûteux en temps de calcul des serveurs. Une limite est en cours d'installation. Si un tableau fait appel à 10 ou 20 pages wikidata, il risque de ne jamais être rempli. Et aussi s'il y a plusieurs tableaux dans une page. C'est l'expérience qui décidera de la limite de l'arbitrary access. --Rical (discuter) 11 août 2015 à 19:16 (CEST)
- Il ne parle pas de l'accès arbitraire, mais des requêtes, qui elles sont en cours d'implémentation mais à ma connaissance il n'y a pas de date encore. — TomT0m [bla] 11 août 2015 à 19:20 (CEST)
- user:ListeriaBot peut créer et mettre régulièrement à jour des listes à partir de données de Wikidata. En fait, je me demande si la phase 3, dont les fonctionnalités prévues semblent limitées, apportera vraiment un plus par rapport à ce type de solution. --Zolo (discuter) 11 août 2015 à 21:26 (CEST)
- Il ne parle pas de l'accès arbitraire, mais des requêtes, qui elles sont en cours d'implémentation mais à ma connaissance il n'y a pas de date encore. — TomT0m [bla] 11 août 2015 à 19:20 (CEST)
Wikidata: "arbitrary access" déployé
modifierVoir ici. Snipre (discuter) 12 août 2015 à 15:07 (CEST)
Module pour les sources et références
modifierBonjour. Existe-t-il un module, ou un modèle qui s'appuierait sur un module, qui permettrait de générer une source ou une référence à partir des informations stockées sur Wikidata ? Par exemple, {{Ref-WD|Q18637711|page=10}}
nous donnerait comme résultat :
- Pierre-Jean Schaeffer, Charleroi 1830-1994, Histoire d'une Métropole, 1995, Ottignies-Louvain-la-Neuve, (ISBN 9782930014425), p. 10.
Si un tel module (modèle) n'existe pas, est-il possible d'en créer un ? Merci d'avance pour vos réponses. R [CQ, ici W9GFO] 18 août 2015 à 17:14 (CEST)
- Il faudrait déjà commencer par améliorer le module:Wikidata pour afficher les sources d'une valeur. L'utilisation d'un module tel que décrit n'a pas de sens tant que la communauté n'aura pas accepté d'utiliser les valeurs de WD directement dans le texte des articles. Snipre (discuter) 19 août 2015 à 10:23 (CEST)
- Je comprends pas le sens là, pouvez vous développer svp? Moi je veux prendre des Modèles ref (qui sourcent..) de wp et l'affirmer sur WD comment je fais? Fou de Bassan / Argument(s) ? 19 août 2015 à 10:29 (CEST)
- Snipre, c'est peut-être moi qui ai les neurones qui se croisent mais ma demande ne fait pas appel aux « sources d'une valeur » mais bien aux valeurs d'un élément Wikidata. Avec l'accès aux données arbitraires (arbitrary access) récemment mis en place, ça devrait être possible, non ? R [CQ, ici W9GFO] 19 août 2015 à 10:43 (CEST)
- @Snipre. La fonction formatStatements de Module:Wikidata possède depuis avant-hier une option pour afficher la source (
showsource = true
). Mais ici, si je comprends bien, le but est plutôt d'utiliser Wikidata pour citer une source plutôt que de s'enquiquiner avec {{Ouvrage}} et compagnie.- J'ai créé {{Cite élément}}, mais c'est un peu rudimentaire. Il faut aussi signaler qu'on ne peut pas abuser de l' arbitrary access à Wikidata, pour ne pas trop nuire à la performance. Je crois qu'au dessus de 500 appels, ça renvoie automatiquement un message d'erreur. --Zolo (discuter) 19 août 2015 à 11:15 (CEST)
- Euh... Franchement je dois être con! Quand je vois "ref" = Wp sur WD et les recommendations WD je comprends pas pourquoi ne pas importer l'info et sa source(ref...) modélisée (web, article, ouvrage... Depuis +de 10ans pour certaines...). Mais bon, je suis con. Fou de Bassan / Argument(s) ? 19 août 2015 à 11:23 (CEST)
- Zolo, c'est précisément ce que je cherchais. Merci. Concernant la performance, 500 appels max. par page me semble suffisant. R [CQ, ici W9GFO] 19 août 2015 à 11:36 (CEST)
- J'ai créé {{Cite élément}}, mais c'est un peu rudimentaire. Il faut aussi signaler qu'on ne peut pas abuser de l' arbitrary access à Wikidata, pour ne pas trop nuire à la performance. Je crois qu'au dessus de 500 appels, ça renvoie automatiquement un message d'erreur. --Zolo (discuter) 19 août 2015 à 11:15 (CEST)
- @Snipre. La fonction formatStatements de Module:Wikidata possède depuis avant-hier une option pour afficher la source (
- Snipre, c'est peut-être moi qui ai les neurones qui se croisent mais ma demande ne fait pas appel aux « sources d'une valeur » mais bien aux valeurs d'un élément Wikidata. Avec l'accès aux données arbitraires (arbitrary access) récemment mis en place, ça devrait être possible, non ? R [CQ, ici W9GFO] 19 août 2015 à 10:43 (CEST)
- Je comprends pas le sens là, pouvez vous développer svp? Moi je veux prendre des Modèles ref (qui sourcent..) de wp et l'affirmer sur WD comment je fais? Fou de Bassan / Argument(s) ? 19 août 2015 à 10:29 (CEST)
- Il n'y a pas de consensus pour utiliser des données de WD dans le corps principal des articles. La raison invoquée est que le code serait trop compliqué à gérer par le contributeur lambda qui tombe sur des lignes de codes qu'il est incapable de comprendre (typiquement qu'est-ce qu'est ce numéro Q18637711?). Ce n'est pas ma position, mais après la levée de bouclier qu'a suscité l'utilisation de WD dans les infobox, il faut faire très attention sous peine de voir une allergie à Wikidata se développer.
- Dans les premiers sondages sur l'utilisation de WD sur WP, il y a une claire distinction entre utiliser WD pour les infobox et pour le texte principal de l'article.
- Bref, mieux vaudrait communiquer sur ce type de module histoire de prévenir l'accusation du cavalier solitaire. Snipre (discuter) 19 août 2015 à 12:17 (CEST)
En 2014, la population était de X <ref>{{cite élément|QXXX}}</ref>
me parait moins problématique queEn 2014, la population était de {{wikidata|property=P1082}}
: ce n'est pas complètement dans le corps du texte, et ça débarasse d'un {{Ouvrage}} assez complexe. Mais c'est vrai que ce n'est quand même pas forcément très clair, et qu'il vaut peut-être mieux ne pas se précipiter dedans (au départ, j'avais créé la fonction Lua utilisée par le modèle surtout pour permettre d'afficher une source dans une infobox ou un graphique). --Zolo (discuter) 19 août 2015 à 12:34 (CEST)- Pour moi, qui pige pas grand chose au sens, c'est sympa {{cite élément}} (en plus des autres ({{autorité}}, {{Infobox Biographie2}}...)) pour apprendre à lier Info-(s), Source(s), WD, WP. Fou de Bassan / Argument(s) ? 19 août 2015 à 12:41 (CEST)
- Conflit d’édition — Zolo : le lien du titre vers WD ne sert à rien, si on a déjà affiché tout ce qu'on peut de WD ? Snipre : est-ce qu'on ne peut ou ne pourra pas utiliser un label plus lisible que Q18637711 ou P1082 ? (même en anglais ce serait déjà mieux) — Oliv☮ Éppen hozzám? 19 août 2015 à 13:05 (CEST)
- @Oliv0 Oui pour les propriétés, ils ont implémentés la recherche à partir du label dans n'importe quelle langue, pour les éléments c'est moins sur par contre. Il y a la fonctionnalité "élément par titre" en page spéciale, mais je l'ai pas trouvé dans l'API en lua. Je trouve qu'elle manque, je vais poser la question aux devs. — TomT0m [bla] 19 août 2015 à 13:10 (CEST)
- La réponse est donc : très probablement, cf. Phab:T74815. On pourra utiliser les noms des pages d'article en français pour récupérer l'élément lié. — TomT0m [bla] 19 août 2015 à 13:24 (CEST)
- @TomT0m, ça suppose que l'ouvrage possède un article Wikipédia, ce n'est pas forcément le cas dominant.
- Ou une page sur Wikisource ou n'importe quel projet, voire dans l'espace référence de Wikipédia, qui pourrait du coup trouver une utilité ;) Mais oui, ce n'est pas toujours le cas, c'est une possibilité en plus. — TomT0m [bla] 19 août 2015 à 13:58 (CEST)
- @Oliv0 l'élément Wikidata peut contenir d'autres données (sujet de l'oeuvre, classification Dewey, etc.) mais c'est vrai que le lien n'est pas forcément utile. J'essayrai de le remplacer par un "+-" ;]. --Zolo (discuter) 19 août 2015 à 13:35 (CEST)
- @Oliv0. Utiliser un nom ou un label peut conduire à des liens brisés si le nom change sur WD. C'est toujours le même problème des modifications qui ne sont pas répercutées. L'avantage du numéro Q est qu'il est impossible de le modifier. A mon avis, c'est une fausse bonne idée. Snipre (discuter) 19 août 2015 à 13:50 (CEST)
- @TomT0m, ça suppose que l'ouvrage possède un article Wikipédia, ce n'est pas forcément le cas dominant.
- Conflit d’édition — Zolo : le lien du titre vers WD ne sert à rien, si on a déjà affiché tout ce qu'on peut de WD ? Snipre : est-ce qu'on ne peut ou ne pourra pas utiliser un label plus lisible que Q18637711 ou P1082 ? (même en anglais ce serait déjà mieux) — Oliv☮ Éppen hozzám? 19 août 2015 à 13:05 (CEST)
- Pour moi, qui pige pas grand chose au sens, c'est sympa {{cite élément}} (en plus des autres ({{autorité}}, {{Infobox Biographie2}}...)) pour apprendre à lier Info-(s), Source(s), WD, WP. Fou de Bassan / Argument(s) ? 19 août 2015 à 12:41 (CEST)
@Snipre Je n'ai pas ton interprétation, en fait on parlait principalement d'utiliser les fonctions genre #property: directement, après on peut se poser la question de l'appel au travers de modèles. L'emploi des modèles est quand même beaucoup plus répandus dans les articles, y compris si ils font des choses complexes. Après on voit de plus en plus de gens qui sont embêtés par la désycro entre les données de l'article et les données des infobox, donc faut peut être pas trop se bloquer sur le vieux consensus qui commence à dater. On peut tenter des choses et voir comment elles son accueillies par la communauté, si on voit que ça suscite débat on pourra relancer une discussion communautaire. Sinon ben ... un consensus tacite ça existe aussi. — TomT0m [bla] 19 août 2015 à 13:01 (CEST)
- Tu obliges le contributeur à utiliser WD et cela, ça va mal passer auprès de pas mal de contributeurs. Les infobox sont négligés par certains contributeurs, donc cela peut encore passer, et il est toujours possible de remplir les champs de l'infobox sur WP puisque ces données ont la priorités sur WD, donc pas de problème. Par contre dès que tu obliges les gens à utiliser WD, à quitter leur environnement habituel, cela va finir en PDD. Il ne faut pasoublier que WP:fr peut refuser d'utiliser WD, donc il faut vraiment prendre le temps de discuter avec les contributeurs de WP:fr avant de lancer des nouveautés qui ne peuvent pas être contournées. Snipre (discuter) 19 août 2015 à 13:46 (CEST)
- Je n'oblige rien du tout :) En fait je pense qu'il faut avant tout communiquer au préalable, une Prise de décision peut prendre un peu au dépourvu et susciter des réactions d'hostilités qui n'auraient pas eu lieux si on avait communiqué auparavant. On se serait déja mangé les réactions d'hostilité et on aurait pu expliquer deux trois trucs, laissant aux gens le temps de réfléchir un peu. (j'ai vu récemment une vidéo ou le responsable de la migration d'Office à libreoffice à Nantes et donne une explication sur la conduite du changement : https://2015.rmll.info/accompagnement-d-une-migration-vers-libreoffice?lang=fr je recommande le visionnage ;) — TomT0m [bla] 19 août 2015 à 13:59 (CEST)
- Tu obliges le contributeur à utiliser WD si tu utilises le module demandé ci-dessus. Comment peut-il modifier les données de la source avec un tel module sans passer par WD ? Voilà la principale opposition que tu auras. Snipre (discuter) 19 août 2015 à 15:16 (CEST)
- Ça fait bien longtemps qu'on a une solution à ça : utiliser la valeur passée en paramètre au modèle, comme pour les infoboxs. Mais là on aura une guéguerre entre ceux qui sont réfractaire à Wikidata et ceux qui n'aiment pas avoir des valeurs différentes et vont pousser à l'utilisation de modèles dans les articles. On a donc intérêt à déminer le terrain au préalable, soit en communiquat sur l'édition de Wikidata pour faire tomber les appréhensios, et on va peut être découvrir qu'il y a en pratique un certain nombre de personnes qui l'ont déja fait et qui peuvent rassurer et aider les autres, soit on s'y prend autrement, mais je pense qu'une PDD sans préparer ce genre de chose c'est un risque énorme de crisper les positions et de compromettre la suite. — TomT0m [bla] 19 août 2015 à 15:26 (CEST)
- Restons centré sur le sujet de départ: on parle d'un module spécifique pour l'extraction de données de WD. Ta solution d'utiliser valeur passée en paramètre au modèle pour éviter l'extraction des données de WD implique que tu modifies les modèle:Ouvrage, modèle:Lien web et modèle:Article en ajoutant un nouveau champ "numéro Q". Ou alors que l'on crée un super modèle pour tous les types de citation. Snipre (discuter) 19 août 2015 à 16:56 (CEST)
- Ben Zolo l'a déja créé ce module, en l'occurence, cf. là haut. — TomT0m [bla] 19 août 2015 à 20:48 (CEST)
- Restons centré sur le sujet de départ: on parle d'un module spécifique pour l'extraction de données de WD. Ta solution d'utiliser valeur passée en paramètre au modèle pour éviter l'extraction des données de WD implique que tu modifies les modèle:Ouvrage, modèle:Lien web et modèle:Article en ajoutant un nouveau champ "numéro Q". Ou alors que l'on crée un super modèle pour tous les types de citation. Snipre (discuter) 19 août 2015 à 16:56 (CEST)
- Ça fait bien longtemps qu'on a une solution à ça : utiliser la valeur passée en paramètre au modèle, comme pour les infoboxs. Mais là on aura une guéguerre entre ceux qui sont réfractaire à Wikidata et ceux qui n'aiment pas avoir des valeurs différentes et vont pousser à l'utilisation de modèles dans les articles. On a donc intérêt à déminer le terrain au préalable, soit en communiquat sur l'édition de Wikidata pour faire tomber les appréhensios, et on va peut être découvrir qu'il y a en pratique un certain nombre de personnes qui l'ont déja fait et qui peuvent rassurer et aider les autres, soit on s'y prend autrement, mais je pense qu'une PDD sans préparer ce genre de chose c'est un risque énorme de crisper les positions et de compromettre la suite. — TomT0m [bla] 19 août 2015 à 15:26 (CEST)
- Tu obliges le contributeur à utiliser WD si tu utilises le module demandé ci-dessus. Comment peut-il modifier les données de la source avec un tel module sans passer par WD ? Voilà la principale opposition que tu auras. Snipre (discuter) 19 août 2015 à 15:16 (CEST)
- Je n'oblige rien du tout :) En fait je pense qu'il faut avant tout communiquer au préalable, une Prise de décision peut prendre un peu au dépourvu et susciter des réactions d'hostilités qui n'auraient pas eu lieux si on avait communiqué auparavant. On se serait déja mangé les réactions d'hostilité et on aurait pu expliquer deux trois trucs, laissant aux gens le temps de réfléchir un peu. (j'ai vu récemment une vidéo ou le responsable de la migration d'Office à libreoffice à Nantes et donne une explication sur la conduite du changement : https://2015.rmll.info/accompagnement-d-une-migration-vers-libreoffice?lang=fr je recommande le visionnage ;) — TomT0m [bla] 19 août 2015 à 13:59 (CEST)
Je vais vous dire une bonne chose. Je suis sur Wikipédia depuis dix ans et je ne source que très rarement mes informations. Pourquoi ? Notamment parce que c'est un travail ingrat, qui prend du temps et que les modèles de citation sont compliqués. Ils sont inesthétiques dans le code, etc. Si aujourd'hui il suffit de créer un élément Wikidata et ensuite d'utiliser le nouveau modèle, court et efficace sur plusieurs articles, pour sourcer, et bien c'est la révolution ! Bref, à l'inverse de ce que vous semblez croire, pour moi ce basculement est une incroyable incitation à travailler davantage ! Thierry Caro (discuter) 19 août 2015 à 21:07 (CEST)
- Minuscule bémol cependant. L'intitulé {{Cite élément}} a été choisi depuis une perspective de codeur utilisant le vocabulaire de Wikidata. Pour le rédacteur de Wikipédia, il s'agit surtout de citer une source. Il faudrait le renommer en {{Source}}, qui se trouve être libre. Thierry Caro (discuter) 19 août 2015 à 21:25 (CEST)
- Je partage l’enthousiasme de Thierry Caro et soutiens sa proposition de renommage. Si Wikidata est là pour nous faciliter la vie je ne vois aucune raison de s'en priver. R [CQ, ici W9GFO] 19 août 2015 à 23:09 (CEST)
- Il me semblait qu'à partir du moment où le modèle nécessite d'utiliser un identifiant Wikidata un peu techie, ou au moin le mot "Wikidata" pour prévenir, mais bon je n'ai rien pour renommer en "source". --Zolo (discuter) 20 août 2015 à 00:11 (CEST)
- Du genre {{Source-WD}} ? R [CQ, ici W9GFO] 20 août 2015 à 07:10 (CEST)
- C'est vilain ! Thierry Caro (discuter) 21 août 2015 à 14:16 (CEST)
- Du genre {{Source-WD}} ? R [CQ, ici W9GFO] 20 août 2015 à 07:10 (CEST)
- Il me semblait qu'à partir du moment où le modèle nécessite d'utiliser un identifiant Wikidata un peu techie, ou au moin le mot "Wikidata" pour prévenir, mais bon je n'ai rien pour renommer en "source". --Zolo (discuter) 20 août 2015 à 00:11 (CEST)
- Je partage l’enthousiasme de Thierry Caro et soutiens sa proposition de renommage. Si Wikidata est là pour nous faciliter la vie je ne vois aucune raison de s'en priver. R [CQ, ici W9GFO] 19 août 2015 à 23:09 (CEST)
- Zolo : Merci de mettre dans la doc du modèle:Cite élément le lien vers le module contenant le code. Il faudrait garder l'unicité de un modèle=un module pour permettre de trouver le code. Cela est un minimum pour la transparence. Snipre (discuter) 22 août 2015 à 20:35 (CEST)
Appel à volontaires pour créer le modèle Infobox Géographie planétaire2
modifier(je ne sais pas trop si c'est le bon endroit, mais ça ne coûte rien d'essayer)
Bonjour à tous, :)
Je viens de déposer une demande d'infobox en Lua sur Projet:Infobox/Demandes#Infobox Géographie planétaire2 pour le Projet:Astronomie. Elle aurait un fonctionnement assez similaire à Infobox Biographie2, à savoir qu'elle utiliserait en priorité les données de Wikidata (la question de restreindre l’affichage aux seules données sourcées est ouverte). N'étant pas à même de créer cette infobox par mes propres moyens, je me tourne vers la communauté afin que quelqu'un de plus compétent puisse s'en charger. Bref, si vous pensez que c'est dans vos cordes, n'hésitez pas à vous porter volontaire ! :) -- Feldo [Discussion constructive] 13 septembre 2015 à 15:44 (CEST)
Présence du code dans les infobox wikidata
modifier(déplacé vers Discussion Projet:Wikidata#Présence du code dans les infobox wikidata puisque ça ne concerne pas la programmation en Lua — Oliv☮ Éppen hozzám? 22 septembre 2015 à 07:53 (CEST))
- Oliv0 : vous n'y êtes pour rien sur le fond puisqu'on m'a donné à la base une mauvaise information, mais je trouve ça assez gonflant d'avoir été redirigé ici pour être ensuite redirigé là-bas. Jean-Jacques Georges (Sonnez avant d'entrer) 22 septembre 2015 à 08:13 (CEST)
- Jean-Jacques Georges : Il faut bien définir une demande technique avant de savoir qui peut la traiter, il y a encore besoin de discussion là-bas pour cela. Jusqu'ici ce que je croyais comprendre était un besoin de bot, mais il apparaîtra peut-être qu'il y a vraiment des choses à programmer en Lua, auquel cas la demande serait bien à faire ici, encore que les principaux programmeurs Lua intéressés par Wikidata sont de toute façon présents là-bas. — Oliv☮ Éppen hozzám? 22 septembre 2015 à 09:08 (CEST)
- C'est juste un petit peu ridicule de se faire renvoyer d'un projet à l'autre comme une patate chaude... Jean-Jacques Georges (Sonnez avant d'entrer) 22 septembre 2015 à 09:54 (CEST)
- Jean-Jacques Georges : Il faut bien définir une demande technique avant de savoir qui peut la traiter, il y a encore besoin de discussion là-bas pour cela. Jusqu'ici ce que je croyais comprendre était un besoin de bot, mais il apparaîtra peut-être qu'il y a vraiment des choses à programmer en Lua, auquel cas la demande serait bien à faire ici, encore que les principaux programmeurs Lua intéressés par Wikidata sont de toute façon présents là-bas. — Oliv☮ Éppen hozzám? 22 septembre 2015 à 09:08 (CEST)
Date d'une population
modifierBonjour, Je cherche à écrire un module qui lit la date (p585) de la propriété population (p1082) (je ne souhaite pas reprendre de la Wikidata francophone une fonction toute faite sans la comprendre). Donc je vais chercher l'entité. entity = mw.wikibase.getEntityObject() Je lis la meilleure propriété population. pop = entity:getBestStatements( 'P1082' ) et ensuite il me faut chercher la qualifieur pop[1].qualifiers["p585"] qui est un champ time quelle est alors l'instruction et sa syntaxe qui permet de lire ce qualifieur ? Merci à vous. --Pino~eowiki (discuter) 22 septembre 2015 à 14:41 (CEST)
Formatage de date les 1er du mois
modifierBonjour, j'ai accepté hier au bistro d'essayer de regarder pourquoi la date ne s'affichait pas correctement avec les dates du 1er du mois dans le modèle:Lien web. J'ai créé ces pages de test suivantes pour ne pas modifier les module existant mais je suis presque sûr que ça se passe dans la fonction modeleDate dans Module:Date.
- Module:Datetest copie de Module:Date qui est verrouillé.
- Module:Bibliotest copie de Module:Biblio
- Module:Bibliotest/Lien webtest copie de Module:Biblio/Lien web
J'ai essayé de simplifié la fonction en écrivant une autre fonction qui ne s'occuperait que de formater la date sans s'occuper des calendrier. J'utilisait le bac à sable de Lien web et le résultat est visible en page de test : Modèle:Lien web/Test (voir surtout le dernier résultat en bas de la page). Tout est prêt. Tout fonctionne. Sauf ce bug. Quelqu'un du projet qui aurait un peu plus d'expérience dans ce langage pourrait il s'en occuper ? Cordialement. @Barada-nikto et @Hexasoft --pixeltoo (discuter) 25 septembre 2015 à 23:20 (CEST)
- Je regarde demain si ça n'a pas été fait d'ici là. Cordialement, Hexasoft (discuter) 25 septembre 2015 à 23:43 (CEST)
- Merci.--pixeltoo (discuter) 25 septembre 2015 à 23:45 (CEST)
- Merci. Barada-nikto (discuter) 26 septembre 2015 à 00:00 (CEST)
- Je me demande s'il ne faut pas repenser l'architecture.--pixeltoo (discuter) 27 septembre 2015 à 11:26 (CEST)
- Un peu tardivement : le bug c'est que ça affiche « 1 septembre 2015 » au lieu de « 1er septembre 2015 » c'est ça ? Hexasoft (discuter) 27 septembre 2015 à 19:43 (CEST)
- Hexasoft : Oui c'est bien ça.--pixeltoo (discuter) 2 octobre 2015 à 09:55 (CEST)
- Un peu tardivement : le bug c'est que ça affiche « 1 septembre 2015 » au lieu de « 1er septembre 2015 » c'est ça ? Hexasoft (discuter) 27 septembre 2015 à 19:43 (CEST)
- Je me demande s'il ne faut pas repenser l'architecture.--pixeltoo (discuter) 27 septembre 2015 à 11:26 (CEST)
- Merci. Barada-nikto (discuter) 26 septembre 2015 à 00:00 (CEST)
- Merci.--pixeltoo (discuter) 25 septembre 2015 à 23:45 (CEST)
Bonjour, il y a aussi le bug des mois abrégés, comme sept. qui affiche en au lieu de le, cf. Modèle:Lien_web/Test. Cordialement Barada-nikto (discuter) 2 octobre 2015 à 09:28 (CEST)
- ← c'est moi qui n'ai pas les yeux en face des trous ou bien j'ai raté quelque chose ? J'ai modifié Biblio/Références/Bac_à_sable sans voir d'effet ici, que ce soit après purge ou en prévisualisation de module. Hexasoft (discuter) 2 octobre 2015 à 11:55 (CEST)
- Hexasoft : Module:Bibliotest fait appel à Module:Biblio/Références' et non Module:Biblio/Références/Bac à sable. Ça vient peut être de là. --pixeltoo (discuter) 2 octobre 2015 à 13:24 (CEST)
- Tu as tout à fait raison… J'ai vérifié la chaîne des inclusions mais pas le modèle… Ceci dit ça semble peu logique que "Modèle:Lien web/Bac à sable" n'utilise pas "Module:Biblio/Bac à sable→lienWeb" quand "Modèle:Lien web" utilise "Module:Biblio→lienWeb". Cordialement, Hexasoft (discuter) 2 octobre 2015 à 13:34 (CEST)
- Hexasoft : Oui ce serait mieux. ça faisait un temps que je ne touchais plus aux modèles. Entre temps les bacs à sable ont été généralisés. J'ai créé ces pages de en terminaison en -test. D'où ta confusion. Donc n'hésite pas à modifier le bac à sable selon ce qui semble le plus logique.--pixeltoo (discuter) 2 octobre 2015 à 13:44 (CEST)
- Pour info j'ai commencé à regarder le problème (donc Module:Biblio/Références/Bac_à_sable est "cassé" pour le moment). Je compte finir ça ce week-end, je remets tout au propre après. Hexasoft (discuter) 2 octobre 2015 à 13:54 (CEST)
- Alors : j'ai corrigé dans le module de test : voir cette modification. Il semble (sans que je sache trop pourquoi) que
tdate.jour == "1"
ne fonctionne pas mais quetdate.jour == 1
fonctionne. L'un est une chaîne l'autre un nombre. Normalement ça devrait convertir… Bref, ceci corrige l'absence de "1er" quand il y en a un. - Je n'ai pas corrigé l'autre problème lié aux noms de mois raccourcis (sept. au lieu de septembre). Mais ici ce n'est pas Module:Biblio/Références/Bac_à_sable le responsable : c'est la fonction Date.separationJourMoisAnnee (du module Date) qui visiblement ne reconnaît pas "1 sept. 2015" comme une date (la conséquence est que n'étant pas reconnu comme une date le module Biblio l'affiche telle qu'elle, et laisse surtout le "consulté en" par défaut.
- Il faudrait regarder donc dans le module Module:Date, c'est peut-être simplement un cas non géré. Cordialement, Hexasoft (discuter) 2 octobre 2015 à 15:45 (CEST)
- En fait non : je viens de tester l'appel à
p.separationJourMoisAnnee("1 sept. 2015")
depuis la console de Module:Date et ça fonctionne. Je vais regarder de nouveau dans Module:Biblio/Références. Hexasoft (discuter) 2 octobre 2015 à 16:09 (CEST)- En fait si . J'ai modifié Module:Date/Bac à sable pour prendre en compte un "." terminal dans la regex associée :
'([^%s%p%d]+)' → '([^%s%p%d]+[.]?)'
et on peut voir ici que ça fonctionne (note : sur cette page j'utilise le modèle Utilisateur:Hexasoft/Biblio pour pointer sur le bon bac à sable, c'est la seule différence). - Merci de valider (en utilisant Utilisateur:Hexasoft/Biblio) que ça résoud bien tous les problèmes évoqués, auquel cas je pourrai reporter les modifications dans Module:Date ainsi que dans Module:Biblio/Références. Cordialement, Hexasoft (discuter) 2 octobre 2015 à 16:24 (CEST)
- Ça semble fonctionner en effet, merci et bravo. Cordialement --Barada-nikto (discuter) 2 octobre 2015 à 16:32 (CEST)
- J'ai donc reporté les modifications dans les 2 modules concernés. Merci de valider que ça marche avec les "vrais" modules et que je n'ai rien cassé Cordialement, Hexasoft (discuter) 2 octobre 2015 à 17:13 (CEST)
- Ça semble fonctionner en effet, merci et bravo. Cordialement --Barada-nikto (discuter) 2 octobre 2015 à 16:32 (CEST)
- En fait si . J'ai modifié Module:Date/Bac à sable pour prendre en compte un "." terminal dans la regex associée :
- En fait non : je viens de tester l'appel à
- Alors : j'ai corrigé dans le module de test : voir cette modification. Il semble (sans que je sache trop pourquoi) que
- Pour info j'ai commencé à regarder le problème (donc Module:Biblio/Références/Bac_à_sable est "cassé" pour le moment). Je compte finir ça ce week-end, je remets tout au propre après. Hexasoft (discuter) 2 octobre 2015 à 13:54 (CEST)
- Hexasoft : Oui ce serait mieux. ça faisait un temps que je ne touchais plus aux modèles. Entre temps les bacs à sable ont été généralisés. J'ai créé ces pages de en terminaison en -test. D'où ta confusion. Donc n'hésite pas à modifier le bac à sable selon ce qui semble le plus logique.--pixeltoo (discuter) 2 octobre 2015 à 13:44 (CEST)
- Tu as tout à fait raison… J'ai vérifié la chaîne des inclusions mais pas le modèle… Ceci dit ça semble peu logique que "Modèle:Lien web/Bac à sable" n'utilise pas "Module:Biblio/Bac à sable→lienWeb" quand "Modèle:Lien web" utilise "Module:Biblio→lienWeb". Cordialement, Hexasoft (discuter) 2 octobre 2015 à 13:34 (CEST)
- Hexasoft : Module:Bibliotest fait appel à Module:Biblio/Références' et non Module:Biblio/Références/Bac à sable. Ça vient peut être de là. --pixeltoo (discuter) 2 octobre 2015 à 13:24 (CEST)
┌─────────────────────────────────────────────────┘
Tests
« Site example » (consulté le )
« Site example » (consulté le )
« Site example » (consulté le )
Aïe, il n'aime pas cette syntaxe 1{{er}}
« Site example » (consulté le )
D'ailleurs, si on écrit 5 juil.
pourquoi le modèle ne renverrait-il pas 5 juil. au lieu du mois complet ?
Cordialement --Barada-nikto (discuter) 2 octobre 2015 à 17:37 (CEST)
- Oui effectivement. Le module Date ne gère pas ça. Par contre il accepte "1er" : {{lien web |url=http://example.org/ |titre=Site example |consulté le=1er juil. 2015}} → « Site example » (consulté le ).
- Pour l'affichage "juil." par ex. c'est différent : le module doit « comprendre » la date, qui est le 1er juillet 2015. Après on peut vouloir des options d'affichage, par ex. un affichage raccourci pour les mois, mais c'est différent .
- Pour ton cas de figure 1{{er}} je ne sais pas si c'est possible de gérer ça puisque 1{{er}} est transformé avant d'être passé au modèle Lien web (puis aux différents modules dont Date à la fin). Or ici le problème est plus complexe : 1. le contenu "résultat" du modèle {{er}} peut changer 2. ce contenu contient du méta-code (code <sup>) qui est pré-traité avant d'arriver au module, pas certain qu'on puisse retrouver le texte dessous.
- En tout cas c'est clairement pas une correction évidente à faire. Cordialement, Hexasoft (discuter) 2 octobre 2015 à 17:47 (CEST)
- Diantre… On peut espérer quelque chose, cependant ? Et encore merci. --Barada-nikto (discuter) 2 octobre 2015 à 17:51 (CEST)
- Ok… J'ai trouvé un moyen, mais je ne le trouve pas très « propre ». Technique : 1.
consult = mw.text.unstrip(consult)
→ "détruire" les tags de mise en forme déjà générés en amont. 2.consult = mw.ustring.gsub(consult, '[<][^>]*[>]', '')
→ on détruit tous les tags (qui sont maintenant "accessible" comme du simple texte). 3. la suite est normale. Ça veut dire que si l'on passe 1{{er}} ou 1<sup>er</sup> on se retrouve avec "1er" (tous les tags supprimés) avant de traiter normalement. - Par contre :
- est-ce qu'il existe des cas de figure normaux/légaux où on peut avoir des tags (ou des modèles qui ajoutent des tags) dans la zone de la date ?
- il serait peut-être légitime si cette modification est acceptée de l'utiliser aussi pour la date (ou les dates ?) de la publication
- on peut se demander si ce traitement devrait être dans Module:Date plutôt que dans Module:Biblio/Références. Je l'ai mis là parce que comme ça ça n'impacte rien d'autre (Module:Date étant très utilisé).
- PS : la modification étant appliquée l'exemple un peu plus haut fonctionne maintenant.
- Cordialement, Hexasoft (discuter) 2 octobre 2015 à 19:36 (CEST)
- Hexasoft : Encore merci pour avoir corriger ce bug. Tu peux supprimer Module:Datetest, Module:Bibliotest, Module:Bibliotest/Lien webtest. Stp. Cordialement. --pixeltoo (discuter) 2 octobre 2015 à 20:59 (CEST)
- Super, merci beaucoup. Pour les questions, je ne suis pas certain d'avoir compris Cordialement Barada-nikto (discuter) 2 octobre 2015 à 21:25 (CEST)
- pixeltoo : modules supprimés.
- Barada-nikto : en fait ces questions sont plus à destination des habitués du projet . Toutefois tu peux peut-être répondre à l'une de ces questions → est-ce qu'il y a des utilisations de modèles où le champs "consulté le" qui contient des modèles et autres mises en forme (en dehors du 1{{er}} évoqué) ? Puisque ça pourrait impacter aussi ces cas de figure.
- Pour les habitués : je pourrai dans le modèle modifier le test pour que si c'est "1er" je traite et sinon je garde la version originale. Cordialement, Hexasoft (discuter) 2 octobre 2015 à 21:37 (CEST)
- ben non, j'vois pas… Cordialement Barada-nikto (discuter) 2 octobre 2015 à 21:42 (CEST)
- Super, merci beaucoup. Pour les questions, je ne suis pas certain d'avoir compris Cordialement Barada-nikto (discuter) 2 octobre 2015 à 21:25 (CEST)
- Hexasoft : Encore merci pour avoir corriger ce bug. Tu peux supprimer Module:Datetest, Module:Bibliotest, Module:Bibliotest/Lien webtest. Stp. Cordialement. --pixeltoo (discuter) 2 octobre 2015 à 20:59 (CEST)
- Ok… J'ai trouvé un moyen, mais je ne le trouve pas très « propre ». Technique : 1.
- Diantre… On peut espérer quelque chose, cependant ? Et encore merci. --Barada-nikto (discuter) 2 octobre 2015 à 17:51 (CEST)
P585
modifierBonjour, je coince et je cherche une bonne âme qui pourrais me donner un coup de pouce ou un élément de réponse. Dans Module:WikidataPopulation, je cherche à créer une fonction (function p.dato() ) qui lise la valeur temps mais je n'arrive pas à trouver la syntaxe. Merci à vous. --Pinof (discuter) 26 septembre 2015 à 15:24 (CEST)
- C'était difficile pour moi aussi. Voir ici comment j'ai fait pour des dates en plusieurs langues.
- chercher : date_to_part( pour arriver a retrouver l'année dans plusieurs formats de langues.
- Il y a quelques jours, un autre utilisateur m'a signalé des modules pour retrouver methodiquement les dates de wikidata en formats standard +2015-05-05T00:00:00Z dit ISO 8601 grâce aux Module:Time et Module:Datum
- C'est encore plus compliqué à mettre en place, mais c'est ensuite très sur et complet. Je n'ai pas essayé parce que ma solution me suffit, mais si tu y arrives, quelle que soit ta solution, tiens moi informé ici. --Rical (discuter) 26 septembre 2015 à 23:16 (CEST)
- Un très grand merci. La façon de traiter les dates est essentielle mais là où je coince c'est juste avant, comment accéder au champ time (voir le module cité ci-dessus). --Pino~eowiki (discuter) 26 septembre 2015 à 23:44 (CEST)
- Si on prévisualise {{#invoke:Interface Wikidata|Dump}} sur une page, on voit que la date est stockée dans datavalue.value.time, qu'il y a également un paramètre precision (precision = 9 veut dire qu'il ne faut afficher que l'année, precision = 10, que le mois aussi est significatif etc.), et un paramètre "calendar" qui dit qu'elle calendrier est le plus pertinent pour le rendu. Pour obtenir l'année, le mois et le jour, il faut splitter le temps comme sur la fonction splitWDdate de Module:Date complexe. --Zolo (discuter) 27 septembre 2015 à 07:42 (CEST)
- Bonjour Zolo, le module marche maintenant, en fait, j'avais compris datavalue.value.time mais pas l'empillement de tables : ["P585"] = table#14 {table#15, Merci beaucoup. --Pino~eowiki (discuter) 27 septembre 2015 à 08:39 (CEST)
- Merci à tous les deux, c'est très intéressant. --Rical (discuter) 27 septembre 2015 à 19:28 (CEST)
- Bonjour Zolo, le module marche maintenant, en fait, j'avais compris datavalue.value.time mais pas l'empillement de tables : ["P585"] = table#14 {table#15, Merci beaucoup. --Pino~eowiki (discuter) 27 septembre 2015 à 08:39 (CEST)
- Si on prévisualise {{#invoke:Interface Wikidata|Dump}} sur une page, on voit que la date est stockée dans datavalue.value.time, qu'il y a également un paramètre precision (precision = 9 veut dire qu'il ne faut afficher que l'année, precision = 10, que le mois aussi est significatif etc.), et un paramètre "calendar" qui dit qu'elle calendrier est le plus pertinent pour le rendu. Pour obtenir l'année, le mois et le jour, il faut splitter le temps comme sur la fonction splitWDdate de Module:Date complexe. --Zolo (discuter) 27 septembre 2015 à 07:42 (CEST)
- Un très grand merci. La façon de traiter les dates est essentielle mais là où je coince c'est juste avant, comment accéder au champ time (voir le module cité ci-dessus). --Pino~eowiki (discuter) 26 septembre 2015 à 23:44 (CEST)
Global Volcanism Program dans le module:Infobox/Volcan
modifierBonjour,
J'aimerais que la ligne « GVP » de {{Infobox Volcan2}} affiche un lien vers l'article Global Volcanism Program sur le label et un lien vers l'entrée appropriée du site sur la propriété, sous la forme [[Global Volcanism Program|GVP]] = [http://volcano.si.edu/volcano.cfm?vn=(P1886 de Wikidata)]
Cela réfère à la ligne {type = 'row', label = 'GVP', value = 'gvp', property = 'P1886'},
du Module:Infobox/Volcan. Malheureusement, je ne sais pas comment adapter cette dernière pour avoir le résultat espéré. Quelqu'un peut m'aider ? - Simon Villeneuve 11 octobre 2015 à 05:34 (CEST)
- {{#invoke:Interface Wikidata|formatStatements |entity=Q524954 |property=P1886 |urlpattern=http://volcano.si.edu/volcano.cfm?vn=$1}} fait bien 232050 sur Taftan conformément à la doc Projet:Wikidata/Atelier/Manuel, mais pour utiliser urlpattern dans Module:Infobox/Volcan il manque peut-être quelque chose, Zolo : ? — Oliv☮ Éppen hozzám? 11 octobre 2015 à 08:35 (CEST)
- Ca fonctionne, mais sauf lorsque on a seulement "property", les paramètres de requete wikidata doivent être dans une sous-table spéciale (voir modif du paramètre "altitude" ici). Ca me parait plus logique de faire comme ça, mais si c'est vraiment pas intuitif, il serait possible de faire en sorte que
{label = 'j', value = 'f', urlpattern = 'j', property = 'j'}
fonctionne de la même manière que{label = 'j', value = 'f', wikidata = {urlpattern = 'j', property = 'j'}}
- Merci beaucoup ! Et pour ajouter un lien vers Global Volcanism Program sur GVP, vous pouvez m'indiquer comment ? J'ai tenté de voir comment ça fonctionne pour d'autres modules, mais je ne trouve pas. Par exemple, Module:Infobox/Monument possède un label « Nation » avec un lien sur le mot, mais je ne trouve pas dans le module, ni dans les autres modules « invoqués », où ça se passe.
Dans un autre ordre d'idées, je pense inclure une ligne du genre{type = 'row', label = 'VIAF', value = 'viaf', wikidata = {property = 'P214', urlpattern = '//viaf.org/viaf/$1'}},
dans Module:Infobox/Biographie, après "website". J'ai testé l'aperçu avec un article et ça semble bon.
J'aimerais aussi inclure une ligne{type = 'row', label = 'IMDb', value = 'imdb', wikidata = {property = 'P345', urlpattern = 'http://www.imdb.com/$1'}},
pour IMDb, mais le site est divisé en espace qu'il faut adapter selon l'identifiant (name pour nm, title pour tt, character pour ch, etc.) et là, je suis largué à nouveau. Par exemple, pour Emmanuel Bilodeau, http://www.imdb.com/nm0082636/ ne mène nulle part. Sa page est http://www.imdb.com/name/nm0082636/ - Simon Villeneuve 11 octobre 2015 à 15:40 (CEST)- Ok, j'ai trouvé comment faire un wikilien dans le label ! Pour IMDb, ça sera une autre fois. - Simon Villeneuve 12 octobre 2015 à 14:10 (CEST)
- Merci beaucoup ! Et pour ajouter un lien vers Global Volcanism Program sur GVP, vous pouvez m'indiquer comment ? J'ai tenté de voir comment ça fonctionne pour d'autres modules, mais je ne trouve pas. Par exemple, Module:Infobox/Monument possède un label « Nation » avec un lien sur le mot, mais je ne trouve pas dans le module, ni dans les autres modules « invoqués », où ça se passe.
- Ca fonctionne, mais sauf lorsque on a seulement "property", les paramètres de requete wikidata doivent être dans une sous-table spéciale (voir modif du paramètre "altitude" ici). Ca me parait plus logique de faire comme ça, mais si c'est vraiment pas intuitif, il serait possible de faire en sorte que
Sous-modèle en lua pour l'infobox Langue
modifierBonjour
Je viens poser une question concernant le problème qui se pose depuis plus d'un an avec les codes ISO 639-3 dans les {{Infobox Langue}} : en septembre 2014, Aucassin (d · c · b) à modifié ce modèle pour que la valeur du paramètre iso3 soit automatiquement transformée en lien externe grâce au modèle {{Lien ISO 639-3}}, ce qui était fait auparavant en utilisant ce même modèle sur le code qu'on met pour le paramètre iso3, et qui n'était pas fait partout. Une demande à été faite ([1]) mais rien n'a bougé depuis.
Le problème est que lorsqu'il y a plusieurs codes ISO 639-3 pour le paramètre iso3 ou une note ajoutée, cela ne marche plus. Par exemple, dans l'article Estonien où il y a les deux codes « est » et « ekk », au lieu de faire un lien valide comme http://www-01.sil.org/iso639-3/documentation.asp?id=est
cela donne http://www-01.sil.org/iso639-3/documentation.asp?id=est,
qui ne marche pas (idem pour Languedocien avec ses notes sur les codes).
J'ai bien trouvé une solution en utilisant un paramètre distinct pour chaque code et un autre pour l'éventuelle note (voir mon essai ici : Utilisateur:SyntaxTerror/Brouillon5), mais c'est un peu lourd car cela demande de réécrire toutes les infoboxes où le problème se pose et ce n'est pas très intuitif. C'est pour cela que j'ai pensé à remplacer le sous-modèle {{Infobox/Ligne mixte optionnelle}} qui est actuellement utilisé pour le paramètre iso3 par un modèle en lua qui permettrait de savoir quels sont les codes iso et les notes et de mettre en forme tout ça sans avoir à toucher aux articles problématiques.
Par contre, je suis un peu (complètement ?) rouillé en lua... J'aimerais si possible que quelqu'un me donne des pistes pour extraire les codes ISO 639-3 ET les éventuels notes/références/modèles de la valeur de iso3.
Cordialement, Şÿℵדαχ₮ɘɼɾ๏ʁ You talkin' to me? 16 octobre 2015 à 23:38 (CEST)
Besoin d'un coup de main pour le Module:Infobox/Géographie planétaire
modifierBonsoir, :)
Je viens de créer Module:Infobox/Géographie planétaire pour le compte du Projet:Astronomie. Nous avons besoin de volontaires s'y connaissant un peu en Lua pour résoudre deux-trois soucis avant d'utiliser le module en remplacement du code actuel de Modèle:Infobox Géographie planétaire. Penses-tu pouvoir nous aider ? La discussion se trouve par ici. Bonne soirée ! :) -- Feldo [Discussion constructive] 24 octobre 2015 à 19:44 (CEST)
Bonjour,
je voulais savoir si quelqu'un savait comment faire pour ajouter une option (telles que d'autres options de ce module comme same, limit...) qui permettrait d'avoir un terme en lien interne (ex : Bogota et non Bogota) sans avoir à écrire par exemple {{#invoke:random|item|[[Bogota]]|[[Paris]]|[[Berlin]]}} mais tout simplement {{#invoke:random|item|Bogota|Paris|Berlin}}.
Vous remerciant par avance. Cordialement. £e p$y £éon (discuter) 28 octobre 2015 à 15:51 (CET)
- Si c'est tout ce qu'il te faut, [[{{#invoke:random|item|Bogota|Paris|Berlin}}]] doit marcher. — Oliv☮ Éppen hozzám? 28 octobre 2015 à 16:27 (CET)
- Cette méthode ne marche pas toujours selon les options. Exemple pour {{#invoke:random|text_list|Bogota|Paris|Berlin|Londres|Madrid|limit=3}} : ça fait un beau lien rouge (cf Utilisateur:Lepsyleon/Brouillon). Cordialement. £e p$y £éon (discuter) 28 octobre 2015 à 16:58 (CET)
- Bonjour, le module:random fonctionne avec le module:list. Sur la version espagnole de ce dernier module, je vois qu'il existe une fonction enlazar (wikifier) qui n'est ni sur la version anglaise ni sur la version française. Quelqu'un saurait-il éventuellement rajouter cette fonction à la version française ? Merci d'avance. Cordialement. £e p$y £éon (discuter) 30 octobre 2015 à 12:32 (CET)
- Bonjour, quelqu'un sait-il comment rajouter cette option dans le code du module ? Cordialement. £e p$y £éon (discuter) 12 novembre 2015 à 11:36 (CET)
- Bonjour, le module:random fonctionne avec le module:list. Sur la version espagnole de ce dernier module, je vois qu'il existe une fonction enlazar (wikifier) qui n'est ni sur la version anglaise ni sur la version française. Quelqu'un saurait-il éventuellement rajouter cette fonction à la version française ? Merci d'avance. Cordialement. £e p$y £éon (discuter) 30 octobre 2015 à 12:32 (CET)
- Cette méthode ne marche pas toujours selon les options. Exemple pour {{#invoke:random|text_list|Bogota|Paris|Berlin|Londres|Madrid|limit=3}} : ça fait un beau lien rouge (cf Utilisateur:Lepsyleon/Brouillon). Cordialement. £e p$y £éon (discuter) 28 octobre 2015 à 16:58 (CET)
Accès au titre de la page
modifierBonjour, avec l'instruction : y=mw.wikibase.label('Q' .. subdivision[i].mainsnak.datavalue.value["numeric-id"]) j'obtiens l'étiquette de la page, j'aimerais aussi obtenir le titre de la page pour génèrer une chaine type "titre|étiquette" exemple "Bellefond (Côte d'Or)|Bellefond" pour créer des liens propres comment procéder pour récupérer le titre ? --Pinof (discuter) 11 décembre 2015 à 14:42 (CET)
- J'ai déjà utilisé Title objects, à explorer. --Rical (discuter) 11 décembre 2015 à 15:15 (CET)
- Ce n'est pas mw.wikibase.sitelink ? — Oliv☮ Éppen hozzám? 11 décembre 2015 à 15:22 (CET)
- Merci à tous les deux, j'ai testé sitelink, c'est superbe, ça marche. --Pino~eowiki (discuter) 11 décembre 2015 à 16:43 (CET)
- Ce n'est pas mw.wikibase.sitelink ? — Oliv☮ Éppen hozzám? 11 décembre 2015 à 15:22 (CET)
Hello world
modifierBonjour, J'essaie d'écrire le module le plus simple :
print('Hello World!'). J’obtiens le message d'errreur : "attempt to call global 'print' (a nil value)"
Que cela signifie t-il ? Faut-il préciser une librairie devant print. Laquelle ? --Pinof (discuter) 13 décembre 2015 à 18:32 (CET)
- ça marcherait sans doute si tu utilisai un autre interpréteur lua sur ton propre ordi. Mais ici, non. Il faut utiliser mw.log pour afficher des choses dans la console de debuggage en bas. D'autre part il faut d'abord créer un objet comme
simple={} --puis le retourner en fin de module return simple
- Cet objet contiendra les fonctions exportables du module. Elle seront pour certaines utilisable depuis un modèle avec #invoke, pour d'autre utilisables dans un autre module. Je te conseille de lire l'intro sur scribunto avec le module Banana pour le début. En tout cas la grosse difference avec un modele x'est qu'un module lua ne s'utilise pas "nu" comme un modele. — TomT0m [bla] 13 décembre 2015 à 18:55 (CET)
- en:module:bananas @pinof.
- Ce module existe aussi ici : Module:Hello. — Zebulon84 (discuter) 13 décembre 2015 à 19:58 (CET)
- Ok print ne marche pas avec notre interprétateur, c'est l'information importante. Il faudrait un peu modifier l'article Lua dans notre Wikipédia. A voir. --Pinof (discuter) 13 décembre 2015 à 20:01 (CET)
- @Pinof : attention de ne pas confondre Lua et Scribunto. Scribunto, qui est utilisé sur WP, est adapté de Lua mais ne lui est pas équivalent, en particulier des fonctions qui n'existent pas, ou sont restreintes. Par ailleurs le formalisme de fonctionnement est également différent (fonctions à exporter dans une table, retournant son résultat et non l'affichant).
- Il faut se référer au [manual] de Scribunto (ou sa version française) et au guide du projet Scribunto qui pointe sur diverses documentations centrées sur Scribunto (et non sur Lua). Hexasoft (discuter) 13 décembre 2015 à 20:20 (CET)
- Conflit d’édition —
print
marche bien dans la console- l'article Lua de l'espace principal n'est pas dédié à la programmation Lua sur Wikipédia, il n'a pas à tenir compte de ses particularités.
- Pour commencer lua sur wiki, le mieux est de lire d'abord Aide:Module et Projet:Scribunto/Guide. Ces pages peuvent certainement être améliorées, et mieux présentées sur Projet:Scribunto, mais comme nous sommes bénévoles... Tu peux y apporter des modifications en fonction de ce qui t'a posé problème.
- Zebulon84 (discuter) 13 décembre 2015 à 20:25 (CET)
- Merci pour vos précisions, j'avais un peu modifié Lua, c'est peut-être un peu à rectifier. Un dernier petit point me chagrine, print marche-t-il vraiment en Scribunto ? Le message "attempt to call global 'print' (a nil value)" ne signifie-t-il pas que l'interprétateur ne reconnait pas "print" ? --Pinof (discuter) 13 décembre 2015 à 20:53 (CET)
print
existe en lua, mais est désactivé dans Scribunto.- Si je tape dans la console de débogage (en bas de la fenêtre lorsque l'on édite un Module)
- le résultat est « function ».
local p = { } function p.pr() return type(print) end =p.pr()
- Si je fait un module qui contient
local p = { } function p.pr() return type(print) end return p
- et que je tape
=p.pr()
dans la console, j'obtiens « nil ». - Avec une autre fonction qui n'est pas désactivé dans scribunto (comme tostring) j'obtiens « function » dans les deux cas.
- Zebulon84 (discuter) 13 décembre 2015 à 21:54 (CET)
- Ok, merci. --Pinof (discuter) 14 décembre 2015 à 09:16 (CET)
- Note : print n'est pas défini dans les modules, mais l'est dans la console et est utilisable uniquement là :
print (p.hello) function
- Il n'est actif qu'ici car il faut bien avoir des outils pour afficher ce qu'on veut debuger (contrairement aux modules qui « n'affichent » rien mais retournent). Hexasoft (discuter) 14 décembre 2015 à 10:32 (CET)
- Ok, merci. --Pinof (discuter) 14 décembre 2015 à 09:16 (CET)
- Merci pour vos précisions, j'avais un peu modifié Lua, c'est peut-être un peu à rectifier. Un dernier petit point me chagrine, print marche-t-il vraiment en Scribunto ? Le message "attempt to call global 'print' (a nil value)" ne signifie-t-il pas que l'interprétateur ne reconnait pas "print" ? --Pinof (discuter) 13 décembre 2015 à 20:53 (CET)
- Conflit d’édition —
- Ok print ne marche pas avec notre interprétateur, c'est l'information importante. Il faudrait un peu modifier l'article Lua dans notre Wikipédia. A voir. --Pinof (discuter) 13 décembre 2015 à 20:01 (CET)
- Ce module existe aussi ici : Module:Hello. — Zebulon84 (discuter) 13 décembre 2015 à 19:58 (CET)
Bonjour,
Actuellement le {{Suivi des biographies}} est inclut dans certains modèles pour classer les articles dans catégorie « Portail:Biographie/Articles liés ».
Pour limiter aux catégorisations aux articles biographiques le choix a été fait de limiter son appel à certains modèles. Mais il y a encore des failles car {{Infobox Artiste}} par exemple ne contient pas que des biographies. De plus, il est nécessaire de fournir un paramètre en appel pour ventiler l'article dans la bonne catégorie. Par exemple {{Ébauche|musicien}} classera l'article dans catégorie « Portail:Biographie/Articles liés/Musique ».
Je viens vous voir car je souhaiterai que ce modèle soit « intelligent » :
- qu'il ne classe l'article en biographie que s'il s'agit d'une biographie (en utilisant le fait que sur Wikidata il s'agisse d'un « être humain »
- qu'il ventile tout seul l'article dans une sous-catégorie quand c'est pertinent (sur le modèle du choix de la charte dans {{Infobox Biographie2}}). Cette deuxième partie est moins importante que la première.
Pourriez-vous m'aider ?
Cordialement,
-- Hercule (discuter) 21 décembre 2015 à 10:56 (CET)
- Pour faire un modèle « intelligent » il faut au préalable bien définir tous les éléments de choix : détecter que c'est une personne (est-ce que wikidata est suffisant à l'heure actuelle ?) ; définir les critères de classement par sous-catégorie.
- À noter qu'à mon sens ceci nécessiterait une refonte de plusieurs modèles afin d'éviter de dupliquer de l'information de partout. Typiquement le choix de la cible de la sous-catégorie semble être fait dans les paramètres d'ébauche (exemple : ébauche/paramètres musicien où on trouve {{Suivi des biographies|Musique}}). Ça pose un problème puisque − je suppose − tous les articles ne sont pas des ébauches. Et son appel dans {{Infobox Artiste}} peut faire doublon (si ébauche + infobox). Cordialement, Hexasoft (discuter) 21 décembre 2015 à 11:29 (CET)
- Bonjour,
- je postule que Wikidata est suffisant pour définir qu'un article concerne une personne. Je pense mettre en place des contrôles pour détecter les appels erronés au modèle, afin d'identifier s'il y des manques.
- Actuellement le modèle {{Suivi des biographies}} a été diffusé à de nombreux endroits (modèles d'ébauche et infobox) pour éviter des oublis. S'il devient intelligent il sera plutôt implanté dans {{Méta lien vers portail}} (voire dans l'espace Mediawiki s'il existe une zone pour tous les articles). Son appel sera alors retiré de tous les autres endroits.
- Dans un premier temps il faudrait donc que {{Suivi des biographies}} classe :
- les articles sur des personnes dans catégorie « Wikipédia:Article biographique » (plus tard je pense que l'on pourra séparer les biographies de personne vivante et celles de personnes décédées)
- les autres articles dans catégorie « Wikipédia:Article non biographique appelant le modèle Suivi des biographies » (catégorie qui n'a pas vocation à être permanente)
- Ensuite il faudrait détecter la catégorie sur le modèle de ce qui est fait pour la charte de {{Infobox Biographie2}} (au début en laissant la clef forcée prendre le dessus). Ce mécanisme permettra je pense de se faire une idée de la possibilité ou non d'utiliser uniquement Wikidata (je ne suis pas certain de ce point).
- J'ambitionne à long terme que ce modèle puisse servir pour certaines catégorisations automatisables, comme les années de naissance et de décès, les âges de décès, les lieux de naissance et décès, etc.
- Cordialement,
- -- Hercule (discuter) 21 décembre 2015 à 11:56 (CET)
Bonjour,
J'ai tenté d'utiliser le modèle {{Wikidata}} pour déterminer si un article concerne une personne. En cas d'échec du test je remplis catégorie « Wikipédia:Article non biographique appelant le modèle Suivi des biographies ».
J'ai identifié deux problèmes :
- la propriété P31 (nature de l'élément) contient parfois plusieurs valeurs.
- il y a des variantes à Q5 (être humain), comme Q20643955 (personnage humain de la Bible)
Pourrais-tu me faire un modèle, que j'étofferai, qui serait capable de texte si un élément Wikidata a comme propriété P31 au moins un élément d'une liste que je construirai au fur et à mesure ?
Cordialement,
--Hercule (discuter) 23 décembre 2015 à 16:38 (CET)
- J'ai essayé de regarder la programmation Lua mais je suis complètement paumé... --Hercule (discuter) 24 décembre 2015 à 10:04 (CET)
- Hercule : désolé j'avais zappé cette discussion !
- Je peux regarder ça, toutefois autant j'ai de l'expérience en Lua autant je n'ai jamais codé pour récupérer des données de WD.
- Que veux-tu pouvoir faire, et peux-tu donner un exemple réel (ça aide de se baser sur de vraies données pour tester) ?
- Cordialement, Hexasoft (discuter) 8 janvier 2016 à 17:17 (CET)
- Merci de ton retour,
- Ma demande devient plus précise maintenant que j'ai commencé à mettre en place une solution.
- J'aurai besoin que le modèle:Suivi des biographies puisse :
- catégoriser les articles l’appelant dans catégorie « Wikipédia:Article sans Wikidata appelant le modèle Suivi des biographies » (à créer quand cela sera opérationnel)
- catégoriser les articles pour lesquels la propriété P31 contient au moins Q5 (parfois il y a plusieurs valeurs pour P31) ou au moins une sous-classe de Q5 (ce serait la cerise sur le gâteau, mais on peut aussi se limiter à rechercher P31=Q20643955 car c'est la seule exception que j'ai trouvé pour l'instant) dans catégorie « Wikipédia:Article biographique »
- catégoriser tous les autres articles dans catégorie « Wikipédia:Article non biographique appelant le modèle Suivi des biographies »
- Dans un deuxième temps j'aimerai que le modèle puisse servir à ventiler les biographies dans des sous-catégories de catégorie « Portail:Biographie/Articles liés » en fonction du champ "occupation" (P106).
- J'ai essayé de me débrouiller avec les fonctions parser uniquement mais je ne peux pas être assez fin. Et je n'arrive pas à me lancer dans la création d'un module. Si tu pouvais me créer une première trame de module je pourrais surement l'étoffer par la suite.
- Cordialement,
- -- Hercule (discuter) 11 janvier 2016 à 12:15 (CET)
- Si tu peux me créer un module spécifique pour la gestion des biographies, j'aurais besoin de deux fonctions :
- une qui prenne en paramètre un identifiant de champ (comme P31) et un identifiant de valeur (comme Q5) et qui retourne la valeur de l'identifiant si dans Wikidata le champ P31 contient au moins cette valeur
- une qui prenne en paramètre un identifiant de champ (comme P31) et un identifiant de valeur (comme Q5) et qui retourne la valeur de l'identifiant passé en paramètre si dans Wikidata le champ P31 contient au moins cette valeur ou un élément qui est sous-classe de cette valeur (comme Q20643955)
- Avec ces deux fonctions je peux peut-être me débrouiller pour les classifications, en mélangeant du Lua et des fonctions parser.
- -- Hercule (discuter) 12 janvier 2016 à 09:58 (CET)
- @Hercule : j'ai commencé à regarder. Pour le premier point je pense comprendre. Exemple : sur Antoine Meillet si on demande P31 + Q5 ça retourne « être humain ».
- Pour le 2ème point j'avoue ne pas comprendre. Peux-tu préciser et m'indiquer un élément WD qui correspondrait à ce cas de figure (et la valeur que tu attends en retour) ? Hexasoft (discuter) 12 janvier 2016 à 11:37 (CET)
- Prenons le cas de Jésus-Christ, qui a comme valeurs pour P31 : Q178885 (déité), Q13127686 (personnage mythologique) et Q20643955 (personnage humain de la Bible)
- la première fonction avec P31 + Q5 ne retourne rien
- la première fonction avec P31 + Q20643955 retourne Q20643955
- la deuxième fonction avec P31 + Q5 retourn Q5 (parce que Q20643955 est « sous-classe de » de Q21070568 (humain possiblement fictif), qui est « réputé identique à » Q5 (être humain)
- Cette deuxième fonction serait surtout nécessaire pour le classement en fonction de l'activité professionnelle des personnes. Donc est moins importante que la première (normalement tous les êtres humains devraient avoir P31=Q5).
- -- Hercule (discuter) 12 janvier 2016 à 11:59 (CET)
- Hercule : si tu modifies les entrées que tu me donnes en exemple ça va pas le faire . Faut-il considérer que tous auront Q5 (en ce cas le 2ème cas n'a pas lieu d'être) ? Hexasoft (discuter) 12 janvier 2016 à 13:18 (CET)
- Je pense qu'à terme toutes les biographies devront avoir Q5 (mais je ne suis pas sûr car je ne sais pas trop comment est pensé le classement de certains articles sur Wikidata). Le deuxième cas sera de toute façon utile pour la profession. --Hercule (discuter) 12 janvier 2016 à 13:21 (CET)
- Ok. En fait ça pose une question similaire aux catégorisations sur fr: → faut-il mettre Qx quand il y a déjà un Qy qui est sous-classe (et/ou "identique à") de Qx. Je ne connais pas leurs habitudes.
- Sur le principe ce n'est pas trop difficile : Jésus Christ a pour P31 "Q178885, Q13127686, Q20643955". Si la propriété cherchée (Q5) n'est pas présente il "suffit" de récupérer chaque élément (les 3 dans cet exemple) et pour chaque chercher les "identique à Q5". Si trouvé ok. Sinon pour chaque chercher les "sous-classe de" et refaire le même traitement.
- Il conviendrait toutefois de poser une limite de récursion car je ne sais pas s'il peut ou pas y avoir des boucles (A sous-classe de B sous-classe de C elle-même sous-classe de A).
- Il faudrait demander à un spécialiste de WD (je vais voir avec le module Wikidata) car il me semble étonnant qu'on ne puisse pas déjà faire des recherches du type "propriété X ou de ses sous-classes ou identiques". Hexasoft (discuter) 12 janvier 2016 à 13:57 (CET)
- Alors Zolo (d · c) a codé un truc qu'il appelle "analyse transitive" Module:Wikidata/Analyse_transitive qui fait ça je suppose mais j’ai pas regardé. Sinon j’ai codé des trucs un peu plus ad-hoc pour avoir les sous-classes d'une classe dans un module : Module:Wikidata/Références/classes_d'articles C'est probablement utile de faire un truc comme ça (en attendant mieux) pour éviter d'avoir à charger trop d'éléments parce qu'on est limité de ce côté là, et c'est "expensive". À part ça en pratique tout les humains ont au moins en nature Q5 par convention. — TomT0m [bla] 12 janvier 2016 à 14:10 (CET)
- Hercule : on pourrait continuer cette discussion ici ça serait moins bruyant Hexasoft (discuter) 12 janvier 2016 à 16:40 (CET)
- Alors Zolo (d · c) a codé un truc qu'il appelle "analyse transitive" Module:Wikidata/Analyse_transitive qui fait ça je suppose mais j’ai pas regardé. Sinon j’ai codé des trucs un peu plus ad-hoc pour avoir les sous-classes d'une classe dans un module : Module:Wikidata/Références/classes_d'articles C'est probablement utile de faire un truc comme ça (en attendant mieux) pour éviter d'avoir à charger trop d'éléments parce qu'on est limité de ce côté là, et c'est "expensive". À part ça en pratique tout les humains ont au moins en nature Q5 par convention. — TomT0m [bla] 12 janvier 2016 à 14:10 (CET)
- Je pense qu'à terme toutes les biographies devront avoir Q5 (mais je ne suis pas sûr car je ne sais pas trop comment est pensé le classement de certains articles sur Wikidata). Le deuxième cas sera de toute façon utile pour la profession. --Hercule (discuter) 12 janvier 2016 à 13:21 (CET)
- Hercule : si tu modifies les entrées que tu me donnes en exemple ça va pas le faire . Faut-il considérer que tous auront Q5 (en ce cas le 2ème cas n'a pas lieu d'être) ? Hexasoft (discuter) 12 janvier 2016 à 13:18 (CET)
- Si tu peux me créer un module spécifique pour la gestion des biographies, j'aurais besoin de deux fonctions :
Salut! Discussion module:Premiers pas#comments:
- https://fr.wiki.x.io/?curid=9661966#MW Listes les tableaux et fonctions de la bibliothèque "mw"
- https://fr.wiki.x.io/?curid=9661966#_G Listes les tableaux et fonctions de la bibliothèque "_G"
- Gangleri also aka I18n (discuter) 28 décembre 2015 à 04:56 (CET)
Bonjour à tous, J'ai tenté de faire ce modèle, calqué sur Commons. mais ça ne fonctionne pas. Sans doute parce que dans les paramètres l'espace final ne compte pas. Est-ce que quelqu'un pourrait le faire un Lua et y ajouter la possibilité de variante pour les catégories avec les mots « en » et « département de/du » ? Merci ! Otourly (discuter) 8 janvier 2016 à 06:19 (CET)
- Otourly : sans Lua, il existe {{Méta palette de navigation Département français}}. Tu peux repartir de là et supprimer ce qui ne t'interesse pas. — Zebulon84 (discuter) 8 janvier 2016 à 16:13 (CET)
- Merci ! Otourly (discuter) 8 janvier 2016 à 18:28 (CET)
- Zebulon84 : bon ça l'air de fonctionner, sauf que je comprends pas pourquoi Haute-Savoie est en rouge : Catégorie:Architecture_en_Auvergne-Rhône-Alpes... Otourly (discuter) 8 janvier 2016 à 19:30 (CET)
- Parce que trouver le bon article n'est pas évident. Ici, c'est le modèle {{en?}} qui est utilisé pour savoir si l'on doit dire « Architecture au Brésil, aux États-Unis, en Iran, à Haïti, sur Mars, sur la Lune, dans l'Eure, en Eure-et-Loir, dans les Pyrénées... »
- Mais le français est complexe et on peut dire la même chose de plusieurs façon. L'informatique à parfois du mal à s'adapter sauf à tester toutes les possibilité, mais c'est long et fastidieux. Certain diront « Architecture en Charente », d'autre « Architecture dans la Charante », et il n'est pas facile de savoir quelle proposition est la meilleure, même en s'appuyant sur les recommendation de l'académie française : cf. Wikipédia:Atelier typographique/octobre 2012#De vs du/de la et Discussion aide:Géolocalisation#Genre département. À la suite (ou malgré, c'est selon) de ces deux discussions on a « en Savoie » mais « dans la Haute-Savoie ».
- Le mieux pour gérer ça est une redirection, qui marche bien pour les modèles. Mais dans les articles il faut toujours ajouter la vraie catégorie, pas la redirection.
- Zebulon84 (discuter) 8 janvier 2016 à 20:38 (CET)
- Zebulon84 : bon ça l'air de fonctionner, sauf que je comprends pas pourquoi Haute-Savoie est en rouge : Catégorie:Architecture_en_Auvergne-Rhône-Alpes... Otourly (discuter) 8 janvier 2016 à 19:30 (CET)
- Merci ! Otourly (discuter) 8 janvier 2016 à 18:28 (CET)
Formatnum
modifierBonjour, j'aimerais écrire en lua une fonction équivalente à formatnum pour pouvoir séparer par un petit espace les groupes de 3 chiffres. Quelqu'un aurait-il une idée ? --Pino~eowiki (discuter) 8 janvier 2016 à 10:57 (CET)
- Pino~eowiki : le module:Unité fait ça, plus exactement la fonction
_formatNum
de ce module. Il est actuellement uniquement utilisé par le modèle:Unité/Bac à sable. {{Unité/Bac à sable|12345678.12345678}}
→ 12 345 678,123 456 78- Sinon si tu veux vraiment l'équivalent de formatnum, avec ses défauts, il y a mw.language:formatNum.
mw.getLanguage('fr'):formatNum( 12345678.12345678 )
→ 12 345 678,123457- Zebulon84 (discuter) 8 janvier 2016 à 15:50 (CET)
- Merci beuacoup pour l'info. --Pino~eowiki (discuter) 8 janvier 2016 à 17:02 (CET)
Descriptif d'image
modifierBonjour,
Lorsque le qualificateur descriptif d'image est absent, avec une instruction de type :
v = bildo[1].qualifiers["P2096"] or nil
J'obtiens l'erreur attempt to index field 'qualifiers' (a nil value). je pensais que "or" pouvait permettre de contourner l'erreur. Comment faut-il faire pour traiter proprement l'erreur ?
Avec mes remerciements anticipés.
--Pino~eowiki (discuter) 30 janvier 2016 à 18:29 (CET)
- Finalement, j'ai utilisé faute de mieux un pcall pour traiter l'erreur. --Pinof (discuter) 3 février 2016 à 16:01 (CET)
- Pino~eowiki : utiliser pcall est une mauvaise idée si on peut faire autrement.
- Ici il faut d'abord tester l'existence de qualifiers avant de chercher à accéder à la propriété :
-- version courte v = bildo[1].qualifiers and bildo[1].qualifiers["P2096"] or nil -- version plus lisible et plus complète if bildo[1] and bildo[1].qualifiers then v = bildo[1].qualifiers["P2096"] end
- Dans la version courte le « or nil » reste nécessaire si on ne veux pas avoir
v = false
. - Il faut faire beaucoup de tests de ce genre avec wikidata, car il parfois des propriétés définie mais sans valeurs, des entity sans claims... Bref au premier abord on prend souvent beaucoup trop la structure comme acquises, alors qu'elle peut très souvent être partielle...
- — Zebulon84 (discuter) 4 février 2016 à 15:23 (CET)
- Merci beaucoup, c'est mieux que masquer le problème et ça marche. --Pino~eowiki (discuter) 4 février 2016 à 18:01 (CET)
Erreur
modifierBonjour; l'Infobox Biographie2 provoque apparemment une erreur "Erreur Lua dans Module:Infobox/Fonctions/Personne à la ligne 120 : bad argument #1 to 'find' (string expected, got nil)." visible par exemple dans l'article Gérard Férey (d · h · j · ↵) -- Speculos (discuter) 5 février 2016 à 14:54 (CET)
Plusieurs descriptifs d'image en plusieurs langues
modifierBonjour, pour le descriptif d'une image comment choisir la bonne ? Lorsque qu'il y a plusieurs langues quelles sont les instructions scribunto pour choisir la langue et n'afficher le descriptif de cette seule version. --Pino~eowiki (discuter) 5 février 2016 à 22:40 (CET)
- En fait on peut tester sur datavalue.value.language. --Pino~eowiki (discuter) 5 février 2016 à 23:13 (CET)
Liens de sections vers les archives
modifier- Nous archivons régulièrement les discussions trop longues, mais nous perdons alors le lien vers la section. Comment maintenir ce lien ?
- Nous pourrions faire un bot qui archive comme actuellement, mais qui remplace chaque section par un mini titre de section sans contenu et qui pointe vers la section correspondante de l'archive.
- Nous pourrions aussi intégrer à médiawiki l'équivalent du bot ci-dessus, qui se pose la question d'archivage des anciennes sections chaque fois qu'un utilisateur édite une page de discussion. Et qui redirige automatiquement vers la section d'archive.
- Au niveau de chaque wiki, on pourrait définir une durée d'ancienneté qui permette l'archivage automatique
- Et au niveau de chaque page, cette durée pourait être modifiée.
- Mais je ne sais pas faire tout ça. --Rical (discuter) 6 février 2016 à 09:10 (CET)
Modèle:Officiel et plusieurs sites depuis Wikidata
modifierI HAVE NO IDEA WHAT I AM DOING
Bonjour,
Voir par exemple sur l'article Faits et Documents, avec deux sites renseignés dans wikidata, il y a un rendu « Sites officiels et Sites officiels ».
Codes : Module:Site officiel, Module:Wikidata. J'ai regardé vite fait, mais le Lua non vraiment je peux pas.
Merci d'avance à ceux qui se pencheront dessus, od†n ↗blah 7 février 2016 à 12:42 (CET)
- Od1n : pour Faits et Documents j'ai résolu le problème sur WikiData en mettant l'un des site en rang privilégié, mais ce n'est pas une solution générale.
- Je dois être capable de toucher ça, mais je ne sais pas sous quelle forme le présenter s'il y a réellement deux sites qui peuvent être considérés comme « officiels ». As-tu une proposition ?
- — Zebulon84 (discuter) 7 février 2016 à 16:00 (CET)
- Mes moins pires propositions, selon comment sont affichés les indicateurs de langue (car même ça j'arrive pas à trouver dans ce sgrmbl de code !) :
- S'il y a un indicateur pour chaque site :
- (en) Site officiel – (en) Autre site
- S'il y a un seul indicateur pour la fiche wikidata (même si langue sujet wikidata != langues sites référencés…) :
- (en) Site officiel (autre site)
- od†n ↗blah 8 février 2016 à 09:23 (CET)
- Od1n : Apparemment pour l'instant dans Module:Site officiel l'appel à _formatAndCat de Module:Wikidata ne met pas de code langue (le showlang=true pour la propriété « site officiel » ne fait rien car la valeur est de type url et pas texte monolingue), on pourrait peut-être avoir sur Wikidata en qualificateur « langue de l'œuvre (ou du nom) » de type élément et en tirer un code de langue, alors on serait dans ton premier cas de présentation. — Oliv☮ Éppen hozzám? 8 février 2016 à 12:04 (CET)
- Merci pour la réponse détaillée, euh... je te fais pleinement confiance ! od†n ↗blah 8 février 2016 à 17:43 (CET)
- Od1n : Apparemment pour l'instant dans Module:Site officiel l'appel à _formatAndCat de Module:Wikidata ne met pas de code langue (le showlang=true pour la propriété « site officiel » ne fait rien car la valeur est de type url et pas texte monolingue), on pourrait peut-être avoir sur Wikidata en qualificateur « langue de l'œuvre (ou du nom) » de type élément et en tirer un code de langue, alors on serait dans ton premier cas de présentation. — Oliv☮ Éppen hozzám? 8 février 2016 à 12:04 (CET)
Sous-titre
modifierBonjour,
Dans {{Infobox Localité}}, j'aimerais que le nom dans la langue originale (P1705) s'affiche directement en-dessous du nom de l'infobox, comme cela se fait pour {{Infobox Subdivision administrative}} (exemple : Le Caire). Je tente de faire cela en adaptant une partie du module:Infobox/Cimetière ainsi :
subtitle = function() local localname = localdata['nom dans la langue originale'] if not localname then return nil end localname = '<i>' .. localname .. '</i>' local lang = localdata['code langue'] lang = require "Module:Langue".indicationDeLangue{nil, lang} return linguistic.conj({localname, lang}, ' ') end
Cela fonctionne si j'entre sur Wikipédia le nom dans la langue originale.
Comment pourrais-je faire en sorte que lorsque cette valeur n'est pas entrée sur Wikipédia, le module appelle alors la propriété 1705 ? J'ai tenté d'adapter le return nil
avec des trucs du genre return wikidata {property = 'P1705'}
, mais ça ne fonctionne pas. - Simon Villeneuve 22 février 2016 à 19:11 (CET)
- Ce serait
return wikidata.formatStatenments {entity, = item, property = 'P1705'}
mais le plus simple est d'utiliser le paramètre wikidatasubtitle, où pour le coup on peut mettrewikidatasubtitle = {property = 'P1705'}
. --Zolo (discuter) 7 mars 2016 à 12:52 (CET)
attempt to call method 'extensionTag'
modifierBonjour, en utilisant wikidata (version esperanto) nous avons le message : Lua-eraro en Modulo:Wikidata, linio 374: attempt to call method 'extensionTag' (a nil value). Quelqu'un aurait-il une idée de ce que signifie le message ? Merci. --Pino~eowiki (discuter) 6 mars 2016 à 23:13 (CET)
- Tu parles du Module:Wikidata dans wikidata.
- Cette fonction est définie dans le manuel Lua et devrait donc marcher.
- Mais de temps en temps, il y a des bugs dans les library de Scribunto. Par exemple, le {{ #invoke ne fonctionne plus depuis fin novembre, mais comme très peu de gens en ont vraiment besoin, j'ai bricolé un dépannage pour mon utilisation.
- Pour frame:extensionTag, il faudrait essayer de la remplacer par frame:callParserFunction() comme le signale le manuel. --Rical (discuter) 7 mars 2016 à 01:01 (CET)
- Merci, on va regarder cela. --Pino~eowiki (discuter) 7 mars 2016 à 17:18 (CET)
Enlever formatage et lien interne sur une chaîne
modifierBonjour j'aurais besoin d'une fonction qui prenne pour argument ''[[:en:Toto|tutu]]'', et me retourne tutu (ou la première lettre de "tutu"). Une idée ?--Zolo (discuter) 7 mars 2016 à 09:14 (CET)
- Zolo : simple, qui ne gère pas les situations compliquées : Module:Biblio/Commun fonction nettoyageTexte.
- Plus complet : Module:Delink.
- — Zebulon84 (discuter) 7 mars 2016 à 10:07 (CET)
- Super, merci, je vais regarder ça ! --Zolo (discuter) 7 mars 2016 à 19:39 (CET)
- Zebulon84 : En fait, mon besoin le plus immédiat, c'était d'ajouter une majuscule en début d'une ligne d'infobox remplie par Wikidata, mais je me rends compte que c'est plus simple et un peu différent que d'enlever l'intégralité du lien. Sauf si je loupe quelque chose, il suffit de mettre en majuscule la première lettre suivant le premier "|", ou à défaut la première lettre du champ (si c'est un lien externe, il ne faut pas de majuscule). Il y aurait un moyen d'intégrer ça à Module:Infobox, qui est actuellement protégé ? (sans doute dans la fonction getWikidataValue).--Zolo (discuter) 16 mars 2016 à 19:11 (CET)
- Je ne suis pas sur d'avoir bien compris sur quelle données, dans quelle condition tu veux faire cette modification de majuscule. Peux-tu faire la modif nécessaire sur Module:Infobox/Bac à sable ? (D'ailleurs la plupart des modifs devraient être testée avec Module:Infobox/Bac à sable) — Zebulon84 (discuter) 17 mars 2016 à 04:16 (CET)
- Dans les infobox, l'habitude est de commencer chaque ligne par une majuscule, ce qui n'est pas le cas par pour l'instant lorsque les données viennent de Wikidata.
- Sur Module:Infobox/Bac à sable, j'ai fait ça en utilisant la fonction p.ucfirst de Module:Linguistique, mais en fait, il faudrait aussi compléter cette fonction. Je bloque sur les regex, mw.ustring.find("%[") retourne une erreur. --Zolo (discuter) 17 mars 2016 à 08:27 (CET)
- Fait. — Zebulon84 (discuter) 17 mars 2016 à 11:52 (CET)
- Merci ! Il y a juste un problème avec les images, voir Discussion Modèle:Infobox Monument#Affichage de l'icone classement. Dans le champ de [[File:Logo monument historique - rouge sans texte.svg|x18px]] s'était apparemment transformé en [[File:Logo monument historique - rouge sans texte.svg|X18px]], ce qui a désactivé le contrôle de la taille. Dans ce cas particulier, Cette modif a caché le problème, mais je crois le "x18px" était plus approprié pour contrôler la hauteur de l'image. Je ne sais pas trop comment régler ça. Peut-être simplement vérifier que le lien ne comporte pas de ":" qui ont des chances d'indiquer un lien vers un média. --Zolo (discuter) 17 mars 2016 à 16:26 (CET)
- Je viens enfin de comprendre le problème que j'ai signalé sur Discussion_module:Infobox/Fonctions/Personne#Nationalité, qui vient de la modification dont vous avez discuté ici visiblement. Un vrai labyrinthe !
- Je résume :
- Pour la nationalité, on utilisait l'adjectif féminin parce qu'il n'y avait pas de majuscule et que l'on ne savait pas en ajouter. L'ajout d'une majuscule initiale transforme cette information en gentilé, et donc dépend du genre. Sauf que, quand il y a plusieurs valeurs seule la première a une majuscule. Cela n'a plus de sens. Il faut donc, pour la nationalité, soit mettre un minuscule initiale, soit une majuscule à chaque entrée Wikidata correspondante. Personnellement je préfère la deuxième solution
- Pour les distinctions, on a une majuscule à la première et pas aux autres, même quand la distinction s'écrit avec une minuscule (comme « chevalier », « ordre », ...). L'ajout d'une majuscule fait croire à une erreur typographique. Là encore il faudrait que toutes les entrées soient traitées de la même manière. Pour le coup un retour à la ligne entre chaque me semble pertinent, et donc on pourrait tout avoir en majuscule.
- Cordialement,
- -- Hercule (discuter) 17 mars 2016 à 16:43 (CET)
- L'ajout de la majuscule, c'était justement pour harmoniser avec les infobox non-Wikidata qui en mettent à peu près toujours. Après, on peut très bien considérer qu'il faut mettre l'adjectif au féminin à chaque fois, et mettre quand même une majuscule au premier mot. Ca semble même tout à fait fréquent dans les infobox non-Wikidata (Otto von Bismarck, John Fitzgerald Kennedy). --Zolo (discuter) 17 mars 2016 à 16:48 (CET)
- S'il y a une majuscule alors c'est un gentilé, même si l'erreur est fréquente. J'ai fait la correction pour la nationalité.
- Le problème de ce genre de modifications, c'est que l'on a conçu en fonction du rendu et que vous changez globalement le rendu. Pour les distinctions je trouve que l'utilisation de la casse définie sur Wikidata était plus pertinente. Il vaudrait mieux que l'ajout d'une majuscule initiale soit volontaire, et pas le comportement par défaut.
- -- Hercule (discuter) 17 mars 2016 à 16:52 (CET)
- Euh, ça n'a rien à voir avec les gentilés, c'est juste que l'habitude est de faire commencer les champs d'infobox par des majuscules. Dans [[Otto von Bismarck il y a avait une à "Allemande" pour la même raison qu'il y en a à "Poste créé" et à "Luthérien". Après, effectivement, il faudrait peut-être prévoir une option pour pouvoir enlever la majuscule au besoin. --Zolo (discuter) 17 mars 2016 à 17:12 (CET)
- La fonction ucfirst du module:Linguistique ne met désormais plus de majuscule si la donnée commence par un fichier. — Zebulon84 (discuter) 17 mars 2016 à 17:19 (CET)
- Dans Mamoru Kanbe (d · h · j · ↵), il n'y a pas de majuscule à « préfecture d'Osaka », le lieu de naissance récupéré de Wikidata, mais une à « Réalisateur », la profession, également récupérée de Wikidata. Qu'est-ce qui explique cette différence de comportement ? -- Hercule (discuter) 18 mars 2016 à 12:30 (CET)
- Zebulon84 : je n'avais pas remarqué, mais c'est volontaire le mw.log( v ) de la ligne 77 ? --Zolo (discuter) 18 mars 2016 à 12:59 (CET)
- Hercule : c'est parce que c'est dans la même case que la date de naissance, je réglerai ça dans Module:Infobox/Fonctions/Personne. --Zolo (discuter) 18 mars 2016 à 12:59 (CET)
- Zolo : trop tard, je l'ai fait. Le mw.log( v ) est lié à un test (infructueux) que j'ai fait lors de la validation de mes modifications, et que j'ai oublié d'enlevé. Il ne gène pas particulièrement, il peux rester jusqu'à la modification suivante du module. — Zebulon84 (discuter) 18 mars 2016 à 13:05 (CET)
- Ok pas grave. Autre petit problème remonté de Discussion modèle:Infobox Biographie2#Majuscules : on pourrait aussi prendre en compte les balises html à l'intérieur des liens, pour avoir une majuscule à "Danseuse" dans Céleste Mogador ? L'html donné par Special:ExpandTemplates est
<span class="wd_p106">[[Danse|<span class="lang-fr" lang="fr">danseuse</span>]]
. --Zolo (discuter) 18 mars 2016 à 14:14 (CET)- Fait. Mais sincèrement on se passerai bien de ce
<span class="lang-fr" lang="fr">
. — Zebulon84 (discuter) 18 mars 2016 à 16:31 (CET)- Merci, "class lang-fr" est ajouté par Module:Wikidata pour les données de type "monolingual-text". Apparemment, c'est conseillé de mettre ça quand ce n'est pas du français, mais effectivement, quand c'est du français, j'imagine qu'on peut l'enlever. --Zolo (discuter) 18 mars 2016 à 16:39 (CET)
- Fait (j'ai mis un peu de temps à retrouver la fonction qui formatait ça). — Zebulon84 (discuter) 18 mars 2016 à 17:04 (CET)
- Merci, "class lang-fr" est ajouté par Module:Wikidata pour les données de type "monolingual-text". Apparemment, c'est conseillé de mettre ça quand ce n'est pas du français, mais effectivement, quand c'est du français, j'imagine qu'on peut l'enlever. --Zolo (discuter) 18 mars 2016 à 16:39 (CET)
- Fait. Mais sincèrement on se passerai bien de ce
- Ok pas grave. Autre petit problème remonté de Discussion modèle:Infobox Biographie2#Majuscules : on pourrait aussi prendre en compte les balises html à l'intérieur des liens, pour avoir une majuscule à "Danseuse" dans Céleste Mogador ? L'html donné par Special:ExpandTemplates est
- Zolo : trop tard, je l'ai fait. Le mw.log( v ) est lié à un test (infructueux) que j'ai fait lors de la validation de mes modifications, et que j'ai oublié d'enlevé. Il ne gène pas particulièrement, il peux rester jusqu'à la modification suivante du module. — Zebulon84 (discuter) 18 mars 2016 à 13:05 (CET)
- Dans Mamoru Kanbe (d · h · j · ↵), il n'y a pas de majuscule à « préfecture d'Osaka », le lieu de naissance récupéré de Wikidata, mais une à « Réalisateur », la profession, également récupérée de Wikidata. Qu'est-ce qui explique cette différence de comportement ? -- Hercule (discuter) 18 mars 2016 à 12:30 (CET)
- La fonction ucfirst du module:Linguistique ne met désormais plus de majuscule si la donnée commence par un fichier. — Zebulon84 (discuter) 17 mars 2016 à 17:19 (CET)
- Euh, ça n'a rien à voir avec les gentilés, c'est juste que l'habitude est de faire commencer les champs d'infobox par des majuscules. Dans [[Otto von Bismarck il y a avait une à "Allemande" pour la même raison qu'il y en a à "Poste créé" et à "Luthérien". Après, effectivement, il faudrait peut-être prévoir une option pour pouvoir enlever la majuscule au besoin. --Zolo (discuter) 17 mars 2016 à 17:12 (CET)
- Merci ! Il y a juste un problème avec les images, voir Discussion Modèle:Infobox Monument#Affichage de l'icone classement. Dans le champ de [[File:Logo monument historique - rouge sans texte.svg|x18px]] s'était apparemment transformé en [[File:Logo monument historique - rouge sans texte.svg|X18px]], ce qui a désactivé le contrôle de la taille. Dans ce cas particulier, Cette modif a caché le problème, mais je crois le "x18px" était plus approprié pour contrôler la hauteur de l'image. Je ne sais pas trop comment régler ça. Peut-être simplement vérifier que le lien ne comporte pas de ":" qui ont des chances d'indiquer un lien vers un média. --Zolo (discuter) 17 mars 2016 à 16:26 (CET)
- Fait. — Zebulon84 (discuter) 17 mars 2016 à 11:52 (CET)
- Je ne suis pas sur d'avoir bien compris sur quelle données, dans quelle condition tu veux faire cette modification de majuscule. Peux-tu faire la modif nécessaire sur Module:Infobox/Bac à sable ? (D'ailleurs la plupart des modifs devraient être testée avec Module:Infobox/Bac à sable) — Zebulon84 (discuter) 17 mars 2016 à 04:16 (CET)
- Zebulon84 : En fait, mon besoin le plus immédiat, c'était d'ajouter une majuscule en début d'une ligne d'infobox remplie par Wikidata, mais je me rends compte que c'est plus simple et un peu différent que d'enlever l'intégralité du lien. Sauf si je loupe quelque chose, il suffit de mettre en majuscule la première lettre suivant le premier "|", ou à défaut la première lettre du champ (si c'est un lien externe, il ne faut pas de majuscule). Il y aurait un moyen d'intégrer ça à Module:Infobox, qui est actuellement protégé ? (sans doute dans la fonction getWikidataValue).--Zolo (discuter) 16 mars 2016 à 19:11 (CET)
- Super, merci, je vais regarder ça ! --Zolo (discuter) 7 mars 2016 à 19:39 (CET)
Alignement des petits crayons Wikidata
modifierA l'occasion d'un sondage récent, pas mal de gens avaient suggéré d'aligner sur la droit les petits crayons de rétrolien vers Wikidata que l'on voit par exemple sur Modèle:Infobox Biographie2/Documentation. Quelqu'un saurait faire ça ? --Zolo (discuter) 7 mars 2016 à 19:41 (CET)
- Il me semble que comme disaient d'autres dans le sondage, l'éloignement rend plus difficile à comprendre le rôle du crayon pour modifier la valeur. — Oliv☮ Éppen hozzám? 7 mars 2016 à 20:12 (CET)
- C'est en effet ce que tu avais mentionné dans Discussion module:Wikidata#alignement du +, mais sur le sondage lui-même, je ne vois null part d'avis contre l'alignement à droite, et plusieurspour (les 12, 16, 19 et 20, des votes en faveur d'un logo Wikidata) --Zolo (discuter) 7 mars 2016 à 20:41 (CET)
- Contre il y a les réponses au 12 et au 20 du lien donné, mais en fait la question de l'alignement n'était pas posée. — Oliv☮ Éppen hozzám? 7 mars 2016 à 21:17 (CET)
- En tout cas, si on le laisse en ligne dans le texte, il faudrait trouver un moyen pour qu'il ne se retrouve pas tout seul sur sa ligne, ça fait bizarre (exemple, pour moi, dans le champ activité de Giovanni Battista Cossetti). --Zolo (discuter) 13 mars 2016 à 14:10 (CET)
- Contre il y a les réponses au 12 et au 20 du lien donné, mais en fait la question de l'alignement n'était pas posée. — Oliv☮ Éppen hozzám? 7 mars 2016 à 21:17 (CET)
- C'est en effet ce que tu avais mentionné dans Discussion module:Wikidata#alignement du +, mais sur le sondage lui-même, je ne vois null part d'avis contre l'alignement à droite, et plusieurspour (les 12, 16, 19 et 20, des votes en faveur d'un logo Wikidata) --Zolo (discuter) 7 mars 2016 à 20:41 (CET)
Trucs bizarres avec la mémoire Lua
modifierQuelqu'un sait pourquoi, si j'enlève la fonction inutilisée p.alreadyHere
dans Module:Wikidata/Outils, la mémoire Lua nécessaire à Li Hongzhang passe de 7,2 à 7,8 Mo ? --Zolo (discuter) 9 avril 2016 à 12:14 (CEST)
- Dans les deux cas je suis à 7.89 Mo. — Dakdada (discuter) 12 avril 2016 à 12:11 (CEST)
- Désolé, j'ai changé entre temps des trucs dans des modules, et là il ne se passe rien sur l'exemple. Je peux éventuellement essayer de le répliquer sur un bac à sable, ou bien sinon prévenir à la prochaine fois que je vois un truc du genre, ce n'est pas la première fois que ça arrive. --Zolo (discuter) 12 avril 2016 à 13:10 (CEST)
- Je confirme avoir vu les chiffres que cite Zolo, mais je n'ai pas plus compris pourquoi. — Zebulon84 (discuter) 12 avril 2016 à 13:38 (CEST)
- Désolé, j'ai changé entre temps des trucs dans des modules, et là il ne se passe rien sur l'exemple. Je peux éventuellement essayer de le répliquer sur un bac à sable, ou bien sinon prévenir à la prochaine fois que je vois un truc du genre, ce n'est pas la première fois que ça arrive. --Zolo (discuter) 12 avril 2016 à 13:10 (CEST)
Conversion d'infobox
modifierBonjour,
J'aimerai convertir {{Infobox Saison de foot}} en une Infobox Lua (tant qu'à faire en changeant son nom en {{Infobox Saison de club de football}}). Pour l'instant il y a assez peu d'informations qui seraient issues de Wikidata, mais du code Lua permettrait de mutualiser pas mal d'informations, qui sont communes plusieurs années de suite pour un même club (voir ma proposition pour plus d'explications).
Existe-t-il une infobox équivalente qui pourrait m'inspirer ? Sinon un habitué du Lua saurait-il me créer assez facilement l'équivalent en Lua de l'infobox actuelle ? Je verrais après pour la reprendre afin de paramétrer certaines choses.
Merci d'avance
-- Hercule (discuter) 2 mai 2016 à 13:34 (CEST)
- Personne ne peut m'aider ? -- Hercule (discuter) 7 juin 2016 à 11:04 (CEST)
Performances Modèle:Liste éléments
modifierBonjour, j'ai posté un message sur le projet Modèle, ça concerne un joli goulot d'étranglement niveau perfs serveurs sur tout le wiki, y'a du Lua pour jouer avec, bref je vous invite à aller voir, ça devrait vous intéresser od†n ↗blah 7 mai 2016 à 22:00 (CEST)
- J'aurais besoin de votre aide sur un point, je n'arrive pas à gérer le paramètre
|séparateur=<nowiki> </nowiki>
, et ce malgré mes essais avecmw.text.unstripNoWiki
qui semble ineffectif (histoire de frames ?). Cela serait très, très grandement apprécié si quelqu'un parvenait à résoudre ce problème. od†n ↗blah 8 mai 2016 à 13:31 (CEST)- Le truc que je ne comprends vraiment pas, c'est pourquoi au lieu de
\127UNIQ--nowiki-00000001-QINU\127
, j'ai\127\39\34UNIQ--nowiki-00000001-QINU\34\39\127
… od†n ↗blah 8 mai 2016 à 14:31 (CEST)- J'ai bien l'impression que c'est un bug dans mediawiki, lié à de plus ou moins récents changements... cf. phab:T133477. Pas de chance quoi. od†n ↗blah 8 mai 2016 à 16:56 (CEST)
- Le problème était en fait dû à une stupidité de ma part. C'est maintenant résolu. od†n ↗blah 9 mai 2016 à 21:35 (CEST)
- J'ai bien l'impression que c'est un bug dans mediawiki, lié à de plus ou moins récents changements... cf. phab:T133477. Pas de chance quoi. od†n ↗blah 8 mai 2016 à 16:56 (CEST)
- Le truc que je ne comprends vraiment pas, c'est pourquoi au lieu de
Plusieurs valeurs pour des infobox ?
modifierBonjour à tous,
Je viens de créer Module:Infobox/Subdivision administrative (actuellement inachevé). Et je me demander afin d'améliorer la comptabilité avec l’ancien modèle s'il est possible d'affecter plusieurs anciens champs dans la propriété "value" ? Merci d'avance. -- Feldo [Discussion constructive] 5 juin 2016 à 21:54 (CEST)
- Oui : par exemple value = {'prix', 'récompenses', 'distinction', 'distinctions'} dans la fonction awards de Module:Infobox/Fonctions/Personne. — Oliv☮ Éppen hozzám? 5 juin 2016 à 23:10 (CEST)
- Oliv0 : D'accord, merci beaucoup ! :) -- Feldo [Discussion constructive] 10 juin 2016 à 22:06 (CEST)
frame.args[1] comme dans simpletitle de Module:String
modifierSur Wikipédia hongrois une modif avec résumé de modif « ne pas prendre les paramètres de n'importe quel modèle » règle un bug d'un modèle brique d'infobox qui (avant cette modif) avait en paramètre 1 un nom d'image de blason et appelait simpletitle sans argument pour le nom de lieu de la légende affichée en dessous : le simpletitle retournait le nom de l'image, donc le paramètre 1 du modèle comme si c'était l'argument 1 de simpletitle. Je ne comprends pas grand-chose aux passages de paramètres en Lua, mais est-ce que dans notre fonctionnement à nous il ne peut pas nous arriver la même chose ? si oui est-ce qu'on a une solution pour simpletitle ou d'autres fonctions, ou est-ce qu'on sait à quoi il faut faire attention pour le mettre clairement dans les docs et aides Lua ? — Oliv☮ Éppen hozzám? 7 juin 2016 à 08:39 (CEST)
- Effectivement, remonter à la frame parent est pour moi une très mauvaise idée, à réserver uniquement pour le cas très précis d'un module dédié à un modèle associé. Parce que les confusions telles que celle que tu as présentée, je les voyais venir gros comme une maison. Pour référence, on a cette usine à gaz qui marche peut-être bien, mais si on l'utilise sans vraiment comprendre son fonctionnement, disons que c'est périlleux… J'avais un peu réfléchi à la question dans ce brouillon, bon c'est assez basique. L'idée de départ c'est de ne prendre les paramètres qu'à un seul endroit bien déterminé, au lieu de chercher à piocher à droite à gauche, en haut en bas… od†n ↗blah 7 juin 2016 à 09:09 (CEST)
- Pour la question initiale, la programmation actuelle de simpletitle dans notre module:String ne prend en compte que le paramètre passer directement par la fonction {{#invoque:string|simpletitle|<paramètre>}}. Si ce paramètre est omis, c'est le nom de la page qui est utilisé ; les paramètres transmis au modèle ne sont pas pris en compte. — Zebulon84 (discuter) 7 juin 2016 à 13:14 (CEST)
- Alors en fait leur problème était dû à l'amélioration utilisant Module:Arguments de ce que j'avais recopié d'ici… C'est d'autant plus à expliquer en doc de ce module et/ou Aide:Module, Projet:Scribunto/Guide (en plus clair que en:Module:Arguments/doc où je ne vois pas bien pourquoi, quand et comment l'utiliser plutôt que frame.args). — Oliv☮ Éppen hozzám? 7 juin 2016 à 14:17 (CEST)
- Pour la question initiale, la programmation actuelle de simpletitle dans notre module:String ne prend en compte que le paramètre passer directement par la fonction {{#invoque:string|simpletitle|<paramètre>}}. Si ce paramètre est omis, c'est le nom de la page qui est utilisé ; les paramètres transmis au modèle ne sont pas pris en compte. — Zebulon84 (discuter) 7 juin 2016 à 13:14 (CEST)
Editeur de code LUA avec diff comme Gerrit
modifierJusqu'à maintenant j'utilisais, en local sur mon pc, Jedit et son plugin Jdiff pour comparer 2 versions de code LUA et repérer des erreurs. Mais à cause d'une mise à jour Ubuntu qui s'est mal passée, j'ai perdu la possibilité de Jdiff. Je cherche un editeur de code source LUA (et autres syntax highligth) qui permette la comparaison de code source à la manière de gerrit. Où trouver ça ? Merci d'avance. --Rical (discuter) 7 juin 2016 à 10:37 (CEST)
- Pourquoi ne pas réinstaller Ubuntu ? — Thibaut (会話) 7 juin 2016 à 11:24 (CEST)
- Merci de ta participation. Je viens de trouver la solution : Il faut aller dans le Gestionnaire de plugin, Options de téléchargement, Mettre à jour la liste des mirroirs. La liste des plugins est alors complete et permet de choisir ceux qu'on veut, pour moi JDiff Plugin. Je ne sais pas s'il y en a un comme gerrit. --Rical (discuter) 13 juin 2016 à 10:19 (CEST)
Appel à propriété
modifierBonjour,
Je crois avoir lu quelque chose sur ça mais je ne me rappelle plus. Est-ce que c'est possible d'aller chercher une valeur dans Wikidata, mais seulement si elle a certains qualifieurs ?
En l'occurrence, je voudrais appeler P443 selon les qualifieurs de langues, j'ai peur d'avoir plusieurs valeurs en l'appelant seule avec {{#Property:P443}}...
Merci de votre aide ! — Kvardek du (laisser un message) le 15 juin 2016 à 03:37 (CEST)
- Oui avec {{wikidata}} (de toute façon préférable à #Property:) ou en Lua, voir Projet:Wikidata/Atelier/Manuel#Qualificatifs. Donc ici par exemple pour P443 (« prononciation (fichier son) ») de Q142 (« France ») avec P407 (« langue de l'œuvre, du nom ou du terme »):Q150 (« français »), utiliser {{wikidata|P443|qualifier=P407|qualifiervalue=Q150 |entity=Q142}} = « » ou l'équivalent en Lua. — Oliv☮ Éppen hozzám? 15 juin 2016 à 08:28 (CEST)
- Voilà la page que j'ai raté ! Merci beaucoup Oliv☮ pour cette réponse ! — Kvardek du (laisser un message) le 15 juin 2016 à 13:45 (CEST)
Module Autorité pour la Carrière de Rafael Nadal
modifierBonjour,
Dans Carrière de Rafael Nadal, il y a l'appel {{Autorité|type={{#property:P107|of=Rafael Nadal}}|BNF={{#property:P268|of=Rafael Nadal}}|VIAF={{#property:P214|of=Rafael Nadal}}}} mais aucune notice d'autorité ne s'affiche. Je n'arrive pas à corriger cet appel du modèle:Autorité → module:Autorité. Je ne parle pas d'une correction où les identifiants seraient définis localement, je parle d'une correction comme cela : {{Autorité|xxx}} où "xxx" permettrait d'indiquer au modèle/module "il faut utiliser les identifiants d'autorité dans telle page Wikidata". Pouvez-vous corriger cela et surtout mettre à jour Modèle:Autorité/Documentation pour expliquer ce genre d'appels (plus particulièrement : le paramètre "type") ?
Wikipédiennement --NicoScribe (discuter) 7 juillet 2016 à 09:19 (CEST)
- d:P:P107 a été supprimée, il y a maintenant P31 (« nature de l’élément ») qui pour Q10132 (« Rafael Nadal ») est Q5 (« être humain »), et il n'y a pas de paramètre |type= dans {{Autorité}}, ni actuellement dans le module correspondant de possibilité d'appeler un autre élément Wikidata.
- Ici par exemple pour P268 (« identifiant Bibliothèque nationale de France ») la syntaxe serait {{#property:P268 |from=Q10132}} ou mieux (davantage de possibilités) {{Wikidata|P268|entity=Q10132}} = « 15766905z », mais effectivement quelque chose comme |entity= dans {{Autorité}} serait mieux. — Oliv☮ Éppen hozzám? 7 juillet 2016 à 12:22 (CEST)
- Je viens d'implémenter ce paramètre
|entity=
. od†n ↗blah 30 juillet 2016 à 06:26 (CEST)
- Je viens d'implémenter ce paramètre
Soucis avec Module:Coordinates
modifierBonjour à tous,
Y aurait-il dans la salle un développeur pour corriger le Module:Coordinates ?
La différence entre systèmes de coordonnées géographiques entre la Terre et les autres astres nous causent des soucis de géolocalisation dans les articles liés au Projet:Astronomie. Selon l'historique du module, Zebulon84 avait commencé quelque chose, mais il semblerait que cela crée des problèmes pour la Terre. Il ne pourra pas s'en occuper pour plusieurs semaines.
Peut-être qu'une organisation du code façon "if [code pour la Terre]"→"else if [paramètre "globe" différent de "earth"]"→"then [code pour autres corps avec système de coordonnées de 0 à 360°]" résoudrait le problème ? Qu'en dites-vous ? -- Feldo [Discussion constructive] 8 juillet 2016 à 01:33 (CEST)
Bonjour,
Nous avons beaucoup de modules dans la Catégorie:Pages utilisant des balises HTML auto-fermantes non valides, dont le Module:Documentation qui semble avoir pour effet d’ajouter beaucoup de modèles dans cette catégorie.
Quelqu’un meilleur que moi en Lua pourrait-il jeter un œil ? Merci ! — Thibaut (会話) 17 juillet 2016 à 06:33 (CEST)
- J'ai effectué cette modif qui semble déjà bien améliorer la situation. od†n ↗blah 17 juillet 2016 à 18:21 (CEST)
- Effectivement on est passé de 1000 et quelques à 173, merci ! . — Thibaut (会話) 18 juillet 2016 à 23:18 (CEST)
- Ah, à ce jour là j'en
voisvoyais… zéro – od†n ↗blah 22 juillet 2016 à 22:35 (CEST)
- Ah, à ce jour là j'en
- Effectivement on est passé de 1000 et quelques à 173, merci ! . — Thibaut (会話) 18 juillet 2016 à 23:18 (CEST)
Double image dans l'Infobox Localité
modifierBonjour; j'observe un phénomène étrange dans l'{{Infobox Localité}} dans cet article : Concord (Michigan) : l'image s'affiche 2 fois dans l'Infobox alors que j'ai mis un seul paramètre "image=", est-ce un bug du Module correspondant? -- Speculos (discuter) 2 septembre 2016 à 17:21 (CEST)
- Sans doute apparu avec cette modif (cf. Discussion module:Infobox/Localité#Carte de localisation), mais dû en effet à locationmap de Module:Infobox/Fonctions/Géolocalisation avec le même paramètre imageparameters = {'image'} que mainimage de Module:Infobox/Fonctions. Zolo : (principal contributeur) quel paramètre mettre ? — Oliv☮ Éppen hozzám? 2 septembre 2016 à 18:20 (CEST)
- Je crois que "carte" est disponible. Apparemment, la fonction de Module:Infobox/Fonctions/Géolocalisation n'a été créée qu'hier et n'est utilisée que dans ce module donc pas trop de difficultés. Il faudrait peut-être aussi chercher un moyen de détecter de manière plus automatisée ce genre de doublon, ou de lister tous les noms de paramètres utilisés dans des modules d'infobox.
::Au passage, je me demande un peu si ce champ est utile, il me parait assez redondant avec la série de carte de bas d'infobox. Vu qu'une carte de localisation spécifique à la localité est généralement plus intéressante que les géolocalisations par un point rouge, j'aurais tendance à dire qu'elle devrait être affichée à leur place, avec possibilité de voir les cartes à point rouge en cliquant sur "voir sur la carte des Etats-Unis"). --Zolo (discuter) 2 septembre 2016 à 19:19 (CEST)
- J'ai changé le nom du paramètre, on ne peut pas laisser ça comme ça. --Zolo (discuter) 4 septembre 2016 à 10:30 (CEST)
No Globals
modifierIl semble que quelqu’un ait activé un module "no globals" et que ça casse quelques trucs. Je suis modérément d'accord parce qu'une interdiction stricte des variables globales n’est pas forcément une bonne idée, par exemple ce serait assez pratique pour faire de la déduplication de références. Il y a moyen de faire du white listing ou de faire un truc moins violent histoire de nettoyer le code que de renvoyer une erreur qui casse des trucs ? — TomT0m [bla] 4 octobre 2016 à 19:20 (CEST)
Exemple : Discussion_modèle:Bibliographie#Erreur_Lua_subite. — TomT0m [bla] 4 octobre 2016 à 19:22 (CEST)
Et aussi, ou a été prise cette décision ? C'est quasi intraçable et j’en ai pas eu connaissance. C'est activé au cas par cas dans un module particulier ou c'est pour tous les modules par défaut ? — TomT0m [bla] 4 octobre 2016 à 19:22 (CEST)
- Ajouté le 19 septembre dernier dans Module:Biblio par Zebulon84 (d · c). — Oliv☮ Éppen hozzám? 4 octobre 2016 à 20:20 (CEST)
- C'est effectivement moi qui aie ajouté ce module au module:Biblio.
- Il y a vraiment très peu de variables globales volontairement utilisées, et on peut généralement très bien s'en passer.
- Lorsque c'est volontairement utilisé, c'est en général dangereux. Par exemple Module:Infobox utilisait les variables globales item et localdata ; et comme toute la galaxie du module:Wikidata, chargeait allégrement d'autres modules dès son lancement. Il suffit que l'un des autres modules utilise une variable au nom bateau de item, et oublie de la déclarer pour obtenir n'importe quoi.
- Dans la majorité des cas c'est soit l'oublie d'un « local » lors de l'initialisation de la variable, soit lié à un bug, comme ici dans module:Wikidata/Références, en utilisant un nom de variable erroné (en général il manque une typo, une erreur de majuscule...) ce qui génère forcement un comportement inattendu lorsque cette variable devrait contenir une valeur. Je m'en suis rendu compte en faisant des tests avec le module Infobox lorsque j'ai cherché à supprimer ces variables globales, j'ai corrigé une bonne dizaine de bug dans des modules variés.
- Donc ce module:No globals est plus un outil de débogage qu'autre chose. Je viens de traduire la doc succincte de en.wiki. Si cela n'est pas assez clair n'hésitez pas à ajouter des précisions. — Zebulon84 (discuter) 5 octobre 2016 à 01:01 (CEST)
- J'ai oublié de notifier TomT0m. — Zebulon84 (discuter) 5 octobre 2016 à 01:07 (CEST)
- @Zebulon84 ce serait possible de l'initialiser avec une whitelist de variables qui ne génèrent pas d'erreur ? — TomT0m [bla] 5 octobre 2016 à 09:51 (CEST)
- TomT0m : il y a déjà arg en whitelist car scribunto en a besoin. Il est bien sur possible de modifier le module pour l'agrandir, ou prévoir une solution pour la personnaliser, mais il faut un exemple pertinent de l'utilité d'une telle modification. — Zebulon84 (discuter) 5 octobre 2016 à 10:02 (CEST)
- @Zebulon84 ce serait possible de l'initialiser avec une whitelist de variables qui ne génèrent pas d'erreur ? — TomT0m [bla] 5 octobre 2016 à 09:51 (CEST)
Zebulon84 : OK, mais c'est une whitelist gobale. L'idée serait plûtot, mais je sais pas si c'est possible techniquement, de faire un truc du style
require("Module:No-globals", whitelist="biblio")
L'exemple que j’ai en tête c'est celui de la dédup de références dans le cas de l’affichage des refs dans les infoboxes, pour éviter de faire 42 notes de références vers une unique ref. C'est dangereux de laisser médiawiki faire la dédup grace aux id parce qu'on risque des erreurs de ce type <ref name="plop">bla</ref><ref name="plop">bla bla</ref> [1][1]
- bla Erreur de référence : Balise
<ref>
incorrecte : le nom « plop » est défini plusieurs fois avec des contenus différents.
Zolo avait fait ça de manière limitée dans une fonction du code, mais la manière la moins intrusive dans le code reste de faire une variable globale dans laquelle on rajoute les ref au fur et à mesure - vs. créer un objet "infobox" et mettre un attribut "références utilisées" qui nécessiterait de modifier à peu près tout. — TomT0m [bla] 5 octobre 2016 à 10:25 (CEST)
- TomT0m : je ne pense pas qu'une variable globale aide vraiment dans ce cas.
- Chaque appel de modèle à un module génère un environnement différent, avec ses propres variables « globales ». Une variable globale n'est pas unique pour tout le rendu de la page, mais seulement pour tous les modules lors d'un appel à Lua par la fonction #invoke:
- Par ailleurs, un module n'est chargé qu'une seule fois par appel #invoque: même s'il y a plusieurs require vers ce module. Donc si c'est toujours le même module qui défini un id, il peut très bien utiliser une variable locale pour stocker ceux déjà utilisés. Exemple pratique
- Module:Test1 :
local idNum = 0 return { ref = function ( auteur, titre ) idNum = idNum + 1 local texte = '' if auteur and titre then texte = '<ref name=referenceInfobox' .. idNum .. '>' .. auteur .. ' <i>' .. titre .. '</i></ref>' end return texte end }
- Module:Test2 :
local function ligne( wikitable, label, texte, refAuteur, refTitre ) local refModule = require( 'Module:Test1' ) table.insert( wikitable, '|-' ) table.insert( wikitable, '|' .. label ) table.insert( wikitable, '|' .. ( texte or '' ) .. refModule.ref( refAuteur, refTitre ) ) end return { basicInfobox = function ( frame ) local args = frame.args local wikiTable = { '{| style="width:300px; float:right; border:1px solid grey"' } local i = 1 while args["texte" .. i ] do ligne( wikiTable, args["label" .. i], args["texte" .. i], args["refAuteur" .. i], args["refTitre" .. i] ) i = i + 1 end table.insert( wikiTable, '|}' ) return table.concat( wikiTable, '\n' ) end }
- valeur de {{#invoke:Module:2|label1=l1|texte1=t1|refAuteur1=a1|refTitre1=rT1|label2=l2|texte2=t2|refAuteur2=a2|refTitre2=rT2}} :
{| style="width:300px; float:right; border:1px solid grey" |- |l1 |t1<ref name=referenceInfobox1>a1 <i>rT1</i></ref> |- |l2 |t2<ref name=referenceInfobox2>a2 <i>rT2</i></ref> |}
- Module:Test1 :
- — Zebulon84 (discuter) 5 octobre 2016 à 12:06 (CEST)
- Ah OK, j'ai cru voir passer des bidouilles de toi et/ou Zolo pour éviter de charger plusieurs fois le même module, elles n'étaient donc pas nécessaires ? Sinon oui dans ce cas le module lui même peut tenir le rôle de l'objet infobox que j'évoquai plus haut. Techniquement ça reste une variable globale de l’appel #invoke si on considère que les modules sont globaux pour cet appel :) — TomT0m [bla] 5 octobre 2016 à 12:21 (CEST)
- Si tu parles de ce genre de bidouille, le but n'est pas d'éviter de charger plusieurs fois le même module, mais d'éviter de charger systématiquement tous les modules même lorsqu'ils ne sont absolument pas nécessaire. L'idée étant d'éviter qu'une erreur sur un module réellement utiliser sur 1 000 pages en fasse bugger un million. C'est d'autant plus nécessaire lorsque ces modules utilisent des variables globales, ce qui était le cas à ce moment-là.
- Si idNum était une variable globale, Module:Test2 pourrait l'utiliser, ce qui n'est pas le cas ici. — Zebulon84 (discuter) 5 octobre 2016 à 12:36 (CEST)
- OK, donc un cas d'utilisation de variable globale serait que deux modules aient besoin de communiquer sans nécessairement qu'ils aient besoin de se charger l’un l’autre. Ce qui serait vaguement utile si on voulait pouvoir définir deux modules d'infobox lua alternatifs ou faire évoluer vers une V2 en laissant cohabiter les trucs en ayant une convention de communication par variables globale. Mais comme on peut pas partager d'info à l’échelle de la page ça semble peu utile de toute façon. — TomT0m [bla] 5 octobre 2016 à 12:42 (CEST)
- C'est effectivement dommage de ne pouvoir avoir des données à l'échelle de la page (qui pourraient être stockées dans l'objet frame) mais ça a été explicitement refusé par les développeurs . Hexasoft (discuter) 5 octobre 2016 à 12:56 (CEST)
- D'un point de vue pratique c'est dommage, mais je peux comprendre le point de vue des développeurs : ainsi chaque appel peut être exécuté totalement indépendamment, en parallèle, sans avoir à gérer de priorité d'accès aux variables pages, ni les utilisateurs qui ne comprennent pas qu'entre le moment ou le module vérifie la variable page et celle ou il la modifie, une autre exécution de même module puisse aussi modifier cette variable. — Zebulon84 (discuter) 5 octobre 2016 à 13:11 (CEST)
- C'est surtout, d'après ce que j’ai pu comprendre, une exigence pour l’éditeur visuel pour gérer proprement le rendu séparé des différentes parties de la page sans qu'une modif quelconque risque d'invalider toute la page. Je pense qu'une modif de l’extension "Cite" pourrait se justifier par contre pour gérer un peu plus finement la biblio genre générer des biblios et refs stye Harvard directement avec Cite en prenant soin de pas poser des problèmes de rendu de la page pour l’EV. — TomT0m [bla] 5 octobre 2016 à 13:19 (CEST)
- D'un point de vue pratique c'est dommage, mais je peux comprendre le point de vue des développeurs : ainsi chaque appel peut être exécuté totalement indépendamment, en parallèle, sans avoir à gérer de priorité d'accès aux variables pages, ni les utilisateurs qui ne comprennent pas qu'entre le moment ou le module vérifie la variable page et celle ou il la modifie, une autre exécution de même module puisse aussi modifier cette variable. — Zebulon84 (discuter) 5 octobre 2016 à 13:11 (CEST)
- C'est effectivement dommage de ne pouvoir avoir des données à l'échelle de la page (qui pourraient être stockées dans l'objet frame) mais ça a été explicitement refusé par les développeurs . Hexasoft (discuter) 5 octobre 2016 à 12:56 (CEST)
- OK, donc un cas d'utilisation de variable globale serait que deux modules aient besoin de communiquer sans nécessairement qu'ils aient besoin de se charger l’un l’autre. Ce qui serait vaguement utile si on voulait pouvoir définir deux modules d'infobox lua alternatifs ou faire évoluer vers une V2 en laissant cohabiter les trucs en ayant une convention de communication par variables globale. Mais comme on peut pas partager d'info à l’échelle de la page ça semble peu utile de toute façon. — TomT0m [bla] 5 octobre 2016 à 12:42 (CEST)
- Ah OK, j'ai cru voir passer des bidouilles de toi et/ou Zolo pour éviter de charger plusieurs fois le même module, elles n'étaient donc pas nécessaires ? Sinon oui dans ce cas le module lui même peut tenir le rôle de l'objet infobox que j'évoquai plus haut. Techniquement ça reste une variable globale de l’appel #invoke si on considère que les modules sont globaux pour cet appel :) — TomT0m [bla] 5 octobre 2016 à 12:21 (CEST)
- Si des variables globales peuvent aider des sous-modules jumeaux ou partageurs, il semble prudent de grouper ces variables dans des tables globales ayant un but précis pour éviter toute confusion d'usage. Et il faut que tous les modules partageurs veillent à ne pas créer ces tables-rendez-vous sans tester d'abord si elles existent pour ne pas perdre leur contenu. A ne pas confondre avec des sous-modules de données partagées mw.loadData("xyz") communs à toute la page, --Rical (discuter) 5 octobre 2016 à 14:29 (CEST)
- TomT0m : pour les problèmes d'id de référence, l'utilisation de mw.hash.hashValue peut certainement aider. — Zebulon84 (discuter) 6 octobre 2016 à 03:59 (CEST)
- Zebulon84 : À condition de normaliser la valeur avant - genre trier par ordre alphabétique des ID de propriétés et virer certaines propriétés qui pourraient varier pour une même ref, genre le numéro de page ou l'url. Sinon c'est supposer que l'utilisateur a fait du copier/coller de ref en utilisant le gadget approprié - si quelqu'un a rentré les références manuellement et n'a pas rentré les propriétés dans le même ordre ça risque de ne pas marcher sinon un bête hash de la ref. — TomT0m [bla] 6 octobre 2016 à 07:50 (CEST)
Module:Climat et Wikivoyage
modifierBonjour, j'ai pour projet une refonte de l'infoboite des villes sur Wikivoyage (vous devez ajouter le début de ceci pour avoir un visuel correct) et je pense y intégrer des graphiques climatiques.
J'ai pu constater que Module:Climat semble faire ce que je souhaite très bien mais ajoute également un modèle de tableau que je ne souhaite pas, y aurait il une âme charitable pour faire un module ne contenant que des graphiques sur Wikivoyage.
Merci (Nous sommes désolé de vous apprendre que la signature a été suspendue pour faute professionnelle) 16 décembre 2016 à 15:14 (CET)
- Ju gatsu mikka : au cas ou tu n'aies pas encore trouvé, il existe un modèle (sans lua) qui fait ça : {{Climatogramme}}, adaptation de en:Template:Climate chart sans les unités farfelues (très proche du modèle suédois en fait). Ne pas oublier le sous-modèle {{Climatogramme/colonne}}. — Zebulon84 (discuter) 24 avril 2017 à 09:01 (CEST)