<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://dansunegalaxie.ca/index.php?action=history&amp;feed=atom&amp;title=Module%3ARbpNote</id>
	<title>Module:RbpNote - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://dansunegalaxie.ca/index.php?action=history&amp;feed=atom&amp;title=Module%3ARbpNote"/>
	<link rel="alternate" type="text/html" href="https://dansunegalaxie.ca/index.php?title=Module:RbpNote&amp;action=history"/>
	<updated>2026-04-04T22:36:30Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://dansunegalaxie.ca/index.php?title=Module:RbpNote&amp;diff=267&amp;oldid=prev</id>
		<title>Yuki : 1 version importée : Infobox</title>
		<link rel="alternate" type="text/html" href="https://dansunegalaxie.ca/index.php?title=Module:RbpNote&amp;diff=267&amp;oldid=prev"/>
		<updated>2023-11-15T07:11:27Z</updated>

		<summary type="html">&lt;p&gt;1 version importée : Infobox&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 15 novembre 2023 à 03:11&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key dugwiki:diff::1.12:old-266:rev-267 --&gt;
&lt;/table&gt;</summary>
		<author><name>Yuki</name></author>
	</entry>
	<entry>
		<id>https://dansunegalaxie.ca/index.php?title=Module:RbpNote&amp;diff=266&amp;oldid=prev</id>
		<title>wikipedia&gt;LD : A protégé « Module:RbpNote » : Modèle ou module très utilisé ([Modifier = Autoriser uniquement les administrateurs] (infini) [Renommer = Autoriser uniquement les administrateurs] (infini))</title>
		<link rel="alternate" type="text/html" href="https://dansunegalaxie.ca/index.php?title=Module:RbpNote&amp;diff=266&amp;oldid=prev"/>
		<updated>2023-02-09T13:48:46Z</updated>

		<summary type="html">&lt;p&gt;A protégé « &lt;a href=&quot;/Module:RbpNote&quot; title=&quot;Module:RbpNote&quot;&gt;Module:RbpNote&lt;/a&gt; » : Modèle ou module très utilisé ([Modifier = Autoriser uniquement les administrateurs] (infini) [Renommer = Autoriser uniquement les administrateurs] (infini))&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[ Version: 1/06/2018 à usage restreint à l&amp;#039;&amp;quot;existant&amp;quot; &lt;br /&gt;
	sur modèles à parseur (multiples),&lt;br /&gt;
	vérification du paramétrage avec alias,&lt;br /&gt;
	génère une liste d&amp;#039;erreur à imprimer,&lt;br /&gt;
	catégorie cachée optionnelle,&lt;br /&gt;
	option analyse de syntaxe organique par valeur / contenu d&amp;#039;adresse (grille écran valeurs refusées; valeur(s) obligatoire(s))&lt;br /&gt;
	option analyse de syntaxe fonctionnelle par fonction d&amp;#039;alias / paramètre (grille filtre des doublons fonctionnels)	et dépendance simple d&amp;#039;un paramètre à un autre à respecter&lt;br /&gt;
	impression dans et hors corps de rendu, selon implantation.&lt;br /&gt;
	utilise (insérées dans le modèle en littéraux) les tables config du module, alias dans article, valeur modélisées &lt;br /&gt;
	]]&lt;br /&gt;
local p = {}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _tablov(tablovT, tablovname)&lt;br /&gt;
	local Tname = tablovname&lt;br /&gt;
	local tflag = &amp;#039;&amp;#039;&lt;br /&gt;
	local renvoi = &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;dump récapitulatif de la TABLE: &amp;quot;..Tname..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	local T = tablovT&lt;br /&gt;
	local tak = &amp;#039;&amp;#039;&lt;br /&gt;
	local tav = &amp;#039;&amp;#039;&lt;br /&gt;
	for tak, tav in pairs(T) do&lt;br /&gt;
			if (tav ~= nil) then &lt;br /&gt;
				tflag = true &lt;br /&gt;
				renvoi = renvoi..&amp;quot;&amp;lt;br&amp;gt; tablovkey: &amp;quot;..tak..&amp;quot; tablovvalue:&amp;quot;..tav..&amp;quot;&amp;quot;&lt;br /&gt;
			else&lt;br /&gt;
				tflag = false&lt;br /&gt;
				renvoi = &amp;quot;pas d&amp;#039;éléments&amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
	end&lt;br /&gt;
  return tflag, renvoi&lt;br /&gt;
end --fin _tablov&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _xist(objet)	--&amp;gt;	transforme localement un objet composite &amp;quot;qui n&amp;#039;existe pas&amp;quot; nil &amp;amp;  &amp;#039;&amp;#039; (taille 0) en valeur false d&amp;#039;objet pour Rbp testable sans passer par pcall&lt;br /&gt;
	if (tostring(objet) ~= nil and #tostring(objet) &amp;gt; 0 ) then	return objet else return false	end&lt;br /&gt;
end	--fin _xist&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _coulerr (objet)	 -- rouge&lt;br /&gt;
	local objet =&amp;#039;&amp;lt;span style=&amp;quot;color:#d00000;&amp;quot;&amp;gt;&amp;#039; .. objet .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
  return objet&lt;br /&gt;
end	--fin _coulerr&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _validation_ecran(articleargs, choix, ecran, parame, balisesargs, modelid, nb_erreurs, liste_err, RV )&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;==== début écran  avec valeur reçue: &amp;quot;..ecran..&amp;quot; paramètre: &amp;quot;..parame&lt;br /&gt;
	local article_args = articleargs&lt;br /&gt;
	local option = choix&lt;br /&gt;
	local modeleid = modelid &lt;br /&gt;
	local balises_args = balisesargs&lt;br /&gt;
	local parametre = parame&lt;br /&gt;
	local tableecran = ecran&lt;br /&gt;
	local table_ecran = {}&lt;br /&gt;
	table_ecran = mw.text.split( tableecran, balises_args[2] )&lt;br /&gt;
	local wapparie = 0 -- régime obligatoire, inf à 1  égale message d&amp;#039;erreur					&lt;br /&gt;
	for ec, ep in pairs(table_ecran) do --[[&lt;br /&gt;
	&amp;gt;2ABCDE fouille écran pour valeur paramètre-article impérative/refusée]]&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;===== fouille écran (ec): &amp;quot;..ec..&amp;quot; valeur étudiée (ep): &amp;quot;..ep..&amp;quot; pour: &amp;quot;..parametre	&lt;br /&gt;
--m	if _xist(article_args[parametre]) then RV=RV..&amp;quot;&amp;lt;br&amp;gt; parametre à valeur dans l&amp;#039;article: &amp;quot;..article_args[parametre] else RV=RV..&amp;quot;&amp;lt;br&amp;gt;parametre VIDE &amp;quot;	end					&lt;br /&gt;
		if option == &amp;quot;refus&amp;quot; and article_args[parametre] == ep and ec &amp;gt; 1 then&lt;br /&gt;
		--2ABCDEF  en refus  1 item &lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;======  valeur étudiée en refus  trouvée dans article  (ep): &amp;quot;..ep..&amp;quot; pour: &amp;quot;..parametre..&amp;quot;&amp;lt;br&amp;gt;==== valeur &amp;quot;..article_args[parametre]..&amp;quot; en erreur par valeur refusée !&amp;quot;&lt;br /&gt;
			nb_erreurs = nb_erreurs + 1&lt;br /&gt;
			liste_err = liste_err..&amp;quot;Erreur. Modèle:&amp;quot;..modeleid..&amp;quot;. Le paramètre « &amp;quot;..parametre..&amp;quot; » a une valeur non admise: « &amp;quot;..article_args[parametre]..&amp;quot; ». &amp;quot;..table_ecran[1]..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
			break&lt;br /&gt;
		end -- fin 2ABCDEF étude du refus&lt;br /&gt;
		if option == &amp;quot;obligatoire&amp;quot; and article_args[parametre] == ep  then&lt;br /&gt;
		--2ABCDEG étude ensemble valeurs imposées si 1 choisi&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;======  valeur étudiée obligatoire trouvée  dans article  (ep): &amp;quot;..ep..&amp;quot; pour paramètre transmis: &amp;quot;..parametre&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;======  valeur &amp;quot;..article_args[parametre]..&amp;quot;acceptée par valeur obligatoire !&amp;quot;&lt;br /&gt;
			wapparie = wapparie + 1&lt;br /&gt;
			break&lt;br /&gt;
--m	else RV=RV..&amp;quot;&amp;lt;br&amp;gt;======  cette  valeur du modèle (ep): &amp;quot;..ep..&amp;quot; n&amp;#039;est pas choisie pour faire l&amp;#039;article avec le paramètre considéré: &amp;quot;..parametre..&amp;quot; &amp;quot;	&lt;br /&gt;
		end -- fin 2ABCDEG étude ensemble valeurs imposées&lt;br /&gt;
	end -- fin &amp;gt;2ABCDE fouille écran (impératif/refus)					&lt;br /&gt;
	if wapparie &amp;lt; 1  and option == &amp;quot;obligatoire&amp;quot; and _xist(article_args[parametre])  then -- clause pas respectée sur impératif&lt;br /&gt;
		nb_erreurs = nb_erreurs + 1&lt;br /&gt;
		liste_err = liste_err..&amp;quot;Erreur. Modèle:&amp;quot;..modeleid..&amp;quot;. Le paramètre « &amp;quot;..parametre..&amp;quot; » a une valeur non admise: « &amp;quot;..article_args[parametre]..&amp;quot; ». &amp;quot;..table_ecran[1]..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
	end					&lt;br /&gt;
 return nb_erreurs, liste_err, RV&lt;br /&gt;
end --	 fin _ecran_valeur-non-admise			&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _traitement_liste_alias(articleargs, tablealipar, parali, balisesargs, modelid, nb_erreurs, liste_err, RV)&lt;br /&gt;
	local article_args = articleargs&lt;br /&gt;
	local table_alipar = tablealipar&lt;br /&gt;
	local parametre = string.gsub( parali, &amp;#039;_P:&amp;#039;, &amp;#039;&amp;#039;, 1 )&lt;br /&gt;
	local modeleid = modelid &lt;br /&gt;
	local balises_args = balisesargs&lt;br /&gt;
	local aliparnom = &amp;#039;&amp;#039; &lt;br /&gt;
	local nb_alias = 0	&lt;br /&gt;
	for tk, tv in pairs (table_alipar) do --[[&lt;br /&gt;
	&amp;gt;2ABC fouille table alias vérifier les doublons]]&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;--dans une vérif des doublons alias (et écran) tk: &amp;quot;..tk..&amp;quot;, tv de la fouille: &amp;gt;&amp;quot;..tv..&amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;--+ parametre défini: &amp;quot;..parametre--w..&amp;quot; (et  ecran: &amp;quot;..ecran..&amp;quot;)&amp;quot;&lt;br /&gt;
		if (_xist(article_args[tv])) then &lt;br /&gt;
		-- 2ABCE test vérif doublon alias&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;---d dans article testé existe paramètre: &amp;quot;..tv..&amp;quot; à valeur dans l&amp;#039;article: &amp;quot;..article_args[tv]			&lt;br /&gt;
			nb_alias = nb_alias + 1&lt;br /&gt;
			if (nb_alias &amp;gt; 1) then&lt;br /&gt;
				nb_erreurs = nb_erreurs + 1&lt;br /&gt;
				liste_err = liste_err..&amp;quot; Erreur. Modèle:&amp;quot;..modeleid..&amp;quot;. Définition de paramètre en double, doublon: « &amp;quot;..aliparnom..&amp;quot; » de valeur: « &amp;quot;..article_args[aliparnom]..&amp;quot; » et « &amp;quot;..tv..&amp;quot; » de valeur: « &amp;quot;..article_args[tv]..&amp;quot; »,&amp;lt;br&amp;gt; &amp;quot;&lt;br /&gt;
			end&lt;br /&gt;
			aliparnom = tv			&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;---d nombre de valeurs dans l&amp;#039;article: &amp;quot;..nb_alias..&amp;quot; avec: &amp;quot;..tv	&lt;br /&gt;
		end -- fin 2ABCE test vérif doublon alias&lt;br /&gt;
		--&amp;gt;partie dissociée écran pour des erreurs de saisie&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;--e&amp;quot;		&lt;br /&gt;
		if string.find(tv,&amp;#039;_v&amp;#039;) == 1 then&lt;br /&gt;
			-- 2ABCD procédure ecran&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;== écran: &amp;gt;&amp;quot;..tv..&amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;==&amp;gt; début procédure refus obligatoire (aliparnom) &amp;quot;..aliparnom&lt;br /&gt;
			local option = &amp;#039;&amp;#039;&lt;br /&gt;
			local ecran = &amp;#039; &amp;#039;&lt;br /&gt;
			if string.find(tv,&amp;#039;_vrefus:&amp;#039;) == 1 then&lt;br /&gt;
				option = &amp;quot;refus&amp;quot;&lt;br /&gt;
				ecran = string.gsub( tv, &amp;#039;_vrefus:&amp;#039;, &amp;#039;&amp;#039;, 1 )&lt;br /&gt;
			elseif string.find(tv,&amp;#039;_vobligatoire:&amp;#039;) == 1 then&lt;br /&gt;
				option = &amp;quot;obligatoire&amp;quot;&lt;br /&gt;
				ecran = string.gsub( tv, &amp;#039;_vobligatoire:&amp;#039;, &amp;#039;&amp;#039;, 1 )&lt;br /&gt;
			else liste_err=liste_err..&amp;quot;&amp;lt;br&amp;gt;!!!&amp;lt;br&amp;gt;!!!&amp;lt;br&amp;gt;ERREUR: MODELE MAL PROGRAMMÉ POUR LA GRILLE DES VALEURS EN  « refus/obligatoire » DES ALIAS. &amp;lt;br&amp;gt;!!!&amp;lt;br&amp;gt;!!!&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
			end	&lt;br /&gt;
--m	if string.find( ecran, aliparnom )  == 1 and article_args[aliparnom] ~= nil then RV=RV..&amp;quot;&amp;lt;br&amp;gt;===&amp;gt; déclenche option: &amp;quot;..option			&lt;br /&gt;
				nb_erreurs, liste_err, RV =  _validation_ecran(article_args, option, ecran, aliparnom, balises_args, modeleid, nb_erreurs, liste_err, RV) &lt;br /&gt;
--m	end&lt;br /&gt;
		end -- fin 2ABCD partie écran procédure écran			&lt;br /&gt;
	end -- fin &amp;gt;2ABC fouille table alias vérifier les doublons et valeurs saisies&lt;br /&gt;
  return nb_erreurs, liste_err, RV&lt;br /&gt;
end -- fin _traitement_liste_alias&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _chargement_alias_parametre_doublon_ecran(modeleargs, articleargs, balisesargs, modelid, nb_erreurs, liste_err, RV)										&lt;br /&gt;
--les alias partie 2 contiennent la séquence ;_vrefus:message-erreur-de-saisie-affiché,valeur1-refusée,valeur2...;_vobligatoire:message-erreur-de-saisie-de-valeur-affiché,valeur1-parmi-les-obligatoires,valeur2...&lt;br /&gt;
	local modeleid = modelid &lt;br /&gt;
	local balises_args = balisesargs&lt;br /&gt;
	local modele_args = modeleargs&lt;br /&gt;
	local article_args = articleargs&lt;br /&gt;
	local modelindex = 0 &lt;br /&gt;
	for mc , mp in pairs (modele_args) do --[[&lt;br /&gt;
	&amp;gt;2A fouille modèle pour alias-paramètres avec écran]]&lt;br /&gt;
		modelindex = modelindex + 1&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; fouille MODELE: &amp;quot;..modeleid..&amp;quot; pour alias-paramètres index: &amp;quot;..modelindex..&amp;quot;  mc: &amp;quot;..mc..&amp;quot; mp: &amp;quot;..mp&lt;br /&gt;
		local table_alipar = {}&lt;br /&gt;
		if string.find(mc, &amp;#039;_P:&amp;#039;) == 1 then&lt;br /&gt;
		-- 2AB procédure des alias-paramètres écran&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;-dans une définition  d&amp;#039; alias-paramètre écran&amp;quot;	&lt;br /&gt;
			table_alipar = mw.text.split( mp, balises_args[1] )&lt;br /&gt;
			--&amp;gt;partie exploitation liste alias&lt;br /&gt;
				nb_erreurs, liste_err, RV = _traitement_liste_alias(article_args, table_alipar, mc, balises_args, modeleid, nb_erreurs, liste_err, RV)&lt;br /&gt;
		end -- fin 2AB procédure alias-paramètre &lt;br /&gt;
	end -- fin &amp;gt;2A fouille modèle pour alias-paramètres  et écran&lt;br /&gt;
  return nb_erreurs, liste_err, RV&lt;br /&gt;
end -- fin 2A (partie 2) _chargement_alias_parametre_doublon_ecran&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;partie 1&lt;br /&gt;
local function _validation_filtre_liaison(articleargs, tableparams, paramf, balisesargs, modelid, nb_erreurs, liste_err, RV )&lt;br /&gt;
--les paramètres partie 1 contiennent la séquence ;_filtre:paramètre-concerné,message-de-filtrage-affiché,autre-paramètre-prééminent,...,dernier-paramètre-normé-sur-édition-visuelle&lt;br /&gt;
	local article_args = articleargs&lt;br /&gt;
	local modeleid = modelid &lt;br /&gt;
	local balises_args = balisesargs&lt;br /&gt;
	local parametre = paramf&lt;br /&gt;
	local table_params = tableparams&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤ DEBUT filtrage de parametre article: &amp;quot;..parametre&lt;br /&gt;
	local fflag = false&lt;br /&gt;
	for fc, fp in pairs(table_params) do --[[&lt;br /&gt;
	&amp;gt;1ABCD selection filtre - selection liaison]]&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤ dans filtrage de parametre article: &amp;quot;..parametre..&amp;quot;, recherche des filtres pour lui sur: &amp;quot;..fp&lt;br /&gt;
		local selecte = fp&lt;br /&gt;
		local table_selecte = mw.text.split(selecte,balises_args[2])&lt;br /&gt;
		--&amp;gt; filtre&lt;br /&gt;
		if 	table_selecte[1] == (&amp;quot;_filtre:&amp;quot;..parametre )	 then&lt;br /&gt;
		--1ABCDE ventilation des éléments du filtre	&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤* paramètre article sélectionné: &amp;quot;..parametre..&amp;quot; pour liste: &amp;quot;..fp..&amp;quot; &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;filtre&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;quot;&lt;br /&gt;
			for sc, sp in pairs(table_selecte) do --[[&lt;br /&gt;
			&amp;gt;1ABCDEFG fouille sélection prééminent]]&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤**  fouille de table_selecte (sc):&amp;quot;..sc..&amp;quot;, valeur (sp): &amp;quot;..sp			&lt;br /&gt;
				if sc &amp;gt; 2 then &lt;br /&gt;
					if _xist(article_args[sp]) then&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤** un paramètre d&amp;#039;article plus select nom:&amp;quot;..sp..&amp;quot;, valeur: &amp;quot;..article_args[sp]..&amp;quot; EXISTE pour le paramètre donné: &amp;quot;..parametre									&lt;br /&gt;
						if nb_erreurs &amp;lt; 1 then	nb_erreurs = 1	end&lt;br /&gt;
						liste_err = liste_err..&amp;quot;Avertissement! Modèle:&amp;quot;..modeleid..&amp;quot;. Le paramètre « &amp;quot;..sp..&amp;quot; », valeur: « &amp;quot;..article_args[sp]..&amp;quot; » est en double avec le paramètre «  &amp;quot;..parametre..&amp;quot;, » de valeur: « &amp;quot;..article_args[parametre]..&amp;quot; » , ce dernier est à supprimer. &amp;quot;..table_selecte[2]..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end -- fin &amp;gt;1ABCDEFG&lt;br /&gt;
--m	else&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤¤ paramètre article pas sélectionné: &amp;quot;..parametre..&amp;quot; pour liste, la valeur (fp): &amp;quot;..fp..&amp;quot; le string gsub (fp): &amp;quot;..string.gsub( fp, &amp;#039;_filtre:&amp;#039;, &amp;#039;&amp;#039;, 1 )&lt;br /&gt;
		end -- fin 1ABCDE ventilation des éléments du filtre&lt;br /&gt;
		--&amp;gt;liaison &lt;br /&gt;
		if 	table_selecte[1] == (&amp;quot;_liaison:&amp;quot;..parametre )	 then&lt;br /&gt;
		--1ABCDH ventilation des éléments de la liaison hiérarchique	&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤# paramètre article sélectionné: &amp;quot;..parametre..&amp;quot; à valeur: &amp;quot;..article_args[parametre]..&amp;quot; pour liste: &amp;quot;..fp..&amp;quot; &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;liaison&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;quot;&lt;br /&gt;
			for sc, sp in pairs(table_selecte) do --[[&lt;br /&gt;
			&amp;gt;1ABCDHI fouille sélection dépendance]]&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤##  fouille de table_selecte (sc):&amp;quot;..sc..&amp;quot;, valeur (sp): &amp;quot;..sp	&lt;br /&gt;
				if not(_xist(article_args[sp])) and sc &amp;gt; 2 then&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤### EXISTE PAS  paramètre PERE chargé (sp):&amp;quot;..sp..&amp;quot; pour le paramètre donné: &amp;quot;..parametre									&lt;br /&gt;
					nb_erreurs = nb_erreurs + 1	&lt;br /&gt;
					liste_err = liste_err..&amp;quot;Erreur. Modèle:&amp;quot;..modeleid..&amp;quot;. Le paramètre « &amp;quot;..sp..&amp;quot; » n&amp;#039;existe pas, le paramètre «  &amp;quot;..parametre..&amp;quot; », de valeur: « &amp;quot;..article_args[parametre]..&amp;quot; » , en est dépendant. &amp;quot;..table_selecte[2]..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;&lt;br /&gt;
--m		else  RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤### EXISTE ou l &amp;lt; 2 !!!!!!!! paramètre PERE chargé (article_args[sp]) ou 2 premiers: &amp;quot;				&lt;br /&gt;
				end&lt;br /&gt;
			end -- fin &amp;gt;1ABCDHI&lt;br /&gt;
--m	else	RV=RV..&amp;quot;&amp;lt;br&amp;gt; ¤¤¤ paramètre article pas sélectionné: &amp;quot;..parametre..&amp;quot; pour liste, la valeur (fp): &amp;quot;..fp..&amp;quot; le string gsub liaison (fp): &amp;quot;..string.gsub( fp, &amp;#039;_liaison:&amp;#039;, &amp;#039;&amp;#039;, 1 )&lt;br /&gt;
		end -- fin 1ABCDH liaison&lt;br /&gt;
	end -- fin &amp;gt;1ABCD selection filtre selection liaison								&lt;br /&gt;
 return nb_erreurs, liste_err, RV&lt;br /&gt;
end -- fin _validation_filtre_liaison&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _traitement_liste_parametres(articleargs,tableparams, paramp, balisesargs, modelid, pvalide, nb_erreurs, liste_err, RV)&lt;br /&gt;
	local article_args = articleargs&lt;br /&gt;
	local modeleid = modelid &lt;br /&gt;
	local balises_args = balisesargs&lt;br /&gt;
	local parametre = paramp&lt;br /&gt;
	local table_params = tableparams&lt;br /&gt;
	local pvalide = false&lt;br /&gt;
	for tk, tv in pairs(table_params) do --[[&lt;br /&gt;
	&amp;gt;1AB fouille table-parametres déclarés pour appariement parametre article]]&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;°° fouille des paramètres déclarés, tableindex: &amp;quot;..tk..&amp;quot;, paramètre déclaré: &amp;gt;&amp;quot;..tv..&amp;quot;&amp;lt; face au paramètre article: &amp;gt;&amp;quot;..parametre..&amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
--m	if string.find(tv,parametre,1) == 1 then RV=RV..&amp;quot;&amp;lt;br&amp;gt;!!!!!!!!!!!!!oui&amp;quot; else RV=RV..&amp;quot; (NON PAS IDENTIQUE)&amp;quot; end	&lt;br /&gt;
		if (parametre == tv) then	&lt;br /&gt;
		-- 1ABC validation du paramètre article&lt;br /&gt;
			pvalide = true&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;°°° paramètre article valide: &amp;quot;..parametre..&amp;quot;, idem valeur modèle-table: &amp;quot;..tv..&amp;quot; &amp;quot;&lt;br /&gt;
------&amp;gt; ;_filtre:filtré,message-de-filtrage-affiché,auteur,auteur1,nom1,prénom1 (suivants préférés au premier si écriture doublon fonctionnel)&lt;br /&gt;
			nb_erreurs, liste_err, RV =  _validation_filtre_liaison(article_args, table_params, parametre, balisesargs, modelid, nb_erreurs, liste_err, RV)&lt;br /&gt;
--			break -- retour, paramètre traité		&lt;br /&gt;
	else -- 1ABC RV=RV..&amp;quot;&amp;lt;br&amp;gt;°°° paramètre article non valide: &amp;quot;..parametre..&amp;quot;, valeur: &amp;quot;..tv&lt;br /&gt;
		end -- fin 1ABC procédure de validation parametre article&lt;br /&gt;
	end -- fin &amp;gt;1AB fouille modèle paramètres trouver déclaré appareillé au parametre article&lt;br /&gt;
	if not(pvalide) then &lt;br /&gt;
		nb_erreurs = nb_erreurs + 1&lt;br /&gt;
		liste_err = liste_err..&amp;quot; Erreur. Modèle:&amp;quot;..modeleid..&amp;quot;. Paramètre non valide « &amp;quot;..parametre..&amp;quot; » valeur: « &amp;quot;..article_args[parametre]..&amp;quot; »,&amp;lt;br&amp;gt; &amp;quot;&lt;br /&gt;
	end	&lt;br /&gt;
----&amp;gt;			&lt;br /&gt;
 return nb_erreurs, liste_err, RV&lt;br /&gt;
end --fin _traitement_liste_parametres&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
local function _validation_parametres_article_filtre_liaison(modeleargs, articleargs, balisesargs, modelid, double_barre, nb_erreurs, liste_err, RV)&lt;br /&gt;
	local modele_args = modeleargs&lt;br /&gt;
	local article_args = articleargs&lt;br /&gt;
	local modeleid = modelid &lt;br /&gt;
	local balises_args = balisesargs&lt;br /&gt;
	--&amp;gt; modele_args&lt;br /&gt;
	local mc = &amp;#039;&amp;#039;	-- pairs	clef&lt;br /&gt;
	local mp = &amp;#039;&amp;#039;	-- pairs	paramètre&lt;br /&gt;
	--&amp;gt; article_args&lt;br /&gt;
	local ac = &amp;#039;&amp;#039;	-- pairs	clef&lt;br /&gt;
	local ap = &amp;#039;&amp;#039;	-- pairs	paramètre							&lt;br /&gt;
	local parametres = modele_args[&amp;quot;_parametres&amp;quot;] -- ensemble des paramètres valides&lt;br /&gt;
--m	RV = RV..&amp;quot;&amp;lt;br&amp;gt; PARAMETRES ensemble: &amp;quot;..parametres	&lt;br /&gt;
	table_params = mw.text.split( parametres, balises_args[1] )&lt;br /&gt;
	local i = 0	&lt;br /&gt;
	for ac,ap in pairs(article_args) do --[[&lt;br /&gt;
	&amp;gt;1A fouille validation des paramètres article]]&lt;br /&gt;
		i = i + 1&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt;°validation paramètres article, index: &amp;quot;..i..&amp;quot;; ac: &amp;quot;..ac..&amp;quot;, ap: &amp;quot;..ap..&amp;quot; double_barre: &amp;gt;&amp;quot;..double_barre..&amp;quot;&amp;lt;&amp;quot;	&lt;br /&gt;
		if (modele_args[i] == nil  and ap == &amp;#039;&amp;#039; and double_barre == &amp;#039;refus&amp;#039;) then --&amp;gt; ||&lt;br /&gt;
			nb_erreurs = nb_erreurs + 1&lt;br /&gt;
			liste_err = liste_err..&amp;quot;[[:Catégorie:DOUBLE BARRE]]&amp;quot;..&amp;quot; Erreur. Modèle:&amp;quot;..modeleid..&amp;quot;. Définition de paramètre non-nommé à valeur absente par || ou |}} ,&amp;lt;br&amp;gt; &amp;quot;&lt;br /&gt;
		end -- fin test DOUBLE BARRE&lt;br /&gt;
		local parametre = tostring(ac)&lt;br /&gt;
		nb_erreurs, liste_err, RV = _traitement_liste_parametres(article_args, table_params, parametre, balises_args, modeleid, pvalide, nb_erreurs, liste_err, RV)								&lt;br /&gt;
	end -- fin &amp;gt;B fouille validation paramètres article	&lt;br /&gt;
  return nb_erreurs, liste_err, RV&lt;br /&gt;
end -- fin 1A ( partie 1)  _validation_parametres-article_filtre&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
function p.verifier_parametres_ (frame)&lt;br /&gt;
local RV = &amp;quot;TRACE:VVVV&amp;lt;br&amp;gt;&amp;quot; -- y compris les fonctions&lt;br /&gt;
	local referr = &amp;#039;&amp;#039; -- résultat final renvoyé&lt;br /&gt;
	local modeleid = &amp;quot; &amp;quot;&lt;br /&gt;
	local double_barre = &amp;quot; &amp;quot;&lt;br /&gt;
	local caterr = &amp;#039;&amp;#039;&lt;br /&gt;
	local nb_erreurs = 0 -- pour les fonctions&lt;br /&gt;
	local liste_err = &amp;#039;&amp;#039; -- pour les fonctions&lt;br /&gt;
	--&amp;gt; &lt;br /&gt;
	local modele_args = frame.args -- entrée des fonctions&lt;br /&gt;
	local article_args = frame:getParent().args -- entrée des fonctions&lt;br /&gt;
	--&amp;gt;&lt;br /&gt;
	local configliste = modele_args[&amp;quot;__configuration&amp;quot;]&lt;br /&gt;
	local config_args = {}&lt;br /&gt;
	config_args = mw.text.split(configliste,&amp;quot;¿&amp;quot;)&lt;br /&gt;
	local baliseslist = &amp;#039;&amp;#039;&lt;br /&gt;
	local balises_args = {}&lt;br /&gt;
	----&amp;gt;entrer la configuration des balises pour le décodage des tables &lt;br /&gt;
	----&amp;gt;du modèle sans avoir à recompiler ce module général		&lt;br /&gt;
			baliseslist = config_args[1]&lt;br /&gt;
			balises_args = mw.text.split(baliseslist,&amp;quot;÷&amp;quot;)&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; baliseslist:&amp;gt;&amp;quot;..baliseslist..&amp;quot;&amp;lt;&amp;quot;		&lt;br /&gt;
--m RV=RV..&amp;quot;&amp;lt;br&amp;gt; balise1:&amp;gt;&amp;quot;..balises_args[1]..&amp;quot;&amp;lt;&amp;quot;	--profondeur 1	table&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; balise2:&amp;gt;&amp;quot;..balises_args[2]..&amp;quot;&amp;lt;&amp;quot;	--profondeur 2	sous-table&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; balise1:&amp;gt;&amp;quot;..balises_args[3]..&amp;quot;&amp;lt;&amp;quot;	--ne sert pas actuellement&lt;br /&gt;
	for cc, cp in pairs(config_args) do&lt;br /&gt;
--m	RV=RV..&amp;quot;&amp;lt;br&amp;gt; cc: &amp;quot;..cc..&amp;quot; cp: &amp;gt;&amp;quot;..cp..&amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
		if string.find(cp, &amp;#039;__modèle≈&amp;#039;,1) == 1 then	modeleid = string.gsub( cp, &amp;#039;__modèle≈&amp;#039;, &amp;#039;&amp;#039;, 1 )	end&lt;br /&gt;
		if string.find(cp, &amp;#039;__double_barre≈&amp;#039;,1) == 1 then	double_barre = string.gsub( cp, &amp;#039;__double_barre≈&amp;#039;, &amp;#039;&amp;#039;, 1 )	end&lt;br /&gt;
		if string.find(cp, &amp;#039;__catégorie≈&amp;#039;,1) == 1 then	caterr = string.gsub( cp, &amp;#039;__catégorie≈&amp;#039;, &amp;#039;&amp;#039;, 1 )	end&lt;br /&gt;
	end&lt;br /&gt;
--m	if _xist(modeleid) then RV=RV..&amp;quot;&amp;lt;br&amp;gt; existe: &amp;quot;..modeleid else RV=RV..&amp;quot;&amp;lt;br&amp;gt; modelid VIDE &amp;quot; end&lt;br /&gt;
--m	if _xist(double_barre) then RV=RV..&amp;quot;&amp;lt;br&amp;gt; existe: &amp;quot;..double_barre else RV=RV..&amp;quot;&amp;lt;br&amp;gt; double_barre VIDE &amp;quot; end&lt;br /&gt;
--m	if _xist(caterr) then RV=RV..&amp;quot;&amp;lt;br&amp;gt; existe: &amp;quot;..caterr else RV=RV..&amp;quot;&amp;lt;br&amp;gt; caterr VIDE &amp;quot; end&lt;br /&gt;
	--&amp;gt; partie 1&lt;br /&gt;
		nb_erreurs, liste_err, RV = _validation_parametres_article_filtre_liaison(modele_args, article_args, balises_args, modeleid, double_barre, nb_erreurs, liste_err, RV)&lt;br /&gt;
	--&amp;gt; partie 2			&lt;br /&gt;
		nb_erreurs, liste_err, RV = _chargement_alias_parametre_doublon_ecran(modele_args, article_args, balises_args, modeleid, nb_erreurs, liste_err, RV)&lt;br /&gt;
	--&amp;gt; partie 3 renvoi à modèle&lt;br /&gt;
		if (nb_erreurs &amp;gt; 0) then --&amp;gt; &lt;br /&gt;
			referr = caterr.._coulerr(&amp;quot;&amp;lt;br&amp;gt; nb erreurs: &amp;quot;..nb_erreurs..&amp;quot;&amp;lt;br&amp;gt;&amp;quot;..liste_err)		&lt;br /&gt;
		end&lt;br /&gt;
 return referr --..RV-- fin liste des erreurs avec catégorisation	&lt;br /&gt;
end --fin verifier_parametres_&lt;br /&gt;
--&amp;gt;				&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wikipedia&gt;LD</name></author>
	</entry>
</feed>