<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.nations.fr/index.php?action=history&amp;feed=atom&amp;title=Aide%3AInfobox_en_Lua</id>
	<title>Aide:Infobox en Lua - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nations.fr/index.php?action=history&amp;feed=atom&amp;title=Aide%3AInfobox_en_Lua"/>
	<link rel="alternate" type="text/html" href="https://wiki.nations.fr/index.php?title=Aide:Infobox_en_Lua&amp;action=history"/>
	<updated>2026-05-11T17:22:11Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.nations.fr/index.php?title=Aide:Infobox_en_Lua&amp;diff=365&amp;oldid=prev</id>
		<title>Administrateur : 1 révision importée</title>
		<link rel="alternate" type="text/html" href="https://wiki.nations.fr/index.php?title=Aide:Infobox_en_Lua&amp;diff=365&amp;oldid=prev"/>
		<updated>2019-06-26T23:20:22Z</updated>

		<summary type="html">&lt;p&gt;1 révision 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 27 juin 2019 à 01:20&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>Administrateur</name></author>
	</entry>
	<entry>
		<id>https://wiki.nations.fr/index.php?title=Aide:Infobox_en_Lua&amp;diff=364&amp;oldid=prev</id>
		<title>fr&gt;Hexasoft : /* Utilisation de fonctions dans le paramètre &quot;value&quot; */ typo</title>
		<link rel="alternate" type="text/html" href="https://wiki.nations.fr/index.php?title=Aide:Infobox_en_Lua&amp;diff=364&amp;oldid=prev"/>
		<updated>2019-04-28T18:58:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Utilisation de fonctions dans le paramètre &amp;quot;value&amp;quot; : &lt;/span&gt; typo&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{En-tête Aide|descriptif=Tutoriel pour la création d&amp;#039;une infobox en [[Lua]].|ariane=Créer un article, un compte personnel, etc.|arianelien=Créer|difficulté=expert|voiravant=[[Aide:créer une infobox]]}}&lt;br /&gt;
&lt;br /&gt;
== Emplacement du code ==&lt;br /&gt;
Les pages de modèles proprement dites ne font qu&amp;#039;appeler le module infobox Lua via l&amp;#039;appel en [[wikicode]] &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; (voir [[Wikipédia:Lua]]). Les codes eux-mêmes se trouvent sur la page [[Module:Infobox]] et sur les sous-pages particulières « Module:Infobox/nom de l&amp;#039;infobox », par exemple [[Module:Infobox/Philosophe]].&lt;br /&gt;
&lt;br /&gt;
== Structure d&amp;#039;un module d&amp;#039;infobox == &lt;br /&gt;
Pour l&amp;#039;essentiel, un module d&amp;#039;infobox est constitué d&amp;#039;une table, précédée du mot &amp;quot;return&amp;quot; donnant le contenu de l&amp;#039;infobox.  Elle peut être précédée d&amp;#039;importations d&amp;#039;autres modules ou de fonctions de soutien permettant son bon fonctionnement, par exemple :&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
-- importe le module Wikidata afin de pouvoir l&amp;#039;utiliser dans la table&lt;br /&gt;
local wikidata = require( &amp;#039;Module:Wikidata&amp;#039; )&lt;br /&gt;
-- fonction pour aider à l&amp;#039;insertion des smileys &lt;br /&gt;
local function makeHappy( a )&lt;br /&gt;
	return a .. &amp;#039; :)&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	blablablaa  -- ici : le contenu de l&amp;#039;infobox proprement dit&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La partie après le &amp;quot;return&amp;quot; prend la forme d&amp;#039;une table Lua, c&amp;#039;est à dire une suite de données séparées par des virgules et mises à l&amp;#039;intérieur d&amp;#039;accolades. Sa structure générale est la suivante : &lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
return {&lt;br /&gt;
	style = &amp;#039;xxx&amp;#039;,      -- style css de l&amp;#039;infobox (facultatif)&lt;br /&gt;
	maincolor = &amp;#039;#xxx&amp;#039;, -- code html de la couleur à utiliser pour les titres, sous-titre, etc. (facultatif)&lt;br /&gt;
	parts = { },        -- la partie essentielle : le contenu du l&amp;#039;infobox&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== La partie &amp;quot;parts&amp;quot; ===&lt;br /&gt;
La partie &amp;quot;parts&amp;quot; définit le contenu de l&amp;#039;infobox. Elle est elle-même constituée de tables correspondant aux différentes parties de l&amp;#039;infobox (titre, image, bloc de texte, etc.). Le contenu de ces sous-tables peut varier en fonction du type de données, mais il prend généralement la forme suivante :&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;xxx&amp;#039;,      -- type de brique (&amp;quot;image&amp;quot;, &amp;quot;title&amp;quot; etc.),&lt;br /&gt;
	value = &amp;#039;xxx&amp;#039;,     -- valeur à retourner&lt;br /&gt;
	property = &amp;#039;Pxxx&amp;#039;, -- propriété Wikidata à utiliser lorsque la valeur manque sur Wikipédia (optionnel),&lt;br /&gt;
	wikidata = {},     -- requête Wikidata (alternative au paramètre property pour les cas plus complexes),&lt;br /&gt;
	default = &amp;#039;xxx&amp;#039;,   -- valeur à retourner si on ne trouve rien par les paramètres value, property et wikidata (optionnel)&lt;br /&gt;
	class = &amp;#039;xxx&amp;#039;,     -- classe css à utiliser (optionnel)&lt;br /&gt;
	style = {},        -- facultatif : style css à utiliser (voir [[mw:Extension:Scribunto/Lua reference manual/fr#mw.html:css]])&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Les parties de parts ===&lt;br /&gt;
Les parties de parts peuvent prendre les formes suivantes : &lt;br /&gt;
&lt;br /&gt;
==== title ====&lt;br /&gt;
Titre de l&amp;#039;infobox&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;title&amp;#039;, &lt;br /&gt;
	value = &amp;#039;nom&amp;#039;,                -- le titre sera défini par le paramètre &amp;quot;nom&amp;quot; de l&amp;#039;infobox&lt;br /&gt;
	property = &amp;#039;P1448&amp;#039;,           -- par défaut,  le titre affiché sera la valeur de la propriété P1448 (nom officiel) sur Wikidata&lt;br /&gt;
	class = &amp;#039;entete icon auteur&amp;#039;, -- la classe du titre sera &amp;quot;entete icon auteur&amp;quot; qui ajoute une petite plume à côté du nom&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Si les clés &amp;quot;value&amp;quot;, &amp;quot;property&amp;quot; et &amp;quot;wikidata&amp;quot; ne retournent aucune valeur, le titre de l&amp;#039;article sera utilisé.&lt;br /&gt;
&lt;br /&gt;
==== images ====&lt;br /&gt;
Pour les images, blasons etc.&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;images&amp;#039;,&lt;br /&gt;
	imageparameters =  &amp;#039;image&amp;#039;,   -- l&amp;#039;image est définie ici par le paramètre &amp;quot;image&amp;quot;,&lt;br /&gt;
	captionparameter = &amp;#039;légende&amp;#039;, -- la légende est définie par le paramètre &amp;quot;légende&amp;quot;,&lt;br /&gt;
	defaultimage = &amp;#039;foo.jpg&amp;#039;,     -- quand il n&amp;#039;y a pas d&amp;#039;image, monter &amp;quot;foo.jpg&amp;quot;,&lt;br /&gt;
	defaultcaption = &amp;#039;image du sujet&amp;#039;,&lt;br /&gt;
	wikidata = function ( item )  -- Wikidata uniquement pour les images, pas la légende&lt;br /&gt;
		return wikidata.formatStatements{ entity = item, property = &amp;#039;p18&amp;#039;, returntype = &amp;#039;table&amp;#039; }&lt;br /&gt;
	end,&lt;br /&gt;
	numval = 1,                   -- 1 image au maximum (utile essentiellement pour les requêtes Wikidata)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Le paramètre wikidata ne s&amp;#039;applique qu&amp;#039;à l&amp;#039;image. La légende ne peut pas être récupérée sur Wikidata.&lt;br /&gt;
&lt;br /&gt;
Si l&amp;#039;on veut utiliser plusieurs images, mettre la liste des paramètres à utiliser dans une table :&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;images&amp;#039;,&lt;br /&gt;
	imageparameters = { &amp;#039;image&amp;#039;, &amp;#039;logo&amp;#039; },&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== text ====&lt;br /&gt;
texte libre : &lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;text&amp;#039;,&lt;br /&gt;
	value = &amp;#039;citation&amp;#039;,  -- retourne le texte donné dans le paramètre citation,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== table ====&lt;br /&gt;
Une table de lignes. Une grande partie des données d&amp;#039;infobox sont intégrées à de telles tables. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;table&amp;#039;,&lt;br /&gt;
	title = &amp;#039;Données clés&amp;#039;, -- titre de la table (affiché seulement si au moins une des &amp;quot;rows&amp;quot; retourne une valeur)&lt;br /&gt;
	rows = {&lt;br /&gt;
		{ type = &amp;#039;row&amp;#039;, value = &amp;#039;xxx&amp;#039; , property = &amp;#039;Pxxx&amp;#039;, ... }, -- liste des lignes inclues dans la table&lt;br /&gt;
		{ type = &amp;#039;row&amp;#039; ... },&lt;br /&gt;
		{ type = &amp;#039;row&amp;#039; ... },&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Si l&amp;#039;on désire un formatage particulier pour le titre : &lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;table&amp;#039;,&lt;br /&gt;
	title = &amp;#039;Données clé&amp;#039;, &lt;br /&gt;
	titlestyle = { [&amp;#039;background-color&amp;#039;] = &amp;#039;#af12dd&amp;#039; },&lt;br /&gt;
	rows = {&lt;br /&gt;
		{ type = &amp;#039;mixed&amp;#039; ... },&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les lignes d&amp;#039;une table peuvent être de trois types différents :&lt;br /&gt;
* &amp;lt;code&amp;gt;row&amp;lt;/code&amp;gt; ou ligne simple&lt;br /&gt;
* &amp;lt;code&amp;gt;row1col&amp;lt;/code&amp;gt; pour les lignes utilisant l&amp;#039;ensemble des colonnes&lt;br /&gt;
* &amp;lt;code&amp;gt;succession&amp;lt;/code&amp;gt; pour ajouter un un diptyque ou un triptyque de succession, à l&amp;#039;image de [[Modèle:Infobox/Succession]]&lt;br /&gt;
&lt;br /&gt;
===== row =====&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
     { type = &amp;#039;row&amp;#039;, label = &amp;#039;label&amp;#039;, value = &amp;#039;value&amp;#039; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== row1col =====&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
     { type = &amp;#039;row1col&amp;#039;, color = &amp;#039;#f9f9f9&amp;#039;, value = &amp;#039;texte&amp;#039; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le texte est affiché centré et en gras dans une ligne d&amp;#039;une seule cellule qui fait la largeur de l&amp;#039;infobox. Il est possible de mettre en couleur le mot-clé &amp;#039;secondcolor&amp;#039; qui sera remplacé par la couleur secondaire de la charte graphique.&lt;br /&gt;
&lt;br /&gt;
===== succession =====&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
    { type = &amp;#039;succession&amp;#039;, color = &amp;#039;#e6e6e6&amp;#039;, value = &amp;#039;texte&amp;#039; }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce type imite la boîte de succession définie par [[Modèle:Infobox/Succession]].&lt;br /&gt;
&lt;br /&gt;
les valeurs de &amp;lt;code&amp;gt;color&amp;lt;/code&amp;gt; peuvent être l&amp;#039;un des deux mot-clé &amp;#039;default&amp;#039; ou &amp;#039;transparent&amp;#039;. &amp;#039;default&amp;#039; correspond à la valeur &amp;#039;&amp;lt;code&amp;gt;#e6e6e6&amp;lt;/code&amp;gt;&amp;#039;, tandis que transparent s&amp;#039;utilise telle quelle. Il est possible de mettre une autre valeur de couleur, mais le contraste avec les flèches [[:Fichier:Fleche-defaut-gauche-gris-32.png]] et [[:Fichier:Fleche-defaut-droite-gris-32.png]] n&amp;#039;est pas garanti.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;value&amp;lt;/code&amp;gt; doit être une table ayant les indices &amp;lt;code&amp;gt;&amp;#039;before&amp;#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;#039;center&amp;#039;&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;&amp;#039;after&amp;#039;&amp;lt;/code&amp;gt;. La présence de l&amp;#039;indice center produit un triptyque en affichage, et son absence un diptyque.&lt;br /&gt;
&lt;br /&gt;
==== Exemple ====&lt;br /&gt;
&lt;br /&gt;
Ces fonctionnalités sont utilisées par la fonction &amp;lt;code&amp;gt;timeline()&amp;lt;/code&amp;gt; du module [[Module:Infobox/Fonctions/Personne]]&lt;br /&gt;
&lt;br /&gt;
== Utilisation de fonctions dans le paramètre &amp;quot;value&amp;quot; ==&lt;br /&gt;
Quand la valeur à afficher ne correspond pas simplement à la valeur d&amp;#039;un paramètre donné dans l&amp;#039;article, on peut utiliser une fonction plutôt qu&amp;#039;une chaîne dans le paramètre &amp;quot;value&amp;quot;. Les fonctions peuvent utiliser les paramètres de l&amp;#039;infobox en chargeant le module [[module:Infobox/Localdata|Infobox/Localdata]] (les valeurs des paramètres indiqués sur la page, et &amp;quot;item&amp;quot;, l&amp;#039;élément Wikidata lié)&lt;br /&gt;
&lt;br /&gt;
Par exemple la ligne mixte suivante affiche &amp;quot;il a écrit &amp;quot; suivi de la valeur du paramètre &amp;quot;œuvres principales&amp;quot; :&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
local localdata = require( &amp;#039;Module:Infobox/Localdata&amp;#039; )&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;mixed&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Œuvres principales&amp;#039;,&lt;br /&gt;
	value = function ( localdata ) &lt;br /&gt;
		if localdata[ &amp;quot;œuvres principales&amp;quot; ] then &lt;br /&gt;
			return &amp;quot;il a écrit &amp;quot; .. localdata[ &amp;quot;œuvres principales&amp;quot; ] &lt;br /&gt;
		end &lt;br /&gt;
	end,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Utilisation de Wikidata ==&lt;br /&gt;
Dans certains cas, on peut utiliser des valeurs Wikidata à retourner en l&amp;#039;absence de données locales. On peut utiliser pour cela les paramètres suivants :&lt;br /&gt;
&lt;br /&gt;
=== Paramètre &amp;quot;property&amp;quot; ===&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;mixed&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Architecte&amp;#039;,&lt;br /&gt;
	value = &amp;#039;architecte&amp;#039;,&lt;br /&gt;
	property = &amp;#039;P84&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Dans ce cas, si le paramètre &amp;quot;architecte&amp;quot; n&amp;#039;est pas renseigné dans l&amp;#039;article. Le modèle utilise les données de la propriété [[:d:P:P84|P84]] de l&amp;#039;élément lié. &lt;br /&gt;
&lt;br /&gt;
=== Paramètre &amp;quot;wikidata&amp;quot; ===&lt;br /&gt;
Permet une gestion plus fine de Wikidata que le paramètre &amp;quot;property. On passe une table d&amp;#039;arguments passés comme requête de Wikidata. Utilise une syntaxe similaire à celle de {{m|Wikidata}}. Pour plus d&amp;#039;informations, voir [[Projet:Wikidata/Atelier/Manuel]].&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;mixed&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Architecte&amp;#039;,&lt;br /&gt;
	value = &amp;#039;architecte&amp;#039;,&lt;br /&gt;
	wikidata = {&lt;br /&gt;
		property = &amp;#039;P84&amp;#039;,&lt;br /&gt;
		rank = valid,&lt;br /&gt;
		showqualifiers = {&amp;#039;P518&amp;#039;},&lt;br /&gt;
		entity = &amp;#039;QXX&amp;#039; -- seulement si on veut lier à un autre élément que l&amp;#039;élément Wikidata utilisé par défaut par l&amp;#039;infobox&lt;br /&gt;
	}&lt;br /&gt;
,&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
La valeur du paramètre &amp;lt;code&amp;gt;wikidata&amp;lt;/code&amp;gt; peut également être une fonction, pour permettre davantage de personnalisation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;mixed&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Libellé Wikidata&amp;#039;,&lt;br /&gt;
	value = &amp;#039;Entré Wikidata&amp;#039;,&lt;br /&gt;
	wikidata = function ( item ) &lt;br /&gt;
		return item.id &lt;br /&gt;
	end,&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Parfois, dans des cas encore plus délicats, il peut-être nécessaire d&amp;#039;intégrer la valeur wikidata à la fonction définie par le paramètre &amp;quot;value&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Désactivation locale de Wikidata ===&lt;br /&gt;
Pour désactiver Wikidata dans une infobox, ajouter d&amp;#039;un article, y ajouter &amp;lt;code&amp;gt;wikidata = -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requêtes communes ==&lt;br /&gt;
Pour simplifier la gestion des données complexes, certaines briques souvent utilisées sont définies dans le répetoire [[Module:Infobox/Fonctions]] et ses sous-modules et dans ses sous-module thématiques. Par exemple, si l&amp;#039;on veut une ligne affichant la date et le lieu de naissance d&amp;#039;une personne avec un formatage et une requête Wikidata standard, on peut utiliser la fonction p.birth de [[Module:Infobox/Fonctions/Personne]]. Pour cela :&lt;br /&gt;
* On importe le module désiré, de préference en début de page. Pour importer [[Module:Infobox/Fonctions/Personne]] : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
local person = require( &amp;#039;Module:Infobox/Fonctions/Personne&amp;#039; )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* On ajoute la fonction à l&amp;#039;emplacement désiré :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	type = &amp;#039;table&amp;#039;,&lt;br /&gt;
	title = { value = &amp;#039;Données clé&amp;#039;, style = { [&amp;#039;background-color&amp;#039;] = &amp;#039;#af12dd&amp;#039; } },&lt;br /&gt;
	rows = {&lt;br /&gt;
		person.birth(),&lt;br /&gt;
		{ type = &amp;#039;mixed&amp;#039;, label = &amp;#039;Nom de naissance&amp;#039;, value = &amp;#039;nom de naissance&amp;#039; },&lt;br /&gt;
	},&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A noter : certaines fonctions prennent des paramètres dans le module d&amp;#039;infobox qui les appellent. Par exemple, un module d&amp;#039;infobox contenant la fonction suivante catégorisera les articles sans image dans [[:Catégorie:Article à illustrer Château]]&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
require( &amp;#039;Module:Fonctions&amp;#039; ).mainimage( &amp;#039;Article à illustrer Château&amp;#039;, &amp;#039;jpg&amp;#039; )&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Erreurs fréquentes ==&lt;br /&gt;
Comme la plupart des langages de programmation, Lua est sensible aux erreurs de majuscule, de ponctuation, etc. (mais, sauf cas particulier, pas aux sauts de lignes ou aux indentations)&lt;br /&gt;
[[Catégorie:Aide:Infobox]]&lt;br /&gt;
[[Catégorie:Projet:Infobox/Lua]]&lt;br /&gt;
&lt;br /&gt;
== Exemples ==&lt;br /&gt;
* Pour un module simple, qui n&amp;#039;utilise pas Wikidata : [[Module:Infobox/Tapis persan]]&lt;br /&gt;
* Pour un module complexe : [[Module:Infobox/Monument]]&lt;br /&gt;
&lt;br /&gt;
== Aide avancée des modules Lua ==&lt;br /&gt;
&lt;br /&gt;
Cet aide attend de trouver une meilleure place dans l&amp;#039;arbre des aides.&lt;br /&gt;
&lt;br /&gt;
Le langage Lua [http://www.lua.org/manual/5.1/manual.html#8 semble] très simpliste :&lt;br /&gt;
* Il n&amp;#039;y a pas de mot object, ni class, ni new, mais tout est objet et le mot &amp;lt;code&amp;gt;self&amp;lt;/code&amp;gt; permet d&amp;#039;accéder à la table qui décrit l&amp;#039;objet dans lequel on est.&lt;br /&gt;
* Il n&amp;#039;y a que 6 [[mw:Extension:Scribunto/Lua_reference_manual#Data_types|types]] : &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;boolean&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;table&amp;lt;/code&amp;gt; et &amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt; (une table exécutable).&lt;br /&gt;
* Les indices d&amp;#039;une [[mw:Extension:Scribunto/Lua_reference_manual#table|table]] peuvent être de n&amp;#039;importe quel type, même table, sauf nil qui ne conduit à aucun élement.&lt;br /&gt;
* La fonction [[mw:Extension:Scribunto/Lua_reference_manual#pairs|pairs(table)]] parcourt tous les élements d&amp;#039;une table, et la fonction [[mw:Extension:Scribunto/Lua_reference_manual#ipairs|ipairs(table)]] n&amp;#039;en parcourt que les élements indexés de 1 à n en continu.&lt;br /&gt;
* Il n&amp;#039;y a pas de mot &amp;quot;iterator&amp;quot; mais on peut écrire d&amp;#039;autres fonctions pour [[mw:Extension:Scribunto/Lua_reference_manual#iterators|fournir les variables qu&amp;#039;on veut]] à un &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; et parcourir différemment une table.&lt;br /&gt;
* L&amp;#039;espace global [[mw:Extension:Scribunto/Lua_reference_manual#_G|_G]] est la table qui collecte toutes les variables qui ne sont ni locales, ni dans la table &amp;lt;code&amp;gt;p.&amp;lt;/code&amp;gt; d&amp;#039;un module.&lt;br /&gt;
* [[mw:Extension:Scribunto/Lua_reference_manual#pcall|pcall]] et [[mw:Extension:Scribunto/Lua_reference_manual#xpcall|xpcall]] permettent de [[mw:Extension:Scribunto/Lua_reference_manual#Error_handling|traiter différemment]] les &amp;quot;exceptions&amp;quot;, les erreurs que l&amp;#039;on voit lors d&amp;#039;une erreur d&amp;#039;exécution. On peut ainsi essayer un require, ou autre opération risquée, et s&amp;#039;il échoue en essayer un autre ou signaler l&amp;#039;erreur sans blocage.&lt;br /&gt;
* On peut récupérer les [[mw:Extension:Scribunto/Lua_reference_manual#Function declarations|arguments]] d&amp;#039;une fonction dans une table &amp;lt;code&amp;gt;...&amp;lt;/code&amp;gt;, entièrement func(...) ou partiellement func(aa, bb, ...).&lt;br /&gt;
* Une fonction [[mw:Extension:Scribunto/Lua_reference_manual#getfenv|getfenv( f )]] permet d&amp;#039;accéder à l&amp;#039;environnement dynamique d&amp;#039;une fonction, c&amp;#039;est à dire à l&amp;#039;espace global _G des niveaux supérieurs de la pile d&amp;#039;appels.&lt;br /&gt;
* Les [[mw:Extension:Scribunto/Lua_reference_manual#Standard_libraries|librairies]] et tous les modules installés par [[mw:Extension:Scribunto/Lua_reference_manual#require|require()]] sont des tables collectées dans la table [[mw:Extension:Scribunto/Lua_reference_manual#package.loaded|package.loaded]].&lt;br /&gt;
* On peut y inscrire dynamiquement une nouvelle librairie par &amp;lt;code&amp;gt;package.loaded[nouveau_nom] = { fonctions et variables de la librairie }&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Mais si l&amp;#039;on veut la partager dans mediawiki Scribunto, il faut d&amp;#039;abord la soumettre à une [[mw:Extension:Scribunto/Lua_reference_manual#Test_cases|série de tests]] répétés à chaque modification de Scribunto pour s&amp;#039;assurer de sa stabilité.&lt;br /&gt;
&lt;br /&gt;
Pour aller plus loin : [http://www.lua.org/gems/ Lua Programming Gems] ou [http://www.lua.org/cgi-bin/demo Lua:demo].&lt;/div&gt;</summary>
		<author><name>fr&gt;Hexasoft</name></author>
	</entry>
</feed>