Module:Infobox/Musée
Apparence
[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 Musée.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Modèle:Documentation module d'infobox. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local building = require "Module:Infobox/Fonctions/Bâtiment"
local general = require "Module:Infobox/Fonctions"
local localdata = require "Module:Infobox/Localdata"
local wd = require "Module:Wikidata"
local buildingitem = localdata.item -- assuming same item for building and organization, but should not be the case, so checks the following:
local buildingcandidates = wd.stringTable{entity = localdata.item, property = 'P276', displayformat = 'raw', excludespecial = true}
if buildingcandidates then
if (#buildingcandidates == 1) and (buildingcandidates ~= buildingitem) and wd.isInstance('Q41176', buildingcandidates[1], 2) or wd.isInstance('Q1497364', buildingcandidates[1], 1) then
buildingitem = buildingcandidates[1]
end
end
local function architects(item)
local architects = wd.getClaims{entity = item, property = 'P84'}
if (not architects) then
return nil
end
if #architects > 3 then
return wd.formatAndCat{property = 'P84', entity = item, value = 'Divers'}, 2
end
return wd.formatAndCat{entity = item, property = 'P84', claims = architects, conjtype = 'comma'}, #architects
end
return
{
maincolor = 'C8D8FF',
parts =
{
general.title('musee'),
general.logo(),
building.mainimage('Article à illustrer Musée'),
{type = 'table', title = 'Informations générales', rows = {
{type = "row", label = "Nom local", plurallabel = "Noms locaux", value = "nom local", wikidata = {property = "P1705", showlang = true} },
{type = 'row', label = 'Type', value = 'type', wikidata = {property = 'P31', excludevalues = {'Q33506', 'Q24699794', 'Q18411786', 'Q35989030', 'Q45400320'}}},
building.opening(),
building.closure(),
building.operator(),
{type = 'row', label = 'Dirigeant', plurallabel = 'Dirigeants', value = {'conservateur', 'dirigeant'}, wikidata = {property = 'P1037', showdate = true, precision = 'year', stilltrue = true, expl = true}}, -- TODO : forme féminine
{type = 'row', label = 'Président', plurallabel = 'Présidents', blockers = {'dirigeant', 'conservateur'}, value = 'président', wikidata = {property = 'P488', showdate = true, precision = 'year', stilltrue = true}},-- TODO : forme féminine
{type = 'row', label = 'Surface', value = 'superficie', wikidata = {property = 'P2046', targetunit = 'square meter'}},
{type = 'row', label = 'Visiteurs par an', value = 'visiteurs', wikidata = {property = 'P1174', sorttype = 'inverted', numval = 1, showdate = true}},
{type = 'row', label = 'Effectif', value = 'effectif', wikidata = {property = 'P1128', showdate = true, sorttype = 'inverted', numval = 1, targetunit = 'employé', showunit = 'long'}, showsource = true},
{type = 'row', label = 'Dépenses', value = 'dépenses', wikidata = {property = 'P2402', showdate = true, sorttype = 'inverted', numval = 1, showunit = 'true', showlink = true}, showsource = true},
building.website('site'),
}
},
{type = 'table', title = 'Collections', rows = {
{type = 'row', label = 'Collections', value = 'collections'}, -- liste des grandes collections du musée ;
{type = 'row', label = 'Genre', value = 'genre collections'},
{type = 'row', label = 'Provenance', value = 'provenance collections'},
{type = 'row', label = 'Époque', value = 'époque collections'},
{type = 'row', label = localdata['libellé nombre objets'] or "Nombre d'objets", value = {"nombre d'objets", "œuvres"}, wikidata = {property = 'P1436', sorttype = 'inverted', numval = 1, showdate = true}, showsource = true},
{type = 'row', label = localdata['libellé objets exposés'] or "Objets exposés", value = "objets exposés"},
{type = 'row', label = 'Label', value = 'label'}
}
},
{type = 'table', title = 'Bâtiment', rows = {
-- pourrait utiliser les fonction de Module:Infobox/Fonctions/Bâtiment si elles étaient adaptées pour utiliser un autre item que l'item principal de l'infobox
{type = 'row', label = 'Article dédié', value = {'monument', 'article bâtiment'}, wikidata =
function()
if buildingitem and (buildingitem.id ~= localdata.item.id) and wd.siteLink(buildingitem) then
str = wd.formatEntity(buildingitem)
return wd.addLinkBack(str, item, 'P276')
end
end
},
{type = 'row', label = 'Construction', value = 'construction', wikidata = function() return wd.keyDate('Q385378', buildingitem) end},
{type = 'row', label = 'Architecte', plurallabel = 'Architectes', value = 'architecte', wikidata = function() return architects(buildingitem) end},
{type = 'row', label = 'Protection', value = 'protection', wikidata = function() return require('Module:Classement').formattedList(buildingitem) end},
}
},
{type = 'table', title = 'Sites', rows = {
{type = 'row', value = 'Site'} -- alternative à "site" pour les institutions multi-implantations
}
},
building.unesco(),
{type = 'table', title = 'Localisation', rows = {
building.adminlocation(),
building.mountainrange(),
building.protectedarea(),
building.coordinates(),
}
},
general.geoloc({marker = 'museum', default_zoom=13, markercolor = '#7CA2FF'}),
}
}