Module:Bac à sable
Utilisation
modifierCette page est destinée à vous aider à vous familiariser avec le système de création et modification de modules de Wikipédia.
Il est possible de tester le résultat de votre module dans la page Modèle:Bac à sable (placez-y le code {{#invoke:Bac à sable|nom_fonction|arg1|arg2|…}}
).
Vous pouvez consulter le Manuel de référence complet en français sur www.mediawiki.org, Projet:Scribunto/Guide, aide:module, ou discuter avec les autres membres du projet Scribunto.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. 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 wd = require "Module:Wikidata"
local localdata = require "Module:Infobox/Localdata"
local linguistic = require "Module:Linguistique"
local country = wd.stringTable{entity = localdata.item, property = "P17", displayformat = "raw"}
local countryid
if country then
countryid = country[1]
end
local iucn = {
Q14545608 = { couleur = '#E7AF97', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie Ia|Ia]] <small>([[Réserve naturelle|réserve naturelle intégrale]])</small>[[Catégorie:Aire protégée de l'UICN - catégorie Ia]]" }, -- Ia
Ia = 'Q14545608',
Q14545620 = { couleur = '#DACAA5', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie Ib|Ib]] <small>(zone de nature sauvage)</small>[[Catégorie:Aire protégée de l'UICN - catégorie Ib]]" }, -- Ib
Ib = 'Q14545620',
Q14545628 = { couleur = '#CDE5B2', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie II|II]] <small>([[parc national]])</small>[[Catégorie:Aire protégée de l'UICN - catégorie II]]" }, -- II
II = 'Q14545628',
Q14545633 = { couleur = '#BFFFBF', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie III|III]] <small>([[monument naturel]])</small>[[Catégorie:Aire protégée de l'UICN - catégorie III]]" }, -- III
III = 'Q14545633',
Q14545639 = { couleur = '#B2E5CD', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie IV|IV]] <small>(aire de gestion des habitats ou des espèces)</small>[[Catégorie:Aire protégée de l'UICN - catégorie IV]]" }, -- IV
IV = 'Q14545639',
Q14545646 = { couleur = '#A5CADA', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie V|V]] <small>(paysage terrestre ou marin protégé)</small>[[Catégorie:Aire protégée de l'UICN - catégorie V]]" }, -- V
V = 'Q14545646',
Q14545652 = { couleur = '#A8BDEC', texte="[[:Catégorie:Aire protégée de l'UICN - catégorie VI|VI]] <small>(zone de gestion de ressources protégées)</small>[[Catégorie:Aire protégée de l'UICN - catégorie VI]]" }, -- VI
VI = 'Q14545652',
default = { couleur = '#E0E0E0', texte=nil}
}
local areatype = iucn[ localdata['catégorie iucn'] ] or wd.formatStatements{entity = localdata.item, property = 'P814', numval = 1, displayformat = 'raw' }
local maincolor = ( iucn[ areatype ] or iucn.default ).couleur
local function localDivRows() -- liste de lignes de divisions administrative basée sur des données locales
local rows = {}
local hasrows = false -- devient vraie si une valeur est non null
for i = 1, 10 do
i = tostring(i)
local param, labelparam = "subdivision " .. i, "subdivision " .. i .. " type"
if localdata[param] then
hasrows = true
local label = localdata[labelparam] or "Subdivision"
table.insert(rows, {type = "row", label = label, value = function() return localdata[param] end})
end
end
if hasrows then
return rows
end
end
return
{
maincolor = maincolor,
parts =
{
general.title('map'),
general.mainimage('Article à illustrer Aire protégée', 'Defaut 2.svg'),
{type = 'table', title = 'Géographie', rows = {
general.country(),
{type = "multi", rows = localDivRows() or general.wikidataDivRows(countryid) or {}},
building.protectedarea(),
building.coordinates(),
{type = 'row', label = "Ville proche", value = "ville proche", wikidata = {property = 'P7153', qualifiers = 'P3831', qualifiervalue = 'Q72025746'}},
{type = 'row', label = "Superficie", value = 'superficie', wikidata = {property = 'P2046', targetunit = 'sqkm', rounding = '1'} },
{type = 'row', label = "Superficie terrestre", value = 'superficie terrestre'},
{type = 'row', label = "Superficie maritime", value = 'superficie maritime'},
{type = "row", label = "Point culminant", plurallabel = "Points culminants", value = "point culminant", wikidata = {property = "P610"}},
{type = 'row', label = "Population", value = "population", wikidata = {property = 'P1082', showdate = 'true'}},
{type = 'row', label = "Protège", value = "protège", wikidata = {property = 'P6569', defaultlinkquery = {property = {'P171'}}, numval = '5'}},
{type = 'row', label = "Partie de", value = "partie de", wikidata = {property = 'P361'}},
},
},
{type = 'table', title = 'Administration', rows = {
{type = 'row', label = "Nom local", value = "nom local", wikidata = {property = 'P1705', showlang = true}},
{type = 'row', label = "Type", value = "type",
wikidata = {property = 'P31',
excludevalues = {'Q473972','Q570116','Q43229','Q15069452', -- Exclut ce qui ne correspond pas à une administration (y compris ce qui va dans le champ patrimonialité)
'Q43229','Q158454','Q1970725','Q131681','Q2221906','Q1200957','Q22698','Q29553','Q1286517','Q210272','Q10594991',
'Q23397','Q8502','Q8072','Q34763','Q33837','Q23442','Q4421','Q166735', 'Q169358', 'Q212057', 'Q46831', 'Q52942871','Q160091', -- Géographie physique à exclure
'Q9444','Q199403', 'Q25391', 'Q39594','Q107679','Q8514','Q123991','Q39816','Q75520','Q740445','Q2624046','Q9381142','Q19850234',
'Q4022','Q47053','Q43197','Q54050','Q878223','Q30198','Q1681353','Q27590','Q162602','Q55075651','Q1400565'},
defaultlinkquery = {property = {'P2354', 'P137'}}}},
{type = 'row', label = "Commémore", value = "commémore", property = 'P547'},
{
type = 'row',
label = "[[Commission mondiale des aires protégées|Catégorie UICN]]",
value = "catégorie iucn",
property = 'P814',
wikidata = ( iucn[ areatype ] or iucn.default ).texte
},
{ type = 'row',
label = "[[World Database on Protected Areas|WDPA]]",
value = function()
local wdpa = localdata['Wdpa'] or localdata['wdpa']
if wdpa then
return '[https://protectedplanet.net/'.. wdpa .. ' ' .. wdpa .. ']'
end
end,
wikidata = {property = 'P809', urlpattern = 'https://protectedplanet.net/$1'}
},
{type = 'row', label = "Création", value = "création", wikidata = {property = 'P571'}},
{type = 'row', label = "Texte fondateur", value = "texte fondateur", wikidata = {property = 'P457', numval = '1'}},
building.opening(),
building.protection(),
building.visitors(),
{type = 'row', label = "Administration", value = "administration", wikidata = {property = 'P137'}},
{type = 'row', label = "[[Office de tourisme|Informations]]", value = "informations", wikidata = {property = 'P2872', numval = '5'}},
general.website(),
},
},
building.unesco(),
general.detailedmap('280'),
building.geoloc({pointtype = 'aire protégée', maptype = 'relief', marker = 'park', default_zoom = 8}),
},
}