<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.noethoumy.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3ABases</id>
	<title>Module:Bases - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.noethoumy.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3ABases"/>
	<link rel="alternate" type="text/html" href="https://wiki.noethoumy.fr/index.php?title=Module:Bases&amp;action=history"/>
	<updated>2026-04-27T18:14:02Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.noethoumy.fr/index.php?title=Module:Bases&amp;diff=334&amp;oldid=prev</id>
		<title>Jaggerwock : Page créée avec « local p = {} local wikidata = require &quot;Module:Wikidata&quot; local wdpath = require &quot;Module:Wikidata/Chemin&quot; local langue = require &quot;Module:Langue&quot; local Outils = require &quot;Module:Outils&quot;  local bases = {&quot;architecture&quot;, &quot;art&quot;, &quot;astronomie&quot;, &quot;audiovisuel&quot;, &quot;bande dessinée&quot;, &quot;géographie&quot;, &quot;jeu&quot;, &quot;jeu vidéo&quot;, &quot;littérature&quot;, &quot;militaire&quot;, &quot;mode&quot;, &quot;multidisciplinaires&quot;, &quot;musique&quot;, &quot;organisation&quot;, &quot;pornographie&quot;, &quot;recherche&quot;, &quot;religion&quot;, &quot;santé&quot;, &quot;spectacle&quot;, &quot;sport&quot;, &quot;t... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.noethoumy.fr/index.php?title=Module:Bases&amp;diff=334&amp;oldid=prev"/>
		<updated>2024-09-20T14:17:49Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « local p = {} local wikidata = require &amp;quot;Module:Wikidata&amp;quot; local wdpath = require &amp;quot;Module:Wikidata/Chemin&amp;quot; local langue = require &amp;quot;Module:Langue&amp;quot; local Outils = require &amp;quot;Module:Outils&amp;quot;  local bases = {&amp;quot;architecture&amp;quot;, &amp;quot;art&amp;quot;, &amp;quot;astronomie&amp;quot;, &amp;quot;audiovisuel&amp;quot;, &amp;quot;bande dessinée&amp;quot;, &amp;quot;géographie&amp;quot;, &amp;quot;jeu&amp;quot;, &amp;quot;jeu vidéo&amp;quot;, &amp;quot;littérature&amp;quot;, &amp;quot;militaire&amp;quot;, &amp;quot;mode&amp;quot;, &amp;quot;multidisciplinaires&amp;quot;, &amp;quot;musique&amp;quot;, &amp;quot;organisation&amp;quot;, &amp;quot;pornographie&amp;quot;, &amp;quot;recherche&amp;quot;, &amp;quot;religion&amp;quot;, &amp;quot;santé&amp;quot;, &amp;quot;spectacle&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;t... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
local wikidata = require &amp;quot;Module:Wikidata&amp;quot;&lt;br /&gt;
local wdpath = require &amp;quot;Module:Wikidata/Chemin&amp;quot;&lt;br /&gt;
local langue = require &amp;quot;Module:Langue&amp;quot;&lt;br /&gt;
local Outils = require &amp;quot;Module:Outils&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local bases = {&amp;quot;architecture&amp;quot;, &amp;quot;art&amp;quot;, &amp;quot;astronomie&amp;quot;, &amp;quot;audiovisuel&amp;quot;, &amp;quot;bande dessinée&amp;quot;, &amp;quot;géographie&amp;quot;, &amp;quot;jeu&amp;quot;, &amp;quot;jeu vidéo&amp;quot;, &amp;quot;littérature&amp;quot;, &amp;quot;militaire&amp;quot;, &amp;quot;mode&amp;quot;, &amp;quot;multidisciplinaires&amp;quot;, &amp;quot;musique&amp;quot;, &amp;quot;organisation&amp;quot;, &amp;quot;pornographie&amp;quot;, &amp;quot;recherche&amp;quot;, &amp;quot;religion&amp;quot;, &amp;quot;santé&amp;quot;, &amp;quot;spectacle&amp;quot;, &amp;quot;sport&amp;quot;, &amp;quot;tourisme&amp;quot;, &amp;quot;transport&amp;quot;, &amp;quot;vie publique&amp;quot;, &amp;quot;vivant&amp;quot; }&lt;br /&gt;
local basesHeadername = {&lt;br /&gt;
	[&amp;quot;architecture&amp;quot;] = &amp;quot;à l&amp;#039;architecture&amp;quot;,&lt;br /&gt;
	[&amp;quot;art&amp;quot;] = &amp;quot;aux beaux-arts&amp;quot;,&lt;br /&gt;
	[&amp;quot;astronomie&amp;quot;] = &amp;quot;à l&amp;#039;astronomie&amp;quot;,&lt;br /&gt;
	[&amp;quot;audiovisuel&amp;quot;] = &amp;quot;à l&amp;#039;audiovisuel&amp;quot;,&lt;br /&gt;
	[&amp;quot;bande dessinée&amp;quot;] = &amp;quot;à la bande dessinée&amp;quot;,&lt;br /&gt;
	[&amp;quot;géographie&amp;quot;] = &amp;quot;à la géographie&amp;quot;,&lt;br /&gt;
	[&amp;quot;jeu&amp;quot;] = &amp;quot;au jeu&amp;quot;,&lt;br /&gt;
	[&amp;quot;jeu vidéo&amp;quot;] = &amp;quot;au jeu vidéo&amp;quot;,&lt;br /&gt;
	[&amp;quot;littérature&amp;quot;] = &amp;quot;à la littérature&amp;quot;,&lt;br /&gt;
	[&amp;quot;militaire&amp;quot;] = &amp;quot;aux militaires&amp;quot;,&lt;br /&gt;
	[&amp;quot;mode&amp;quot;] = &amp;quot;à la mode&amp;quot;,&lt;br /&gt;
	[&amp;quot;multidisciplinaires&amp;quot;] = &amp;quot;à plusieurs domaines&amp;quot;,&lt;br /&gt;
	[&amp;quot;musique&amp;quot;] = &amp;quot;à la musique&amp;quot;,&lt;br /&gt;
	[&amp;quot;organisation&amp;quot;] = &amp;quot;aux organisations&amp;quot;,&lt;br /&gt;
	[&amp;quot;pornographie&amp;quot;] = &amp;quot;à la pornographie&amp;quot;,&lt;br /&gt;
	[&amp;quot;recherche&amp;quot;] = &amp;quot;à la recherche&amp;quot;,&lt;br /&gt;
	[&amp;quot;religion&amp;quot;] = &amp;quot;à la religion&amp;quot;,&lt;br /&gt;
	[&amp;quot;santé&amp;quot;] = &amp;quot;à la santé&amp;quot;,&lt;br /&gt;
	[&amp;quot;spectacle&amp;quot;] = &amp;quot;au spectacle&amp;quot;,&lt;br /&gt;
	[&amp;quot;sport&amp;quot;] = &amp;quot;au sport&amp;quot;,&lt;br /&gt;
	[&amp;quot;tourisme&amp;quot;] = &amp;quot;au tourisme&amp;quot;,&lt;br /&gt;
	[&amp;quot;transport&amp;quot;] = &amp;quot;au transport&amp;quot;,&lt;br /&gt;
	[&amp;quot;vie publique&amp;quot;] = &amp;quot;à la vie publique&amp;quot;,&lt;br /&gt;
	[&amp;quot;vivant&amp;quot;] = &amp;quot;au vivant&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- fonctions internes ---&lt;br /&gt;
&lt;br /&gt;
local function langs(property, frame, showfr) &lt;br /&gt;
	local lang_set = {}&lt;br /&gt;
	-- P1629 : élément de la base de la propriété d’identification ; P407 = langue de cette oeuvre ; P305 = code IETF de la langue&lt;br /&gt;
	-- ou alors les qualificatifs de langue de la déclaration « format de l’url » de l’élément de la propriété. &lt;br /&gt;
	for codelang in wdpath.iterate(property, &amp;quot;(P1629/P407|P1630&amp;gt;P407)/P305&amp;quot;) do&lt;br /&gt;
		local lang = codelang:snak().datavalue.value&lt;br /&gt;
		if not showfr and lang == &amp;quot;fr&amp;quot; then&lt;br /&gt;
			lang_set = {}&lt;br /&gt;
			break&lt;br /&gt;
		else&lt;br /&gt;
			--ne pas insérer les doublons&lt;br /&gt;
			lang_set[lang] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #lang_set &amp;gt; 0 then&lt;br /&gt;
		-- TODO : à trier par ordre de nom de langue ?? table.sort&lt;br /&gt;
		local args = {}&lt;br /&gt;
		for k, _ in pairs(lang_set) do&lt;br /&gt;
			args[#args+1] = k&lt;br /&gt;
		end&lt;br /&gt;
		args.maxLang = 3&lt;br /&gt;
		return langue.indicationMultilingue(args)&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function inBase(base, valueToFind)&lt;br /&gt;
	for _, v in ipairs(base) do&lt;br /&gt;
		if v[2] == valueToFind then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--- fonctions à ne pas utiliser dans l&amp;#039;espace encyclopédique ---&lt;br /&gt;
&lt;br /&gt;
function p.contient(frame)&lt;br /&gt;
	local property = frame.args[&amp;quot;propriété&amp;quot;] or frame.args.property&lt;br /&gt;
	local basesWithProperty = {}&lt;br /&gt;
	for _, base in ipairs(bases) do&lt;br /&gt;
		if inBase(require(&amp;quot;Module:Bases/&amp;quot; .. base ), property) then&lt;br /&gt;
			table.insert(basesWithProperty, base)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(basesWithProperty, &amp;quot;,&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.count(frame)&lt;br /&gt;
	local TableTools = require(&amp;#039;Module:TableTools&amp;#039;)&lt;br /&gt;
	local name = frame.args.name&lt;br /&gt;
	local bases = require(&amp;quot;Module:Bases/&amp;quot; .. name)&lt;br /&gt;
	return TableTools.size(bases)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.documentation(frame)&lt;br /&gt;
	local name = frame.args.name&lt;br /&gt;
	local headername = frame.args.headername or name&lt;br /&gt;
	local namebis = frame.args.namebis or headername&lt;br /&gt;
	local categorie = &amp;quot;Page pointant vers des bases relatives &amp;quot; .. headername&lt;br /&gt;
	local bases = require(&amp;quot;Module:Bases/&amp;quot; .. name)&lt;br /&gt;
	local pagesincat = require(&amp;quot;Module:Pagesincat&amp;quot;)&lt;br /&gt;
	local complet = not (frame.args.complet and frame.args.complet == &amp;quot;faux&amp;quot;)&lt;br /&gt;
	local restrict = frame.args.restrict&lt;br /&gt;
	local lines = {}&lt;br /&gt;
	local linesNonFr = {}&lt;br /&gt;
	&lt;br /&gt;
	-- texte d&amp;#039;introduction&lt;br /&gt;
	table.insert(lines , &amp;quot;Modèle à utiliser principalement dans la section [[WP:LE|Liens externes]] d&amp;#039;une page. Il affiche une liste de liens vers des bases de données en rapport avec &amp;quot; .. namebis .. &amp;quot;, associée à la page wikipédia dans laquelle il est appelé ou à l’&amp;#039;&amp;#039;&amp;#039;id&amp;#039;&amp;#039;&amp;#039; spécifique appelé par le modèle. Le paramètre optionnel &amp;lt;code&amp;gt;id=&amp;lt;/code&amp;gt; peut être utilisé pour désigner un élément Wikidata autre que celui de la page de Wikipédia où le modèle est employé.&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;La liste des liens vers les bases est affichée par ordre alphabétique. Les liens vers des bases francophones sont placés en premier.&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;La liste est générée automatiquement à partir des données de l&amp;#039;élément Wikidata relié à la page ou à l’&amp;#039;&amp;#039;&amp;#039;id&amp;#039;&amp;#039;&amp;#039; spécifique appelé par le modèle.&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;Les liens affichables par la base  &amp;quot; .. name .. &amp;quot; sont chacune des &amp;#039;&amp;#039;&amp;#039;propriétés&amp;#039;&amp;#039;&amp;#039; du tableau. Le &amp;#039;&amp;#039;&amp;#039;sujet&amp;#039;&amp;#039;&amp;#039; de ces bases est le lien vers la page wikipédia associée à cette base, ou par défaut d&amp;#039;un wiki d&amp;#039;une autre langue quand il existe. Le modèle cible l&amp;#039;élément dans la base de données depuis l’&amp;#039;&amp;#039;&amp;#039;url&amp;#039;&amp;#039;&amp;#039; de la base, dont le contenu est rédigé dans une ou plusieurs &amp;#039;&amp;#039;&amp;#039;langues&amp;#039;&amp;#039;&amp;#039;.&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;Tout ajout ou suppression de liens dans la base doit passer par [[Wikipédia:Ateliers Bases]].&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;La modification du module se fait à la page [[Module:Bases/&amp;quot; .. name ..&amp;quot;]].&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;Les pages utilisant le modèle sont listées dans la catégorie [[:Catégorie:&amp;quot; .. categorie .. &amp;quot;|&amp;quot; .. categorie .. &amp;quot;]], qui contient actuellement &amp;quot; .. pagesincat.pagesincat{categorie, type=&amp;#039;pages&amp;#039;, mise_en_forme=&amp;#039;oui&amp;#039;} .. &amp;quot; pages.&amp;quot;)&lt;br /&gt;
	table.insert(lines , &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	table.insert(lines , &amp;#039;{| class=&amp;quot;wikitable&amp;quot;&amp;#039;)&lt;br /&gt;
	table.insert(lines , &amp;#039;|-&amp;#039;)&lt;br /&gt;
	table.insert(lines , &amp;#039;! Propriété&amp;#039;)&lt;br /&gt;
	table.insert(lines , &amp;#039;! Sujet&amp;#039;)&lt;br /&gt;
	table.insert(lines , &amp;#039;! Libellé&amp;#039;)&lt;br /&gt;
	table.insert(lines , &amp;#039;! URL&amp;#039;)&lt;br /&gt;
	table.insert(lines , &amp;#039;! Langue&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	for i, base in pairs(bases) do&lt;br /&gt;
		local texte = base[1]&lt;br /&gt;
		&lt;br /&gt;
		local found&lt;br /&gt;
		if restrict ~= nil then&lt;br /&gt;
			local rawtext = texte&lt;br /&gt;
			if type( rawtext ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
				rawtext = rawtext[1]&lt;br /&gt;
			end&lt;br /&gt;
			local firstletter = string.sub(rawtext , 1, 1)&lt;br /&gt;
&lt;br /&gt;
			if firstletter == &amp;quot;&amp;#039;&amp;quot; then&lt;br /&gt;
				firstletter = string.sub(rawtext , 3, 3)&lt;br /&gt;
			end&lt;br /&gt;
			found = string.find(restrict, string.upper(firstletter))&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if restrict == nil or found ~= nil then&lt;br /&gt;
			if type( texte ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
				texte = langue.langue{texte[2], texte = texte[1]}&lt;br /&gt;
			end&lt;br /&gt;
			local propertie = string.sub(base[2], 2)&lt;br /&gt;
			&lt;br /&gt;
			local val = base[2]&lt;br /&gt;
			local label = wikidata.getLabel(base[2])&lt;br /&gt;
			if not label then&lt;br /&gt;
				val = &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;&amp;#039; .. base[2] .. &amp;#039; : propriété inconnue&amp;lt;/strong&amp;gt;&amp;#039;&lt;br /&gt;
	 		elseif complet then&lt;br /&gt;
				val = frame:expandTemplate{title=&amp;#039;WD P&amp;#039;, args = {propertie,&amp;#039;pages&amp;#039;} }&lt;br /&gt;
			else&lt;br /&gt;
				val = &amp;#039;[[d:P:&amp;#039; .. base[2] .. &amp;#039;|&amp;#039; .. base[2] ..&amp;#039; &amp;lt;small&amp;gt;(«&amp;amp;nbsp;&amp;#039; .. label .. &amp;#039;&amp;amp;nbsp;»)&amp;lt;/small&amp;gt;]] &amp;amp;nbsp;→&amp;amp;nbsp; &amp;lt;small&amp;gt;[[:Catégorie:Page utilisant &amp;#039; .. base[2] ..&amp;#039;|catégorie]]&amp;lt;/small&amp;gt;&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			local lang_str = label and langs(base[2], frame, true) or &amp;quot;&amp;quot;&lt;br /&gt;
			local subject = wikidata.formatStatements{entity = base[2], property = &amp;#039;P1629&amp;#039;} or &amp;#039;&amp;#039;&lt;br /&gt;
			&lt;br /&gt;
			if string.find(lang_str, &amp;quot;fr&amp;quot;) ~= nil then&lt;br /&gt;
				table.insert(lines , &amp;#039;|-&amp;#039;)&lt;br /&gt;
				table.insert(lines , &amp;#039;| &amp;#039; .. val)&lt;br /&gt;
				table.insert(lines , &amp;#039;| &amp;#039; .. subject)&lt;br /&gt;
				table.insert(lines , &amp;#039;| &amp;#039; .. texte)&lt;br /&gt;
				table.insert(lines , &amp;#039;| &amp;#039; .. base[3])&lt;br /&gt;
				table.insert(lines , &amp;#039;| &amp;#039; .. lang_str )&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(linesNonFr , &amp;#039;|-&amp;#039;)&lt;br /&gt;
				table.insert(linesNonFr , &amp;#039;| &amp;#039; .. val)&lt;br /&gt;
				table.insert(linesNonFr , &amp;#039;| &amp;#039; .. subject)&lt;br /&gt;
				table.insert(linesNonFr , &amp;#039;| &amp;#039; .. texte)&lt;br /&gt;
				table.insert(linesNonFr , &amp;#039;| &amp;#039; .. base[3])&lt;br /&gt;
				table.insert(linesNonFr , &amp;#039;| &amp;#039; .. lang_str )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- fusion de bases fr en 1er, puis des autres bases&lt;br /&gt;
	for i, v in ipairs(linesNonFr) do table.insert(lines, v) end&lt;br /&gt;
	table.insert(lines , &amp;#039;|}&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(lines, &amp;quot;\n&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- fonctions pour l&amp;#039;espace encyclopédique ---&lt;br /&gt;
&lt;br /&gt;
function p.tout_comme_table(frame)&lt;br /&gt;
	local args = Outils.extractArgs(frame)&lt;br /&gt;
	&lt;br /&gt;
	local keysPrio = {}&lt;br /&gt;
	local keys = {}&lt;br /&gt;
	local valsPrio = {}&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	local valsFinal = {}&lt;br /&gt;
	local tri = args[&amp;quot;tri&amp;quot;] or args[&amp;quot;trie&amp;quot;] or args[&amp;quot;sort&amp;quot;] or &amp;quot;none&amp;quot;&lt;br /&gt;
	local sortBySize = tri == &amp;quot;taille max&amp;quot;&lt;br /&gt;
	local sortBySizeInverse = tri == &amp;quot;taille min&amp;quot;&lt;br /&gt;
	local sortByAlpha = tri == &amp;quot;alphabétique&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	args.noarchive = true&lt;br /&gt;
	args.noinactifcat = true&lt;br /&gt;
	&lt;br /&gt;
	for _, base in ipairs(bases) do&lt;br /&gt;
		if args[base] ~= &amp;quot;-&amp;quot; then&lt;br /&gt;
			local baseArgs = args&lt;br /&gt;
			baseArgs.name = base&lt;br /&gt;
			baseArgs.headername = basesHeadername[base]&lt;br /&gt;
			local texte, taille, len = p.main(baseArgs, true)&lt;br /&gt;
			if taille then&lt;br /&gt;
				if args[base] then&lt;br /&gt;
					local key = args[base] * 100&lt;br /&gt;
					while valsPrio[key] do&lt;br /&gt;
						key = key+ 1&lt;br /&gt;
					end&lt;br /&gt;
					table.insert(keysPrio, key)&lt;br /&gt;
					valsPrio[key] = texte&lt;br /&gt;
				else&lt;br /&gt;
					local key = taille * 1000 + len&lt;br /&gt;
					while vals[key] do&lt;br /&gt;
						key = key + 1&lt;br /&gt;
					end&lt;br /&gt;
					table.insert(keys, key)&lt;br /&gt;
					vals[key] = texte&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	table.sort(keysPrio)&lt;br /&gt;
	if sortByAlpha then&lt;br /&gt;
		-- ne rien faire&lt;br /&gt;
	elseif sortBySizeInverse then&lt;br /&gt;
		table.sort(keys)&lt;br /&gt;
	else -- par défaut : if sortBySize then&lt;br /&gt;
		table.sort(keys, function(a,b) return a&amp;gt;b end)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _, k in ipairs(keysPrio) do table.insert(valsFinal, valsPrio[k]) end&lt;br /&gt;
	for _, k in ipairs(keys) do table.insert(valsFinal, vals[k]) end&lt;br /&gt;
	&lt;br /&gt;
	return valsFinal&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.tout(frame)&lt;br /&gt;
	local valsFinal = p.tout_comme_table(frame)&lt;br /&gt;
&lt;br /&gt;
	local rendu = table.concat(valsFinal, &amp;quot;\n*&amp;quot;)&lt;br /&gt;
	if rendu == &amp;quot;&amp;quot; and mw.title.getCurrentTitle().namespace == 0 and not frame:getParent().args.nocat then&lt;br /&gt;
		return &amp;quot;[[Catégorie:Page utilisant un modèle Bases inactif]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- TODO : surveiller [[phab:T280260]], et lorsque le bug sera corrigé, défaire [[Spécial:Diff/181960530]]&lt;br /&gt;
	-- discussion : [[Discussion Projet:Bases#Petite régression d&amp;#039;affichage : ligne à puce parasite]]&lt;br /&gt;
	&lt;br /&gt;
	return rendu&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame , returnSize)&lt;br /&gt;
	local args = Outils.extractArgs(frame)&lt;br /&gt;
&lt;br /&gt;
	-- Récupération des paramètres, soit ceux passés par le modèle,&lt;br /&gt;
	-- soit ceux passés au modèle&lt;br /&gt;
	local id = Outils.validTextArg(args , &amp;#039;id&amp;#039;, &amp;#039;wikidata&amp;#039;, &amp;#039;entity&amp;#039;, 1)&lt;br /&gt;
	local name = args.name&lt;br /&gt;
	local headername = args.headername or basesHeadername[name]&lt;br /&gt;
	local noarchive = args.noarchive&lt;br /&gt;
	local nocat = args.nocat or mw.title.getCurrentTitle().namespace ~= 0&lt;br /&gt;
	local noinactifcat = nocat or args.noinactifcat&lt;br /&gt;
	local len = 0&lt;br /&gt;
	&lt;br /&gt;
	-- Chargement des données de la base souhaitée&lt;br /&gt;
	local bases = require(&amp;quot;Module:Bases/&amp;quot; .. name)&lt;br /&gt;
&lt;br /&gt;
	-- Récupération des propriétés wikidata de l&amp;#039;entité sélectionné&lt;br /&gt;
	local entityId = id or mw.wikibase.getEntityIdForCurrentPage() or &amp;#039;&amp;#039;&lt;br /&gt;
	if not (mw.wikibase.isValidEntityId(entityId) and mw.wikibase.entityExists(entityId)) then&lt;br /&gt;
		if noinactifcat then&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
			return &amp;quot;[[Catégorie:Page utilisant le modèle Bases &amp;quot; .. name .. &amp;quot; inactif]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Pour chaque base dans notre liste, on vérifie si notre entité la possède&lt;br /&gt;
	-- si c&amp;#039;est le cas, on formate et ajoute un lien vers elle dans une liste&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	local valsNonFr = {}&lt;br /&gt;
	for i, base in pairs(bases) do&lt;br /&gt;
		-- Pour gérer les cas comme sur Module:Bases/art où des tables sont dans&lt;br /&gt;
		-- des tables =&amp;gt; langue du titre de la base pour l&amp;#039;accessibilité&lt;br /&gt;
		local nom&lt;br /&gt;
		local texte&lt;br /&gt;
		if type( base[1] ) == &amp;#039;table&amp;#039; then&lt;br /&gt;
			nom = base[1][1]&lt;br /&gt;
			texte = langue.langue{ base[1][2], texte = base[1][1] }&lt;br /&gt;
		else&lt;br /&gt;
			nom = base[1]&lt;br /&gt;
			texte = base[1]&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local val&lt;br /&gt;
		local value = args[nom] or args[base[2]]&lt;br /&gt;
		if value ~= &amp;quot;-&amp;quot; then&lt;br /&gt;
			if value then&lt;br /&gt;
				val = wikidata.getDataValue({snaktype = &amp;#039;value&amp;#039;, excludespecial=true, datatype = &amp;#039;external-id&amp;#039;, datavalue = {value = value } }, {urlpattern = base[3], text = texte})&lt;br /&gt;
			else&lt;br /&gt;
				val = wikidata.formatStatements{entity = entityId, excludespecial=true, text = texte, property = base[2], urlpattern = base[3], numval = 1, addcat = not nocat, qualifier = &amp;#039;P407&amp;#039;, qualifiervalue = &amp;#039;Q150&amp;#039;} or wikidata.formatStatements{entity = entityId, text = texte, property = base[2], urlpattern = base[3], numval = 1, addcat = not nocat}&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if val and val:sub(1, 1) ~= &amp;quot;-&amp;quot; then&lt;br /&gt;
			local lang_str = langs and langs(base[2], frame, false)&lt;br /&gt;
&lt;br /&gt;
			if lang_str ~= &amp;quot;&amp;quot; then&lt;br /&gt;
				table.insert(valsNonFr, lang_str .. &amp;quot;&amp;amp;nbsp;&amp;quot; .. val)&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(vals, val)&lt;br /&gt;
			end&lt;br /&gt;
			if returnSize then&lt;br /&gt;
				len = len + string.len(nom)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- fusion de bases fr en 1er, puis des autres bases&lt;br /&gt;
	for i, v in ipairs(valsNonFr) do table.insert(vals, v) end&lt;br /&gt;
	&lt;br /&gt;
	-- On catégorise si l&amp;#039;entité ne possède aucune des bases listés&lt;br /&gt;
	if #vals == 0 then&lt;br /&gt;
		if noinactifcat then&lt;br /&gt;
			return &amp;quot;&amp;quot;&lt;br /&gt;
		else&lt;br /&gt;
		 	return &amp;quot;[[Catégorie:Page utilisant le modèle Bases &amp;quot; ..  name .. &amp;quot; inactif]]&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Ajout du label si l&amp;#039;id wikidata a été précisé manuellement&lt;br /&gt;
	local entityInfo = &amp;#039;&amp;#039;&lt;br /&gt;
	if id then&lt;br /&gt;
		local label = mw.wikibase.getLabel(entityId)&lt;br /&gt;
		local link = wikidata.siteLink(entityId)&lt;br /&gt;
		if label then&lt;br /&gt;
			if link then&lt;br /&gt;
				entityInfo = &amp;#039; (pour [[&amp;#039; .. link .. &amp;#039;|&amp;#039; .. label  .. &amp;#039;]])&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				entityInfo = &amp;#039; (pour &amp;#039; .. label  .. &amp;#039;)&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		elseif link then&lt;br /&gt;
			entityInfo = &amp;#039; (pour [[&amp;#039; .. link .. &amp;#039;]])&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Concaténation des liens et formatage final&lt;br /&gt;
	local header = &amp;#039;&amp;#039;&lt;br /&gt;
	if #vals &amp;gt; 1 then&lt;br /&gt;
		header = &amp;quot;Ressources relatives &amp;quot; .. headername .. entityInfo&lt;br /&gt;
	else&lt;br /&gt;
		header = &amp;quot;Ressource relative &amp;quot; .. headername .. entityInfo&lt;br /&gt;
	end&lt;br /&gt;
	local title = wikidata.addLinkBack(header, entityId, &amp;#039;identifiers&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	-- Ajout des catégories qui vont bien&lt;br /&gt;
	local categories = &amp;#039;&amp;#039; &lt;br /&gt;
	if not nocat then&lt;br /&gt;
		categories = &amp;quot;[[Catégorie:Page pointant vers des bases externes]] [[Catégorie:Page pointant vers des bases relatives &amp;quot; .. headername .. &amp;quot;]]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- XXX: c&amp;#039;est invalide de mettre un &amp;lt;ul&amp;gt; (block-level) dans un &amp;lt;span&amp;gt; (inline-level)&lt;br /&gt;
	local elementsHtml = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;liste-horizontale&amp;#039;)&lt;br /&gt;
		:addClass(noarchive and &amp;#039;noarchive&amp;#039; or nil)&lt;br /&gt;
		:wikitext(title .. &amp;#039; : &amp;#039;)&lt;br /&gt;
		:tag(&amp;#039;ul&amp;#039;)&lt;br /&gt;
	for _, val in ipairs(vals) do&lt;br /&gt;
		elementsHtml:tag(&amp;#039;li&amp;#039;):wikitext(val):done():wikitext(&amp;#039; &amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if returnSize then&lt;br /&gt;
		len = len + string.len(header)&lt;br /&gt;
		return tostring(elementsHtml:allDone()) .. categories, #vals, len&lt;br /&gt;
	else&lt;br /&gt;
		return tostring(elementsHtml:allDone()) .. categories&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Jaggerwock</name></author>
	</entry>
</feed>