Aller au contenu

Module:RbpNote

Cette page est protégée.
Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 7 mars 2018 à 19:44 et modifiée en dernier par Izidizovilage (discuter | contributions) (Nouvelle page : -- Duplicata à usage restreint à l'"existant sur modèle:Note" -- (sans intégration complète module pour les avertissements et options) local p = {} --> local function _xist(...). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

 Documentation[voir] [modifier] [historique] [purger]

Utilisation

Basique

Vérifie la concordance du paramétrage article avec les paramètres répertoriés. Teste les doublons des alias.

{{#invoke:RbpNote|verifier_parametres_
|__configuration=;÷₦÷!¿__catégorie≈[[Catégorie:CATEGORIE]]<!--à adapter-->¿__modèle≈MODELE<!--à adapter-->¿__double_barre≈REFUS ou ADMIS<!--à adapter-->¿commentaire≈COMMENTAIRE ADAPTÉ
|_parametres=PARAM1;PARAM2;...PARAMi;ALIASA;ALIASB;...;ALIASZ;...;PARAMn;
|_P:PARAMi=<!-- ≈ -et pas = -->ALIASA;ALIASB;...;ALIASZ;PARAMi}}

Exemples: voir {{Notes}} {{Efn}}

Paramètres développés

Principe

{{#invoke:RbpNote|verifier_parametres_|__configuration=table-configuration-du-paramétrage|_parametres=table-paramètres-corrects-dans-l'article-plus-filtres|_P:paramètre=table-alias-corrects-pour-le-paramètre-plus-valeurs-cataloguées}}.

La fonction de ce module affiche selon le besoin dans l'article les messages de non cohérence entre les paramètres qui ont été saisis dans l'appel au modèle; Traduit les paramètres non répertoriés, les doublons d'alias, les doublons fonctionnels, les liaisons hiérarchiques, les valeurs de paramètre non admises, et une mise en catégorie (cachée ou non) d'erreur répertoriant les articles défaillants est optionnelle. La logique de cohérence de paramétrage est codée dans le modèle associé au module, elle est mise dans des tables: configuration du modèle, paramètres, paramètre et ses alias.

table de configuration du modèle

  • (balises-délimeurs ;÷₦÷!¿ Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1])
  • catégorie des articles en erreur:
__catégorie≈[[Catégorie:la-catégorie-du-modèle]]¿
  • libellé de ce modèle affiché dans la liste d'erreurs dans l'article
__modèle≈identifiant-modèle¿
  • traitement des paramètres non-nommés (positionnels)
__double_barre≈option¿
option "admis" si paramètres non nommés et nommés ou bien "refus" si uniquement paramètres à noms
  • commentaire
commentaire≈commentaire-explicatif

table des paramètres

Les paramètres utilisables dans un article sont répertoriés dans une table littérale:

|_parametres=liste-des-paramètres-en-ordre-indifférent
  • les paramètres sont séparés par “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • les paramètres ne doivent pas avoir d'espace avant et après eux.
Un filtre concernant un paramètre est une option qui est inscrite comme un paramètre supplémentaire à la fin de la liste des paramètres déclarés.

C'est une table littérale inscrite dans la table. Le filtre s'écrit en ordonnant les paramètres de comparaison au paramètre particulier qui est mis en question:

_filtre:paramètre-concerné-(item 1)message-complémentaire-à-afficher-si-doublon-fonctionnel-(item 2)paramètre-prééminent-1-(item 3)paramètre-prééminent-2-(item 4)₦...
  • les paramètres considérés sont séparés par “₦”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • les paramètres ne doivent pas avoir d'espace avant et après eux
  • premier item le paramètre remis en question
  • deuxième item le message d'erreur de fonction en double à libellé sans “₦” ni “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • items suivant le deuxième paramètre recommandés par rapport au premier remis en question
  • NB: finir par un ";"Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1] s'il y a un autre filtre ou une autre liaison qui suit.
Une liaison "hiérarchique" concernant un paramètre est une option qui est inscrite comme un paramètre supplémentaire à la fin de la liste des paramètres déclarés.

C'est une table littérale inscrite dans la table. La liaison s'écrit en ordonnant les paramètres de dépendance hiérarchiqueErreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 2] du paramètre particulier qui est mis en erreur si le lien de la séquence est brisé par l'absence du paramètre dont il dépend:

_liaison:paramètre-concerné-(item 1)message-complémentaire-à-afficher-si-brisure-(item 2)paramètre-maître-1-(item 3)paramètre-maître-2-(item 4)₦...
  • les paramètres considérés sont séparés par “₦”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • les paramètres ne doivent pas avoir d'espace avant et après eux
  • premier item le paramètre remis en question
  • deuxième item le message d'erreur de séquence hiérarchiqueErreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 2] brisée, sans “₦” ni “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • items suivant le deuxième paramètre indispensables (maîtres) par rapport au premier remis en question
  • NB: finir par un ";"Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1] s'il y a un autre filtre ou une autre liaison qui suit.

tables des alias

Les alias sont mis en groupe dans chaque table littérale par paramètre principal clé concerné (celui suggéré à l'édition visuelle). Ils sont testés pour déterminer les doublons.

_P:nom-du-paramètre-ayant-des-alias= liste-des-alias-en-ordre-de-prééminence-terminée-par-le-paramètre-lui-même
  • les alias sont séparés par “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • les alias ne doivent pas avoir d'espace avant et après eux.
Un "écran" filtrant les valeurs concernant un paramètre clé est une option qui est inscrite comme un paramètre supplémentaire à la fin de la liste.

Deux options conjointes existent pour la vérification de valeur paramétrée admise, une pour une obtenir une valeur parmi un ensemble obligatoire et une pour éviter une valeur inappropriée. Ce sont deux tables littérales inscrites dans la table des paramètres-alias.

table catalogue des valeurs à choisir:
;_vobligatoire:message-complémentaire-à-afficher-si-choix-incorrect-(item 1)valeur-possible-(item 2)valeur-possible-(item 3)₦...₦valeur-possible-(item n)
  • NB: si cette table est suivie de celle des refus la terminer par “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
table catalogue des valeurs à refuser:
;_vrefus:message-complémentaire-à-afficher-si-refus-(item 1)valeur-impossible-(item 2)valeur-impossible-(item 3)₦...₦valeur-impossible-(item n)
  • NB: si cette table est suivie de celle des obligatoires la terminer par “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • les valeurs cataloguées dans chaque table sont séparées par “₦”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1]
  • les valeurs n'ont ni espace avant et arrière entre les virgules ni de virgule interne
  • et l'ensemble des valeurs est précédé du message d'erreur dont le libellé n'a pas de “₦” ni de “;”Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.[note 1].

Code pour constituer un modèle

Configurer éventuellement à partir de ce code et adapter:

{{#invoke:RbpNote|verifier_parametres_ |__configuration=;÷₦÷! ¿__catégorie≈[[Catégorie:CATEGORIE]] ¿__modèle≈MODELE ¿__double_barre≈REFUS ou ADMIS ¿commentaire≈COMMENTAIRE |_parametres=PARAM1;PARAM2;...;PARAMn;<!--filtre présent ensuite -->filtre:PARAMx₦MESSAGEX₦PARAMa₦PARAMb₦...₦PARAMz;<!--; car autre filtre présent ensuite -->_filtre:PARAMπ₦MESSAGEΠ₦PARAMα₦PARAMβ₦...₦PARAMω;<!--; car liaison présente ensuite -->_liaison:PARAM£₦MESSAGE♦₦PARAM$₦PARAM€₦...₦PARAM¥ |_P:PARAMP=<!-- ≈ -et pas = -->ALIASA;ALIASB;...;ALIASZ;PARAMP;<!--catalogue refus présent ensuite -->_vrefus:MESSAGE-REFUS-(LISTE-VALEURS-REFUSEES)₦REFUSA₦REFUSB₦...₦REFUSZ;<!--catalogue choix présent -->_vobligatoire:MESSAGE-OBLIGATOIRE-(LISTE-VALEUR-A-CHOISIR)₦CHOIXA₦CHOIXB₦...₦CHOIXC |_P:ETC=<!-- ≈ -et pas =-->BLA;BLI;BLO;ETC;<!--catalogue refus -->_vrefus:MESSAGECSUR₦ah bon₦non₦peut-être;<!--; car catalogue choix présent ensuite -->_vobligatoire:MESSAGECHADOK₦ga₦bu₦zo₦meu}}

Notes techniques

Erreur de script : le module a renvoyé une valeur de type nil. Il est supposé renvoyer un tableau d’exportations.
  1. a b c d e f g h i j k l et m à ne pas toucher dans un modèle déjà en usage, sauf s'il apparait un gros problème (tuning) avec les libellés des messages générés. Substituer et configurer le modèle avec les nouvelles balises.
  2. a et b La dépendance en arbre ou en réseau est décrite linéairement par la série de liaisons.
-- Duplicata à usage restreint à l'"existant sur modèle:Note" 
-- (sans intégration complète module pour les avertissements et options)
local p = {}
-->
local function _xist(objet)	-->	transforme localement un objet composite "qui n'existe pas" nil &  '' (taille 0) en valeur false d'objet pour Rbp testable sans passer par pcall
	if (tostring(objet) ~= nil and #tostring(objet) > 0 ) then	return objet else return false	end
end	--fin _xist
-->
local function _coulerr (objet)	 -- rouge
	local objet ='<span style="color:#d00000;">' .. objet .. '</span>'
  return objet
end	--fin _coulerr
-->
function p.verifier_parametres_ (frame)
	local caterr = ''
	local liste_err = ''
	local referr = ''
	local nb_erreurs = 0
	local nb_double_barre = 0
	--> mettre les args des alias sans passer par Rbp/Alias|alias_
	local modele_args = frame.args
	local article_args = frame:getParent().args
	--> modele_args
	local mc = ''	-- pairs	clef
	local mp = ''	-- pairs	paramètre
	--> article_args
	local ac = ''	-- pairs	clef
	local ap = ''	-- pairs	paramètre
	-->
	local i = 0
	local j = 0
	local wflag = 0
	for ac,ap in pairs(article_args) do
		i = i + 1	
		if (modele_args[i] == nil  and ap == '') and (modele_args['__double_barre'] == 'refus') then --> ||
			nb_double_barre = nb_double_barre + 1			
			liste_err = liste_err.."[[Catégorie:DOUBLE BARRE]]".." Erreur. Définition de paramètre non-nommé à valeur absente par || ou |}} ,<br> "
		end
		-->  chercher s'il y a correspondance
		j = 0
		wflag = false
		for mc, mp in pairs(modele_args) do
			j = j + 1
			if ac == mc  then
				wflag = true
				break	
			end		
		end
		if 	wflag == false then
			liste_err = liste_err.."Erreur ( id_paramètre: " ..ac.." valeur: " ..ap.." ) <br> "
			nb_erreurs = nb_erreurs + 1
		end
	end
	if _xist(modele_args['_catégorie']) then 
		caterr=modele_args['_catégorie']  
		end
	if (nb_erreurs > 0) then --> 
		referr = referr.._coulerr("<br> nb erreurs: "..nb_erreurs.."<br>[[catégorie:"..caterr.."]]"..liste_err)		
	end
  return referr
end