<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://artsandcraftsaujourdhui.com/w/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://artsandcraftsaujourdhui.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3APalette"/>
	<link rel="alternate" type="text/html" href="https://artsandcraftsaujourdhui.com/w/index.php?title=Module:Palette&amp;action=history"/>
	<updated>2026-05-19T19:03:31Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://artsandcraftsaujourdhui.com/w/index.php?title=Module:Palette&amp;diff=736&amp;oldid=prev</id>
		<title>Wikisysop : 1 version importée</title>
		<link rel="alternate" type="text/html" href="https://artsandcraftsaujourdhui.com/w/index.php?title=Module:Palette&amp;diff=736&amp;oldid=prev"/>
		<updated>2023-07-05T09:44:13Z</updated>

		<summary type="html">&lt;p&gt;1 version importée&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 5 juillet 2023 à 11:44&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;fr&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Aucune différence)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Wikisysop</name></author>
	</entry>
	<entry>
		<id>https://artsandcraftsaujourdhui.com/w/index.php?title=Module:Palette&amp;diff=735&amp;oldid=prev</id>
		<title>w&gt;Od1n : déplacement de la fonction locale trim() à l&#039;extérieur du package «&amp;nbsp;p&amp;nbsp;», pour lisibilité code&amp;nbsp;; pas d&#039;impact sur les performances de lookup, au vu de comment Lua implémente les variables locales</title>
		<link rel="alternate" type="text/html" href="https://artsandcraftsaujourdhui.com/w/index.php?title=Module:Palette&amp;diff=735&amp;oldid=prev"/>
		<updated>2022-01-13T06:27:54Z</updated>

		<summary type="html">&lt;p&gt;déplacement de la fonction locale trim() à l&amp;#039;extérieur du package « p », pour lisibilité code ; pas d&amp;#039;impact sur les performances de lookup, au vu de comment Lua implémente les variables locales&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- http://lua-users.org/wiki/StringTrim&lt;br /&gt;
local function trim( s )&lt;br /&gt;
	return s:match( &amp;#039;^()%s*$&amp;#039; ) and &amp;#039;&amp;#039; or s:match( &amp;#039;^%s*(.*%S)&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.listePalette( frame )&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 ) == &amp;#039;number&amp;#039; 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;#039;&amp;lt;div class=&amp;quot;navbox-container&amp;quot; style=&amp;quot;clear:both;&amp;quot;&amp;gt;\n&amp;#039; }&lt;br /&gt;
	setmetatable( wikiTable, { __index = table } )   -- permet d&amp;#039;utiliser les fonctions de table comme des méthodes&lt;br /&gt;
	local palettesVerticales = &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	local maxPalette = tonumber( args.maxPalette ) or 4&lt;br /&gt;
	local categoriePaletteInconnue = &amp;#039;[[Catégorie:Modèle Palette - Palette inconnue]]&amp;#039;&lt;br /&gt;
	local categorieTropDePalette = &amp;#039;[[Catégorie:Modèle Palette - Page contenant trop de palettes]]&amp;#039;&lt;br /&gt;
	local categoriePaletteEnDouble = &amp;#039;[[Catégorie:Modèle Palette - Palette affichée en double]]&amp;#039;&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;#039;&amp;lt;hr&amp;gt;&amp;#039; or &amp;#039;&amp;#039;&lt;br /&gt;
		return sep .. &amp;#039;&amp;lt;p&amp;gt;&amp;lt;strong class=&amp;quot;error&amp;quot; style=&amp;quot;padding-left:.5em;&amp;quot;&amp;gt;&amp;#039; .. texte .. &amp;#039;&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local function _pasDePalette()&lt;br /&gt;
		return _erreur( &amp;#039;Erreur dans l’utilisation du [[Modèle:Palette]] : paramètre obligatoire absent.&amp;#039; )&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( &amp;#039;Erreur : il n’existe pas de modèle {{[[Modèle:Palette %s|Palette %s]]}} [[Aide:Palette de navigation|(aide)]]&amp;#039;, 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&amp;#039;afficher une erreur visible pour ce cas puisque la mise en page n&amp;#039;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( &amp;#039; &amp;#039; .. i .. &amp;#039;$&amp;#039; ) then&lt;br /&gt;
					argsPalette[ n:sub(1, n:len() - 1 - tostring(i):len() ) ] = v&lt;br /&gt;
				elseif n == &amp;#039;nocat&amp;#039; .. i then&lt;br /&gt;
					argsPalette.nocat = v&lt;br /&gt;
				elseif not argsPalette[n] and n ~= &amp;#039;stylecorps&amp;#039; 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 = &amp;#039;Palette &amp;#039; .. 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( &amp;#039;Erreur dans le [[Modèle:Palette]] : trop de palettes (maximum : %s)&amp;#039;, maxPalette )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	local boite = parentArgs[&amp;#039;titre boîte déroulante&amp;#039;] or parentArgs[&amp;#039;titre boite déroulante&amp;#039;]&lt;br /&gt;
	if boite then&lt;br /&gt;
		wikiTable[1] = &amp;#039;&amp;lt;div class=&amp;quot;NavFrame navbox-container&amp;quot; style=&amp;quot;clear:both;&amp;quot; &amp;gt;\n&amp;#039;&lt;br /&gt;
			.. &amp;#039;&amp;lt;div class=&amp;quot;NavHead&amp;quot; style=&amp;quot;text-align:center; height:1.6em; background-color:&amp;#039;&lt;br /&gt;
			.. ( parentArgs.couleurFondT or &amp;#039;#CCF&amp;#039; )&lt;br /&gt;
			.. &amp;#039;; color:&amp;#039; .. ( parentArgs.couleurTexteT or &amp;#039;black&amp;#039; ) .. &amp;#039;;&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
			.. boite&lt;br /&gt;
			.. &amp;#039;&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&amp;#039;&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] ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			for _, j in ipairs( palettesValides ) do&lt;br /&gt;
				if args[i] == args[j] and not args[i]:match(&amp;#039;^palette &amp;#039;) 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;#039;^&amp;lt;&amp;#039; ) then&lt;br /&gt;
				wikiTable:insert( parentArgs[i] )&lt;br /&gt;
			elseif parentArgs[i]:match( &amp;#039;^{|&amp;#039; ) then&lt;br /&gt;
				wikiTable:insert( &amp;#039;\n&amp;#039; )&lt;br /&gt;
				wikiTable:insert( parentArgs[i] )&lt;br /&gt;
			else&lt;br /&gt;
				local codePalette = args[i]&lt;br /&gt;
				if codePalette:match( &amp;#039;^%[%[:Modèle:&amp;#039; ) then                  -- La palette n&amp;#039;existe pas&lt;br /&gt;
					wikiTable:insert( _paletteInconnue( i ) )&lt;br /&gt;
					table.remove( palettesValides )&lt;br /&gt;
				elseif codePalette:match( &amp;#039;^palette avec paramètres&amp;#039; ) then  -- C&amp;#039;est une palette nécessitant des paramètres nommés&lt;br /&gt;
					wikiTable:insert( _paletteAvecParametres( i ) )&lt;br /&gt;
				elseif codePalette:match( &amp;#039;^palette verticale avec paramètres&amp;#039; ) then  -- C&amp;#039;est une palette verticale nécessitant des paramètres nommés&lt;br /&gt;
					palettesVerticales = palettesVerticales .. ( _paletteAvecParametres( i ) )&lt;br /&gt;
				elseif codePalette:match( &amp;#039;^palette verticale&amp;#039; ) then        -- C&amp;#039;est une palette verticale&lt;br /&gt;
					palettesVerticales = palettesVerticales .. codePalette:sub( 18 )&lt;br /&gt;
				else&lt;br /&gt;
					wikiTable:insert( (codePalette:gsub( &amp;#039;^&amp;lt;div class=&amp;quot;navbox%-container&amp;quot;&amp;#039;, &amp;#039;&amp;lt;div&amp;#039; ) ) )&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] ~= &amp;#039;&amp;#039; 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;#039;&amp;lt;/div&amp;gt;&amp;#039; )&lt;br /&gt;
		end&lt;br /&gt;
		wikiTable:insert( &amp;#039;&amp;lt;/div&amp;gt;&amp;#039; .. 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>w&gt;Od1n</name></author>
	</entry>
</feed>