Aller au contenu

Module:Infobox/Jeu vidéo

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 16 juillet 2023 à 01:06 et modifiée en dernier par Framawiki (discuter | contributions) (logo sans rétrécissement (la majorité des pages de jeux vidéos n'ont pas d'image autre que le logo, pas besoin donc de rétrécir le logo)). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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

Cette page définit un module d'infobox. Pour les conseils sur l'usage de ce module, voyez Modèle:Infobox Jeu vidéo.


local jeu = require "Module:Infobox/Fonctions"
local wd = require("Module:Wikidata")
local localdata = require("Module:Infobox/Localdata")
local generic = require "Module:Infobox/Fonctions"

-- Fonction permettant d'afficher une boîte déroulante
local function collapsiblebox()
	-- affiche la boîte déroulante
	local function navframe()
		if localdata["date détail"] then
			return '<div class="NavFrame collapsed" style="border:none;padding:0;"><div class="NavHead" style="font-size:105%; text-align:left; background:transparent;">Sorties détaillées</div><div class="NavContent" style="font-size:105%; text-align:left;">' ..
				localdata["date détail"] .. "</div></div>"
		end
	end

	return {
		type = "row",
		value = navframe
	}
end
local detail = collapsiblebox()

-- Fonction permettant l'affichage de la partie succession
local function buildsuccession()
	localdata["précédent"] =
		localdata["précédent"] or wd.formatStatements {property = "P179", showonlyqualifier = "P155"}
	localdata["suivant"] = localdata["suivant"] or wd.formatStatements {property = "P179", showonlyqualifier = "P156"}
	localdata["franchise"] = localdata["franchise"] or wd.formatStatements {property = "P179"}
	-- Fonction permettant de définir le titre de la partie succession
	local function titre(a, b, c)
		if c and (a or b) then
			return "<i>" .. c .. "</i>"
		end
	end

	-- Fonction permettant l'affichage des articles de la partie succession
	local function succession(a, b, c, d)
		succession = {}
		if (a and b) then
			succession["before"] = "<i>" .. a .. "</i> ([[" .. b .. " en jeu vidéo|" .. b .. "]])"
		elseif a then
			succession["before"] = "<i>" .. a .. "</i>"
		end
		if (c and d) then
			succession["after"] = "<i>" .. c .. "</i> ([[" .. d .. " en jeu vidéo|" .. d .. "]])"
		elseif c then
			succession["after"] = "<i>" .. c .. "</i>"
		end
		return succession
	end

	if localdata["précédent"] or localdata["suivant"] then
		return {
			type = "table",
			separator = true,
			rows = {
				{type = "row1col", value = titre(localdata["précédent"], localdata["suivant"], localdata["franchise"])}
			}
		}, {
			type = "table",
			separator = true,
			rows = {
				{
					type = "succession",
					color = transparent,
					value = succession(
						localdata["précédent"],
						localdata["date précédent"],
						localdata["suivant"],
						localdata["date suivant"]
					)
				}
			}
		}
	end
end

return {
	maincolor = "#004080",
	parts = {
		{
			type = "title",
			value = "titre",
			icon = "jeuvideo",
			style = {["color"] = "white"},
			italic = function(localdata)
				return not localdata["titre en italique"]
			end,
			setdisplaytitle = function(localdata)
				return not localdata["titre en italique"]
			end
		},
		generic.logo("1"),
		generic.mainimage({altparameter='alternative'}),
		{
			type = "images",
			imageparameters = {"image2"},
			captionparameter = "légende2",
			sizeparameter = {"taille2", "taille image2"},
			altparameter = "alternative2"
		},
		{
			type = "table",
			separator = true,
			rows = {
				{
					type = "row",
					label = "[[Développeur de jeux vidéo|Développeur]]",
					value = "développeur",
					property = "P178"
				},
				{
					type = "row",
					label = "[[Éditeur de jeux vidéo|Éditeur]]",
					value = "éditeur",
					property = "P123"
				},
				{
					type = "row",
					label = "[[Liste des distributeurs de jeux vidéo|Distributeur]]",
					value = "distributeur"
				},
				{
					type = "row",
					label = "Réalisateur",
					value = {"directeur", "concepteur", "réalisateur"},
					property = "P57"
				},
				{
					type = "row",
					label = "[[Scénariste de jeux vidéo|Scénariste]]",
					value = "scénariste",
					property = "P58"
				},
				{
					type = "row",
					label = "[[Musique de jeu vidéo|Compositeur]]",
					value = {"compositeur", "musique"},
					property = "P86"
				},
				{
					type = "row",
					label = "[[Producteur de jeux vidéo|Producteur]]",
					value = "producteur",
					property = "P162"
				}
			}
		},
		{
			type = "table",
			separator = true,
			rows = {
				{
					type = "row",
					label = "Début du projet",
					value = "début du projet",
					property = "P571"
				},
				{
					type = "row",
					label = "[[Accès anticipé]]",
					value = "accès anticipé"
				},
				{
					type = "row",
					label = "Date de sortie",
					value = "date"
				}
			}
		},
		{
			type = "table",
			rows = {
				detail
			}
		},
		{
			type = "table",
			rows = {
				{
					type = "row",
					label = "Date de fin",
					value = "date de fin",
					property = "P2669"
				},
				{
					type = "row",
					label = "Franchise",
					value = function(localdata)
						if (localdata["franchise"] and (localdata["précédent"] or localdata["suivant"])) then
							return
						elseif localdata["franchise"] then
							return "<i>" .. localdata["franchise"] .. "</i>"
						end
					end
				},
				{
					type = "row",
					label = "[[Genre de jeu vidéo|Genre]]",
					value = "genre",
					property = "P136"
				},
				{
					type = "row",
					label = "[[Mode de jeu]]",
					value = "mode",
					property = "P404"
				},
				{
					type = "row",
					label = "[[Plate-forme (informatique)|Plate-forme]]",
					value = {"plateforme", "plate-forme"},
					property = "P400"
				}
			}
		},
		{
			type = "table",
			separator = true,
			rows = {
				{
					type = "row",
					label = "Langue",
					value = "langue",
					property = "P407"
				},
				{
					type = "row",
					label = "[[Moteur de jeu|Moteur]]",
					value = {"moteur de jeu", "moteur"},
					property = "P408"
				},
				{
					type = "row",
					label = "[[Version d’un logiciel|Version]]",
					value = "version",
					wikidata = {
						property = 'P348',
						rank = valid,
						showqualifiers = {'P577'}
					}
				}
			}
		},
		{
			type = "table",
			separator = true,
			rows = {
				{
					type = "row",
					label = "Ventes",
					value = "ventes",
					
				},
				{
					type = "row",
					label = "[[Système d'évaluation des jeux vidéo|Évaluation]]",
					value = "évaluation",
					property = "P908"
				},
				{
					type = "row",
					label = "Site web",
					value = "site web",
					property = "P856"
				}
			}
		},
		buildsuccession()
	}
}