<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.nefald.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3APageInfo</id>
	<title>Module:PageInfo - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nefald.fr/index.php?action=history&amp;feed=atom&amp;title=Module%3APageInfo"/>
	<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;action=history"/>
	<updated>2026-05-07T07:20:10Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=736&amp;oldid=prev</id>
		<title>Hiob : Annulation des modifications 735 de Hiob (discussion)</title>
		<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=736&amp;oldid=prev"/>
		<updated>2025-10-07T11:52:46Z</updated>

		<summary type="html">&lt;p&gt;Annulation des modifications &lt;a href=&quot;/Sp%C3%A9cial:Diff/735&quot; title=&quot;Spécial:Diff/735&quot;&gt;735&lt;/a&gt; de &lt;a href=&quot;/Sp%C3%A9cial:Contributions/Hiob&quot; title=&quot;Spécial:Contributions/Hiob&quot;&gt;Hiob&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Discussion_utilisateur:Hiob&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Discussion utilisateur:Hiob (page inexistante)&quot;&gt;discussion&lt;/a&gt;)&lt;/p&gt;
&lt;a href=&quot;https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;amp;diff=736&amp;amp;oldid=735&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Hiob</name></author>
	</entry>
	<entry>
		<id>https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=735&amp;oldid=prev</id>
		<title>Hiob le 7 octobre 2025 à 11:48</title>
		<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=735&amp;oldid=prev"/>
		<updated>2025-10-07T11:48:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;amp;diff=735&amp;amp;oldid=703&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Hiob</name></author>
	</entry>
	<entry>
		<id>https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=703&amp;oldid=prev</id>
		<title>Hiob le 4 octobre 2025 à 08:46</title>
		<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=703&amp;oldid=prev"/>
		<updated>2025-10-04T08:46:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;amp;diff=703&amp;amp;oldid=697&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Hiob</name></author>
	</entry>
	<entry>
		<id>https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=697&amp;oldid=prev</id>
		<title>Hiob le 4 octobre 2025 à 08:33</title>
		<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=697&amp;oldid=prev"/>
		<updated>2025-10-04T08:33:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;amp;diff=697&amp;amp;oldid=694&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Hiob</name></author>
	</entry>
	<entry>
		<id>https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=694&amp;oldid=prev</id>
		<title>Hiob le 4 octobre 2025 à 08:27</title>
		<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=694&amp;oldid=prev"/>
		<updated>2025-10-04T08:27:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;amp;diff=694&amp;amp;oldid=684&quot;&gt;Voir les modifications&lt;/a&gt;</summary>
		<author><name>Hiob</name></author>
	</entry>
	<entry>
		<id>https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=684&amp;oldid=prev</id>
		<title>Hiob : Page créée avec « local p = {}  -- Fonction pour extraire la description function p.getDescription(frame)     local pageName = frame.args[1]          if not pageName or pageName == &#039;&#039; then         return &quot;&#039;&#039;Erreur : nom de page manquant&#039;&#039;&quot;     end          local pageObj = mw.title.new(pageName)          if not pageObj or not pageObj.exists then         return &quot;&#039;&#039;Page inexistante&#039;&#039;&quot;     end          local texte = pageObj:getContent()          if not texte then         return &quot;&#039;&#039;Auc... »</title>
		<link rel="alternate" type="text/html" href="https://wiki.nefald.fr/index.php?title=Module:PageInfo&amp;diff=684&amp;oldid=prev"/>
		<updated>2025-10-03T21:32:55Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « local p = {}  -- Fonction pour extraire la description function p.getDescription(frame)     local pageName = frame.args[1]          if not pageName or pageName == &amp;#039;&amp;#039; then         return &amp;quot;&amp;#039;&amp;#039;Erreur : nom de page manquant&amp;#039;&amp;#039;&amp;quot;     end          local pageObj = mw.title.new(pageName)          if not pageObj or not pageObj.exists then         return &amp;quot;&amp;#039;&amp;#039;Page inexistante&amp;#039;&amp;#039;&amp;quot;     end          local texte = pageObj:getContent()          if not texte then         return &amp;quot;&amp;#039;&amp;#039;Auc... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Fonction pour extraire la description&lt;br /&gt;
function p.getDescription(frame)&lt;br /&gt;
    local pageName = frame.args[1]&lt;br /&gt;
    &lt;br /&gt;
    if not pageName or pageName == &amp;#039;&amp;#039; then&lt;br /&gt;
        return &amp;quot;&amp;#039;&amp;#039;Erreur : nom de page manquant&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local pageObj = mw.title.new(pageName)&lt;br /&gt;
    &lt;br /&gt;
    if not pageObj or not pageObj.exists then&lt;br /&gt;
        return &amp;quot;&amp;#039;&amp;#039;Page inexistante&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local texte = pageObj:getContent()&lt;br /&gt;
    &lt;br /&gt;
    if not texte then&lt;br /&gt;
        return &amp;quot;&amp;#039;&amp;#039;Aucune description&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- 1. Chercher {{Short description|...}}&lt;br /&gt;
    local shortDesc = texte:match(&amp;#039;{{[Ss]hort%s+description|([^}]+)}}&amp;#039;)&lt;br /&gt;
    if shortDesc then&lt;br /&gt;
        return mw.text.trim(shortDesc)&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- 2. Chercher dans les infobox (paramètre description)&lt;br /&gt;
    local infoboxDesc = texte:match(&amp;#039;|%s*description%s*=%s*([^\n|]+)&amp;#039;)&lt;br /&gt;
    if infoboxDesc then&lt;br /&gt;
        infoboxDesc = mw.text.trim(infoboxDesc)&lt;br /&gt;
        if #infoboxDesc &amp;gt; 10 then&lt;br /&gt;
            return infoboxDesc&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- 3. Utiliser TextExtract (premier paragraphe nettoyé)&lt;br /&gt;
    local extract = getTextExtract(texte)&lt;br /&gt;
    if extract and #extract &amp;gt; 10 then&lt;br /&gt;
        return extract&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return &amp;quot;&amp;#039;&amp;#039;Aucune description&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Fonction pour extraire le lien de documentation&lt;br /&gt;
function p.getDocumentation(frame)&lt;br /&gt;
    local pageName = frame.args[1]&lt;br /&gt;
    &lt;br /&gt;
    if not pageName or pageName == &amp;#039;&amp;#039; then&lt;br /&gt;
        return &amp;#039;—&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local pageObj = mw.title.new(pageName)&lt;br /&gt;
    &lt;br /&gt;
    if not pageObj or not pageObj.exists then&lt;br /&gt;
        return &amp;#039;—&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local texte = pageObj:getContent()&lt;br /&gt;
    &lt;br /&gt;
    if not texte then&lt;br /&gt;
        return &amp;#039;—&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Chercher le paramètre documentation dans n&amp;#039;importe quelle infobox&lt;br /&gt;
    local docParam = texte:match(&amp;#039;|%s*documentation%s*=%s*([^\n|]+)&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    if docParam then&lt;br /&gt;
        docParam = mw.text.trim(docParam)&lt;br /&gt;
        &lt;br /&gt;
        -- Si c&amp;#039;est déjà un lien wiki formaté [url texte]&lt;br /&gt;
        if docParam:match(&amp;#039;^%[http&amp;#039;) then&lt;br /&gt;
            return docParam&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        -- Si c&amp;#039;est une URL brute&lt;br /&gt;
        if docParam:match(&amp;#039;^https?://&amp;#039;) then&lt;br /&gt;
            return &amp;#039;[&amp;#039; .. docParam .. &amp;#039; 📖 Documentation]&amp;#039;&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        -- Si c&amp;#039;est un lien wiki interne [[Page]]&lt;br /&gt;
        if docParam:match(&amp;#039;^%[%[&amp;#039;) then&lt;br /&gt;
            return docParam&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        -- Si c&amp;#039;est juste du texte&lt;br /&gt;
        if #docParam &amp;gt; 0 then&lt;br /&gt;
            return docParam&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- Chercher aussi |lien=, |url=, |site=&lt;br /&gt;
    for _, param in ipairs({&amp;#039;lien&amp;#039;, &amp;#039;url&amp;#039;, &amp;#039;site&amp;#039;, &amp;#039;website&amp;#039;}) do&lt;br /&gt;
        local link = texte:match(&amp;#039;|%s*&amp;#039; .. param .. &amp;#039;%s*=%s*([^\n|]+)&amp;#039;)&lt;br /&gt;
        if link then&lt;br /&gt;
            link = mw.text.trim(link)&lt;br /&gt;
            if link:match(&amp;#039;^https?://&amp;#039;) then&lt;br /&gt;
                return &amp;#039;[&amp;#039; .. link .. &amp;#039; 🔗 Lien]&amp;#039;&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return &amp;#039;—&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Fonction interne pour extraire le premier paragraphe (façon TextExtract)&lt;br /&gt;
function getTextExtract(texte)&lt;br /&gt;
    -- Supprimer les infobox et templates au début&lt;br /&gt;
    texte = texte:gsub(&amp;#039;{{.-}}&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Supprimer les balises HTML&lt;br /&gt;
    texte = texte:gsub(&amp;#039;&amp;lt;[^&amp;gt;]+&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Supprimer les références&lt;br /&gt;
    texte = texte:gsub(&amp;#039;&amp;lt;ref[^&amp;gt;]*&amp;gt;.-&amp;lt;/ref&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    texte = texte:gsub(&amp;#039;&amp;lt;ref[^/&amp;gt;]*/&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Supprimer les liens internes mais garder le texte affiché&lt;br /&gt;
    texte = texte:gsub(&amp;#039;%[%[([^%]|]+)|([^%]]+)%]%]&amp;#039;, &amp;#039;%2&amp;#039;)&lt;br /&gt;
    texte = texte:gsub(&amp;#039;%[%[([^%]]+)%]%]&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Supprimer les liens externes&lt;br /&gt;
    texte = texte:gsub(&amp;#039;%[http[^%]]+%]&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Supprimer les balises wiki (gras, italique)&lt;br /&gt;
    texte = texte:gsub(&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;quot;, &amp;#039;&amp;#039;)&lt;br /&gt;
    texte = texte:gsub(&amp;quot;&amp;#039;&amp;#039;&amp;quot;, &amp;#039;&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Supprimer les fichiers/images&lt;br /&gt;
    texte = texte:gsub(&amp;#039;%[%[[Ff]ichier:.-]]&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    texte = texte:gsub(&amp;#039;%[%[[Ii]mage:.-]]&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    texte = texte:gsub(&amp;#039;%[%[[Ff]ile:.-]]&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
    &lt;br /&gt;
    -- Trouver le premier paragraphe significatif&lt;br /&gt;
    for ligne in texte:gmatch(&amp;#039;[^\n]+&amp;#039;) do&lt;br /&gt;
        ligne = mw.text.trim(ligne)&lt;br /&gt;
        &lt;br /&gt;
        -- Ignorer les lignes vides, titres, listes&lt;br /&gt;
        if #ligne &amp;gt; 30 and not ligne:match(&amp;#039;^[=*#:;]&amp;#039;) and not ligne:match(&amp;#039;^{|&amp;#039;) then&lt;br /&gt;
            -- Limiter à 200 caractères&lt;br /&gt;
            if #ligne &amp;gt; 200 then&lt;br /&gt;
                ligne = ligne:sub(1, 197) .. &amp;#039;...&amp;#039;&lt;br /&gt;
            end&lt;br /&gt;
            return ligne&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Hiob</name></author>
	</entry>
</feed>