Module:InfoboxOrga
Apparence
[voir] [modifier] [historique] [purger]
-- Ceci est la documentation du module Module:InfoboxOrga
-- Ne pas insérer de logique ici, seulement la documentation dans le format wikitexte ci-dessous
-- Module:InfoboxOrga/Documentation
Modèle:Documentation de module
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 p = {}
local wikibase = require('Module:Wikibase')
-- QID de la Fédération Nationale des Agences d'Urbanisme
local QID = "Q117287550"
-- Map des propriétés Wikidata utiles et leur description pour affichage
local props = {
nature = "P31", -- instance de (nature de l’élément)
date_fondation = "P571", -- date de création
president = "P488", -- président
president_debut = "P580", -- date de début (générique, pour statements)
president_delegate = "P2864", -- président délégué (à vérifier, sinon ajuster)
tresorier = "P4012", -- trésorier (utiliser propriété adaptée si dispo)
secretaire_general = "P1037", -- secrétaire général (à vérifier)
pays = "P17", -- pays
localisation = "P131", -- localisation administrative
nombre_membres = "P1114", -- nombre de membres
forme_juridique = "P1454", -- forme juridique
siege = "P159", -- siège
adresse = "P969", -- adresse
site_officiel = "P856", -- site web officiel
-- Identifiants
viaf = "P214",
isni = "P213",
bnf = "P268",
canadiana = "P7339",
gnd = "P227",
bib_congres = "P244",
idref = "P2444",
registre_transparence_ue = "P8335",
}
-- Fonction pour récupérer la valeur principale d'une propriété
local function getPropertyValue(entity, prop)
local claim = entity.claims[prop]
if claim then
for _, statement in ipairs(claim) do
-- On récupère la valeur de la première déclaration non supprimée
if not statement.rank or statement.rank ~= "deprecated" then
local mainsnak = statement.mainsnak
if mainsnak and mainsnak.datavalue then
local dv = mainsnak.datavalue
if dv.type == "wikibase-entityid" then
return dv.value.id -- renvoie Qxxx
elseif dv.type == "string" or dv.type == "monolingualtext" then
return dv.value
elseif dv.type == "time" then
return dv.value.time
elseif dv.type == "quantity" then
return dv.value.amount
else
return dv.value
end
end
end
end
end
return nil
end
function p.getData(frame)
local entity = wikibase.getEntity(QID)
if not entity then
return "Erreur : entité Wikidata introuvable"
end
local data = {}
-- nature
local natureQ = getPropertyValue(entity, props.nature)
data.nature = natureQ and ("[[Wikidata:" .. natureQ .. "|" .. natureQ .. "]]") or "N/A"
-- date de fondation (extraction date simple ISO)
local dateFond = getPropertyValue(entity, props.date_fondation)
data.date_fondation = dateFond or "N/A"
-- président (simple, prend la première valeur)
local presidentQ = getPropertyValue(entity, props.president)
data.president = presidentQ or "N/A"
-- pays
local paysQ = getPropertyValue(entity, props.pays)
data.pays = paysQ or "N/A"
-- localisation administrative
local locQ = getPropertyValue(entity, props.localisation)
data.localisation = locQ or "N/A"
-- nombre membres
local nbMembres = getPropertyValue(entity, props.nombre_membres)
data.nombre_membres = nbMembres or "N/A"
-- forme juridique
local formeJ = getPropertyValue(entity, props.forme_juridique)
data.forme_juridique = formeJ or "N/A"
-- siège
local siegeQ = getPropertyValue(entity, props.siege)
data.siege = siegeQ or "N/A"
-- adresse
local adresse = getPropertyValue(entity, props.adresse)
data.adresse = adresse or "N/A"
-- site officiel
local site = getPropertyValue(entity, props.site_officiel)
data.site_officiel = site or "N/A"
-- identifiants (VIAF, ISNI, BnF etc)
data.viaf = getPropertyValue(entity, props.viaf) or "N/A"
data.isni = getPropertyValue(entity, props.isni) or "N/A"
data.bnf = getPropertyValue(entity, props.bnf) or "N/A"
data.canadiana = getPropertyValue(entity, props.canadiana) or "N/A"
data.gnd = getPropertyValue(entity, props.gnd) or "N/A"
data.bib_congres = getPropertyValue(entity, props.bib_congres) or "N/A"
data.idref = getPropertyValue(entity, props.idref) or "N/A"
data.registre_transparence_ue = getPropertyValue(entity, props.registre_transparence_ue) or "N/A"
return data
end
return p