<?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%3AOutils%2FDocumentation</id>
	<title>Module:Outils/Documentation - 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%3AOutils%2FDocumentation"/>
	<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:Outils/Documentation&amp;action=history"/>
	<updated>2026-07-23T09:45:30Z</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:Outils/Documentation&amp;diff=12585&amp;oldid=prev</id>
		<title>Arthur : 1 version</title>
		<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:Outils/Documentation&amp;diff=12585&amp;oldid=prev"/>
		<updated>2014-06-08T15:00:32Z</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;&amp;lt;includeonly&amp;gt;{{Protection}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce module contient différentes fonction pratiques.&lt;br /&gt;
&lt;br /&gt;
== Résumé des fonctions ==&lt;br /&gt;
Fonctions exportables :&lt;br /&gt;
* &amp;lt;code&amp;gt;trim( texte )&amp;lt;/code&amp;gt; – similaire à mw.text.trim mais retourne nil lorsque la chaine est vide ou lorsque le paramètre n'est pas une chaine (ne génère pas d'erreur).&lt;br /&gt;
* &amp;lt;code&amp;gt;erreur( texte )&amp;lt;/code&amp;gt; – destiné à afficher un message d'erreur en gros et rouge. Retourne la chaine transmise dans un span de class &amp;quot;error&amp;quot;. Par défaut &amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;''erreur : raison non précisée''&amp;lt;/span&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#extractArgs|extractArgs]]( frame, ... )&amp;lt;/code&amp;gt; – retourne une table avec les paramètres, à partir d'un objet frame, d'une table ou d'une liste de paramètre.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#validTextArg|validTextArg]]( args, name, ... )&amp;lt;/code&amp;gt; – retourne le premier paramètre chaine non vide à partir de la table des paramètres et d'une liste de nom de paramètre.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#notEmpty|notEmpty]]( var, ... )&amp;lt;/code&amp;gt; – retourne le premier élément non vide.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#abr|abr]]( frame, ... )&amp;lt;/code&amp;gt; – génère une abréviation discrète (ou non)&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#nobr|nobr]]( texte )&amp;lt;/code&amp;gt; – équivalent de {{m|nobr}}, transforme le texte fournie en texte insécable.&lt;br /&gt;
* &amp;lt;code&amp;gt;ordinal( nombre, feminin )&amp;lt;/code&amp;gt; – retourne un ordinal abrégé comme {{m|1er}}, {{m|2e}}… à partir d'un nombre ou d'une chaine contenant uniquement des chiffres. Si le deuxième est défini, retourne {{1re}} au lieu de {{1er}}.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#nombre2texte_reel|nombre2texte_reel]](pnombre, plangue, ptype, porthographe, pgenre, pmajuscule)&amp;lt;/code&amp;gt; – transforme un nombre en texte (5 → cinq ou cinquième). Gère la langue (fr, be, ch), l'orthographe pré ou post 1990, le genre ainsi que les variantes locales des nombres.&lt;br /&gt;
* &amp;lt;code&amp;gt;nombre2texte(frame)&amp;lt;/code&amp;gt; – similaire à nombre2texte_reel mais pour un appel depuis un modèle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modules externes et autres éléments dont ce module a besoin pour fonctionner :&lt;br /&gt;
* &amp;lt;code&amp;gt;Module:Outils/Data&amp;lt;/code&amp;gt; – pour les conversions nombre → texte.&lt;br /&gt;
&lt;br /&gt;
== Détail par fonction == &lt;br /&gt;
=== extractArgs ===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.extractArgs( frame, ... )&amp;lt;/code&amp;gt;  &lt;br /&gt;
* si frame n'est pas une table, retourne &amp;lt;code&amp;gt;{ frame, ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
* Si frame est une table simple et non une [[:mw:Extension:Scribunto/Lua reference manual/fr#L'objet Frame|objet Frame]], retourne &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;&lt;br /&gt;
* Si frame est un objet créé par &amp;lt;code&amp;gt;#invoke:&amp;lt;/code&amp;gt;, retourne les paramètres passé à #invoke: (en priorité) et ceux passées au modèle. Si le paramètre &amp;lt;code&amp;gt;invokeArgsOnly &amp;lt;/code&amp;gt; n'est pas vide, seul les paramètres transmis à invoke seront utilisés.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : cette fonction peut modifier la table &amp;lt;code&amp;gt;frame.getParent().args&amp;lt;/code&amp;gt;. S'il est probable qu'un autre module passe un objet &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt; à votre fonction, il est préférable de l'indiquer dans la documentation.&lt;br /&gt;
&lt;br /&gt;
====== Exemple ======&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
function p.maFonction( frame, ... )&lt;br /&gt;
    local args = Outils.extractArgs( frame, ... )&lt;br /&gt;
    return ( args[1] or 'nil' ) .. ' ' .. ( args[2] or 'nil' ) .. ' ' .. ( args['nom'] or 'nil' )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* appel direct : &amp;lt;code&amp;gt;p.maFonction( 'oui', 'deux', 'Zebulon84' )&amp;lt;/code&amp;gt; → « oui deux nil »  (impossible de transmettre un paramètre nommé)&lt;br /&gt;
*&lt;br /&gt;
* appel par  table : &amp;lt;code&amp;gt;p.maFonction{ 'oui', 'deux', nom = 'Zebulon84' }&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*&lt;br /&gt;
* appel par &amp;lt;code&amp;gt;#invoke:&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |oui |2 |nom = Zebulon84}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*&lt;br /&gt;
* appel par modèle &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; : &lt;br /&gt;
** le modèle contient &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &lt;br /&gt;
***&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction|oui | deux |nom= Zebulon84}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
** le modèle contient  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |nom = Zebulon84}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = Hexasoft}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
** le modèle contient  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |nom = {{{nom|Zebulon84}}} }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = Hexasoft}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Hexasoft »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux nil »&lt;br /&gt;
** le modèle contient  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |nom = {{{nom|Zebulon84}}} |invokeArgsOnly = oui}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « nil nil Zebulon84 »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = Hexasoft}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « nil nil Hexasoft»&lt;br /&gt;
&lt;br /&gt;
=== validTextArg ===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.validTextArg( args, name, ... )&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Retourne args.name si c'est un texte valide. &lt;br /&gt;
Sinon teste les autres éléments transmis à la fonction. S'il n'y en a pas ou s'ils ne correspondent pas à un texte valide dans la table args, retourne &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction est pratique pour obtenir le contenu d'un paramètre pouvant avoir plusieurs noms.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : les nombres (type 'number') ne sont pas considérés comme un texte valide.&lt;br /&gt;
&lt;br /&gt;
====== exemple ======&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
local args = { '1', '2', 3, nom1 = nil, nom2 = '', nom3 = 'a' }&lt;br /&gt;
local v1  = Outils.validTextArg( args, 'nom1' }                -- v1 = nil&lt;br /&gt;
local v2 = Outils.validTextArg( args, 'nom1', 'nom2', 'nom3' ) -- v2 = 'a'&lt;br /&gt;
local v3 = Outils.validTextArg( args, 3, 2, 1 )                -- v3 = '2'&lt;br /&gt;
&lt;br /&gt;
local function validArg( ... ) &lt;br /&gt;
    return Outils.validTextArg( args, ... }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local v4 = validArg( 'nom' )  -- v4 = nil&lt;br /&gt;
local v5 = validArg( 'nom2', 'nom3' ) -- v5 = 'a'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== notEmpty ===&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.notEmpty( var, ... )&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Retourne le premier élément non vide, sinon retourne nil.&lt;br /&gt;
&lt;br /&gt;
* Sont considérés comme vide : {{code|nil, false, '', '  \t \n ', 0, { }|lua}}&lt;br /&gt;
* Sont considérés comme non vide : {{code|true, 'blabla', '&amp;amp;nbsp;', 1, { '' },  { {} }, function () end|lua}}&lt;br /&gt;
&lt;br /&gt;
=== abr ===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
* &amp;lt;code&amp;gt;Outils.abr( frame, ... )&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;Outils.abr( abréviation, signification, langue )&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;Outils.abr{ abréviation, signification, langue, nbsp = '+', visible = true }&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Génère une abréviation (discrète par défaut)&lt;br /&gt;
&lt;br /&gt;
====== Paramètres ====== &lt;br /&gt;
* &amp;lt;code&amp;gt;abréviation&amp;lt;/code&amp;gt; – texte qui sera visible,&lt;br /&gt;
* &amp;lt;code&amp;gt;signification&amp;lt;/code&amp;gt; – signification de l’abréviation à afficher dans l’infobulle,&lt;br /&gt;
* &amp;lt;code&amp;gt;Langue&amp;lt;/code&amp;gt; – Code de langue pour l’abréviation,&lt;br /&gt;
* &amp;lt;code&amp;gt;nbsp &amp;lt;/code&amp;gt; – permet d'insérer une espace insécable avant (si &amp;lt;code&amp;gt;nbsp = '+'&amp;lt;/code&amp;gt;) ou après (si &amp;lt;code&amp;gt;nbsp = '-'&amp;lt;/code&amp;gt;) l'abréviation.&lt;br /&gt;
* &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; – souligne l’abréviation en &amp;lt;span style=&amp;quot;border-bottom: 1px dotted black;&amp;quot;&amp;gt;pointillé&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== exemple ======&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils |abr |hab. |Nombre d’habitants |visible = oui}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils |abr |hab. |Nombre d’habitants}}&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
local hab = 36 .. Outils.abr{ 'hab.', 'Nombre d’habitants', nbsp = '-', visible = true }&lt;br /&gt;
 -- hab = '36&amp;amp;nbsp;&amp;lt;abbr title=&amp;quot;Nombre d’habitants&amp;quot;&amp;gt;hab.&amp;lt;/abbr&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nombre2texte_reel===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.nombre2texte_reel( pnombre, plangue, ptype, porthographe, pgenre, pmajuscule )&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Retourne la forme textuelle du nombre passé en paramètre. Supporte l'orthographe pré/post 1990, la création d'ordinaux ou de cardinaux, et les variantes de certains nombres (septante, nonante, huitante…).&lt;br /&gt;
&lt;br /&gt;
====== Contraintes ======&lt;br /&gt;
* ne traite que les nombres entre -999999999999 et 999999999999 (inclus)&lt;br /&gt;
* ne gère pas les nombres à virgule (la partie décimale est ignorée, la partie entière est traitée)&lt;br /&gt;
* pour les ordinaux seuls les nombres positifs sont traités (un nombre négatif est accepté mais son signe est ignoré)&lt;br /&gt;
&lt;br /&gt;
====== Paramètres ======&lt;br /&gt;
* &amp;lt;code&amp;gt;pnombre&amp;lt;/code&amp;gt; – doit être un ''string''. Le nombre à convertir&lt;br /&gt;
* &amp;lt;code&amp;gt;plangue&amp;lt;/code&amp;gt; – langue utilisée. Valeur possibles : &amp;quot;fr&amp;quot; (soixante-dix, quatre-vingts, quatre-vingt-dix) ; &amp;quot;be&amp;quot; (septante, quatre-vingts, nonante) ; &amp;quot;ch&amp;quot; (septante, huitante, nonante) ; &amp;quot;ch2&amp;quot; (septante, octante, nonante). Une valeur ''nil'' correspond à &amp;quot;fr&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;ptype&amp;lt;/code&amp;gt; – le type de sortie. Seules valeurs possibles : ''nil'' ou &amp;quot;ordinal&amp;quot;. Si &amp;quot;ordinal&amp;quot; l'ordinal correspondant au nombre est généré (exemple : 12 → &amp;quot;douzième&amp;quot;) sinon un cardinal est généré (exemple : 12 → &amp;quot;douze&amp;quot;). ''nil'' correspond à un cardinal&lt;br /&gt;
* &amp;lt;code&amp;gt;porthographe&amp;lt;/code&amp;gt; – le type d'orthographe suivi. Valeurs possibles : ''nil'' ou &amp;quot;réformée&amp;quot;. Si &amp;quot;réformée&amp;quot; l'orthographe post-1990 est utilisé (tirets entre chaque termes) sinon c'est l'orthographe « historique » qui est suivie&lt;br /&gt;
* &amp;lt;code&amp;gt;pgenre&amp;lt;/code&amp;gt; – le genre du nombre. Valeurs possibles : ''nil'' ou &amp;quot;féminin&amp;quot;. Si &amp;quot;féminin&amp;quot; la seule différence est pour les ordinaux (&amp;quot;premier&amp;quot; devient &amp;quot;première&amp;quot;), aucun changement pour les autres cas&lt;br /&gt;
* &amp;lt;code&amp;gt;pmajuscule&amp;lt;/code&amp;gt; – mettre une majuscule à la première lettre. Valeurs possibles : ''nil'' ou &amp;quot;oui&amp;quot;. Si &amp;quot;oui&amp;quot; la première lettre du résultat est passée en majuscule, elle reste en minuscule sinon&lt;br /&gt;
&lt;br /&gt;
====== Exemples ======&lt;br /&gt;
Voir ci-dessous.&lt;br /&gt;
&lt;br /&gt;
=== nombre2texte ===&lt;br /&gt;
Même fonction que ci-dessus mais pour appel depuis un article (''via'' un modèle).&lt;br /&gt;
&lt;br /&gt;
===== Paramètres =====&lt;br /&gt;
* premier paramètre non nommé – le nombre à convertir (format numérique)&lt;br /&gt;
* &amp;lt;code&amp;gt;langue=&amp;lt;/code&amp;gt; – la langue utilisée (absent ou &amp;quot;fr&amp;quot;, &amp;quot;be&amp;quot;, &amp;quot;ch&amp;quot; ou &amp;quot;ch2&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;orthographe=&amp;lt;/code&amp;gt; – l'orthographe suivie (absent, &amp;quot;réformée&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;genre=&amp;lt;/code&amp;gt; – le genre du résultat (absent, &amp;quot;féminin&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;majuscule=&amp;lt;/code&amp;gt; – mettre une majuscule à la première lettre (absent, &amp;quot;oui&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; – générer un cardinal ou un ordinal (absent, &amp;quot;ordinal&amp;quot;, voir ci-dessus)&lt;br /&gt;
&lt;br /&gt;
===== Exemples =====&lt;br /&gt;
Appel de base : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|132}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|132}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Ordinal : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|132|type=ordinal}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|132|type=ordinal}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Majuscule : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|132|majuscule=oui}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|132|majuscule=oui}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Langue : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|198|langue=be}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|198|langue=be}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Genre : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|1|genre=féminin|type=ordinal}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|1|genre=féminin|type=ordinal}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Orthographe : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|1927|orthographe=réformée}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|1927|orthographe=réformée}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{Projet Scribunto}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Catégorie:Documentation de module|{{BASEPAGENAME}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthur</name></author>
	</entry>
	<entry>
		<id>https://baripedia.org/index.php?title=Module:Outils/Documentation&amp;diff=7807&amp;oldid=prev</id>
		<title>Arthur : 1 version</title>
		<link rel="alternate" type="text/html" href="https://baripedia.org/index.php?title=Module:Outils/Documentation&amp;diff=7807&amp;oldid=prev"/>
		<updated>2014-01-13T22:02:23Z</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;&amp;lt;includeonly&amp;gt;{{semi-protection longue}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ce module contient différentes fonction pratiques.&lt;br /&gt;
&lt;br /&gt;
== Résumé des fonctions ==&lt;br /&gt;
Fonctions exportables :&lt;br /&gt;
* &amp;lt;code&amp;gt;trim( texte )&amp;lt;/code&amp;gt; – similaire à mw.text.trim mais retourne nil lorsque la chaine est vide ou lorsque le paramètre n'est pas une chaine (ne génère pas d'erreur).&lt;br /&gt;
* &amp;lt;code&amp;gt;erreur( texte )&amp;lt;/code&amp;gt; – destiné à afficher une message d'erreur en gros et rouge. Retourne la chaine transmise dans un span de class &amp;quot;error&amp;quot;. Par défaut &amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;''erreur : raison non précisée''&amp;lt;/span&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#extractArgs|extractArgs]]( frame, ... )&amp;lt;/code&amp;gt; – retourne une table avec les paramètres, à partir d'un objet frame, d'une table ou d'une liste de paramètre.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#validTextArg|validTextArg]]( args, name, ... )&amp;lt;/code&amp;gt; – retourne le premier paramètre chaine non vide à partir de la table des paramètres et d'une liste de nom de paramètre.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#notEmpty|notEmpty]]( var, ... )&amp;lt;/code&amp;gt; – retourne le premier élément non vide.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#abr|abr]]( frame, ... )&amp;lt;/code&amp;gt; – génère une abréviation discrète (ou non)&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#nobr|nobr]]( texte )&amp;lt;/code&amp;gt; – équivalent de {{m|nobr}}, transforme le texte fournie en texte insécable.&lt;br /&gt;
* &amp;lt;code&amp;gt;ordinal( nombre, feminin )&amp;lt;/code&amp;gt; – retourne un ordinal abrégé comme {{m|1er}}, {{m|2e}}… à partir d'un nombre ou d'une chaine contenant uniquement des chiffres. Si le deuxième est défini, retourne {{1re}} au lieu de {{1er}}.&lt;br /&gt;
* &amp;lt;code&amp;gt;[[#nombre2texte_reel|nombre2texte_reel]](pnombre, plangue, ptype, porthographe, pgenre, pmajuscule)&amp;lt;/code&amp;gt; – transforme un nombre en texte (5 → cinq ou cinquième). Gère la langue (fr, be, ch), l'orthographe pré ou post 1990, le genre ainsi que les variantes locales des nombres.&lt;br /&gt;
* &amp;lt;code&amp;gt;nombre2texte(frame)&amp;lt;/code&amp;gt; – similaire à nombre2texte_reel mais pour un appel depuis un modèle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modules externes et autres éléments dont ce module a besoin pour fonctionner :&lt;br /&gt;
* &amp;lt;code&amp;gt;Module:Outils/Data&amp;lt;/code&amp;gt; – pour les conversions nombre → texte.&lt;br /&gt;
&lt;br /&gt;
== Détail par fonction == &lt;br /&gt;
=== extractArgs ===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.extractArgs( frame, ... )&amp;lt;/code&amp;gt;  &lt;br /&gt;
* si frame n'est pas une table, retourne &amp;lt;code&amp;gt;{ frame, ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
* Si frame est une table simple et non une [[:mw:Extension:Scribunto/Lua reference manual/fr#L'objet Frame|objet Frame]], retourne &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt;&lt;br /&gt;
* Si frame est un objet créé par &amp;lt;code&amp;gt;#invoke:&amp;lt;/code&amp;gt;, retourne les paramètres passé à #invoke: (en priorité) et ceux passées au modèle. Si le paramètre &amp;lt;code&amp;gt;invokeArgsOnly &amp;lt;/code&amp;gt; n'est pas vide, seul les paramètres transmis à invoke seront utilisés.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : cette fonction peut modifier la table &amp;lt;code&amp;gt;frame.getParent().args&amp;lt;/code&amp;gt;. S'il est probable qu'un autre module passe un objet &amp;lt;code&amp;gt;frame&amp;lt;/code&amp;gt; à votre fonction, il est préférable de l'indiquer dans la documentation.&lt;br /&gt;
&lt;br /&gt;
====== Exemple ======&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
function p.maFonction( frame, ... )&lt;br /&gt;
    local args = Outils.extractArgs( frame, ... )&lt;br /&gt;
    return ( args[1] or 'nil' ) .. ' ' .. ( args[2] or 'nil' ) .. ' ' .. ( args['nom'] or 'nil' )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* appel direct : &amp;lt;code&amp;gt;p.maFonction( 'oui', 'deux', 'Zebulon84' )&amp;lt;/code&amp;gt; → « oui deux nil »  (impossible de transmettre un paramètre nommé)&lt;br /&gt;
*&lt;br /&gt;
* appel par  table : &amp;lt;code&amp;gt;p.maFonction{ 'oui', 'deux', nom = 'Zebulon84' }&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*&lt;br /&gt;
* appel par &amp;lt;code&amp;gt;#invoke:&amp;lt;/code&amp;gt; : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |oui |2 |nom = Zebulon84}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*&lt;br /&gt;
* appel par modèle &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; : &lt;br /&gt;
** le modèle contient &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, &lt;br /&gt;
***&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction|oui | deux |nom= Zebulon84}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
** le modèle contient  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |nom = Zebulon84}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = Hexasoft}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
** le modèle contient  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |nom = {{{nom|Zebulon84}}} }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Zebulon84 »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = Hexasoft}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux Hexasoft »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « oui deux nil »&lt;br /&gt;
** le modèle contient  &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:p |maFonction |nom = {{{nom|Zebulon84}}} |invokeArgsOnly = oui}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « nil nil Zebulon84 »&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{Ma fonction |oui | deux |nom = Hexasoft}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → « nil nil Hexasoft»&lt;br /&gt;
&lt;br /&gt;
=== validTextArg ===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.validTextArg( args, name, ... )&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Retourne args.name si c'est un texte valide. &lt;br /&gt;
Sinon testes les autres éléments transmis à la fonction. S'il n'y en a pas ou s'ils ne correspondent pas à un texte valide dans la table args, retourne &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette fonction est pratique pour obtenir le contenu d'un paramètre pouvant avoir plusieurs nom.&lt;br /&gt;
&lt;br /&gt;
'''Attention''' : les nombres (type 'number') ne sont pas considérés comme un texte valide.&lt;br /&gt;
&lt;br /&gt;
====== exemple ======&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
local args = { '1', '2', 3, nom1 = nil, nom2 = '', nom3 = 'a' }&lt;br /&gt;
local v1  = Outils.validTextArg( args, 'nom1' }                -- v1 = nil&lt;br /&gt;
local v2 = Outils.validTextArg( args, 'nom1', 'nom2', 'nom3' ) -- v2 = 'a'&lt;br /&gt;
local v3 = Outils.validTextArg( args, 3, 2, 1 )                -- v3 = '2'&lt;br /&gt;
&lt;br /&gt;
local function validArg( ... ) &lt;br /&gt;
    return Outils.validTextArg( args, ... }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local v4 = validArg( 'nom' )  -- v4 = nil&lt;br /&gt;
local v5 = validArg( 'nom2', 'nom3' ) -- v5 = 'a'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== notEmpty ===&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.notEmpty( var, ... )&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Retourne le premier élément non vide, sinon retourne nil.&lt;br /&gt;
&lt;br /&gt;
* Sont considérés comme vide : {{code|nil, false, '', '  \t \n ', 0, { }|lua}}&lt;br /&gt;
* Sont considérés comme non vide : {{code|true, 'blabla', '&amp;amp;nbsp;', 1, { '' },  { {} }, function () end|lua}}&lt;br /&gt;
&lt;br /&gt;
=== abr ===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
* &amp;lt;code&amp;gt;Outils.abr( frame, ... )&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;Outils.abr( abréviation, signification, langue )&amp;lt;/code&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;Outils.abr{ abréviation, signification, langue, nbsp = '+', visible = true }&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Génère une abréviation (discrète par défaut)&lt;br /&gt;
&lt;br /&gt;
====== Paramètres ====== &lt;br /&gt;
* &amp;lt;code&amp;gt;abréviation&amp;lt;/code&amp;gt; – texte qui sera visible,&lt;br /&gt;
* &amp;lt;code&amp;gt;signification&amp;lt;/code&amp;gt; – signification de l’abréviation à afficher dans l’infobulle,&lt;br /&gt;
* &amp;lt;code&amp;gt;Langue&amp;lt;/code&amp;gt; – Code de langue pour l’abréviation,&lt;br /&gt;
* &amp;lt;code&amp;gt;nbsp &amp;lt;/code&amp;gt; – permet d'insérer une espace insécable avant (si &amp;lt;code&amp;gt;nbsp = '+'&amp;lt;/code&amp;gt;) ou après (si &amp;lt;code&amp;gt;nbsp = '-'&amp;lt;/code&amp;gt;) l'abréviation.&lt;br /&gt;
* &amp;lt;code&amp;gt;visible&amp;lt;/code&amp;gt; – souligne l’abréviation en &amp;lt;span style=&amp;quot;border-bottom: 1px dotted black;&amp;quot;&amp;gt;pointillé&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== exemple ======&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils |abr |hab. |Nombre d’habitants |visible = oui}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils |abr |hab. |Nombre d’habitants}}&lt;br /&gt;
&amp;lt;source lang=lua&amp;gt;&lt;br /&gt;
local hab = 36 .. Outils.abr{ 'hab.', 'Nombre d’habitants', nbsp = '-', visible = true }&lt;br /&gt;
 -- hab = '36&amp;amp;nbsp;&amp;lt;abbr title=&amp;quot;Nombre d’habitants&amp;quot;&amp;gt;hab.&amp;lt;/abbr&amp;gt;'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nombre2texte_reel===&lt;br /&gt;
====== Syntaxe ======&lt;br /&gt;
&amp;lt;code&amp;gt;Outils.nombre2texte_reel( pnombre, plangue, ptype, porthographe, pgenre, pmajuscule )&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Retourne la forme textuelle du nombre passé en paramètre. Supporte l'orthographe pré/post 1990, la création d'ordinaux ou de cardinaux, et les variantes de certains nombres (septante, nonante, huitante…).&lt;br /&gt;
&lt;br /&gt;
====== Contraintes ======&lt;br /&gt;
* ne traite que les nombres entre -999999999999 et 999999999999 (inclus)&lt;br /&gt;
* ne gère pas les nombres à virgule (la partie décimale est ignorée, la partie entière est traitée)&lt;br /&gt;
* pour les ordinaux seuls les nombres positifs sont traités (un nombre négatif est accepté mais son signe est ignoré)&lt;br /&gt;
&lt;br /&gt;
====== Paramètres ======&lt;br /&gt;
* &amp;lt;code&amp;gt;pnombre&amp;lt;/code&amp;gt; – doit être un ''string''. Le nombre à convertir&lt;br /&gt;
* &amp;lt;code&amp;gt;plangue&amp;lt;/code&amp;gt; – langue utilisée. Valeur possibles : &amp;quot;fr&amp;quot; (soixante-dix, quatre-vingts, quatre-vingt-dix) ; &amp;quot;be&amp;quot; (septante, quatre-vingts, nonante) ; &amp;quot;ch&amp;quot; (septante, huitante, nonante) ; &amp;quot;ch2&amp;quot; (septante, octante, nonante). Une valeur ''nil'' correspond à &amp;quot;fr&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;ptype&amp;lt;/code&amp;gt; – le type de sortie. Seules valeurs possibles : ''nil'' ou &amp;quot;ordinal&amp;quot;. Si &amp;quot;ordinal&amp;quot; l'ordinal correspondant au nombre est généré (exemple : 12 → &amp;quot;douzième&amp;quot;) sinon un cardinal est généré (exemple : 12 → &amp;quot;douze&amp;quot;). ''nil'' correspond à un cardinal&lt;br /&gt;
* &amp;lt;code&amp;gt;porthographe&amp;lt;/code&amp;gt; – le type d'orthographe suivi. Valeurs possibles : ''nil'' ou &amp;quot;réformée&amp;quot;. Si &amp;quot;réformée&amp;quot; l'orthographe post-1990 est utilisé (tirets entre chaque termes) sinon c'est l'orthographe « historique » qui est suivie&lt;br /&gt;
* &amp;lt;code&amp;gt;pgenre&amp;lt;/code&amp;gt; – le genre du nombre. Valeurs possibles : ''nil'' ou &amp;quot;féminin&amp;quot;. Si &amp;quot;féminin&amp;quot; la seule différence est pour les ordinaux (&amp;quot;premier&amp;quot; devient &amp;quot;première&amp;quot;), aucun changement pour les autres cas&lt;br /&gt;
* &amp;lt;code&amp;gt;pmajuscule&amp;lt;/code&amp;gt; – mettre une majuscule à la première lettre. Valeurs possibles : ''nil'' ou &amp;quot;oui&amp;quot;. Si &amp;quot;oui&amp;quot; la première lettre du résultat est passée en majuscule, elle reste en minuscule sinon&lt;br /&gt;
&lt;br /&gt;
====== Exemples ======&lt;br /&gt;
Voir ci-dessous.&lt;br /&gt;
&lt;br /&gt;
=== nombre2texte ===&lt;br /&gt;
Même fonction que ci-dessus mais pour appel depuis un article (''via'' un modèle).&lt;br /&gt;
&lt;br /&gt;
===== Paramètres =====&lt;br /&gt;
* premier paramètre non nommé – le nombre à convertir (format numérique)&lt;br /&gt;
* &amp;lt;code&amp;gt;langue=&amp;lt;/code&amp;gt; – la langue utilisée (absent ou &amp;quot;fr&amp;quot;, &amp;quot;be&amp;quot;, &amp;quot;ch&amp;quot; ou &amp;quot;ch2&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;orthographe=&amp;lt;/code&amp;gt; – l'orthographe suivie (absent, &amp;quot;réformée&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;genre=&amp;lt;/code&amp;gt; – le genre du résultat (absent, &amp;quot;féminin&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;majuscule=&amp;lt;/code&amp;gt; – mettre une majuscule à la première lettre (absent, &amp;quot;oui&amp;quot;, voir ci-dessus)&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; – générer un cardinal ou un ordinal (absent, &amp;quot;ordinal&amp;quot;, voir ci-dessus)&lt;br /&gt;
&lt;br /&gt;
===== Exemples =====&lt;br /&gt;
Appel de base : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|132}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|132}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Ordinal : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|132|type=ordinal}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|132|type=ordinal}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Majuscule : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|132|majuscule=oui}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|132|majuscule=oui}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Langue : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|198|langue=be}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|198|langue=be}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Genre : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|1|genre=féminin|type=ordinal}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|1|genre=féminin|type=ordinal}}&amp;lt;br/&amp;gt;&lt;br /&gt;
Orthographe : &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Outils|nombre2texte|1927|orthographe=réformée}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; → {{#invoke:Outils|nombre2texte|1927|orthographe=réformée}}&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{Projet Scribunto}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Catégorie:Documentation de module|{{BASEPAGENAME}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Arthur</name></author>
	</entry>
</feed>