<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://baripedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ABandeau</id>
	<title>Module:Bandeau - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://baripedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ABandeau"/>
	<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:Bandeau&amp;action=history"/>
	<updated>2026-05-04T08:10:24Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.38.6</generator>
	<entry>
		<id>https://baripedia.org/index.php?title=Module:Bandeau&amp;diff=30840&amp;oldid=prev</id>
		<title>Arthur : 1 révision importée</title>
		<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:Bandeau&amp;diff=30840&amp;oldid=prev"/>
		<updated>2016-01-27T20:13:57Z</updated>

		<summary type="html">&lt;p&gt;1 révision importée&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--Ce module implémente les modèles de bandeau.&lt;br /&gt;
&lt;br /&gt;
--Standardisation des bandeaux ([[Catégorie:Modèle de bandeau]]).&lt;br /&gt;
--Créer une fonction exportable pour le modèle {{Bandeau}} (ns:all).&lt;br /&gt;
--Créer une fonction exportable pour les bandeaux d'article (ns:0).&lt;br /&gt;
--Créer une fonction exportable pour les bandeaux de section (ns:0).&lt;br /&gt;
--Créer une fonction exportable pour les bandeaux d'ébauche (ns:0).&lt;br /&gt;
--Créer une fonction exportable pour les bandeaux de discussion (ns:1).&lt;br /&gt;
--Créer une fonction exportable pour les bandeaux système (ns:8).&lt;br /&gt;
--Gérer les images multiples.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local trim = require('Module:Outils').trim&lt;br /&gt;
local yesno = require('Module:yesno')&lt;br /&gt;
local class = mw.loadData('Module:Bandeau/Class')&lt;br /&gt;
-- local paramEbauche = mw.loadData('Module:Bandeau/Ébauche') -- ne sera chargé que pour un bandeau d'ébauche.&lt;br /&gt;
&lt;br /&gt;
local cfg = {&lt;br /&gt;
	forme = 'bandeau-simple',&lt;br /&gt;
	niveau = 'bandeau-niveau-neutre',&lt;br /&gt;
	formatLien = '[[Fichier:%s|%spx|alt=%s]]',&lt;br /&gt;
	tailleIcone = '45x45',&lt;br /&gt;
	public = 'domaine public',&lt;br /&gt;
	erreurArgument = 'Paramètre &amp;lt;code&amp;gt;|%s=&amp;lt;/code&amp;gt; manquant',&lt;br /&gt;
	erreurEbaucheParam = 'le thème « %s » du modèle [[Modèle:Ébauche|{{ébauche}}]] n’est pas [[Aide:Ébauche/Aide paramètres|défini]].',&lt;br /&gt;
	erreurEbaucheType = 'le thème « %s » doit apparaître en tête de liste du modèle [[Modèle:Ébauche|{{ébauche}}]].',&lt;br /&gt;
	ebaucheImage = '&amp;lt;span style=&amp;quot;white-space:nowrap;word-spacing:5px&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;',&lt;br /&gt;
	ebaucheTitre = '%s est une [[Aide:Ébauche|ébauche]].',&lt;br /&gt;
	ebaucheTitreSujet = '%s est une [[Aide:Ébauche|ébauche]] concernant %s.',&lt;br /&gt;
	ebaucheCateg = '[[Catégorie:Wikipédia:ébauche %s]]',&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function erreur(texte, formatstring, tag)&lt;br /&gt;
	local res = mw.html.create(tag or 'span')&lt;br /&gt;
	res	:addClass('error')&lt;br /&gt;
		:wikitext('Erreur : ')&lt;br /&gt;
&lt;br /&gt;
	if formatstring then&lt;br /&gt;
		res:wikitext(string.format(formatstring, texte))&lt;br /&gt;
	else&lt;br /&gt;
		res:wikitext(texte)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(res)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._bandeau(args)&lt;br /&gt;
	local res = mw.html.create('div')&lt;br /&gt;
	local cells = mw.html.create()&lt;br /&gt;
	local icone = trim(args.image) or trim(args['icône'])&lt;br /&gt;
	local backgroundIcone = class.icones[icone] or ''&lt;br /&gt;
	local texte = (trim(args.texte) or erreur('texte', cfg.erreurArgument))&lt;br /&gt;
&lt;br /&gt;
	res	:attr{ id = args.id }&lt;br /&gt;
		:addClass(class.formes[args.forme] or cfg.forme)&lt;br /&gt;
		:addClass(class.niveau[args.niveau] or cfg.niveau)&lt;br /&gt;
		:addClass('plainlinks')&lt;br /&gt;
		:addClass(args.class)&lt;br /&gt;
		:cssText(args.style)&lt;br /&gt;
	&lt;br /&gt;
	if yesno(args.centrer) then&lt;br /&gt;
		cells = mw.html.create('div')&lt;br /&gt;
			:addClass('bandeau-centrer')&lt;br /&gt;
	end&lt;br /&gt;
	if icone and backgroundIcone == '' then&lt;br /&gt;
		local iconeWiki = icone&lt;br /&gt;
		if not icone:match('%[') then&lt;br /&gt;
			local alt = args.alt or args['légende'] or ''&lt;br /&gt;
			if alt:lower() == cfg.public then&lt;br /&gt;
				alt = '|link='&lt;br /&gt;
			end&lt;br /&gt;
			local taille = args['taille icône'] or cfg.tailleIcone&lt;br /&gt;
			iconeWiki = mw.ustring.format(cfg.formatLien, icone, taille, alt)&lt;br /&gt;
		end&lt;br /&gt;
		cells&lt;br /&gt;
			:tag('div')&lt;br /&gt;
				:addClass('bandeau-cell bandeau-icone')&lt;br /&gt;
				:cssText(args.styleImage) --Provisoire&lt;br /&gt;
				:wikitext(iconeWiki)&lt;br /&gt;
			:done()&lt;br /&gt;
	elseif backgroundIcone ~= '' and args.forme == 'section' then&lt;br /&gt;
		texte = '&amp;amp;ensp;' .. texte&lt;br /&gt;
	end&lt;br /&gt;
	cells&lt;br /&gt;
		:tag('div')&lt;br /&gt;
			:addClass('bandeau-cell ' .. backgroundIcone)&lt;br /&gt;
			:cssText(args.styleTexte) --Provisoire&lt;br /&gt;
			:wikitext(texte)&lt;br /&gt;
			:newline()&lt;br /&gt;
		:done()&lt;br /&gt;
		&lt;br /&gt;
	res	:node(cells)&lt;br /&gt;
	&lt;br /&gt;
	if trim(args['supplément']) then&lt;br /&gt;
		res	:tag('p')   &lt;br /&gt;
				:wikitext(args['supplément'])&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring(res)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._bandeauAvertissement(args)&lt;br /&gt;
	local htmlTexte = mw.html.create()&lt;br /&gt;
&lt;br /&gt;
	htmlTexte&lt;br /&gt;
		:tag('strong')&lt;br /&gt;
			:addClass('bandeau-titre')&lt;br /&gt;
			:wikitext(trim(args.titre) or erreur('titre', cfg.erreurArgument))&lt;br /&gt;
		:done()&lt;br /&gt;
		:wikitext(args.date)&lt;br /&gt;
		:newline():newline()&lt;br /&gt;
		:wikitext(args.texte)&lt;br /&gt;
&lt;br /&gt;
	local parametres = {&lt;br /&gt;
		forme = 'article',&lt;br /&gt;
		niveau = args.niveau,&lt;br /&gt;
		id = args.id,&lt;br /&gt;
		class = args.class,&lt;br /&gt;
		['icône'] = trim(args['icône']) or trim(args['icône-complexe']) or args.niveau,&lt;br /&gt;
		alt = args.alt or args['légende'],&lt;br /&gt;
		texte = tostring(htmlTexte),&lt;br /&gt;
		['supplément'] = args['supplément']&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	return p._bandeau(parametres)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._bandeauSection(args)&lt;br /&gt;
	local res = mw.html.create('div')&lt;br /&gt;
	local icone = trim(args.image) or trim(args['icône'])&lt;br /&gt;
	local backgroundIcone = class.icones[icone] or ''&lt;br /&gt;
	local texte = '&amp;amp;ensp;' .. (trim(args.texte) or erreur('texte', cfg.erreurArgument))&lt;br /&gt;
&lt;br /&gt;
	res	:addClass('bandeau-section')&lt;br /&gt;
		:addClass(class.niveau[args.niveau] or cfg.niveau)&lt;br /&gt;
	&lt;br /&gt;
	if icone and backgroundIcone == '' then&lt;br /&gt;
		local iconeWiki = icone&lt;br /&gt;
		if not icone:match('%[') then&lt;br /&gt;
			local alt = args.alt or args['légende'] or ''&lt;br /&gt;
			if alt:lower() == cfg.public then&lt;br /&gt;
				alt = '|link='&lt;br /&gt;
			end&lt;br /&gt;
			iconeWiki = mw.ustring.format(cfg.formatLien, icone, 'text-top|20x17', alt)&lt;br /&gt;
		end&lt;br /&gt;
		res	:wikitext(iconeWiki)&lt;br /&gt;
			:done()&lt;br /&gt;
	end&lt;br /&gt;
	res	:addClass(backgroundIcone)&lt;br /&gt;
		:wikitext(texte)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	return tostring(res)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p['_ébauche'] = function (args)&lt;br /&gt;
	local paramEbauche = mw.loadData('Module:Bandeau/Ébauche')&lt;br /&gt;
	local ebauches, gestionErreur = {}, {}&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local parametres = {&lt;br /&gt;
		icone = 'icône',&lt;br /&gt;
		sujet = 'sujet',&lt;br /&gt;
		selon = 'selon',&lt;br /&gt;
		categ = 'catégorie',&lt;br /&gt;
		type  = 'type',&lt;br /&gt;
		message = 'message'&lt;br /&gt;
	}&lt;br /&gt;
	local getEbaucheTable = function( theme )&lt;br /&gt;
		-- récupére les paramètres lié au theme, à partir du module:Bandeau/Ébauche ou du modèle:Ébauche/paramètres theme&lt;br /&gt;
		local modele = 'Modèle:Ébauche/paramètres ' .. theme&lt;br /&gt;
		local params&lt;br /&gt;
		if paramEbauche[theme] then&lt;br /&gt;
			params = { nom = theme }&lt;br /&gt;
			for n, v in pairs(paramEbauche[theme]) do&lt;br /&gt;
				params[n] = v&lt;br /&gt;
			end&lt;br /&gt;
		elseif mw.title.new( modele ).exists then&lt;br /&gt;
			params = { nom = theme }&lt;br /&gt;
			for n, v in pairs(parametres)  do&lt;br /&gt;
				local param = frame:expandTemplate{title = modele, args = {v}}&lt;br /&gt;
				params[n] = trim(param)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return params&lt;br /&gt;
	end&lt;br /&gt;
	local ebaucheParam = function( i, param )&lt;br /&gt;
		-- foction qui retourne la valeur de param pour l'ébauche i, ou une valeur par défaut.&lt;br /&gt;
		return ebauches[i] and ebauches[i][param] or paramEbauche[''][param]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for i, theme in ipairs(args) do&lt;br /&gt;
		-- récupération des paramètres de tous les thèmes&lt;br /&gt;
		theme = trim(theme)&lt;br /&gt;
		if theme then&lt;br /&gt;
			local t = getEbaucheTable(theme)&lt;br /&gt;
			if t then&lt;br /&gt;
				table.insert(ebauches, t)&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(&lt;br /&gt;
					gestionErreur, &lt;br /&gt;
					erreur(theme, cfg.erreurEbaucheParam, 'div')&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local images, titres, categs = {}, {}, {}&lt;br /&gt;
	local tailleIcone = cfg.tailleIcone&lt;br /&gt;
	if #ebauches &amp;gt; 3 then&lt;br /&gt;
		tailleIcone = '35x25'&lt;br /&gt;
	end&lt;br /&gt;
	for i, ebauche in ipairs(ebauches) do&lt;br /&gt;
		-- mise en forme des images&lt;br /&gt;
		if ebauche.icone then&lt;br /&gt;
			table.insert(&lt;br /&gt;
				images, &lt;br /&gt;
				cfg.formatLien:format(&lt;br /&gt;
					ebauche.icone, &lt;br /&gt;
					tailleIcone, &lt;br /&gt;
					ebauche.altIcone or ''&lt;br /&gt;
				)&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		if math.fmod(#ebauches, 3) == 1 and (#ebauches - i) == 2	&lt;br /&gt;
			or math.fmod(i, 3) == 0 and (#ebauches - i) &amp;gt; 1&lt;br /&gt;
		then&lt;br /&gt;
			-- sur plusieurs lignes s'il y a plus de 3 images, avec minimum deux images sur la dernière ligne.&lt;br /&gt;
			table.insert(images,'&amp;lt;br&amp;gt;')&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if i &amp;gt; 1 and ebauche.type and ebauche.type ~= paramEbauche[''].type then&lt;br /&gt;
			-- remplace &amp;quot;Cet article par &amp;quot;Ce portail&amp;quot; ou autre en fonction du premier thème.&lt;br /&gt;
			table.insert(&lt;br /&gt;
				gestionErreur, &lt;br /&gt;
				erreur(ebauche.nom, cfg.erreurEbaucheType, 'div')&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- récupères les différents noms de thème&lt;br /&gt;
		table.insert(titres, ebauche.sujet)&lt;br /&gt;
		&lt;br /&gt;
		-- mise en forme des catégories&lt;br /&gt;
		if ebauche.categ then &lt;br /&gt;
			table.insert( categs, cfg.ebaucheCateg:format( ebauche.categ ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local image &lt;br /&gt;
	if trim(args['icône']) then&lt;br /&gt;
		local theme = getEbaucheTable(args['icône'])&lt;br /&gt;
		if theme and theme.icone then&lt;br /&gt;
			image = cfg.formatLien:format(theme.icone, tailleIcone, theme.altIcone or '')&lt;br /&gt;
		end&lt;br /&gt;
	elseif #images == 1 then&lt;br /&gt;
		image = images[1]&lt;br /&gt;
	elseif #images &amp;gt; 1 then&lt;br /&gt;
		image = cfg.ebaucheImage:format(table.concat(images, ' '))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local titre&lt;br /&gt;
	if #titres &amp;gt; 0 then&lt;br /&gt;
		titre = cfg.ebaucheTitreSujet:format( &lt;br /&gt;
			ebaucheParam(1, 'type'), &lt;br /&gt;
			mw.text.listToText(titres)&lt;br /&gt;
		)&lt;br /&gt;
	else&lt;br /&gt;
		titre = cfg.ebaucheTitre:format(ebaucheParam(1, 'type'))&lt;br /&gt;
	end&lt;br /&gt;
	local texte&lt;br /&gt;
	if #ebauches == 0 then&lt;br /&gt;
		texte = (ebaucheParam(1, 'message')) .. '.'&lt;br /&gt;
	else&lt;br /&gt;
		texte = (ebaucheParam(1, 'message')) .. ' ' .. (ebaucheParam(1, 'selon')) .. '.'&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local parametres = {&lt;br /&gt;
		niveau = 'ébauche',&lt;br /&gt;
		['icône'] = image,&lt;br /&gt;
		titre = titre,&lt;br /&gt;
		texte = texte,&lt;br /&gt;
		id = args.id&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local categ = ''&lt;br /&gt;
	if not yesno(args.nocat) then&lt;br /&gt;
		categ = table.concat(categs)&lt;br /&gt;
		if categ == '' then&lt;br /&gt;
			categ = cfg.ebaucheCateg:format('')&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local messageErreur = table.concat(gestionErreur)&lt;br /&gt;
	if messageErreur:len() &amp;gt; 0 and not yesno(args.nocat) then&lt;br /&gt;
		messageErreur = messageErreur .. '[[Catégorie:Page utilisant un modèle avec une syntaxe erronée|Ébauche]]'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return p._bandeauAvertissement(parametres) .. messageErreur .. categ&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Insertion dans la table p des fonctions appelées par les&lt;br /&gt;
-- modèles à l'aide d'un adaptateur de fonction.&lt;br /&gt;
local function adaptateur(nomFonction)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args&lt;br /&gt;
		if frame.args.texte or frame.args.titre then&lt;br /&gt;
			args = frame.args&lt;br /&gt;
		else&lt;br /&gt;
			args = frame:getParent().args&lt;br /&gt;
		end&lt;br /&gt;
		return p[nomFonction](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
local nomsFonction = {'bandeau', 'bandeauAvertissement', 'bandeauSection', 'ébauche' } &lt;br /&gt;
for _, nomFonction in ipairs(nomsFonction) do&lt;br /&gt;
	p[nomFonction] = adaptateur('_' .. nomFonction)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Arthur</name></author>
	</entry>
	<entry>
		<id>https://baripedia.org/index.php?title=Module:Bandeau&amp;diff=7477&amp;oldid=prev</id>
		<title>Arthur : 1 version</title>
		<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:Bandeau&amp;diff=7477&amp;oldid=prev"/>
		<updated>2014-01-13T22:01:14Z</updated>

		<summary type="html">&lt;p&gt;1 version&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Module dédié à la création de bandeaux en tous genres&lt;br /&gt;
&lt;br /&gt;
local fun = {}&lt;br /&gt;
&lt;br /&gt;
function fun.metaBandeauAvertissement(frame)&lt;br /&gt;
    local pframe = frame:getParent()&lt;br /&gt;
    local arguments = pframe.args&lt;br /&gt;
    return fun.do_metaBandeauAvertissement(arguments)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Squelette d'un bandeau d'avertissement&lt;br /&gt;
function fun.do_metaBandeauAvertissement(arguments)&lt;br /&gt;
    local result = &amp;quot;&amp;quot;&lt;br /&gt;
    local niveau = arguments.niveau or &amp;quot;&amp;quot;&lt;br /&gt;
    local bClass = mw.ustring.gsub(niveau,&amp;quot;é&amp;quot;,&amp;quot;e&amp;quot;)&lt;br /&gt;
    local icone = &amp;quot;&amp;quot;&lt;br /&gt;
    local texte = &amp;quot;&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
	-- Icônes prédéfinies&lt;br /&gt;
	local iconeTable = {&lt;br /&gt;
		grave = &amp;quot;Fairytale no.svg&amp;quot;,&lt;br /&gt;
		[&amp;quot;modéré&amp;quot;] = &amp;quot;Emblem-important.svg&amp;quot;,&lt;br /&gt;
		information = &amp;quot;Information_icon.svg&amp;quot;,&lt;br /&gt;
		[&amp;quot;ébauche&amp;quot;] = &amp;quot;Nuvola_apps_kedit.svg&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
	-- Utiliser l'icône fournie s'il y a lieu, ou prendre parmi celles de la table&lt;br /&gt;
	if(arguments[&amp;quot;icône-complexe&amp;quot;] ~= nil and arguments[&amp;quot;icône-complexe&amp;quot;] ~= &amp;quot;&amp;quot;) then&lt;br /&gt;
		icone = arguments[&amp;quot;icône-complexe&amp;quot;]&lt;br /&gt;
	else&lt;br /&gt;
		icone = &amp;quot;&amp;lt;div style=\&amp;quot;width:45px; text-align:center\&amp;quot;&amp;gt;[[Fichier:&amp;quot; .. (arguments[&amp;quot;icône&amp;quot;] or iconeTable[arguments.niveau] or &amp;quot;Icon apps query.svg&amp;quot;) .. &amp;quot;|45x35px|alt=|link=]]&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Texte du bandeau&lt;br /&gt;
	if(arguments.texte ~= nil) then&lt;br /&gt;
		texte = &amp;quot;&amp;lt;div class=\&amp;quot;bandeau-texte\&amp;quot;&amp;gt;&amp;quot; .. arguments.texte .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Mise en boîte&lt;br /&gt;
	result = &amp;quot;&amp;lt;div &amp;quot; .. (arguments.id or &amp;quot;&amp;quot;) .. &amp;quot;class=\&amp;quot;plainlinks bandeau-niveau-&amp;quot; .. bClass .. &amp;quot; bandeau js-no-interprojets\&amp;quot;&amp;gt;&amp;lt;table style=\&amp;quot;background-color:transparent\&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td class=\&amp;quot;bandeau-icone\&amp;quot;&amp;gt;&amp;quot; .. icone .. &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;div class=\&amp;quot;bandeau-titre\&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;&amp;quot; .. (arguments.titre or &amp;quot;Pas de titre&amp;quot;) .. &amp;quot;&amp;lt;/strong&amp;gt;&amp;quot; .. (arguments.date or &amp;quot;&amp;quot;) .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot; .. texte .. &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot; .. (arguments[&amp;quot;supplément&amp;quot;] or &amp;quot;&amp;quot;) .. &amp;quot;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fun.ebauche(frame)&lt;br /&gt;
    local pframe = frame:getParent()&lt;br /&gt;
    local arguments = pframe.args&lt;br /&gt;
    return fun.do_ebauche(arguments)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fun.do_ebauche(arguments)&lt;br /&gt;
	-- Données relatives aux différents paramètres possibles du modèle&lt;br /&gt;
	-- Seront déplacées en sous-page dès que loadData sera activé&lt;br /&gt;
	-- local data = mw.loadData(&amp;quot;Module:Bandeau/ébauche&amp;quot;)&lt;br /&gt;
	local data = {&lt;br /&gt;
		football = {&amp;quot;Soccer.svg&amp;quot;, &amp;quot;le [[football]]&amp;quot;},&lt;br /&gt;
		footballeur = {&amp;quot;football&amp;quot;, &amp;quot;un [[Portail:Football|footballeur]]&amp;quot;},&lt;br /&gt;
		[&amp;quot;hip hop&amp;quot;] = {&amp;quot;redirection&amp;quot;, &amp;quot;hip-hop&amp;quot;},&lt;br /&gt;
		[&amp;quot;hip-hop&amp;quot;] = {&amp;quot;BandeauPortailHipHopSmall-fr.svg&amp;quot;, &amp;quot;le [[Portail:Hip-hop|hip-hop]]&amp;quot;},&lt;br /&gt;
		histoire = {&amp;quot;Pierre_Mignard_001.jpg&amp;quot;, &amp;quot;l’[[histoire]]&amp;quot;},&lt;br /&gt;
		Italie = {&amp;quot;Italy looking like the flag.svg&amp;quot;, &amp;quot;l’[[Portail:Italie|Italie]]&amp;quot;},&lt;br /&gt;
		jardinage = {&amp;quot;Extracted pink rose.png&amp;quot;, &amp;quot;le [[jardinage]] et l’[[horticulture]]&amp;quot;},&lt;br /&gt;
		lac = {&amp;quot;Icon river reservoir.svg&amp;quot;, &amp;quot;un [[lac]]&amp;quot;},&lt;br /&gt;
		lapin = {&amp;quot;Lapin01.svg&amp;quot;, &amp;quot;la [[cuniculture]]&amp;quot;, &amp;quot;Cuniculture&amp;quot;}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local index = 1&lt;br /&gt;
	local inconnu = {false, &amp;quot;&amp;quot;}&lt;br /&gt;
	local newTheme = 0&lt;br /&gt;
	local nomTheme = arguments[1]&lt;br /&gt;
	local icones = {}&lt;br /&gt;
	local sujets = {}&lt;br /&gt;
	local categories = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Récupération des données sur tous les thèmes&lt;br /&gt;
	while(arguments[index] ~= nil) do&lt;br /&gt;
		-- Récupération des données relatives au thème&lt;br /&gt;
		theme = data[nomTheme]&lt;br /&gt;
		if(theme ~= nil) then&lt;br /&gt;
			if(theme[1] == &amp;quot;alias&amp;quot; or theme[1] == &amp;quot;redirection&amp;quot;) then&lt;br /&gt;
				-- Cas de redirection&lt;br /&gt;
				newTheme = newTheme + 1&lt;br /&gt;
				nomTheme = theme[2]&lt;br /&gt;
			else&lt;br /&gt;
				-- Cas normal&lt;br /&gt;
				newTheme = 0&lt;br /&gt;
				-- Gestion de l'icône&lt;br /&gt;
				if(theme[1] ~= nil) then&lt;br /&gt;
					local cibleIcone = data[theme[1]]&lt;br /&gt;
					-- Le nom de l'icône est-il une référence directe à un autre thème ?&lt;br /&gt;
					if(cibleIcone == nil or cibleIcone[1] == &amp;quot;alias&amp;quot; or cibleIcone[1] == &amp;quot;redirection&amp;quot;) then&lt;br /&gt;
						-- Non : on récupère le nom du fichier&lt;br /&gt;
						icones[#icones+1] = theme[1]&lt;br /&gt;
					else&lt;br /&gt;
						-- Oui : on récupère l'icône de l'autre thème&lt;br /&gt;
						icones[#icones+1] = cibleIcone[1]&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				-- Gestion du sujet&lt;br /&gt;
				if(theme[2] ~= nil) then&lt;br /&gt;
					sujets[#sujets+1] = theme[2]&lt;br /&gt;
				end&lt;br /&gt;
				-- Gestion de la catégorie&lt;br /&gt;
				if(theme[3] ~= nil) then&lt;br /&gt;
					categories[#categories+1] = theme[3]&lt;br /&gt;
				else&lt;br /&gt;
					-- Par défaut, la catégorie correspond au thème&lt;br /&gt;
					categories[#categories+1] = nomTheme&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- Thème inconnu : on le mémorise et on passe au suivant&lt;br /&gt;
			newTheme = 0&lt;br /&gt;
			inconnu[1] = true&lt;br /&gt;
			inconnu[2] = inconnu[2] .. arguments[index] .. &amp;quot; &amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
        -- Passage éventuel au thème suivant&lt;br /&gt;
        if(newTheme &amp;gt; 2) then&lt;br /&gt;
			-- Prévention des boucles infinies&lt;br /&gt;
			newTheme = 0&lt;br /&gt;
		end&lt;br /&gt;
		if(newTheme == 0) then&lt;br /&gt;
			-- Nouveau thème (non issu d'une redirection)&lt;br /&gt;
			index = index + 1&lt;br /&gt;
			nomTheme = arguments[index]&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Génération du bandeau&lt;br /&gt;
	local multiIcone = &amp;quot;&amp;quot;&lt;br /&gt;
	local taille = &amp;quot;45x35px&amp;quot;&lt;br /&gt;
	-- Réduire les icônes si elles sont trop nombreuses&lt;br /&gt;
	if(#icones &amp;gt; 3) then&lt;br /&gt;
		taille = &amp;quot;35x25px&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if(#icones &amp;gt; 0) then&lt;br /&gt;
		for i = 1, #icones do&lt;br /&gt;
			multiIcone = multiIcone .. &amp;quot;[[Image:&amp;quot; .. icones[i] .. &amp;quot;|&amp;quot; .. taille .. &amp;quot;|alt=|link=]]&amp;quot;&lt;br /&gt;
			-- Passage sur la deuxième ligne&lt;br /&gt;
			if(#icones &amp;gt; 3 and i == math.floor((#icones+1)/2)) then&lt;br /&gt;
				multiIcone = multiIcone .. &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;span style=\&amp;quot;white-space:nowrap;word-spacing:5px\&amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
			elseif(i ~= #icones) then&lt;br /&gt;
				multiIcone = multiIcone .. &amp;quot; &amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		multiIcone = &amp;quot;&amp;lt;div style=\&amp;quot;text-align:center;white-space:nowrap\&amp;quot;&amp;gt;&amp;lt;span style=\&amp;quot;white-space:nowrap;word-spacing:5px\&amp;quot;&amp;gt;&amp;quot; .. multiIcone .. &amp;quot;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Texte du bandeau, contenant les sujets&lt;br /&gt;
	local texteSuj = &amp;quot;Cet article est une [[Aide:Ébauche|ébauche]]&amp;quot;&lt;br /&gt;
	if(#sujets &amp;gt; 0) then&lt;br /&gt;
		texteSuj = texteSuj .. &amp;quot; concernant &amp;quot;&lt;br /&gt;
		for i = 1, #sujets do&lt;br /&gt;
			texteSuj = texteSuj .. sujets[i]&lt;br /&gt;
			if(i &amp;lt; #sujets-1) then&lt;br /&gt;
				texteSuj = texteSuj .. &amp;quot;, &amp;quot;&lt;br /&gt;
			elseif(i == #sujets-1) then&lt;br /&gt;
				texteSuj = texteSuj .. &amp;quot; et &amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	texteSuj = texteSuj .. &amp;quot;.\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	local texteCat = &amp;quot;&amp;quot;&lt;br /&gt;
	-- Ne pas catégoriser si nocat est présent&lt;br /&gt;
	if(arguments.nocat == nil) then&lt;br /&gt;
		if(#categories &amp;gt; 0) then&lt;br /&gt;
			for i = 1, #categories do&lt;br /&gt;
				texteCat = texteCat .. &amp;quot;[[Catégorie:Wikipédia:ébauche &amp;quot; .. categories[i] .. &amp;quot;]]\n&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			texteCat = &amp;quot;[[Catégorie:Wikipédia:ébauche]]\n&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Préparation de l'appel du modèle de méta-bandeau&lt;br /&gt;
	local metaArgs = {&lt;br /&gt;
		niveau = &amp;quot;ébauche&amp;quot;,&lt;br /&gt;
		[&amp;quot;icône-complexe&amp;quot;] = multiIcone,&lt;br /&gt;
		titre = texteSuj&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
	return fun.do_metaBandeauAvertissement(metaArgs) .. &amp;quot;\n&amp;quot; .. texteCat&lt;br /&gt;
		&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return fun&lt;/div&gt;</summary>
		<author><name>Arthur</name></author>
	</entry>
</feed>