Livre d'or
Livre d'or

Gazettearticles à enrichir
Que pensez-vous de Vikidia ? Venez mettre un message sur le livre d'or !

Cette page est protégée.

Module:Crédit d'auteur

Aller à la navigation Aller à la recherche
 Documentation[modifier] [purger]

Le module : Crédit d’auteur sert à créer les bandeaux qui corrigent le crédit des auteurs, lorsqu’il y a eu une fusion manuelle ou une copie d’une partie de texte (soit depuis Vikidia, soit depuis un autre projet sous une licence libre, comme Wikipédia).

Modèles appelant ce module

Les trois modèles concernés actuellement sont :

Description technique

Les trois fonctions appelées par les modèles font appel à une fonction credit, qui elle-même ne sert qu’à appeler la fonction bandeau du module : Bandeau grand, en unifiant les paramètres d’appel et les couleurs.

Le code fonctionne à peu près correctement. Le rendu de la fonction Wikipedia sans paramètre, notamment sur la page de documentation du modèle, est un peu étrange, mais ce ne vaut pas trop la peine d’insister.

Il n’y a pas de vérification des paramètres, ce serait bien d’en ajouter, mais bon.

local p = {}

local function credit( texte )
	local bandeau = require( 'Module:Bandeau grand' )
	local html = bandeau.bandeau( nil,
	                              'Crédit d’auteur(s)',
	                              texte,
	                              '#FFDAB9',
	                              'white',
	                              bandeau.imageCC( nil, { BY = 'oui', SA = 'oui' }),
	                              bandeau.imageBandeau( nil, 'Heckert GNU white64.png' ))
	return html
end

--
-- Fonctions pour appels depuis les modèles
--

function p.Copie( frame )
	local args = frame:getParent().args
	return tostring( credit( "Tout ou partie de cette page est issu de la copie d’une partie de la page '''[[:"
	                      .. (args[1] or '{{{1}}}')
	                      .. "]]''' de Vikidia sous [[Licence Creative Commons|licence CC-BY-SA 3.0]] et [[Licence de documentation libre GNU|GFDL]] qui a depuis évolué indépendamment. Consultez l’["
	                      .. (args[1] and mw.title.new( args[1] ):fullUrl{ action = 'history' } or '{{fullurl:{{{1}}}|action=history}}')
	                      .. " historique de la page originale] avant le "
	                      .. (args[2] or '{{{2}}}')
	                      .. " pour connaître la liste de ses auteurs." ))
end

function p.Fusion( frame )
	local args = frame:getParent().args
	return tostring( credit( "Tout ou partie de cette page est issu de la fusion d’une partie de la page '''["
	                      .. (args[1] and mw.title.new( args[1] ):fullUrl{ redirect = 'no' } or '{{fullurl:{{{1}}}|redirect=no}}')
	                      .. " "
	                      .. (args[1] or '{{{1}}}')
	                      .. "]''' de Vikidia sous [[Licence Creative Commons|licence CC-BY-SA 3.0]] et [[Licence de documentation libre GNU|GFDL]] transformée depuis en simple page de redirection. Consultez l’["
	                      .. (args[1] and mw.title.new( args[1] ):fullUrl{ action = 'history' } or '{{fullurl:{{{1}}}|action=history}}')
	                      .. " historique de la page originale] avant le "
	                      .. (args[2] or '{{{2}}}')
	                      .. " pour connaître la liste de ses auteurs." ))
end

function p.Wikipedia( frame )
	local args = frame:getParent().args
	local page = args[1] or mw.title.getCurrentTitle().subjectPageTitle.fullText
	local wp_1 = args['wp'] or page
	local wp_2 = mw.title.new( ':wp:' .. wp_1 )
	return tostring( credit( "La page '''[[:"
	                      .. page
	                      .. "]]''' est ''adaptée'' de — ou ''en partie copiée'' sur — la page '''["
	                      .. wp_2:fullUrl{ redirect = 'no' }
	                      .. " "
	                      .. wp_1
	                      .. "]''' de ''Wikipédia'' sous [[Licence Creative Commons|licence CC-BY-SA 3.0]] et [[Licence de documentation libre GNU|GFDL]], qui a depuis évolué indépendamment.<br />Consultez l’["
	                      .. wp_2:fullUrl{ action = 'history' }
	                      .. " historique de la page originale] avant le "
	                      .. (args[2] or '{{{2}}}')
	                      .. " pour connaître la liste de ses auteurs." ))
end

return p