Module:Bases/jeu

Cette page fait l’objet d’une mesure de semi-protection étendue.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 11 novembre 2018 à 02:50 et modifiée en dernier par Thierry Caro (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]

Ce module sert fournir la liste des bases au module {{Bases jeu}}.

Utilisation

Les différentes informations à renseigner sont visibles dans le tableau sur la page Modèle:Bases jeu#Utilisation, en particulier pour l'édition des colonnes Libellé et URL.

{{nom, langue du nom}, propriété Wikidata, format URL}
  • nom : colonne libellé de la documentation de la base ; texte affiché sur les pages où la base est utilisée.
  • langue du nom : code langue du libellé, pour l'accessibilité.
  • propriété Wikidata : colonne propriété.
  • format URL : colonne URL.
Pour renseigner la langue de la base et son accessibilité
  1. Pour l'affichage par le modèle de la ou les langues de rédaction du contenu de la bases (colonne langue) :
    depuis sa documentation cliquez sur la propriété wikidata correspondante, éditez le paramètre P1630 (« format de l'URL ») et ajoutez le qualifier P407 (« langue de l'œuvre, du nom ou du terme ») avec la ou les langues voulues. Regardez par exemple le résultat sur la page P3973 (« identifiant Petőfi Irodalmi Múzeum »).
  2. Pour l'accessibilité de la lecture de la langue du libellé de la base :
    éditer ce module pour chaque libellé qui n'est pas en français remplacer par exemple "BookBrainz" par {"BookBrainz", "en"}
Ajout d'une base

Tout ajout ou suppression de base doit passer par Wikipédia:Ateliers Bases.
De manière générale si vous n'êtes pas sûr de vos actions, faite une demande sur cette même discussion.
Les autres paramètres sont importés par le module depuis la page wikidata de la propriété.

local p = {}
local wikidata = require "Module:Wikidata"

local bases = {
-- { nom, propriété Wikidata, format URL}
{"365Chess.com", "P3314", "https://www.365chess.com/players/$1"},
{"BoardGameGeek", "P2339", "https://www.boardgamegeek.com/boardgame/$1/"},
{"BoardGameGeek", "P3505", "https://boardgamegeek.com/boardgamedesigner/$1"},
{"Chess.com", "P3654", "http://www.chess.com/members/view/$1"},
{"Chess Tempo", "P3315", "http://chesstempo.com/gamedb/player/$1"},
{"Chessgames.com", "P1665", "http://www.chessgames.com/perl/chessplayer?pid=$1"},
{"Cross-tables.com", "P3656", "https://www.cross-tables.com/results.php?p=$1"},
{"Fédération américaine des échecs", "P3558", "http://www.uschess.org/msa/MbrDtlMain.php?$1"},
{"Fédération d'échecs israélienne", "P3867", "http://www.chess.org.il/Players/Player.aspx?Id=$1"},
{"Fédération internationale des échecs", "P1440", "https://ratings.fide.com/card.phtml?event=$1"},
{"Fédération russe d'échecs", "P4994", "http://ratings.ruchess.ru/people/$1"},
{"Global Poker Index", "P3564", "http://www.globalpokerindex.com/poker-players/$1"},
{"International Correspondence Chess Federation", "P3316", "https://www.iccf.com/player?id=$1"},
{"Internet Chess Club", "P1666", "https://www.chessclub.com/user/finger/$1"},
{"Internet Pinball Database", "P6011", "https://www.ipdb.org/machine.cgi?id=$1"},
{"Luding", "P3506", "http://luding.org/Skripte/AuthorData.py/ENauthorid/$1"},
{"Luding", "P3528", "http://luding.org/Skripte/GameData.py/ENgameid/$1"},
{"OlimpBase <small>(féminines)</small>", "P5224", "http://www.olimpbase.org/playersw/$1.html"},
{"OlimpBase <small>(open)</small>", "P3940", "http://www.olimpbase.org/players/$1.html"},
{"World Series of Poker", "P3554", "http://www.wsop.com/players/profile/?playerID=$1"},
}

local gender = wikidata.formatStatements{entity = item, property = 'P21', displayformat = 'raw'}

function p.main(frame)
	local args = frame.args
	if frame.getParent then
		args = frame:getParent().args
	end
	local entity = mw.wikibase.getEntityObject(args.id)
	if not entity then
		return "[[Catégorie:Page utilisant le modèle Bases sport inactif]]"
	end
	local vals = {}
	for i, base in pairs(bases) do
		local val = wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true, value = args[base[1]] }
		if val then 
			table.insert(vals, val)
		end
	end
	if #vals == 0 then
		return "[[Catégorie:Page utilisant le modèle Bases jeu inactif]]"
	end
	local header = ''
	if #vals > 1 then
		header = "Ressources relatives au jeu : "
	else
		header = 'Ressource relative au jeu : '
	end
	return wikidata.addLinkBack(header .. table.concat( vals, '&nbsp;• ' ), entity, "identifiers" ) -- lien vers la section approriété de Wikidata
end

return p