<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://www.ekopedia.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3APalette</id>
		<title>Module:Palette - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="https://www.ekopedia.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3APalette"/>
		<link rel="alternate" type="text/html" href="https://www.ekopedia.fr/index.php?title=Module:Palette&amp;action=history"/>
		<updated>2026-04-08T22:17:59Z</updated>
		<subtitle>Historique pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>https://www.ekopedia.fr/index.php?title=Module:Palette&amp;diff=126232&amp;oldid=prev</id>
		<title>- Hermes - : création</title>
		<link rel="alternate" type="text/html" href="https://www.ekopedia.fr/index.php?title=Module:Palette&amp;diff=126232&amp;oldid=prev"/>
				<updated>2021-10-13T17:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;création&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;
&lt;br /&gt;
function p.listePalette( frame )&lt;br /&gt;
&lt;br /&gt;
	-- http://lua-users.org/wiki/StringTrim&lt;br /&gt;
	local function trim( s )&lt;br /&gt;
		return s:match( '^()%s*$' ) and '' or s:match( '^%s*(.*%S)' )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
&lt;br /&gt;
	local parentArgs = {}&lt;br /&gt;
	for k, v in pairs( frame:getParent().args ) do&lt;br /&gt;
		-- effectue un trim sur les paramètres non nommés&lt;br /&gt;
		if type( k ) == 'number' then&lt;br /&gt;
			v = trim( v )&lt;br /&gt;
		end&lt;br /&gt;
		parentArgs[ k ] = v&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local wikiTable = { '&amp;lt;div class=&amp;quot;navbox-container&amp;quot; style=&amp;quot;clear:both;&amp;quot;&amp;gt;\n' }&lt;br /&gt;
	setmetatable( wikiTable, { __index = table } )   -- permet d'utiliser les fonctions de table comme des méthodes&lt;br /&gt;
	local palettesVerticales = ''&lt;br /&gt;
&lt;br /&gt;
	local maxPalette = tonumber( args.maxPalette ) or 4&lt;br /&gt;
	local categoriePaletteInconnue = '[[Catégorie:Modèle Palette - Palette inconnue]]'&lt;br /&gt;
	local categorieTropDePalette = '[[Catégorie:Modèle Palette - Page contenant trop de palettes]]'&lt;br /&gt;
	local categoriePaletteEnDouble = '[[Catégorie:Modèle Palette - Palette affichée en double]]'&lt;br /&gt;
&lt;br /&gt;
	local categories = { }&lt;br /&gt;
&lt;br /&gt;
	local function _erreur( texte, param, ... )&lt;br /&gt;
		if param then texte = texte:format( param, ... )&lt;br /&gt;
		end&lt;br /&gt;
		local sep = #wikiTable &amp;gt; 1 and '&amp;lt;hr&amp;gt;' or ''&lt;br /&gt;
		return sep .. '&amp;lt;p&amp;gt;&amp;lt;strong class=&amp;quot;error&amp;quot; style=&amp;quot;padding-left:.5em;&amp;quot;&amp;gt;' .. texte .. '&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;\n'&lt;br /&gt;
	end&lt;br /&gt;
	local function _pasDePalette()&lt;br /&gt;
		return _erreur( 'Erreur dans l’utilisation du [[Modèle:Palette]] : paramètre obligatoire absent.' )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function _paletteInconnue( i )&lt;br /&gt;
		categories.paletteInconnue = categoriePaletteInconnue&lt;br /&gt;
		local nomPalette = parentArgs[i]&lt;br /&gt;
		return _erreur( 'Erreur : il n’existe pas de modèle {{[[Modèle:Palette %s|Palette %s]]}} [[Aide:Palette de navigation|(aide)]]', nomPalette, nomPalette )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function _paletteEnDouble ( i )&lt;br /&gt;
		categories.paletteEnDouble = categoriePaletteEnDouble&lt;br /&gt;
		return &amp;quot;&amp;quot; -- inutile d'afficher une erreur visible pour ce cas puisque la mise en page n'est pas cassée&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function _paletteAvecParametres( i )&lt;br /&gt;
		local argsPalette = { }&lt;br /&gt;
		for n, v in pairs( parentArgs ) do&lt;br /&gt;
			if not tonumber(n) then&lt;br /&gt;
				if n:match( ' ' .. i .. '$' ) then&lt;br /&gt;
					argsPalette[ n:sub(1, n:len() - 1 - tostring(i):len() ) ] = v&lt;br /&gt;
				elseif n == 'nocat' .. i then&lt;br /&gt;
					argsPalette.nocat = v&lt;br /&gt;
				elseif not argsPalette[n] and n ~= 'stylecorps' then&lt;br /&gt;
					argsPalette[n] = v&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return frame:expandTemplate{ title = 'Palette ' .. parentArgs[i], args = argsPalette }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function _tropDePalettes()&lt;br /&gt;
		categories.tropDePalette = categorieTropDePalette&lt;br /&gt;
		return _erreur( 'Erreur dans le [[Modèle:Palette]] : trop de palettes (maximum : %s)', maxPalette )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	local boite = parentArgs['titre boîte déroulante'] or parentArgs['titre boite déroulante']&lt;br /&gt;
	if boite then&lt;br /&gt;
		wikiTable[1] = '&amp;lt;div class=&amp;quot;NavFrame navbox-container&amp;quot; style=&amp;quot;clear:both;&amp;quot; &amp;gt;\n'&lt;br /&gt;
			.. '&amp;lt;div class=&amp;quot;NavHead&amp;quot; style=&amp;quot;text-align:center; height:1.6em; background-color:'&lt;br /&gt;
			.. ( parentArgs.couleurFondT or '#CCF' )&lt;br /&gt;
			.. '; color:' .. ( parentArgs.couleurTexteT or 'black' ) .. ';&amp;quot;&amp;gt;'&lt;br /&gt;
			.. boite&lt;br /&gt;
			.. '&amp;lt;/div&amp;gt;\n&amp;lt;div class=&amp;quot;NavContent&amp;quot; style=&amp;quot;margin-top:2px;&amp;quot;&amp;gt;\n'&lt;br /&gt;
	end&lt;br /&gt;
	local i = 1&lt;br /&gt;
	local palettesValides = {}&lt;br /&gt;
&lt;br /&gt;
	while parentArgs[i] and i &amp;lt;= maxPalette do&lt;br /&gt;
		if parentArgs[i] ~= '' then&lt;br /&gt;
			for _, j in ipairs( palettesValides ) do&lt;br /&gt;
				if args[i] == args[j] and not args[i]:match('^palette ') then&lt;br /&gt;
					wikiTable:insert ( _paletteEnDouble(i))&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			table.insert( palettesValides, i )&lt;br /&gt;
			if parentArgs[i]:match( '^&amp;lt;table class=&amp;quot;navbox' ) or parentArgs[i]:match( '^{| ?class=&amp;quot;navbox' ) then&lt;br /&gt;
				wikiTable:insert( parentArgs[i] )&lt;br /&gt;
			else&lt;br /&gt;
				local codePalette = args[i]&lt;br /&gt;
				local testCodePalette = codePalette:lower()&lt;br /&gt;
				if testCodePalette:match( '^%[%[:modèle:' ) then                  -- La palette n'existe pas&lt;br /&gt;
					wikiTable:insert( _paletteInconnue( i ) )&lt;br /&gt;
					table.remove( palettesValides )&lt;br /&gt;
				elseif testCodePalette:match( '^palette avec paramètres' ) then  -- C'est une palette nécessitant des paramètres nommés&lt;br /&gt;
					wikiTable:insert( _paletteAvecParametres( i ) )&lt;br /&gt;
				elseif testCodePalette:match( '^palette verticale avec paramètres' ) then  -- C'est une palette verticale nécessitant des paramètres nommés&lt;br /&gt;
					palettesVerticales = palettesVerticales .. ( _paletteAvecParametres( i ) )&lt;br /&gt;
				elseif testCodePalette:match( '^palette verticale' ) then        -- C'est une palette verticale&lt;br /&gt;
					palettesVerticales = palettesVerticales .. codePalette:sub( 18 )&lt;br /&gt;
				else&lt;br /&gt;
					wikiTable:insert( (codePalette:gsub( '^&amp;lt;div class=&amp;quot;navbox%-container&amp;quot;', '&amp;lt;div' ) ) )&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if i == 1 then&lt;br /&gt;
		wikiTable:insert( _pasDePalette() )&lt;br /&gt;
	elseif i &amp;gt; maxPalette and parentArgs[i] and parentArgs[i] ~= '' then&lt;br /&gt;
		wikiTable:insert( _tropDePalettes() )&lt;br /&gt;
	end&lt;br /&gt;
	if #wikiTable == 1 then&lt;br /&gt;
		wikiTable[1] = palettesVerticales&lt;br /&gt;
	else&lt;br /&gt;
		if boite then&lt;br /&gt;
			wikiTable:insert( '&amp;lt;/div&amp;gt;' )&lt;br /&gt;
		end&lt;br /&gt;
		wikiTable:insert( '&amp;lt;/div&amp;gt;' .. palettesVerticales )&lt;br /&gt;
	end&lt;br /&gt;
	if mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		for i, v in pairs( categories ) do&lt;br /&gt;
			wikiTable:insert( v )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return wikiTable:concat()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>- Hermes -</name></author>	</entry>

	</feed>