Module:Barre de navigation

De Wikonsult
Sauter à la navigation Sauter à la recherche

Utilisation

Fonctions exportables :

  • ConstruireBoutonsNavigation( frame ) – génère du code JavaScript/HTML, qui sera collé dans la page où l'appel de modèle sera fait. Le code est à coller dans une page .JS (exemple : global.js). Consulter Modèle:Barre de navigation pour les paramètres.

Autres fonctions :

  • La fonction ConstruireBoutonsNavigation( frame ) appelle les autres fonctions du module, lesquelles portent un titre suffisamment explicite.

Modules externes et autres éléments dont ce module a besoin pour fonctionner :

  • Seulement des modules inclus implicitement (exemple : mw.str)

Exemples

Pour des exemples, consulter Modèle:Barre de navigation.


local p = {}
local szMsg = ''
local szCode = ''
local szParam = ''

function p.getDebutTableauMessage(UserName)
    szMsg = szMsg .. '<table class=wikitable width=80%>' .. '\n'
    szMsg = szMsg .. '<tr><th>Message</th>' .. '\n'
    szMsg = szMsg .. '<th>Icônes</th></tr>' .. '\n'
    szMsg = szMsg .. '<tr><td valign=top style="padding-right:20px;">' .. '\n'
    szMsg = szMsg .. 'Les boutons seront dans le même ordre que les icônes de la colonne de droite. Le code à copier se trouve sous ce tableau.' .. '\n'
    szMsg = szMsg .. '* Pour afficher les boutons dans n\'importe quel wiki de l\'écosystème Wikimedia, collez le code dans la page [//meta.wikimedia.org/w/index.php?title=user:' .. UserName .. '/global.js&action=edit global.js] (vous devez être identifié sur Meta-Wiki).' .. '\n'
    szMsg = szMsg .. '* Pour afficher les boutons dans un seul wiki, collez le code dans la page <code>common.js</code> du site :' .. '\n'
    szMsg = szMsg .. '** [//commons.wikimedia.org/w/index.php?title=user:' .. UserName .. '/common.js&action=edit Wikimedia Commons]' .. '\n'
    szMsg = szMsg .. '** [//www.wikidata.org/w/index.php?title=user:' .. UserName .. '/common.js&action=edit Wikidata]' .. '\n'
    szMsg = szMsg .. '** [//fr.wikipedia.org/w/index.php?title=user:' .. UserName .. '/common.js&action=edit Wikipédia en français]' .. '\n'
    szMsg = szMsg .. '** [//fr.wikisource.org/w/index.php?title=user:' .. UserName .. '/common.js&action=edit Wikisource en français]' .. '\n'
    szMsg = szMsg .. '** [//fr.wiktionary.org/w/index.php?title=user:' .. UserName .. '/common.js&action=edit Wiktionnaire]' .. '\n'
    szMsg = szMsg .. '\n'
    szMsg = szMsg .. 'Enregistrez.' .. '\n'
    szMsg = szMsg .. '\n'
    szMsg = szMsg .. 'La barre de navigation se trouvera à la droite.' .. '\n'
    szMsg = szMsg .. '\n'
    szMsg = szMsg .. 'Bonne navigation !' .. '\n'
    szMsg = szMsg .. '</td>' .. '\n'
    szMsg = szMsg .. '<td align=center>' .. '\n'
end

function p.getFinTableauMessage()
    szMsg = szMsg .. '</td></tr></table>' .. '\n'
end


function p.getDebutCode()
    local lang = mw.getContentLanguage()
    local date = lang:formatDate('Y-m-d')
    local heure = lang:formatDate('H:i:s')

    szCode = szCode .. ' //////////////////////////////////////////////////////////////////////////////' .. '\n'
    szCode = szCode .. ' // Barre de navigation' .. ' (créée le ' .. date .. ' @ ' .. heure .. ')' .. '\n'
    szCode = szCode .. ' // ' .. '\n'
    szCode = szCode .. ' // Pour créer votre barre, consultez ' .. '\n'
    szCode = szCode .. ' // https://fr.wikipedia.org/wiki/Modèle:Barre_de_navigation' .. '\n'
    szCode = szCode .. ' // ' .. '\n'
    szCode = szCode .. ' // (Concept de Cantons-de-l\'Est inspiré d\'un outil du contributeur Lepsyleon.)' .. '\n'
    szCode = szCode .. ' //////////////////////////////////////////////////////////////////////////////' .. '\n'
    szCode = szCode .. ' var BoutonsNavigation3 = function ($) {' .. '\n'
    szCode = szCode .. '   var Today = function() {' .. '\n'
    szCode = szCode .. '     var m = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];' .. '\n'
    szCode = szCode .. '     var today = new Date();' .. '\n'
    szCode = szCode .. '     var day = today.getDate();' .. '\n'
    szCode = szCode .. '     var month = m[today.getMonth()];' .. '\n'
    szCode = szCode .. '     var year = today.getFullYear();' .. '\n'
    szCode = szCode .. '       return (day + "_" + month + "_" + year);' .. '\n'
    szCode = szCode .. '   };' .. '\n'
    szCode = szCode .. ' ' .. '\n'
    szCode = szCode .. '   var getSemaine = function() {' .. '\n'
    szCode = szCode .. '     var semaine = new Date();' .. '\n'
    szCode = szCode .. '     var jour = semaine.getDate();' .. '\n'
    szCode = szCode .. '     var mois = semaine.getMonth();' .. '\n'
    szCode = szCode .. '     var annee = semaine.getFullYear();' .. '\n'
    szCode = szCode .. '     var ListeMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);' .. '\n'
    szCode = szCode .. '     if (annee %4 === 0 && annee %100 !==0 || annee %400 === 0) {ListeMois[1]=29}' .. '\n'
    szCode = szCode .. '     var TotalJour=0;' .. '\n'
    szCode = szCode .. '     for(var cpt=0; cpt<mois; cpt++){TotalJour+=ListeMois[cpt];}' .. '\n'
    szCode = szCode .. '     TotalJour+=jour;' .. '\n'
    szCode = szCode .. '     var DebutAn = new Date(annee,0,1);' .. '\n'
    szCode = szCode .. '     var JourDebutAn=DebutAn.getDay();' .. '\n'
    szCode = szCode .. '     if(JourDebutAn===0){JourDebutAn=7}' .. '\n'
    szCode = szCode .. '     TotalJour-=8-JourDebutAn;' .. '\n'
    szCode = szCode .. '     var NumSemaine = 1;' .. '\n'
    szCode = szCode .. '     NumSemaine+=Math.floor(TotalJour/7);' .. '\n'
    szCode = szCode .. '     if(TotalJour%7!==0){NumSemaine+=1}' .. '\n'
    szCode = szCode .. '     return("semaine_" + NumSemaine + "_" + annee);' .. '\n'
    szCode = szCode .. '   };' .. '\n'
    szCode = szCode .. ' ' .. '\n'
    szCode = szCode .. '   var getMois = function() {' .. '\n'
    szCode = szCode .. '      var m = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"];' .. '\n'
    szCode = szCode .. '      var today = new Date();' .. '\n'
    szCode = szCode .. '      var month = m[today.getMonth()];' .. '\n'
    szCode = szCode .. '      var year = today.getFullYear();' .. '\n'
    szCode = szCode .. '      return (month + "_" + year);' .. '\n'
    szCode = szCode .. '   };' .. '\n'
    szCode = szCode .. ' ' .. '\n'
    szCode = szCode .. '   var _DivRight = document.createElement(\'div\');' .. '\n'
    szCode = szCode .. '   _DivRight.className = "noprint";' .. '\n'
    szCode = szCode .. '   _DivRight.setAttribute("style", "position:fixed; display:block; width:20px; margin:0; padding:0; top:20%; right:4px; background-color:#FFF; z-index:3;");' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    szCode = szCode .. '   var _HtmlRight = \'&lt;ul style="list-style:none; margin:0; padding:0;" class="noprint">\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'

end


function p.getSeparateur()
    szCode = szCode .. '   // Séparateur noir' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="margin-bottom:3px; background-color:black; width:20px height:10px; font-size:5%;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;div style="background-color:black; font-size:5%; width: 20px; height:2px; border: 1px solid black; padding: 0; margin: 0;">&nbsp;&lt;/div>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div style="background-color:black; font-size:5%; width: 20px; height:2px; border: 1px solid black; padding: 2px 0 0 0; margin: 0;">&nbsp;</div>'
end


function p.getHautDeLaPage()
    szCode = szCode .. '   // Haut de la page' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Haut de la page" href="#" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/f/fc/2uparrow.png" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Haut de la page">[[file:2uparrow.png|20px|alt=|link=]]</div>'
end


function p.getBasDeLaPage()
    szCode = szCode .. '   // Bas de la page' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Bas de la page" href="#footer" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/6/68/2downarrow.png" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Bas de la page">[[file:2downarrow.png|20px|alt=|link=]]</div>'
end


function p.getMonter()
    szCode = szCode .. '   // Monter' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Monter">\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/6/67/1uparrow_blue.svg" height=20 width=20 border=0 onclick="window.scrollTo(0, window.scrollY - window.innerHeight * 0.9);"/>\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Monter">[[file:1uparrow_blue.svg|20px|alt=|link=]]</div>'
end


function p.getDescendre()
    szCode = szCode .. '   // Descendre' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Descendre">\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/8/8b/1downarrow_blue.svg" height=20 width=20 border=0 onclick="window.scrollTo(0, window.scrollY + window.innerHeight * 0.9);"/>\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Descendre">[[file:1downarrow_blue.svg|20px|alt=|link=]]</div>'
end


function p.get_lds()
    szCode = szCode .. '   // Liste de suivi (lds)' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Liste de suivi" href="' .. '\' + document.location.origin + \'' .. '/wiki/Special:Watchlist" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/9/95/Mentor_Eye.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Liste de suivi">[[file:Mentor_Eye.svg|20px|alt=|link=]]</div>'
end


function p.getAccueilWikipedia()
    szCode = szCode .. '   // Accueil Wikipédia' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Accueil de Wikipédia" href="//fr.wikipedia.org/wiki/" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/8/80/Wikipedia-logo-v2.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Accueil de Wikipédia">[[file:Wikipedia-logo-v2.svg|20px|alt=|link=]]</div>'
end


function p.getBistroWikipedia()
    szCode = szCode .. '   // Bistro de Wikipédia' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Bistro de Wikipédia" href="//fr.wikipedia.org/wiki/Wikipédia:Le_Bistro" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/a/a5/Verre_cocktail.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Bistro de Wikipédia">[[file:Verre_cocktail.svg|20px|alt=|link=]]</div>'
end


function p.getBistroDuJourWikipedia()
    szCode = szCode .. '   // Bistro du jour de Wikipédia' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Bistro du jour de Wikipédia" href="//fr.wikipedia.org/wiki/Wikipédia:Le_Bistro/\' + Today() + \'" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/d/d8/Twemoji_1f379.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Bistro du jour de Wikipédia">[[File:Twemoji 1f379.svg|20px|alt=|link=]]</div>'
end


function p.getOracle()
    szCode = szCode .. '   // Oracle de Wikipédia' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Oracle de Wikipédia" href="//fr.wikipedia.org/wiki/Wikipédia:Oracle" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/8/86/Gnome-fs-executable.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Oracle de Wikipédia">[[file:Gnome-fs-executable.svg|20px|alt=|link=]]</div>'
end


function p.getForumNouveaux()
    szCode = szCode .. '   // Forum des nouveaux' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Forum des nouveaux" href="//fr.wikipedia.org/wiki/Wikipédia:Forum_des_nouveaux/Flow" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/5/50/Gartoon_mimetypes_info.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Forum des nouveaux">[[file:Gartoon_mimetypes_info.svg|20px|alt=|link=]]</div>'
end


function p.getBulletinAdministrateurs()
    szCode = szCode .. '   // Bulletin des administrateurs' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Bulletin des administrateurs" href="//fr.wikipedia.org/wiki/Wikipédia:Bulletin_des_administrateurs" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/a/a3/Nuvola_apps_klipper.png" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Bulletin des administrateurs">[[file:Nuvola_apps_klipper.png|20px|alt=|link=]]</div>'
end


function p.getAdQ()
    szCode = szCode .. '   // Propositions AdQ' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Propositions AdQ" href="//fr.wikipedia.org/wiki/Wikipédia:Articles_de_qualité/Propositions" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/6/66/Fairytale_bookmark_gold.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Propositions AdQ">[[file:Fairytale_bookmark_gold.svg|20px|alt=|link=]]</div>'
end


function p.getBA()
    szCode = szCode .. '   // Propositions BA' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Propositions BA" href="//fr.wikipedia.org/wiki/Wikipédia:Bons_articles/Propositions" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/a/a0/Fairytale_bookmark_silver.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Propositions BA">[[file:Fairytale_bookmark_silver.svg|20px|alt=|link=]]</div>'
end


function p.getPaS()
    szCode = szCode .. '   // Propositions PàS' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Propositions PàS" href="//fr.wikipedia.org/wiki/Wikipédia:Pages_à_supprimer" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/1/15/Ambox_warning_pn.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Propositions PàS">[[file:Ambox_warning_pn.svg|20px|alt=|link=]]</div>'
end


function p.getRA()
    szCode = szCode .. '   // Requêtes aux administrateurs (RA)' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Requêtes aux administrateurs (RA)" href="//fr.wikipedia.org/wiki/Wikipédia:Requête_aux_administrateurs" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/9/94/Filing_cabinet_icon.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Requêtes aux administrateurs (RA)">[[file:Filing_cabinet_icon.svg|20px|alt=|link=]]</div>'
end


function p.getAccueilCommons()
    szCode = szCode .. '   // Accueil de Commons' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Accueil de Commons" href="//commons.wikimedia.org/wiki/" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Accueil de Commons">[[file:Commons-logo.svg|20px|alt=|link=]]</div>'
end


function p.getBistroCommons()
    szCode = szCode .. '   // Bistro de Commons' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Bistro de Commons" href="//commons.wikimedia.org/wiki/Commons:Bistro" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/0/05/Emblem-relax.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Bistro de Commons">[[file:Emblem-relax.svg|20px|alt=|link=]]</div>'
end


function p.getAccueilWiktionnaire()
    szCode = szCode .. '   // Accueil de Wiktionnaire' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Accueil de Wiktionnaire" href="//fr.wiktionary.org/wiki/" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/e/ec/Wiktionary-logo.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Accueil de Wiktionnaire">[[file:Wiktionary-logo.svg|20px|alt=|link=]]</div>'
end


function p.getWikidemie()
    szCode = szCode .. '   // Wikidémie (Bistro du Wiktionnaire)' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Wikidémie" href="//fr.wiktionary.org/wiki/Wiktionnaire:Wikidémie" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/6/60/WiktFaviconKo.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Wikidémie">[[file:WiktFaviconKo.svg|20px|alt=|link=]]</div>'
end


function p.getAccueilWikisource()
    szCode = szCode .. '   // Accueil de Wikisource' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Accueil de Wikisource" href="//fr.wikisource.org/wiki/" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Accueil de Wikisource">[[file:Wikisource-logo.svg|20px|alt=|link=]]</div>'
end


function p.getScriptorium()
    szCode = szCode .. '   // Scriptorium (Bistro de la Wikisource)' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Scriptorium" href="//fr.wikisource.org/wiki/Wikisource:Scriptorium" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/4/44/Help-browser.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Scriptorium">[[file:Help-browser.svg|20px|alt=|link=]]</div>'
end


function p.getAccueilWikidata()
    szCode = szCode .. '   // Accueil de Wikidata' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Accueil de Wikidata" href="//www.wikidata.org/wiki/" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/e/e4/Wikidata-logo_S.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Accueil de Wikidata">[[file:Wikidata-logo_S.svg|20px|alt=|link=]]</div>'
end


function p.getBistroWikidata()
    szCode = szCode .. '   // Bistro de Wikidata' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Bistro de Wikidata" href="//www.wikidata.org/wiki/Wikidata:Bistro" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/3/33/Interesting_content.png" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Bistro de Wikidata">[[file:Interesting_content.png|20px|alt=|link=]]</div>'
end


function p.getMesContributions()
    szCode = szCode .. '   // Mes contributions' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Mes contributions" href="' .. '\' + document.location.origin + \'' .. '/wiki/Special:Contributions/' .. '\' + mw.config.get(\'wgUserName\') + \'' .. '" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/2/27/OOjs_UI_icon_history.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Mes contributions">[[file:OOjs UI icon history.svg|20px|alt=|link=]]</div>'
end


function p.getRafraichirLaPage()
    szCode = szCode .. '   // Rafraîchir la page' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="Rafraîchir la page" href="javascript:window.location.reload()" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/c/c1/Gtk-refresh.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="Rafraîchir la page">[[file:Gtk-refresh.svg|20px|alt=|link=]]</div>'
end


function p.getRAW()
    szCode = szCode .. '   // RAW (Regards sur les actualités de la Wikimedia)' .. '\n'
    szCode = szCode .. '   _HtmlRight += \' \''.. '\n'
    szCode = szCode .. '   + \'  &lt;li style="border:1px solid #A7D7F9; margin-bottom:3px; background-color:#F6F6F6;">\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;a title="RAW" href="//fr.wikipedia.org/w/index.php?title=Wikipédia:RAW/Rédaction&redirect=no" >\'' .. '\n'
    szCode = szCode .. '   + \'      &lt;img src="//upload.wikimedia.org/wikipedia/commons/b/bf/Proposition_Washington.svg" height=20 width=20 border=0 />\'' .. '\n'
    szCode = szCode .. '   + \'    &lt;/a>\'' .. '\n'
    szCode = szCode .. '   + \'  &lt;/li>\';' .. '\n'
    szCode = szCode .. '   ' .. '\n'
    
    szMsg = szMsg .. '<div title="RAW">[[file:Proposition_Washington.svg|20px|alt=|link=]]</div>'
end


function p.getFinCode()
    szCode = szCode .. '   _HtmlRight += \'&lt;/ul>\';' .. '\n'
    szCode = szCode .. '   _DivRight.innerHTML = _HtmlRight;' .. '\n'
    szCode = szCode .. '   document.body.insertBefore(_DivRight, document.body.firstChild);' .. '\n'
    szCode = szCode .. ' };'.. '\n'
    szCode = szCode .. ' $(document).ready(BoutonsNavigation3);' .. '\n'
end


function p.ConstruireBoutonsNavigation( frame )
    
    local args = frame:getParent().args
    
    local fonctions = {
      lds                     = p.get_lds,
      Oracle                  = p.getOracle,
      RAW                     = p.getRAW,
      BistroWikipedia         = p.getBistroWikipedia,
      BistroDuJourWikipedia   = p.getBistroDuJourWikipedia,
      BulletinAdministrateurs = p.getBulletinAdministrateurs,
      ForumNouveaux           = p.getForumNouveaux,
      AccueilWikipedia        = p.getAccueilWikipedia,
      AdQ                     = p.getAdQ,
      BA                      = p.getBA,
      PaS                     = p.getPaS,
      RA                      = p.getRA,
      Bas                     = p.getBasDeLaPage,
      Haut                    = p.getHautDeLaPage,
      Monter                  = p.getMonter,
      Descendre               = p.getDescendre,
      Separateur              = p.getSeparateur,
      AccueilWikisource       = p.getAccueilWikisource,
      Scriptorium             = p.getScriptorium,
      BistroWikisource        = p.getScriptorium,
      AccueilWikidata         = p.getAccueilWikidata,
      BistroWikidata          = p.getBistroWikidata,
      AccueilCommons          = p.getAccueilCommons,
      BistroCommons           = p.getBistroCommons,
      AccueilWiktionnaire     = p.getAccueilWiktionnaire,
      Wikidemie               = p.getWikidemie,
      BistroWiktionnaire      = p.getWikidemie,
      Contributions           = p.getMesContributions,
      Rafraichir              = p.getRafraichirLaPage
    }
    
    -- Noter les paramètres
    -----------------------------------------
    for i, v in ipairs(args) do

      local szTmp = mw.text.trim(v)

      if fonctions[szTmp] then
        szParam = szParam .. szTmp .. ' | '
      end
      
    end
    
    if string.len( szParam ) ~= 0 then
      p.getDebutTableauMessage(frame:preprocess("{{REVISIONUSER}}"))
      
      -- Début du bloc HTML/JavaScript
      p.getDebutCode()
      
      -- Empiler les boutons
      ----------------------
      for i, v in ipairs(args) do
      
        local strStripped = mw.text.trim(v)
        
        if fonctions[strStripped] then
          fonctions[strStripped]()
        end
        
      end
    
      -- Fin du bloc HTML/JavaScript
      p.getFinCode()
      
      p.getFinTableauMessage()
    
    else
      szMsg = 'Message du modèle : vous n\'avez saisi aucun paramètre ou encore je ne les reconnais pas.'
    end

    return szMsg .. szCode
end

return p