Module:Infobox/Algorithme/Bac à sable
[voir] [modifier] [historique] [purger]
Cette page définit un module d'infobox.
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 (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
local general = require "Module:Infobox/Fonctions"
local localdata = require "Module:Infobox/Localdata"
local wikidata = require "Module:Wikidata"
local p = {}
-- Retourne l'image ou sinon la vidéo
function p.mainimage_ou_video()
local wdimage = {entity = item, property = 'P18', showsource = true}
local wdvideo = {entity = item, property = 'P10', showsource = true}
local wdmedia = wdimage
if (wikidata.formatStatements{property = "P18", displayformat = "raw", entity= localdata.item} == nil) then
wdmedia = wdvideo
end
return {
type = 'images',
imageparameters = {'image', 'photo', 'Photo'},
defaultimagelink = 'Aide:Insérer une image',
sizeparameter = 'taille image',
uprightparameter = 'upright',
maintenancecat = 'Article à illustrer',
captionparameter = {'légende', 'légende image', 'Légende'},
altparameter = 'alternative image',
wikidata = wdmedia,
numval = 1,
}
end
-- Donne la date de découverte ou la date de publication
function p.date()
local wddatedecouverte = { entity = localdata.item, property = "P575", showsource = true}
local wddatedepublication = { entity = localdata.item, property = "P577", showsource = true}
if wddatedecouverte and wddatedepublication then -- ne pas afficher les deux si c'est la même valeur
if (wikidata.formatStatements{property = "P575", displayformat = "raw", entity= localdata.item} == wikidata.formatStatements{property = "P577", displayformat = "raw", entity = localdata.item}) then
wddatedepublication = nil
end
end
return {type = 'multi',
rows = {
-- Date de découverte : P575
{type = 'row', label = "Date de découverte", value = "date", wikidata = wddatedecouverte},
-- Date de publication : P577
{type = 'row', label = "Date de publication", value = "date de publication", blockers = 'date', wikidata = wddatedepublication},
},
}
end
-- Retourne la liste des découvreurs ou inventeurs et donne leur éventuelle date de publication respective
function p.decouvreurs_dates()
return {
type = 'row',
label = "Découvreur ou inventeur",
plurallabel = "Découvreurs ou inventeurs",
value = "découvreur",
wikidata = {
entity = item,
property = 'P61',
showsource = true,
showqualifiers = 'P577',
showdate = true
}
}
end
p.maincolor = "#ddd"
p.thirdcolor = "#000"
p.parts = {
general.title("informatique"),
general.logo(),
p.mainimage_ou_video(),
{type = 'table', rows = {
p.decouvreurs_dates(),
p.date(),
{type = 'row', label = "Problème lié", plurallabel = "Problèmes liés", value = "problème", wikidata = {entity = item, property = 'P31', showsource = true}},
{type = 'row', label = "Structure des données", plurallabel = "Structures des données",value = "structure des données", property = 'P2283'},
{type = 'row', label = "Basé sur", value = "basé sur", wikidata = {entity = item, property = 'P144', showsource = true}},
{type = 'row', label = "À l'origine de",value = "à l'origine de", wikidata = {entity = item, property = 'P4969', showsource = true}},
}},
{type = 'table', title = "[[Complexité en temps]]", rows = {
{type = 'row', label = "Pire cas", value = "temps max", wikidata = {entity = item, property = 'P3752', showsource = true}},
{type = 'row', label = "Moyenne", value = "temps moyen", wikidata = {entity = item, property = 'P3754', showsource = true}},
{type = 'row', label = "Meilleur cas", value = "temps min", wikidata = {entity = item, property = 'P3753', showsource = true}},
}},
{type = 'table', title = "[[Complexité en espace]]", rows = {
{type = 'row', label = "Pire cas", value = "espace max", wikidata = {entity = item, property = 'P3755', showsource = true}},
{type = 'row', label = "Moyenne", value = "espace moyen", wikidata = {entity = item, property = 'P3757', showsource = true}},
{type = 'row', label = "Meilleur cas", value = "espace min", wikidata = {entity = item, property = 'P3756', showsource = true}},
}},
general.website(),
}
return p