<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.out-of-mana.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3AData</id>
	<title>Module:Data - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.out-of-mana.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3AData"/>
	<link rel="alternate" type="text/html" href="https://wiki.out-of-mana.fr/index.php?title=Module:Data&amp;action=history"/>
	<updated>2026-04-20T17:02:54Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.out-of-mana.fr/index.php?title=Module:Data&amp;diff=5102&amp;oldid=prev</id>
		<title>Graham : Page créée avec « local p = {}  function p.obtenir( frame )   local nom = frame.args[1]   if nom == nil then return &quot;Erreur : pas de nom de données renseigné.&quot; end   local donnees = mw.loadData( &quot;Module:Data/&quot; .. nom )   if donnees == nil then return &quot;Erreur : pas de données avec ce nom.&quot; end   donnees = mw.dumpObject( donnees )   return &quot;&lt;pre&gt;&quot; .. donnees .. &quot;&lt;/pre&gt;&quot; end  function p.num( frame ) 	local numeros = mw.loadData(&#039;Module:Data/NumérosPokémon&#039;) 	local resultat = num... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.out-of-mana.fr/index.php?title=Module:Data&amp;diff=5102&amp;oldid=prev"/>
		<updated>2025-03-08T12:17:09Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « local p = {}  function p.obtenir( frame )   local nom = frame.args[1]   if nom == nil then return &amp;quot;Erreur : pas de nom de données renseigné.&amp;quot; end   local donnees = mw.loadData( &amp;quot;Module:Data/&amp;quot; .. nom )   if donnees == nil then return &amp;quot;Erreur : pas de données avec ce nom.&amp;quot; end   donnees = mw.dumpObject( donnees )   return &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; .. donnees .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot; end  function p.num( frame ) 	local numeros = mw.loadData(&amp;#039;Module:Data/NumérosPokémon&amp;#039;) 	local resultat = num... »&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.obtenir( frame )&lt;br /&gt;
  local nom = frame.args[1]&lt;br /&gt;
  if nom == nil then return &amp;quot;Erreur : pas de nom de données renseigné.&amp;quot; end&lt;br /&gt;
  local donnees = mw.loadData( &amp;quot;Module:Data/&amp;quot; .. nom )&lt;br /&gt;
  if donnees == nil then return &amp;quot;Erreur : pas de données avec ce nom.&amp;quot; end&lt;br /&gt;
  donnees = mw.dumpObject( donnees )&lt;br /&gt;
  return &amp;quot;&amp;lt;pre&amp;gt;&amp;quot; .. donnees .. &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.num( frame )&lt;br /&gt;
	local numeros = mw.loadData(&amp;#039;Module:Data/NumérosPokémon&amp;#039;)&lt;br /&gt;
	local resultat = numeros[frame.args[1]]&lt;br /&gt;
	if resultat == nil then&lt;br /&gt;
		return &amp;quot;[[Catégorie:Page avec un nom de Pokémon incorrect]]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		return resultat&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.nomsjeux(frame)&lt;br /&gt;
	local data = mw.loadData(&amp;quot;Module:Data/NomsJeux&amp;quot;)&lt;br /&gt;
	return data[frame.args[1]]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.nompokemon(frame)&lt;br /&gt;
	local data = mw.loadData(&amp;quot;Module:Data/NomsPokémon&amp;quot;)&lt;br /&gt;
	local langue = frame.args[&amp;quot;langue&amp;quot;]&lt;br /&gt;
	if not langue then langue = &amp;quot;fr&amp;quot; end&lt;br /&gt;
	return data[tonumber(frame.args[1])][langue]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.gen( frame )&lt;br /&gt;
	local generations = mw.loadData(&amp;#039;Module:Data/GénérationJeux&amp;#039;)&lt;br /&gt;
	return generations[frame.args[1]]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Fonction de comptage des Pokémon par type, à lancer avec mw.logObject(p.comptagetypes({})) dans la console en bas de la page&lt;br /&gt;
function p.comptagetypes(frame)&lt;br /&gt;
	local datatypes = mw.loadData(&amp;quot;Module:Data/TypesPokémon&amp;quot;)&lt;br /&gt;
	local types = {&amp;quot;Normal&amp;quot;, &amp;quot;Combat&amp;quot;, &amp;quot;Vol&amp;quot;, &amp;quot;Poison&amp;quot;, &amp;quot;Sol&amp;quot;, &amp;quot;Roche&amp;quot;, &amp;quot;Insecte&amp;quot;, &amp;quot;Spectre&amp;quot;, &amp;quot;Acier&amp;quot;, &amp;quot;Feu&amp;quot;, &amp;quot;Eau&amp;quot;, &amp;quot;Plante&amp;quot;, &amp;quot;Électrik&amp;quot;, &amp;quot;Psy&amp;quot;, &amp;quot;Glace&amp;quot;, &amp;quot;Dragon&amp;quot;, &amp;quot;Ténèbres&amp;quot;, &amp;quot;Fée&amp;quot;}&lt;br /&gt;
	local d = {}&lt;br /&gt;
	for _, t in pairs(types) do&lt;br /&gt;
		d[t] = 0&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for key, pokemon in pairs(datatypes) do&lt;br /&gt;
		for _, current_type in pairs(types) do&lt;br /&gt;
			local found = false&lt;br /&gt;
			for _, form in pairs(pokemon) do&lt;br /&gt;
				for _, pokemon_type in pairs(form) do&lt;br /&gt;
					if current_type == pokemon_type&lt;br /&gt;
					then found = true&lt;br /&gt;
						d[current_type] = d[current_type] + 1&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if found then break end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return d&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Fonction de comptage des capacités par type et catégorie, à lancer avec mw.logObject(p.comptagetypescapacites({})) dans la console en bas de la page&lt;br /&gt;
function p.comptagetypescapacites(frame)&lt;br /&gt;
	local datatypes = mw.loadData(&amp;quot;Module:Data/Données Capacités Génération 9&amp;quot;)&lt;br /&gt;
	local types = {&amp;quot;Normal&amp;quot;, &amp;quot;Combat&amp;quot;, &amp;quot;Vol&amp;quot;, &amp;quot;Poison&amp;quot;, &amp;quot;Sol&amp;quot;, &amp;quot;Roche&amp;quot;, &amp;quot;Insecte&amp;quot;, &amp;quot;Spectre&amp;quot;, &amp;quot;Acier&amp;quot;, &amp;quot;Feu&amp;quot;, &amp;quot;Eau&amp;quot;, &amp;quot;Plante&amp;quot;, &amp;quot;Électrik&amp;quot;, &amp;quot;Psy&amp;quot;, &amp;quot;Glace&amp;quot;, &amp;quot;Dragon&amp;quot;, &amp;quot;Ténèbres&amp;quot;, &amp;quot;Fée&amp;quot;, &amp;quot;Obscur&amp;quot;, &amp;quot;???&amp;quot;, &amp;quot;Stellaire&amp;quot;}&lt;br /&gt;
	local categories = {&amp;quot;Physique&amp;quot;, &amp;quot;Spécial&amp;quot;, &amp;quot;Statut&amp;quot;, &amp;quot;variable&amp;quot;}&lt;br /&gt;
	local d = {}&lt;br /&gt;
	local d_cat = {}&lt;br /&gt;
	local total = 0&lt;br /&gt;
	for _, t in pairs(types) do&lt;br /&gt;
		d[t] = 0&lt;br /&gt;
	end&lt;br /&gt;
	for _, c in pairs(categories) do&lt;br /&gt;
		d_cat[c] = 0&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for move_key, move_info in pairs(datatypes) do&lt;br /&gt;
		move_type = move_info[1]&lt;br /&gt;
		move_cat = move_info[2]&lt;br /&gt;
		d[move_type] = d[move_type] + 1&lt;br /&gt;
		d_cat[move_cat] = d_cat[move_cat] + 1&lt;br /&gt;
		total = total + 1&lt;br /&gt;
	end&lt;br /&gt;
	return {[&amp;quot;Total&amp;quot;] = total, [&amp;quot;Catégories&amp;quot;] = d_cat, [&amp;quot;Types&amp;quot;] = d}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.de(frame)&lt;br /&gt;
	local s = frame.args[1]&lt;br /&gt;
	local prefixe = frame.args[&amp;quot;préfixe&amp;quot;]&lt;br /&gt;
	if not prefixe then prefixe = &amp;quot;d&amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	if not s then resultat = prefixe .. &amp;quot;e &amp;quot; end&lt;br /&gt;
	&lt;br /&gt;
	local ressources = {&lt;br /&gt;
		[&amp;quot;de&amp;quot;] = require(&amp;quot;Module:Ressources/de&amp;quot;)&lt;br /&gt;
	}&lt;br /&gt;
	return string.gsub(ressources.de(s), &amp;quot;d&amp;quot;, prefixe) .. &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.premiertype(frame)&lt;br /&gt;
	local pokemon = frame.args[1]&lt;br /&gt;
	local form&lt;br /&gt;
	&lt;br /&gt;
	-- Les apostrophes ne peuvent pas être capturées dans le PAGENAME, donc on les remplace par .-&lt;br /&gt;
	local special_replacement_ids = {&lt;br /&gt;
		[&amp;quot;Kyurem Blanc&amp;quot;] = {&amp;quot;Kyurem&amp;quot;, &amp;quot;Blanc&amp;quot;},&lt;br /&gt;
		[&amp;quot;Kyurem Noir&amp;quot;] = {&amp;quot;Kyurem&amp;quot;, &amp;quot;Noir&amp;quot;},&lt;br /&gt;
		[&amp;quot;Necrozma Crinière du Couchant&amp;quot;] = {&amp;quot;Necrozma&amp;quot;, &amp;quot;Crinière du Couchant&amp;quot;},&lt;br /&gt;
		[&amp;quot;Necrozma Ailes de l.-Aurore&amp;quot;] = {&amp;quot;Necrozma&amp;quot;, &amp;quot;Ailes de l&amp;#039;Aurore&amp;quot;},&lt;br /&gt;
		[&amp;quot;Ultra%-Necrozma&amp;quot;] = {&amp;quot;Necrozma&amp;quot;, &amp;quot;Ultra&amp;quot;},&lt;br /&gt;
		[&amp;quot;Sylveroy, le Cavalier du Froid&amp;quot;] = {&amp;quot;Sylveroy&amp;quot;, &amp;quot;Cavalier du Froid&amp;quot;},&lt;br /&gt;
		[&amp;quot;Sylveroy, le Cavalier d.-Effroi&amp;quot;] = {&amp;quot;Sylveroy&amp;quot;, &amp;quot;Cavalier d&amp;#039;Effroi&amp;quot;}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local replacement_ids = {&lt;br /&gt;
		[&amp;quot; d.-Alola&amp;quot;] = &amp;quot;Alola&amp;quot;,&lt;br /&gt;
		[&amp;quot; de Galar&amp;quot;] = &amp;quot;Galar&amp;quot;,&lt;br /&gt;
		[&amp;quot; de Hisui&amp;quot;] = &amp;quot;Hisui&amp;quot;,&lt;br /&gt;
		[&amp;quot; de Paldea&amp;quot;] = &amp;quot;Paldea&amp;quot;,&lt;br /&gt;
		[&amp;quot;Méga%-&amp;quot;] = &amp;quot;Méga&amp;quot;,&lt;br /&gt;
		[&amp;quot;Primo%-&amp;quot;] = &amp;quot;Primo&amp;quot;,&lt;br /&gt;
		[&amp;quot; Gigamax&amp;quot;] = &amp;quot;Gigamax&amp;quot;,&lt;br /&gt;
		[&amp;quot; Infinimax&amp;quot;] = &amp;quot;Infinimax&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for replacing, replaced in pairs(special_replacement_ids) do&lt;br /&gt;
		if pokemon:match(replacing) == pokemon&lt;br /&gt;
		then pokemon = replaced[1]&lt;br /&gt;
			form = replaced[2]&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	for replacing, replaced in pairs(replacement_ids) do&lt;br /&gt;
		if mw.ustring.find(pokemon, replacing)&lt;br /&gt;
		then pokemon = mw.ustring.gsub(pokemon, replacing, &amp;quot;&amp;quot;)&lt;br /&gt;
			form = replaced&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local datatypes = require(&amp;quot;Module:Data/TypesPokémon&amp;quot;)&lt;br /&gt;
	local form_arg = frame.args[&amp;quot;forme&amp;quot;]&lt;br /&gt;
	if form_arg == nil or form_arg == &amp;quot;&amp;quot;&lt;br /&gt;
	then if form == nil&lt;br /&gt;
		then form = 1&lt;br /&gt;
		end&lt;br /&gt;
	else form = form_arg&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local types = datatypes[pokemon]&lt;br /&gt;
	if types == nil&lt;br /&gt;
	then return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local types_form = types[form]&lt;br /&gt;
	if types_form == nil&lt;br /&gt;
	then return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local first_type = types_form[1]&lt;br /&gt;
	&lt;br /&gt;
	return first_type&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Graham</name></author>
	</entry>
</feed>