Aller au contenu

Module:Drapeau

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 15 juin 2015 à 10:30 et modifiée en dernier par Xfigpower (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[voir] [modifier] [historique] [purger]


Exemples

Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.

code rendu modèle
{{#Invoke:Drapeau | pays }} Drapeau du Aucun pays paramétré Drapeau ?????
{{#Invoke:Drapeau | pays | France }} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | Égypte}} Drapeau de l'Égypte Égypte Drapeau de l'Égypte Égypte
{{#Invoke:Drapeau | pays | Belgique}} Drapeau de la Belgique Belgique Drapeau de la Belgique Belgique
{{#Invoke:Drapeau | pays | Népal}} Drapeau du Népal Népal Drapeau du Népal Népal
{{#Invoke:Drapeau | pays | Équateur}} Drapeau de l'Équateur Équateur Drapeau de l'Équateur Équateur
{{#Invoke:Drapeau | pays | Émirats arabes unis}} Drapeau des Émirats arabes unis Émirats arabes unis Drapeau des Émirats arabes unis Émirats arabes unis
{{#Invoke:Drapeau | pays | États-Unis}} Drapeau des États-Unis États-Unis Drapeau des États-Unis États-Unis
{{#Invoke:Drapeau | pays | Bordurie}} Drapeau de la Bordurie Bordurie Drapeau ?????
{{#Invoke:Drapeau | pays | FRA}}
{{#Invoke:Drapeau | pays | CIO=FRA}}
Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | CIO=UAE}} Drapeau des Émirats arabes unis Émirats arabes unis Drapeau des Émirats arabes unis Émirats arabes unis
{{#Invoke:Drapeau | pays | ISO=ARE}} Drapeau du Aucun pays paramétré -
{{#Invoke:Drapeau | pays | France |align=right}} France Drapeau de la France France Drapeau de la France
{{#Invoke:Drapeau | pays | France |lien=non}} Drapeau de la France  Drapeau de la France
{{#Invoke:Drapeau | pays | France |domaine=football}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=Marine de guerre}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | Égypte |domaine=Marine de guerre}} Drapeau de l'Égypte Égypte Drapeau de l'Égypte Égypte
{{#Invoke:Drapeau | pays | Royaume-Uni |domaine=Marine de guerre}} Drapeau du Royaume-Uni Royaume-Uni Drapeau de la Grande-Bretagne Royaume-Uni
{{#Invoke:Drapeau | pays | France |domaine=JO}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=JO CIO}} Drapeau de la France FRA Drapeau de la France FRA
{{#Invoke:Drapeau | pays|France|cible=[[Laurent Jalabert]]}} Drapeau de la France Laurent Jalabert (France) Drapeau de la France Laurent Jalabert (France)
{{#Invoke:Drapeau | pays|France|cible=[[Laurent Jalabert]]|domaine=}} Drapeau de la France Laurent Jalabert () Drapeau de la France Laurent Jalabert (France)
{{#Invoke:Drapeau | pays|France|2000|domaine=JO CIO|cible=[[Tony Estanguet]]}} Drapeau de la France Tony Estanguet (FRA) Drapeau de la France Tony Estanguet (FRA)
{{#Invoke:Drapeau | pays | France | année=1820}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=football|compétition=en|édition=2000}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=compétition|compétition=jo|édition=2000}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=compétition|compétition=jo|édition=1992}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=compétition|compétition=jo|édition=ete1992}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=handball|compétition=jo|édition=2012}} Drapeau de la France France Drapeau de la France France
{{#Invoke:Drapeau | pays | France |domaine=pelote basque}} Drapeau de la France France Drapeau de la France France
Syntaxe Aperçu Aperçu
{{drapeau2|Belgique|t=1}} Drapeau de la Belgique Belgique Drapeau de la Belgique Belgique
{{drapeau2|Égypte|t=1}} Drapeau de l'Égypte Égypte Drapeau de l'Égypte Égypte
{{drapeau2|France|t=1}} Drapeau de la France France Drapeau de la France France
{{drapeau2|CIO=ISV|t=1}} Drapeau des Îles Vierges des États-Unis Îles Vierges des États-Unis Drapeau des Îles Vierges des États-Unis Îles Vierges des États-Unis
{{drapeau2|Népal|t=1}} Drapeau du Népal Népal Drapeau du Népal Népal

Domaines paramétrés

code descriptif exemple France exemple Belgique exemple États-Unis
gentileFS lien vers la nationalité Française Belge Américaine
football17 lien vers la sélection nationale de football des moins de 17 ans masculin France Belgique États-Unis
waterpoloF lien vers la sélection nationale de water-polo féminin France Belgique États-Unis
pelotebasque lien vers la sélection nationale de pelote basque masculine France Belgique États-Unis
curling lien vers la sélection nationale de curling France Belgique États-Unis
football20 lien vers la sélection nationale de football des moins de 20 ans masculin France Belgique États-Unis
defaut article sur le pays France Belgique États-Unis
rugby7 lien versla sélection nationale de rugby à sept masculin France Belgique États-Unis
gentileFP lien vers la nationalité Françaises Belges Américaines
rugby13 lien vers la sélection nationale de rugby à XIII masculin France Belgique États-Unis
footballaustralien lien vers la sélection nationale de football australien France Belgique États-Unis
gentileMP lien vers la nationalité Français Belges Américains
sportcat catégorie sur le sport par nation France Belgique États-Unis
pelotebasqueF lien vers la sélection nationale de pelote basque féminine France Belgique États-Unis
formelongue lien vers le pays sous la forme longue République française Royaume de Belgique États-Unis d'Amérique
waterpolo lien vers la sélection nationale de water-polo masculin France Belgique États-Unis
cyclismesurpiste lien vers la sélection nationale de cyclisme sur piste masculin France Belgique États-Unis
volleyballF lien vers la sélection nationale de volley-ball féminin France Belgique États-Unis
volleyball lien vers la sélection nationale de volley-ball masculin France Belgique États-Unis
tennisF lien vers la sélection nationale de tennis de Fed Cup France Belgique États-Unis
jo lien vers la délégation olympique France Belgique États-Unis
drapeau label du drapeau Drapeau de la France Drapeau de la Belgique Drapeau des États-Unis
futsalF lien vers la sélection nationale de futsal féminin France Belgique États-Unis
cyclismesurrouteF lien vers la sélection nationale de cyclisme sur route féminin France Belgique États-Unis
rugbyF lien vers la sélection nationale de rugby à XV féminin France Belgique États-Unis
gymnastiqueF lien vers la sélection nationale de gymnastique artistique féminine France Belgique États-Unis
basketball lien vers la sélection nationale de basket-ball masculin France Belgique États-Unis
para lien vers la délégation paralympique France Belgique États-Unis
joj lien vers la délégation olympique de la jeunesse France Belgique États-Unis
hockeysurgazon lien vers la sélection nationale de hockey sur gazon masculin France Belgique États-Unis
footballF lien vers la sélection nationale de football féminin France Belgique États-Unis
paracio lien vers la délégation paralympique mais label sous forme du code CIO FRA BEL USA
jojcio lien vers la délégation olympique de la jeunesse mais label sous forme du code CIO FRA BEL USA
beachsoccer lien vers la sélection nationale de beach soccer France Belgique États-Unis
cyclismesurpisteF lien vers la sélection nationale de cyclisme sur piste féminin France Belgique États-Unis
rugby lien vers la sélection nationale de rugby à XV masculin France Belgique États-Unis
football lien vers la sélection nationale de football masculin France Belgique États-Unis
footballamericain lien vers la sélection nationale de football américain France Belgique États-Unis
competition article sur une compétition France Belgique États-Unis
futsal lien vers la sélection nationale de futsal masculin France Belgique États-Unis
gentileMS lien vers la nationalité Français Belge Américain
tennis lien vers la sélection nationale de tennis de Coupe Davis France Belgique États-Unis
economie article sur l'économie nationale France Belgique États-Unis
hockeysurgazonF lien vers la sélection nationale de hockey sur gazon féminin France Belgique États-Unis
hockeysurglace lien vers la sélection nationale de hockey sur glace masculin France Belgique États-Unis
hockeysurglaceF lien vers la sélection nationale de hockey sur glace féminin France Belgique États-Unis
handball lien vers la sélection nationale de handball masculin France Belgique États-Unis
handballF lien vers la sélection nationale de handball féminin France Belgique États-Unis
jocio lien vers la délégation olympique mais label sous forme du code CIO FRA BEL USA
gymnastique lien vers la sélection nationale de gymnastique artistique masculine France Belgique États-Unis
sport article sur le sport par nation France Belgique États-Unis
basketballF lien vers la sélection nationale de basket-ball féminin France Belgique États-Unis
cyclismesurroute lien vers la sélection nationale de cyclisme sur route masculin France Belgique États-Unis
football21 lien versla sélection nationale de football espoirs masculin France Belgique États-Unis
cricket lien vers la sélection nationale de cricket France Belgique États-Unis
marinedeguerre lien vers la marine France Belgique États-Unis

Pays paramétrés

Les pays
Nom Code CIO usage classique Drapeau Équipe sportive (de football) Catégorie sport
Les pays non-autonome
Nom Code CIO usage classique Drapeau Équipe sportive (de football) Catégorie sport
Les dépendances à statut spécial
Nom Code CIO usage classique Drapeau Équipe sportive (de football) Catégorie sport
Les pays disparus
Nom Code CIO usage classique Drapeau Équipe sportive (de football) Catégorie sport
--[[
This module is intended to replace the functionality of {{drapeau2}} and related
templates.  It provides several methods, including
]]

drapeau = {};
--math_mod = mw.loadData( "Module:Math" );

-- Chargement de la banque de données des langues avec gestion d'erreur.
local gdata
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Data" )
if success then
    gdata = resultat
else
    -- Banque de données à minima en cas de bogue dans le Module:Langue/Data
    gdata={}
    gdata.data={};
    gdata.idByName={};
    gdata.idByCIO={};
    gdata.data[142]={qid="Q142", flag="Flag_of_France.svg", label="France", sitelink="$label", cio="FRA", genre="fs"}
    gdata.idByName['france']=142;
    gdata.idByCIO['FRA']=142;
end

local gflag
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Image" )
if success then
    gflag = resultat
else
    -- Banque de données à minima en cas de bogue dans le Module:Langue/Data
    gflag={}
    gflag.flag={};
end

local gdomaine
local success, resultat = pcall (mw.loadData, "Module:Drapeau/Domaine" )
if success then
    gdomaine = resultat
else
    -- Banque de données à minima en cas de bogue dans le Module:Langue/Data
    gdomaine={}
    gdomaine.domainelist={
     defaut = {regexp="[[$sitelink|$label]]" , desc="article sur le pays"}
     ,drapeau = {regexp="drapeau", desc=""}
     }
    gdomaine.genre={ms={},msa={},msi={},msia={},fs={},fsa={},fsi={},fsia={},mp={},fp={}}
    gdomaine.jo={}
end
globalFrame = nil

function _getFlag(image,aaaammjj,imagesecours)
    local indexdate=(aaaammjj..mw.ustring.rep( 0, 8 )):sub (1, 8)
    
    if (indexdate ~= '00000000' and image~=nil) then       
        for k,v in pairs( image) do
            if v["debut"] <= indexdate and indexdate <= v["fin"] then
                return v
            end
        end
    end
    if(image~=nil) then
        d= image[1];
    elseif(imagesecours["flag"]~=nil) then
        local f=imagesecours["flag"]
        d= {civilflag=f,stateflag=f,warflag=f,civilensign=f,stateensign=f,warensign=f};
    else
        local f="Flag_of_None.svg"
        d= {civilflag=f,stateflag=f,warflag=f,civilensign=f,stateensign=f,warensign=f};
    end
    
    return d;
end

function _getCompetition(c,aaaa)
    local rep="";
    if(c=="CM" or c=="coupedumonde") then
        rep="à la Coupe du monde"
    elseif(c=="CE" or c=="euro") then
        rep="au championnat d'Europe"
    elseif(c=="ChM") then
        rep="au championnat du monde"
    elseif(c=="CAN" or c=="coupedesconfederations") then
        rep="à la Coupe des Confédérations"
    elseif(c=="en" ) then
        rep="en"
    elseif(c=="jo" ) then
        rep="aux Jeux olympiques"
    elseif(c=="jp" ) then
        rep="aux Jeux paralympiques"
    end
    
    --edition
    if(aaaa ~= nil and aaaa ~= "") then
        if(c=="jo"  or c=="jp" ) then
            local o=gdomaine.jo["_"..aaaa];
            if(o ~= nil) then
                rep=rep.." "..o
            end            
        else
            rep=rep.." "..aaaa
        end
    end

    return rep
end
--[[
pays

Affiche le pays accompagné de son drapeau {{drapeau2}}

Usage:
    {{ Invoke:Drapeau | pays | France }}
    
]]
function printIcon(data,image,domaine,size,day)    
    local border='';  
    local alt='';
    if data["flagborder"] ~= "no" then
        border='border|'
    end
    
    local datagenre=data["genre"] or "ms"
    alt=string.gsub(gdomaine.domainelist["drapeau"]["regexp"], "%$(%w+)",gdomaine.genre[datagenre])
    alt=string.gsub(alt, "%$(%w+)", data)
    alt=string.gsub(alt, "%$(%w+)", data) --dernière passe pour $name
    
    local filescr="$civilflag"  ;
    if(gdomaine.domainelist[domaine]~=nil and gdomaine.domainelist[domaine]["flag"]~=nil) then
        --drapeau adéquat
        filescr=gdomaine.domainelist[domaine]["flag"]
    end    
    
    pastimage=_getFlag(image,day,data)    
    
    filescr=string.gsub(filescr, "%$(%w+)", pastimage)
    filescr=string.gsub(filescr, "%$(%w+)", pastimage)
    
    return '<span class="flagicon">' ..
                '[[Fichier:' .. filescr .. '|' .. size ..'px|' .. border .. alt ..']]' ..
            '</span>';
end

function printData(text,domaine,extra)    
    local target='';
    local datagenre=text["genre"] or "ms"
    if text["label"] ~= nil and gdomaine.domainelist[domaine] ~= nil then
        target=string.gsub(gdomaine.domainelist[domaine]["regexp"], "%$(%w+)", gdomaine.genre[datagenre])
        target=string.gsub(target, "%$(%w+)", text)
        target=string.gsub(target, "%$(%w+)", text) --dernière passe pour $name
        target=string.gsub(target, "%$(%w+)", extra)
        target=string.gsub(target, "%$(%w+)", "") --une toute dernière pour supprimer les non-attribués
    end
    --Cas spécial des ïles un nom commun avec un espace devant
    --target=string.gsub(target, " République", " république") NON cf Usage_des_majuscules_en_français_lorsque_le_spécifique_est_un_adjectif
    target=string.gsub(target, " Île", " île")
    return target;
end

function _latinise_letters(tmparg)
            --2>--remove case
            tmparg=mw.ustring.lower(tmparg);
            --2>--remove acccent
            tmparg=mw.ustring.gsub(tmparg, "[áàâäãå]", "a");
            tmparg=mw.ustring.gsub(tmparg, "[æ]", "ae");
            tmparg=mw.ustring.gsub(tmparg, "[ç]", "c");
            tmparg=mw.ustring.gsub(tmparg, "[éèêë]", "e");
            tmparg=mw.ustring.gsub(tmparg, "[íìîï]", "i");
            tmparg=mw.ustring.gsub(tmparg, "[ñ]", "n");
            tmparg=mw.ustring.gsub(tmparg, "[óòôöõ]", "o");
            tmparg=mw.ustring.gsub(tmparg, "[œ]", "oe");
            tmparg=mw.ustring.gsub(tmparg, "[úùûü]", "u");
            tmparg=mw.ustring.gsub(tmparg, "[ýÿ]", "y");

            return tmparg;
end

function _latinise(tmparg)
            --2>--remove case and accents
            tmparg=_latinise_letters(tmparg);
            --3>--remove ponct
            tmparg=mw.ustring.gsub(tmparg, "[' -_]", "");
            
            return tmparg;
end

function _cletri(tmparg)
    local pays=tmparg;
            --2>--remove case and accents
            tmparg=_latinise_letters(tmparg);
            --3>--remove ponct
            tmparg=mw.ustring.gsub(tmparg, "['-_]", " ");
            --4>--remove forme longue            
            tmparg=mw.ustring.gsub(tmparg, "^republique ", "");
            tmparg=mw.ustring.gsub(tmparg, "^federation ", "");
            tmparg=mw.ustring.gsub(tmparg, "^union ", "");
            tmparg=mw.ustring.gsub(tmparg, "^iles ", "");
            tmparg=mw.ustring.gsub(tmparg, "^de ", "");
            tmparg=mw.ustring.gsub(tmparg, "^des ", "");
            tmparg=mw.ustring.gsub(tmparg, "^du ", "");
            
            return '<span class="datasortkey" data-sort-value="'..tmparg..'" style="display:none;">'..pays..'</span>';
end

function drapeau.list(frame)
    globalFrame = frame
    local args = frame.args
    local res="";
    
    if args[1] == nil then
        local pFrame = frame:getParent();
        args = pFrame.args;
        for k,v in pairs( frame.args ) do
            args[k] = v;
        end
    end
    if args[2] == nil then
        args[2]=142 --France par défaut
    end
    

    local extra={}
    if(args[1]=='libelle') then    
        res="{|class='wikitable sortable' \n!code!!descriptif!!exemple "..mw.wikibase.sitelink(gdata.data[142]["qid"] ).."!!exemple "..mw.wikibase.sitelink(gdata.data[31]["qid"] ).."!!exemple "..mw.wikibase.sitelink(gdata.data[30]["qid"] ).."\n|-\n"
        for k,v in pairs( gdomaine.domainelist ) do
            res= res .. "|<code>" .. k .. "<\code> ||".. v["desc"] .. "||" ..printData(gdata.data[142],k,extra) .. "||" ..printData(gdata.data[31],k,extra) .. "||" ..printData(gdata.data[30],k,extra) .. "\n|-\n"
        end
        res=res .. "|}"
    end
    if(args[1]=='pays') then      
        res="{|class='wikitable sortable' \n!Nom!!Code CIO!!usage classique!!Drapeau!!Équipe sportive (de football)!!Catégorie sport\n|-\n"
        for k,v in pairs( gdata.data ) do
            local cio=v["cio"] or ""
		    if(args[2] == nil or v["group"] == args[2]) then
            	res= res .. "|"..v["label"].."||<code>" .. cio .. "<\code> ||" .._cletri(v["label"])..printIcon(v,nil,"defaut",'20x15',"")..printData(v,"defaut",extra) .. "|| [[" ..printData(v,"drapeau",extra) .. "]] ||" ..printData(v,"football",extra) .. "||" ..printData(v,"sportcat",extra) .."\n|-\n"
        	end
        end
        res=res .. "|}"
    end
    return res;

end

function drapeau.List(frame)
    return drapeau.list(frame)
end

function drapeau.pays(frame)
    globalFrame = frame
    local args = frame.args
    local tmparg;
    if args[1] == nil then
        local pFrame = frame:getParent();
        args = pFrame.args;
        for k,v in pairs( frame.args ) do
            args[k] = v;
        end
    end
    
    for i=1,10 do 
        if args[i] == nil then 
            args[i] = ""
        else
            --1>--remove whitespace
            args[i]=args[i]:match( '^%s*(.-)%s*$' );
        end        
    end
    local key=_latinise(args[1]);

    --par défaut
    local taille = args["taille"] or '20x15'
    if (args["domaine"] == nil) then args["domaine"] = 'defaut' else args["domaine"] = _latinise(args["domaine"]) end 
    local align = args["align"] or 'left'
    local lien = args["lien"] or 'oui'
    local annee = args[2] or args["année"] or ''    
    local extra={}
    if (args["compétition"] ~= nil) then
        extra["competition"] = " ".._getCompetition(_latinise(args["compétition"]),args["édition"])
    end
    
    local q=0;
    local data;
    if(#key==3) then
        q=gdata.idByCIO[mw.ustring.upper(key)]
    elseif(args["CIO"]~= nil) then
        q=gdata.idByCIO[args["CIO"]]
    else
        q=gdata.idByName[key]        
    end
    local data=gdata.data[q];   
    local image=gflag.flag[q];   
    
    local res='';
    local reserror='';
    --le pays est inconnu !!
    if(data == nil) then
        data={qid="", flag="Flag_of_None.svg", label=args[1], sitelink="$label", cio=""
            , genre="ms" , namelong="$label", gentileMS="$label",gentileFS="$label",gentileMP="$label",gentileFP="$label"}
        reserror = reserror .. '<strong class="error">Aucun pays paramétré</strong>'
    end   
     --on ajoute le gentillé en bas de casse
	--data["gentileminiMS"]=mw.ustring.lower(data["gentileMS"]);
	--data["gentileminiFS"]=mw.ustring.lower(data["gentileFS"]);
	--data["gentileminiMP"]=mw.ustring.lower(data["gentileMP"]);
	--data["gentileminiFP"]=mw.ustring.lower(data["gentileFP"]);
    --clé automatique if(args["t"] == '1') then
        res=res .. _cletri(data["label"]);
    --end    
    if(align == 'left') then
        res=res .. printIcon(data,image,args["domaine"],taille,annee)..'&nbsp;';
    end    
    if(args["cible"] ~= nil) then
        res=res .. args["cible"] .. '&nbsp;<span style="font-size:90%;" class="nowrap">(';
    end
    if(lien == 'oui' and data["label"] ~= '') then
        res=res ..printData(data,args["domaine"],extra);
    end
    if(args["cible"] ~= nil) then
        res=res  .. ')</span>';
    end    
    if(align == 'right') then
        res=res .. '&nbsp;' .. printIcon(data,image,args["domaine"],taille,annee);
    end
    return res .. reserror;

end

function drapeau.Pays(frame)
    return drapeau.pays(frame)
end

return drapeau