<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://fr.stargatewiki.noip.me/index.php?action=history&amp;feed=atom&amp;title=Module%3ABiblio%2FLien_web</id>
	<title>Module:Biblio/Lien web - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://fr.stargatewiki.noip.me/index.php?action=history&amp;feed=atom&amp;title=Module%3ABiblio%2FLien_web"/>
	<link rel="alternate" type="text/html" href="https://fr.stargatewiki.noip.me/index.php?title=Module:Biblio/Lien_web&amp;action=history"/>
	<updated>2026-04-22T11:26:50Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://fr.stargatewiki.noip.me/index.php?title=Module:Biblio/Lien_web&amp;diff=194&amp;oldid=prev</id>
		<title>LIMAFOX76 : Page créée avec « local Lien = { }  local Commun = require( &#039;Module:Biblio/Commun&#039; ) local References = require( &#039;Module:Biblio/Références&#039; ) local Outils = require( &#039;Module:Outils&#039; ) loc... »</title>
		<link rel="alternate" type="text/html" href="https://fr.stargatewiki.noip.me/index.php?title=Module:Biblio/Lien_web&amp;diff=194&amp;oldid=prev"/>
		<updated>2016-02-01T12:05:43Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « local Lien = { }  local Commun = require( &amp;#039;Module:Biblio/Commun&amp;#039; ) local References = require( &amp;#039;Module:Biblio/Références&amp;#039; ) local Outils = require( &amp;#039;Module:Outils&amp;#039; ) loc... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local Lien = { }&lt;br /&gt;
&lt;br /&gt;
local Commun = require( &amp;#039;Module:Biblio/Commun&amp;#039; )&lt;br /&gt;
local References = require( &amp;#039;Module:Biblio/Références&amp;#039; )&lt;br /&gt;
local Outils = require( &amp;#039;Module:Outils&amp;#039; )&lt;br /&gt;
local TableBuilder = require( &amp;#039;Module:TableBuilder&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function Lien.lienWeb( args )&lt;br /&gt;
	-- La table wiki va recevoir tout les petits bouts de texte, et sera concaténée à la fin.&lt;br /&gt;
	-- Elle utilise la meta-table de TableBuilder, permettant d&amp;#039;utiliser les fonctions de la&lt;br /&gt;
	-- library table comme des méthodes. minsert permet d&amp;#039;insérer plusieurs éléments en une&lt;br /&gt;
	-- seule fois en, ignorant les valeurs nil.&lt;br /&gt;
	local wiki = TableBuilder.new()&lt;br /&gt;
	&lt;br /&gt;
	-- validArg renvoie le premier paramètre non vide, ou nil s&amp;#039;ils sont tous vides.&lt;br /&gt;
	-- Seuls les noms des paramètres doivent être transmis à la fonction.&lt;br /&gt;
	local validArg = function ( ... ) return Commun.validTextArg( args, ... ) end&lt;br /&gt;
	&lt;br /&gt;
	-- Variables servant à la catégorisation&lt;br /&gt;
	args.categ = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Span initial, id&lt;br /&gt;
	local spanInitial, spanFinal = Commun.spanInitial ( args, validArg )&lt;br /&gt;
	wiki.minsert( spanInitial,  Commun.libelle( args ) )&lt;br /&gt;
	&lt;br /&gt;
	-- indication de langue&lt;br /&gt;
	local indicLangue, codeLangue = Commun.indicationDeLangue ( args, validArg )&lt;br /&gt;
	if Outils.notEmpty( indicLangue ) then&lt;br /&gt;
		wiki.minsert( indicLangue, &amp;#039; &amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Liste des auteurs et de leurs responsabilités (principales et secondaires)&lt;br /&gt;
	local auteur = validArg( &amp;#039;nom1&amp;#039;, &amp;#039;nom&amp;#039;, &amp;#039;auteur1&amp;#039;, &amp;#039;auteur&amp;#039;, &amp;#039;auteurs&amp;#039;, &amp;#039;auteur institutionnel&amp;#039;, &amp;#039;last1&amp;#039;, &amp;#039;last&amp;#039;, &amp;#039;author1&amp;#039;, &amp;#039;author&amp;#039; )&lt;br /&gt;
	if auteur then&lt;br /&gt;
		if validArg( &amp;#039;auteurs&amp;#039; ) then&lt;br /&gt;
			wiki.minsert( args.auteurs )&lt;br /&gt;
		else&lt;br /&gt;
			wiki.minsert( Commun.responsabilitePrincipale( args, validArg, true ) )&lt;br /&gt;
		end&lt;br /&gt;
		local coauteur = validArg( &amp;#039;co-auteur&amp;#039;, &amp;#039;coauteurs&amp;#039;, &amp;#039;coauteur&amp;#039;, &amp;#039;coauthors&amp;#039; )&lt;br /&gt;
		if coauteur then&lt;br /&gt;
			wiki.minsert( &amp;#039;, &amp;#039;, coauteur )&lt;br /&gt;
		end&lt;br /&gt;
		wiki.minsert( Commun.responsabiliteSecondaire( args, validArg ), &amp;#039;, &amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- url&lt;br /&gt;
	local url = validArg( &amp;#039;url&amp;#039;, &amp;#039;lire en ligne&amp;#039;, &amp;#039;url texte&amp;#039; )&lt;br /&gt;
	if url then&lt;br /&gt;
		-- remplacement des crochets et espaces par leur équivalent HTML&lt;br /&gt;
		url = string.gsub( string.gsub( string.gsub( url, &amp;#039; &amp;#039;, &amp;#039;%%20&amp;#039; ), &amp;#039;%[&amp;#039;, &amp;#039;%%5B&amp;#039; ), &amp;#039;%]&amp;#039;, &amp;#039;%%5D&amp;#039; )&lt;br /&gt;
		-- ajout http:// si nécessaire :&lt;br /&gt;
		if not ( string.match( url, &amp;#039;^http&amp;#039; ) or string.match( url, &amp;#039;^ftp&amp;#039; ) or string.match( url, &amp;#039;^//&amp;#039; ) ) then&lt;br /&gt;
			url = &amp;#039;http://&amp;#039; .. url&lt;br /&gt;
		end&lt;br /&gt;
		wiki.minsert( &amp;#039;[&amp;#039;, url )&lt;br /&gt;
	elseif not validArg( &amp;#039;pmid&amp;#039;, &amp;#039;pmcid&amp;#039;, &amp;#039;doi&amp;#039;, &amp;#039;jstor&amp;#039;, &amp;#039;bibcod&amp;#039;, &amp;#039;math reviews&amp;#039;, &amp;#039;zbl&amp;#039;, &amp;#039;zbmath&amp;#039;, &amp;#039;arxiv&amp;#039; ) then&lt;br /&gt;
		args.categ.url = true&lt;br /&gt;
		wiki.minsert( Outils.erreur( &amp;#039;modèle [[Modèle:Lien web|{{Lien web}}]] : paramètre « &amp;lt;code&amp;gt;url&amp;lt;/code&amp;gt; » manquant&amp;#039; ) )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- titre&lt;br /&gt;
	local titre = validArg( &amp;#039;titre&amp;#039;, &amp;#039;title&amp;#039; )&lt;br /&gt;
	local description = validArg( &amp;#039;description&amp;#039; )&lt;br /&gt;
	if titre then&lt;br /&gt;
		-- suppression des retours ligne éventuels, sinon MediaWiki ne reconnaît pas le lien externe&lt;br /&gt;
		-- et remplacement des crochets par leur équivalent HTML (uniquement le crochet de fermeture)&lt;br /&gt;
		titre = titre:gsub( &amp;#039;\n&amp;#039;, &amp;#039; &amp;#039; ):gsub ( &amp;#039;%]&amp;#039;, &amp;#039;&amp;amp;#93;&amp;#039; )&lt;br /&gt;
		local  c = titre:sub(1,1)&lt;br /&gt;
		-- on teste d&amp;#039;abord si titre contient déjà des guillemets &lt;br /&gt;
		if(string.byte(c) ~= 194) then &lt;br /&gt;
			local sousTitre&lt;br /&gt;
			if validArg( &amp;#039;sous-titre&amp;#039; ) then&lt;br /&gt;
				sousTitre = &amp;#039; : &amp;#039; .. args[&amp;#039;sous-titre&amp;#039;]&lt;br /&gt;
				sousTitre:gsub( &amp;#039; ?»$&amp;#039;, &amp;#039;&amp;#039; )&lt;br /&gt;
			else&lt;br /&gt;
				titre:gsub( &amp;#039; ?»$&amp;#039;, &amp;#039;&amp;#039; )&lt;br /&gt;
			end&lt;br /&gt;
			wiki.minsert( &amp;#039; « &amp;lt;cite style=&amp;quot;font-style: normal&amp;quot;&amp;gt;&amp;#039;, titre, sousTitre, &amp;#039;&amp;lt;/cite&amp;gt; »&amp;#039;, url and &amp;#039;]&amp;#039; )&lt;br /&gt;
		else&lt;br /&gt;
			wiki.minsert( &amp;#039; &amp;#039;, titre, url and &amp;#039;]&amp;#039; )&lt;br /&gt;
		end&lt;br /&gt;
		local traductionTitre = validArg( &amp;#039;traduction titre&amp;#039; )&lt;br /&gt;
		if traductionTitre and traductionTitre ~= args.titre then&lt;br /&gt;
			wiki.minsert( &amp;#039; [« &amp;#039;, traductionTitre, &amp;#039; »]&amp;#039; )&lt;br /&gt;
		end&lt;br /&gt;
		if description then&lt;br /&gt;
			wiki.minsert( &amp;#039;, &amp;#039;, description )&lt;br /&gt;
		end&lt;br /&gt;
	elseif description then&lt;br /&gt;
		wiki.minsert( &amp;#039; &amp;#039;, description, url and &amp;#039;]&amp;#039; )&lt;br /&gt;
	else&lt;br /&gt;
		args.categ.titre = true&lt;br /&gt;
		if args.categ.url then&lt;br /&gt;
			wiki.minsert( Outils.erreur( &amp;#039; et paramètre « &amp;lt;code&amp;gt;titre&amp;lt;/code&amp;gt; » manquant&amp;#039; ) )&lt;br /&gt;
		else&lt;br /&gt;
			wiki.minsert( &amp;#039; &amp;#039;, args.url, &amp;#039;] &amp;#039;, Outils.erreur( &amp;#039;modèle [[Modèle:Lien web|{{Lien web}}]] : paramètre « &amp;lt;code&amp;gt;titre&amp;lt;/code&amp;gt; » manquant&amp;#039; ) )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- format&lt;br /&gt;
	wiki.minsert( References.indicationDeFormat( validArg( &amp;#039;format électronique&amp;#039;, &amp;#039;format&amp;#039; ) ) )&lt;br /&gt;
	&lt;br /&gt;
	-- série, site, éditeur&lt;br /&gt;
	local serie = validArg( &amp;#039;série&amp;#039;, &amp;#039;work&amp;#039; )&lt;br /&gt;
	if serie then&lt;br /&gt;
		wiki.minsert( [[, &amp;#039;&amp;#039;]], serie, [[&amp;#039;&amp;#039;]] )&lt;br /&gt;
		args.categ.work = validArg( &amp;#039;work&amp;#039; )	-- il y a ambiguïté sur l&amp;#039;utilisation de ce paramètre&lt;br /&gt;
	end&lt;br /&gt;
	local site = validArg( &amp;#039;site&amp;#039;, &amp;#039;website&amp;#039; )&lt;br /&gt;
	if site then&lt;br /&gt;
		wiki.minsert( [[, sur &amp;#039;&amp;#039;]], site, [[&amp;#039;&amp;#039;]] )&lt;br /&gt;
	end&lt;br /&gt;
	local periodique = validArg( &amp;#039;périodique&amp;#039; )&lt;br /&gt;
	if periodique then&lt;br /&gt;
		wiki.minsert( &amp;#039;, &amp;#039;, periodique )&lt;br /&gt;
	end	&lt;br /&gt;
	local lieu = validArg( &amp;#039;lieu&amp;#039;, &amp;#039;lieu édition&amp;#039;, &amp;#039;location&amp;#039; )&lt;br /&gt;
	if lieu then&lt;br /&gt;
		wiki.minsert( &amp;#039;, &amp;#039;, lieu )&lt;br /&gt;
	end	&lt;br /&gt;
	local editeur = validArg( &amp;#039;éditeur&amp;#039;, &amp;#039;publisher&amp;#039;, &amp;#039;editeur&amp;#039; )&lt;br /&gt;
	if editeur then&lt;br /&gt;
		local lienEditeur = validArg( &amp;#039;lien éditeur&amp;#039; )&lt;br /&gt;
		if lienEditeur then&lt;br /&gt;
			wiki.minsert( &amp;#039;, [[&amp;#039;, lienEditeur, &amp;#039;|&amp;#039;, editeur, &amp;#039;]]&amp;#039; )&lt;br /&gt;
		else&lt;br /&gt;
			wiki.minsert( &amp;#039;, &amp;#039;, editeur )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- date&lt;br /&gt;
	if validArg( &amp;#039;année&amp;#039;, &amp;#039;date&amp;#039;, &amp;#039;year&amp;#039;, &amp;#039;en ligne le&amp;#039;, &amp;#039;en ligne&amp;#039; ) then&lt;br /&gt;
		args.date = validArg( &amp;#039;date&amp;#039;, &amp;#039;en ligne le&amp;#039;, &amp;#039;en ligne&amp;#039; )&lt;br /&gt;
		wiki.minsert( &amp;#039;,&amp;amp;lrm; &amp;#039;, Commun.inscriptionDate( args ) )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- liens externe (isbn, doi...) et &amp;quot;consulté le&amp;quot; entre parenthèses, et en plus petit, sauf en note&lt;br /&gt;
	wiki.minsert( References.affichageLiensExternes( args, validArg, false, true ) )&lt;br /&gt;
	&lt;br /&gt;
	-- fin du span&lt;br /&gt;
	wiki.minsert( spanFinal )&lt;br /&gt;
	&lt;br /&gt;
	-- citation&lt;br /&gt;
	local citation = validArg( &amp;#039;citation&amp;#039;, &amp;#039;extrait&amp;#039;, &amp;#039;quote&amp;#039; )&lt;br /&gt;
	if citation then&lt;br /&gt;
		wiki.minsert( &amp;#039; : &amp;lt;span class=&amp;quot;citation&amp;quot;&amp;gt;« &amp;#039;, citation, &amp;#039; »&amp;lt;/span&amp;gt;&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	local passage = validArg( &amp;#039;page&amp;#039;, &amp;#039;pages&amp;#039;, &amp;#039;passage&amp;#039; )&lt;br /&gt;
	if passage then&lt;br /&gt;
		if string.match( passage, &amp;#039;^[%dIVXLCM]&amp;#039; ) then&lt;br /&gt;
			wiki.minsert( &amp;#039;, &amp;#039;, Commun.page, passage )&lt;br /&gt;
		else&lt;br /&gt;
			wiki.minsert( &amp;#039;, &amp;#039;, passage )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		wiki.minsert(&lt;br /&gt;
		args.categ.langue and &amp;#039;[[Catégorie:Pages du modèle Lien web comportant une erreur|langue]]&amp;#039;,&lt;br /&gt;
		args.categ.url and &amp;#039;[[Catégorie:Pages du modèle Lien web comportant une erreur|Url]]&amp;#039;,&lt;br /&gt;
		args.categ.titre and &amp;#039;[[Catégorie:Pages du modèle Lien web comportant une erreur|titre]]&amp;#039;,&lt;br /&gt;
		args.categ.issnInvalid and &amp;#039;[[Catégorie:Pages avec ISSN invalide]]&amp;#039;&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return wiki.concat()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return Lien&lt;/div&gt;</summary>
		<author><name>LIMAFOX76</name></author>
	</entry>
</feed>