Hollie Little Pink Laptop.jpg
Garçon devant un ordinateur.jpg

Le Livre d'or  • avoir tout Vikidia hors-connexion

Participez à améliorer Vikidia : Pilpay, L'Île au trésor, Sorgho, Chasseur-cueilleur, et 300 autres articles importants et trop courts à compléter. Vos contributions sont les bienvenues !
Cette page est protégée.

Module:Bienvenue

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

Le module : Bienvenue sert à créer les modèles qui servent à souhaiter la bienvenue à de nouveaux contributeurs — inscrits ou non. Il permet d’unifier le style de ces bandeaux.

Il expose les fonctions :

À faire

local p = {}

--
-- Fonction qui crée le bandeau
--

local function bandeau( titre, contenu )
	local html = mw.html.create()
	html:tag( 'p' ):css( 'background-color', '#BF80FF' )
	               :css( 'background-image', 'linear-gradient(to right, #BF80FF 55%, purple)' )
	               :css( 'padding', '1px' )
	               :css( 'border-radius', '5px' )
	               :css( 'box-shadow', '0px 0px 11px black' )
	               :css( 'font-size', '2em' )
	               :css( 'text-shadow', '1px 1px 19px white' )
	               :css( 'color', 'white' )
	               :css( 'text-align', 'center' )
	               :tag( 'b' ):wikitext( titre )
	                          :done()
	               :done()
	    :tag( 'div' ):css( 'background-color', '#FFF9E5' )
	                 :css( 'background-image', 'radial-gradient(farthest-side at 100% 0%,white, #FFF9E5, #FFF9E5)' )
	                 :css( 'border-radius', '5px' )
	                 :css( 'box-shadow', '0px 0px 9px black' )
	                 :css( 'color', 'black' )
	                 :css( 'padding-top', '5px' )
	                 :css( 'padding', '1em' )
	                 :wikitext( '[[Image:Vikidia 128px.png|right|50px|link=|alt=|class=noviewer]]' )
	                 :node( contenu )

	return tostring( html )
end

--
-- Fonctions qui fabriquent les contenus
--

local function bienvenueIP( contributeur, patrouilleur )
	local html = mw.html.create()
	local smiley = require( 'Module:Émoticône' )
	html:tag( 'p' ):wikitext( "Nous te '''remercions de participer''' à [[Vikidia]], un projet d’encyclopédie libre écrite collectivement pour et en partie par les 8-13 ans, et '''espérons que tu prendras autant d’intérêt que nous à y contribuer'''." ) -- idem bienvenueIPScolaire
	               :done()
	    :tag( 'p' ):wikitext( "À défaut d’avoir créé un compte d’utilisateur, tu es actuellement identifiable par ton [[adresse IP]], '''" .. contributeur .. "'''. Elle est associée à toutes [[Special:Contributions/" .. contributeur .. "|tes contributions]]." ) -- idem bienvenueIPScolaire
	               :done()
	    :tag( 'p' ):wikitext( "L’ouverture d’un compte personnel n’est pas obligatoire, mais cela a divers avantages comme :" ) -- idem bienvenueIPScolaire
	               :tag( 'ul' ):tag( 'li' ):wikitext( 'retrouver toutes tes contributions, sous le pseudonyme de ton choix, même en cas de changement d’IP ;' )
	                                       :done()
	                           :tag( 'li' ):wikitext( 'une signature personnelle pour tes messages dans les pages de discussion, qui facilitera le dialogue avec les autres contributeurs ;' )
	                                       :done()
	                           :tag( 'li' ):wikitext( 'ne pas afficher son adresse IP ;' )
	                                       :done()
	                           :tag( 'li' ):wikitext( 'être reconnu par les autres utilisateurs par son pseudo.' )
	                                       :done()
	                           :done()
	               :done()
	    :tag( 'p' ):css( 'text-align', 'center' )
	               :wikitext( "'''Si tu souhaites t’inscrire, [[Spécial:Créer un compte|c’est par ici]]'''. Quelle que soit ta décision, bonne continuation ! " .. smiley.clin() )
	               :done()
	    :tag( 'div' ):addClass( 'liste-horizontale' )
	                 :tag( 'b' ):wikitext( 'Quelques liens pour commencer :' )
	                            :done()
	                 :wikitext( ' ' )
	                 :tag( 'ul' ):tag( 'li' ):wikitext( '[[Vikidia:Règles|Les règles]]' )
	                                         :done()
	                             :tag( 'li' ):wikitext( '[[Vikidia:Accueil des nouveaux arrivants|Accueil des nouveaux]]' )
	                                         :done()
	                             :tag( 'li' ):wikitext( '[[Aide:Accueil|Aide générale]]' )
	                                         :done()
	                             :tag( 'li' ):wikitext( '[[Aide:Wikipédia et Vikidia|Copie depuis Wikipédia]]' )
	                                         :done()
	                             :tag( 'li' ):wikitext( '[[Vikidia:Le Savant|Le Savant]]' )
	                                         :done()
	                             :done()
	                 :done()

	if patrouilleur then
		html:newline()
		    :tag( 'p' ):wikitext( '[[Utilisateur:' .. patrouilleur
		                                           .. '|'
		                                           .. patrouilleur
		                                           .. ']] ([[Discussion utilisateur:'
		                                           .. patrouilleur
		                                           .. '|me contacter]]).' )
		               :done()
	end

	return html
end

local function bienvenueEcole()
	local html = mw.html.create()
	html:tag( 'div' ):css( 'margin-left', '2em' ) -- bienvenuePerso utilise 3em
	                 :tag( 'ul' ):tag( 'li' ):wikitext( "Si vous représentez une école, nous vous conseillons de '''lire la page des [[Projet:Projet pédagogique|projets pédagogiques]]'''. Il est utile pour Vikidia de signaler, même brièvement, le déroulement de votre projet sur la page des '''[[Vikidia:Bavardages|Bavardages]]''', et vous pouvez créer une page de présentation de votre travail ou projet." ) -- presque comme bienvenueIPScolaire
	                                        :done()
	                            :tag( 'li' ):wikitext( "Voici une recommandation supplémentaire : chaque élève qui participe peut avoir son propre compte, à moins que vous ne mettiez en ligne un seul article, fruit d’un travail de groupe. Voyez enfin quelques exemples dans la [[:catégorie : Projet pédagogique]]. À bientôt !" ) -- presque comme bienvenueIPScolaire
	                                        :done()
	                            :done()
	                 :tag( 'p' ):tag( 'b' ):wikitext( "Amicalement," )
	                                       :done()
	                            :done()
	                 :done()

	return html
end

local function bienvenueIPScolaire( contributeur )
	local html = mw.html.create()
	local smiley = require( 'Module:Émoticône' )
	html:tag( 'p' ):wikitext( "Nous te '''remercions de participer''' à [[Vikidia]], un projet d’encyclopédie libre écrite collectivement pour et en partie par les 8-13 ans, et '''espérons que tu prendras autant d’intérêt que nous à y contribuer'''." ) -- idem bienvenueIP
	               :done()
	    :tag( 'p' ):wikitext( "Cette adresse IP semble correspondre à un [[Aide:IP scolaire|établissement scolaire]]. Si vous représentez une école, nous vous conseillons de '''lire la page des [[Projet:Projet pédagogique|projets pédagogiques]]'''. Il est utile pour Vikidia de signaler, même brièvement, le déroulement de votre projet sur la page des '''[[Vikidia:Bavardages|Bavardages]]''', et vous pouvez créer une page de présentation de votre travail ou projet." ) -- presque comme bienvenueEcole
	               :done()
	    :tag( 'p' ):wikitext( "À défaut d’avoir créé un compte d’utilisateur, tu es actuellement identifiable par ton [[adresse IP]], '''" .. contributeur .. "'''. Elle est associée à toutes [[Special:Contributions/" .. contributeur .. "|tes contributions]]." ) -- idem bienvenueIP
	               :done()
	    :tag( 'p' ):wikitext( "L’ouverture d’un compte personnel n’est pas obligatoire, mais cela a divers avantages comme :" ) -- idem bienvenueIP
	               :tag( 'ul' ):tag( 'li' ):wikitext( 'retrouver toutes tes contributions, sous le pseudonyme de ton choix, même en cas de changement d’IP ;' )
	                                       :done()
	                           :tag( 'li' ):wikitext( 'une signature personnelle pour tes messages dans les pages de discussion, qui facilitera le dialogue avec les autres contributeurs ;' )
	                                       :done()
	                           :tag( 'li' ):wikitext( 'ne pas afficher son adresse IP ;' )
	                                       :done()
	                           :tag( 'li' ):wikitext( 'être reconnu par les autres utilisateurs par son pseudo.' )
	                                       :done()
	                           :done()
	               :done()
	    :tag( 'p' ):wikitext( "Voici une recommandation supplémentaire : chaque élève qui participe peut avoir son propre compte, à moins que vous ne mettiez en ligne un seul article, fruit d’un travail de groupe. Voyez enfin quelques exemples dans la [[:Catégorie:Projet pédagogique|catégorie des projets pédagogiques]]. " .. smiley.clin() ) -- presque comme bienvenueEcole
	               :done()
	    :tag( 'p' ):tag( 'b' ):wikitext( "Amicalement," )
	                          :done()
	               :done()

	return html
end

local function bienvenuePseudo( contributeur, patrouilleur )
	local lang = mw.language.getContentLanguage()
	local html = mw.html.create()
	local smiley = require( 'Module:Émoticône' )
	html:tag( 'div' ):css( 'text-align', 'center' )
	                 :tag( 'b' ):css( 'font-size', '122%' )
	                            :wikitext( 'Je te souhaite la bienvenue sur [[Vikidia]], l’encyclopédie pour tous, écrite en partie par les 8 à 13 ans' )
	                            :done()
	                 :done()
	    :tag( 'ul' ):css( 'margin-left', '3em' ) -- bienvenueEcole utilise 2em
	    :tag( 'li' ):wikitext( smiley.content() )
	                :wikitext( " [[Vikidia:N'hésite pas !|N’hésite pas]] à modifier '''les articles''' de Vikidia ni à en [[Aide:Comment créer un article|créer]] de nouveaux. Ton aide est la bienvenue !" )
	                :done()
	    :tag( 'li' ):wikitext( "Tu ne sais pas par où commencer ? [[VD:Que faire sur Vikidia ?|Il y a pourtant plein de choses à faire.]]" )
	                :done()
	    :tag( 'li' ):wikitext( "Si tu n’es pas " .. lang:gender( contributeur, "sûr", "sûre", "sûr(e)" ) .. ", tu peux faire des essais dans le [[Vikidia:Bac à sable|Bac à sable]]. Pour t’aider à tout moment, chaque page du site possède à gauche un lien vers l’[[Aide:Accueil|aide]] de Vikidia. Tu peux aussi parcourir les pages [[Aide:Navigation dans l'aide/Découvrir Vikidia/Pour les nouveaux|via ce lien !]]" )
	                :done()
	    :tag( 'li' ):wikitext( "Tu peux créer '''[[Utilisateur:" .. contributeur .. "|ta page personnelle]]''' où tu peux te présenter et indiquer quelles sont tes passions." )
	                :done()
	    :tag( 'li' ):wikitext( "Sur les [[Aide:Discussion|pages de discussion]], ''n’oublie pas'' d’écrire [[Aide:signature|<code>~~~~</code> pour signer]], '''sauf''' sur les articles ! " .. smiley.clin() )
	                :done()
	    :tag( 'li' ):tag( 'b' ):addClass( 'attention' )
	                           :wikitext( 'Attention !' )
	                           :done()
	                :wikitext( " Tu ne dois '''pas copier le contenu d’un site web''', car c’est [[Aide:Droit d'auteur|interdit par la loi]]." )
	                :done()
	    :tag( 'li' ):wikitext( "Les copiés-collés des articles de Wikipédia sont inutiles, donc ils '''ne sont pas admis ici''' : tu peux reprendre les idées, mais dis les choses avec des mots à toi ! [[Aide:Wikipédia et Vikidia|(En savoir plus)]]" )
	                :done()
	    :tag( 'li' ):wikitext( "Enfin et surtout, '''prends plaisir à contribuer !''' " .. smiley.clin() )
	                :done()
	    :tag( 'li' ):wikitext( "Sache que tu peux poser des questions sur la page «&nbsp;[[Vikidia:Le Savant|Le&nbsp;Savant]]&nbsp;»" )
	                :wikitext( patrouilleur and (" ou venir [[Discussion utilisateur:" .. patrouilleur .. "|me contacter]] ([[Utilisateur:" .. patrouilleur .. "|" .. patrouilleur .. "]])") or nil ) -- n’affiche rien si patrouilleur n’est pas précisé
	                :wikitext( "." )
	                :done()

	return html
end

--
-- Fonctions appelables depuis les modèles
--

-- [[modèle : Bienvenue]]
function p.Bienvenue( frame )
	local args = frame:getParent().args
	local user = (mw.text.trim( args[1]      or '' ) ~= '' and mw.text.trim( args[1]      or '' ))
	          or (mw.text.trim( args['user'] or '' ) ~= '' and mw.text.trim( args['user'] or '' ))
	          or nil
	local page = mw.title.getCurrentTitle().rootText

	-- création du bandeau
	local contenu = bienvenuePseudo( page, user )
	return bandeau( "Bonjour et bienvenue sur [[Vikidia:à propos|Vikidia]], " .. page .. " !", contenu )
end

-- [[modèle : Bienvenue école]]
function p.BienvenueEcole( frame )
	local page = mw.title.getCurrentTitle().rootText

	-- création du bandeau
	local contenu = bienvenueEcole()
	return bandeau( "Bonjour " .. page, contenu )
end

-- [[modèle : Bienvenue IP]]
function p.BienvenueIP( frame )
	local args = frame:getParent().args
	local user = (mw.text.trim( args[1]      or '' ) ~= '' and mw.text.trim( args[1]      or '' ))
	          or (mw.text.trim( args['user'] or '' ) ~= '' and mw.text.trim( args['user'] or '' ))
	          or nil
	local page = mw.title.getCurrentTitle().rootText

	-- création du bandeau
	local contenu = bienvenueIP( page, user )
	return bandeau( "Bonjour et bienvenue sur [[Vikidia:à propos|Vikidia]], IP " .. page .. " !", contenu )
end

-- [[modèle : Bienvenue IP Scolaire]]
function p.BienvenueIPScolaire( frame )
	local args = frame:getParent().args
	local page = mw.title.getCurrentTitle()

	-- création du bandeau
	local contenu = bienvenueIPScolaire( page.rootText )
	local retour = bandeau( "Bonjour, " .. page.rootText, contenu )

	-- ajout d’une catégorie
	if page.nsText ~= 'Vikidia' and page.nsText ~= 'Modèle' then
		retour = retour .. '[[Catégorie:Adresse IP scolaire|' .. page.text .. ']]'
	end
	return retour
end

return p