Utilisateur:Golmote/Modèles drapeau

État des lieux des modèles de drapeau (et données de pays)

Système Country data modifier

Modèle {{Country data}} et ses dérivés (comme {{Country data France}}).

La catégorie Catégorie:Modèle Country data permet de voir une liste des dérivés. Cette page inclut également les redirections.

La sous-page Projet:Modèle/Système Country documente ce système et les configurations possibles. C'est un système adapté de son équivalent anglophone en:Wikipedia:WikiProject Flag Template.

Chaque modèle dérivé inclut des informations sur le pays : son article, ses différents drapeaux (variations historiques, drapeaux navals, etc.), ses alias. Les alias nécessitent de créer des redirections (comme {{Modèle:Country data RSA}}). Les modèles ne font rien de spécifique par défaut, il servent de base de données en appelant les « callbacks » des autres modèles.

Le système n'est pas utilisé seulement pour représenter des pays, on y trouve des départements ({{Country data Aube}}, des comtés ({{Country data Comté d'Andechs}}), des organisations ({{Country data CEEAC}}). Étant donné que toutes les variations ont la même page cible, il semble que des modèles aient aussi été créés pour changer la page cible (quand bien même les drapeaux pourraient théoriquement être considérés comme des variations...), par ex. {{Country data France (1790-1794)}}.

Le très grand nombre de modèles rend certainement le suivi assez difficile.

La sous-page Projet:Modèle/Système Country dédiée au projet a moins de 30 suiveurs, sa PDD semble comporter principalement des messages d'une IP anglophone (je présume qu'elle demande des modifs pour s'aligner avec le système équivalent sur WP:en).

{{Country showdata}} se charge de générer une documentation à partir des données du modèle. Il semble contenir des informations obsolètes (templatename ?) ou surprenantes (pourquoi privilégier shortname alias pour les Enseignes militaires ? d'ailleurs à quoi sert shortname alias ?). La documentation référence spécifiquement les drapeaux correspondant à des enseignes militaires mais pas leurs éventuelles sous-variations ni la variation marines utilisée par {{Marines}}. Il fait également référence au modèle {{Flagathlete}} mais ce dernier utilise {{Drapeau2}}...

Les modèles utilisant Country data sont typiquement appelés en utilisant le suffixe du modèle (« France » pour « Country data France »), d'où la nécessité des redirections pour pouvoir gérer les alias. D'ailleurs, le terme « alias » pour faire références à ces redirections n'a rien à voir avec le paramètre de configuration alias qui représente la destination du lien, ce qui peut facilement porter à confusion.

Les paramètres altvar et altlink ne semblent pas utilisés. altvar était sans doute redondant avec variant et altlink avec link alias-{{{variant}}} ?

Quelques Country data notables au niveau de leur configuration :

Modèles basés sur Country data modifier

{{Pays}} ({{Pays/callback}}) modifier

Génère un drapeau et un lien.

Le drapeau est affiché en 20x18 par défaut. Il a un alt. Il a un lien vers l'image et utilise noviewer.

Utilise alias pour la destination du lien et le suffixe du modèle pour le texte par défaut (alors que le shortname alias ou l'alias auraient été préférables non ?). Utilise les paramètres flag alias-X ou flag alias pour les drapeaux, avec des options de bordures optionnelles (activées par défaut) border-X ou border et un attribut alt paramétrable. Génère aussi une clé de tri basée sur sortkey ou shortname alias ou alias.

Fonctionnalité Code Résultat Remarques
Drapeau + lien {{Pays|France}}   France
{{Pays|Népal}}   Népal Configuré pour ne pas avoir de bordure. Non-respect de la configuration size.
{{Pays|Sint Maarten}}   Sint Maarten
{{Pays|Commonwealth d'Angleterre}}   Commonwealth d'Angleterre
{{Pays|Nouvelle-Calédonie}}   Nouvelle-Calédonie Non-respect de la configuration (non documentée) size flag alias.
Contrôle de la taille {{Pays|France|taille=10}}   France
Contrôle du texte du lien {{Pays|France|nom=Test}}   Test
Contrôle de la variation {{Pays|France|libre}}   France
Utilisation d'alias {{Pays|FRA}}   FRA Utilise le suffixe du modèle comme texte.

{{Pays/lien seul}} ({{Pays/lien seul/callback}}) modifier

Génère un lien seul.

Utilise alias pour la destination du lien et shortname alias ou alias pour le texte du lien (comportement incohérent avec {{Pays}} du coup).

Le modèle accepte un deuxième paramètre pour préciser la variation, mais il n'est pas utilisé par le callback donc pas d'intérêt ?

Fonctionnalité Code Résultat Remarques
Lien {{Pays/lien seul|France}} France
{{Pays/lien seul|Commonwealth d'Angleterre}} Angleterre Affiche le shortname alias.
{{Pays/lien seul|Sint Maarten}} Saint-Martin (Pays-Bas)
Utilisation d'alias {{Pays/lien seul|FRA}} France

{{Marines}} ({{Marines/core}}) modifier

Génère un drapeau utilisant la variation spécifique marines ou ses sous-variations si elles existent, sinon se rabat sur les variations classiques.

Le drapeau est affiché en 22x20 par défaut. Il a un alt vide et n'a pas de lien.

Utilise link alias-marines ou « shortname alias Marines » ou « alias Marines », comme destination du lien. Utilise name comme texte du lien, si présent. Le code fait beaucoup d'effort pour permettre des tailles paramétrables pour chaque variation (overkill ? les paramètres du genre size flag alias-marines ne semblent pas spécifiés ?)

Contrairement aux autres modèles similaires, le drapeau en lui-même a son lien désactivé.

Une seule utilisation (douteuse ?) sur Jiang (grade).

Fonctionnalité Code Résultat Remarques
Drapeau + Lien {{Marines|France}}   France Marines
{{Marines|Népal}}   Népal Marines Configuré pour ne pas avoir de bordure.
{{Marines|Union d'Afrique du Sud}}   South African Corps of Marines Utilise un drapeau spécifiquement configuré.
{{Marines|Nouvelle-Calédonie}}   Nouvelle-Calédonie Marines Utilise le paramètre (non documenté) size flag alias.
Contrôle de la taille {{Marines|France|size=10px}}   France Marines Nécessite l'unité.
Contrôle du texte du lien {{Marines|France|name=Test}}   Test
Contrôle de la variation {{Marines|France|libre}}   France Marines Aucun Country data configuré avec une sous-variation spécifique de marines ?
Utilisation d'alias {{Marines|FRA}}   France Marines

{{Marine de guerre}} ({{Marine de guerre/callback}}) modifier

Génère un drapeau utilisant la variation spécifique naval ou ses sous-variations si elles existent, sinon se rabat sur les variations classiques.

Le drapeau est affiché en 22x20 par défaut. Il a comme alt le nom de l'image. Il a un lien vers l'image mais n'utilise pas noviewer.

Utilise link alias-naval ou « Marine de shortname alias » ou « Marine de alias », comme destination du lien. Utilise name comme texte du lien, si présent.

Fonctionnalité Code Résultat Remarques
Drapeau + Lien {{Marine de guerre|Afrique du Sud}}   Marine sud-africaine Utilise un drapeau spécifiquement configuré.
{{Marine de guerre|Népal}}   Marine de Népal Configuré pour ne pas avoir de bordure. (N'ayant pas de link alias-naval, le texte est généré automatiquement, d'où le « de ».)
{{Marine de guerre|Nouvelle-Calédonie}}   Marine de Nouvelle-Calédonie Non-respect de la configuration (non documentée) size flag alias.
Contrôle de la taille {{Marine de guerre|France|size=10px}}   Marine nationale Nécessite l'unité.
Contrôle du texte du lien {{Marine de guerre|Afrique du Sud|name=Test}}   Test
{{Marine de guerre|France|name=Test}}   Marine nationale|Test Ne fonctionne pas correctement car la configuration de link alias-naval inclut déjà un texte par défaut.
Contrôle de la variation {{Marine de guerre|Afrique du Sud|1922}}   Marine sud-africaine
Utilisation d'alias {{Marine de guerre|FRA}}   Marine nationale

{{Armée de terre}} ({{Armée de terre/callback}}) modifier

Génère un drapeau utilisant la variation spécifique army ou ses sous-variations si elles existent, sinon se rabat sur les variations classiques.

Le drapeau est affiché en 22x20 par défaut. Il a comme alt le nom de l'image. Il a un lien vers l'image mais n'utilise pas noviewer.

Utilise link alias-army ou « Armée de shortname alias » ou « Armée de alias », comme destination du lien. Utilise name comme texte du lien, si présent.

Fonctionnalité Code Résultat Remarques
Drapeau + Lien {{Armée de terre|Afrique du Sud}}   Armée de terre sud-africaine Utilise un drapeau spécifiquement configuré.
{{Armée de terre|Népal}}   Armée de Népal Configuré pour ne pas avoir de bordure. (N'ayant pas de link alias-naval, le texte est généré automatiquement, d'où le « de ».)
{{Armée de terre|Nouvelle-Calédonie}}   Armée de Nouvelle-Calédonie Utilise le drapeau par défaut.
Non-respect de la configuration (non documentée) size flag alias.
Contrôle de la taille {{Armée de terre|France|size=10px}}   Armée de terre française Nécessite l'unité.
Contrôle du texte du lien {{Armée de terre|France|name=Test}}   Test
{{Armée de terre|Royaume d'Italie|name=Test}}   Regio Esercito|Test Ne fonctionne pas correctement car la configuration de link alias-naval inclut déjà un texte par défaut.
Contrôle de la variation {{Armée de terre|Afrique du Sud|1951}}   Armée de terre sud-africaine
Utilisation d'alias {{Armée de terre|FRA}}   Armée de terre française

{{Armée de l'air}} ({{Armée de l'air/callback}}) modifier

Génère un drapeau utilisant la variation spécifique air force ou ses sous-variations si elles existent, sinon se rabat sur les variations classiques.

Le drapeau est affiché en 22x20 par défaut. Il a comme alt le nom de l'image. Il a un lien vers l'image mais n'utilise pas noviewer.

Utilise link alias-air force ou « Force aérienne de shortname alias » ou « Force aérienne de alias », comme destination du lien. Utilise name comme texte du lien, si présent.

Fonctionnalité Code Résultat Remarques
Drapeau + Lien {{Armée de l'air|Canada}}   Aviation royale canadienne Utilise un drapeau spécifiquement configuré.
{{Armée de l'air|Népal}}   Force aérienne de Népal Configuré pour ne pas avoir de bordure. (N'ayant pas de link alias-naval, le texte est généré automatiquement, d'où le « de ».)
{{Armée de l'air|Nouvelle-Calédonie}}   Force aérienne de Nouvelle-Calédonie Utilise le drapeau par défaut.
Non-respect de la configuration (non documentée) size flag alias.
Contrôle de la taille {{Armée de l'air|France|size=10px}}   Armée de l'air française Nécessite l'unité.
Contrôle du texte du lien {{Armée de l'air|France|name=Test}}   Test
{{Armée de l'air|Royaume d'Italie|name=Test}}   Regia Aeronautica|Test Ne fonctionne pas correctement car la configuration de link alias-naval inclut déjà un texte par défaut.
Contrôle de la variation {{Armée de l'air|Canada|1924}}   Aviation royale canadienne
Utilisation d'alias {{Armée de l'air|FRA}}   Armée de l'air française

{{Drapeau}} ({{Drapeau/callback}}) modifier

Génère un drapeau seul.

Le drapeau est affiché en 20x18 par défaut. Il a un alt. Il a un lien vers l'image et utilise noviewer.

Utilise les paramètres flag alias-X ou flag alias, avec des options de bordures optionnelles (activées par défaut) border-X ou border et un attribut alt paramétrable. Génère aussi une clé de tri vide.

Fonctionnalité Code Résultat Remarques
Drapeau {{Drapeau|France}}  
{{Drapeau|Népal}}   Configuré pour ne pas avoir de bordure.
{{Drapeau|Nouvelle-Calédonie}}   Non-respect de la configuration (non documentée) size flag alias.
Contrôle de la taille {{Drapeau|France|taille=10}}  
Contrôle de la variation {{Drapeau|France|libre}}  
Utilisation d'alias {{Drapeau|FRA}}  

{{Getalias}} ({{Getalias/callback}}) modifier

Génère une des clés de configuration. La documentation accepte officiellement shortname et flag. De par le fonctionnement du modèle, d'autres valeurs comme link peuvent également fonctionner.

Fonctionnalité Code Résultat Remarques
alias {{Getalias|France}} France
{{Getalias|Commonwealth d'Angleterre}} Commonwealth d'Angleterre
shortname alias {{Getalias|Commonwealth d'Angleterre|shortname}} Angleterre
flag alias {{Getalias|France|flag}} Flag of France.svg
link alias {{Getalias|France|link}} France
size flag alias {{Getalias|Nouvelle-Calédonie|size flag}} 43x12px
Contrôle de la variation {{Getalias|France|flag|libre}} Flag of Free France (bright variant).svg
{{Getalias|France|link|army}} Armée de terre française
Utilisation d'alias {{Getalias|FRA}} France

{{SquashTeamWomen-big}} modifier

Modèle inutilisé qui ne fonctionne pas.

Drapeau2 modifier

{{Drapeau2}} et ses sous-modèles {{Drapeau2/Tri}}, {{Drapeau2/Clé}}, {{Drapeau2/Image}}, {{Drapeau2/ImageAlt}}, {{Drapeau2/Erreur}}, {{Drapeau2/CIO}}, {{Drapeau2/Libellé}}, {{Drapeau2/Anglais}}...

Permet d'afficher un drapeau et un lien, ou un drapeau seul, ou un lien seul, ou un drapeau accompagné d'une cible (du texte wikifié, typiquement un lien vers une personne ?) et d'un lien vers le pays.

Le drapeau est affiché en 20x15 par défaut. Il a un alt. Il a un lien vers l'image et utilise noviewer.

Le pays peut être choisi via son nom, son nom anglais via {{Drapeau2/Anglais}} ou son code CIO (ou FIFA) via {{Drapeau2/CIO}}. Le tout est géré via {{Drapeau2/Clé}}.

Renseigner le domaine peut changer aussi bien le drapeau que le lien et son texte.

Les différents drapeaux disponibles sont configurés dans {{Drapeau2/Image}} qui référence ses sous-modèles {{Drapeau2/Image}} [1]. Certains pays n'ayant pas de variations, leur drapeau est codé directement dans le modèle principal. Chaque sous-modèle étant codé spécifiquement, les variations peuvent être déterminées en fonction des différents paramètres dont l'année, le domaine, etc. Les documentations sont également spécifiques, ce qui peut facilement entraîner des erreurs de copier-coller ({{Drapeau2/Image/Inde}} qui fait référence à Drapeau de l'Iran par exemple). Le sous-modèle {{Drapeau2/Image/JO1980}} est un cas particulier utilisé dans {{Drapeau2/Image}} pour gérer les pays ayant défilé sous le drapeau olympique aux JO de 1980. Le alt des images est géré via {{Drapeau2/ImageAlt}}.

La cible du lien et son texte sont gérés via {{Drapeau2/Libellé}} et ses nombreux sous-modèles [2] qui représentent les différents domaines utilisables. On notera {{Drapeau2/Libellé/korfbal}} qui semble doublonner {{Drapeau2/Libellé/korfball}} (les deux sont utilisés).

Une clé de tri est générée à l'aide de {{Drapeau2/Tri}}.

De nombreux sous-modèles listent tous les pays : ajouter un pays implique de devoir modifier tous les sous-modèles concernés. En revanche, l'ajout d'un domaine (notamment sportif) est assez simple grâce à {{Drapeau2/Libellé/Équipe}} et éventuellement à {{Drapeau2/Libellé/Compétition}}.

{{Drapeau2/Erreur}}, qui recense tous les pays configurés, permet d'afficher une erreur si le modèle est utilisé avec un pays non géré.

Un cas particulier codé en dur dans {{Drapeau2}} permet de ne pas afficher la bordure pour le drapeau du Népal.

Fonctionnalité Code Résultat Remarques
Drapeau + lien {{Drapeau2|France}}   France
{{Drapeau2|Népal}}   Népal Cas particulier qui enlève la bordure.
Nom anglais {{Drapeau2|Anglais=United States}}   États-Unis
Code CIO {{Drapeau2|CIO=FRA}}   France
Contrôle de l'alignement {{Drapeau2|France|align=right}} France  
Lien seul {{Drapeau2|France|align=no}} France
Drapeau seul {{Drapeau2|France|lien=non}}  
Contrôle de la taille {{Drapeau2|France|taille=10}}   France
Contrôle de l'année {{Drapeau2|France|1364}}   France
{{Drapeau2|Grèce|année=1976}}   Grèce
Drapeau + cible + lien {{Drapeau2|France|cible=Test}}   Test (France)
Drapeau + cible ? {{Drapeau2|France|cible=Test|lien=non}}  Test) Ne fonctionne pas bien.
Contrôle du domaine {{Drapeau2|France|domaine=Sport CIO}}   FRA
{{Drapeau2|France|domaine=football}}   France
{{Drapeau2|France|domaine=nationalité}}   française
{{Drapeau2|France|domaine=gentilé}}   Français
{{Drapeau2|France|domaine=long}}   République française
{{Drapeau2|France|domaine=gentilé|genre=féminin|nombre=pluriel}}   Françaises Certains domaines supportent des paramètres genre et nombre.
{{Drapeau2|France|domaine=JO|genre=para|nombre=2008}}   France Pour certains domaines, le nom des paramètres n'a pas beaucoup de sens.
{{Drapeau2|France|domaine=football|nombre=-21}}   France
{{Drapeau2|Grèce|1976|domaine=JO|nombre=hiver 1976}}   Grèce Drapeau spécifique au domaine et au nombre.
{{Drapeau2|Équipe mixte|domaine=JO}}   Équipe mixte Certains « pays » configurés n'en sont pas.
{{Drapeau2|Afrique du Sud|domaine=Marine de guerre}}   Afrique du Sud Résultat différent de {{Marine de guerre}}.

Modèles basés sur {{Drapeau2}} modifier

CIO-d modifier

Modèle {{CIO-d}} et les modèles qui l'utilisent comme {{FRA-d}} et les autres de ce format (Catégorie:Modèle drapeau sans lien).

Le modèle part du principe de l'existence d'une l'image « Flag of <nom du pays>.svg ».

On notera que {{CIO-d}} impose une bordure à l'image, ce qui explique notamment que {{NEP-d}} ne l'utilise pas.

Le drapeau est affiché en 20 par défaut. Il a un alt vide. Il a un lien vers l'image et utilise noviewer.

Voir aussi {{CIO-d2Pays}}, qui n'a pas directement rapport (si ce n'est son nom), qui est juste un tableau de correspondance entre codes CIO et noms de pays.

Fonctionnalité Code Résultat Remarques
Drapeau {{CIO-d|France|France}}   Équivaut à {{FRA-d}}.
{{CIO-d|Italy|Italie}}   Équivaut à {{ITA-d}}.
Contrôle de la taille {{CIO-d|France|France|10px}}   Équivaut à {{FRA-d|10px}}.

Module Drapeau modifier

Module Drapeau et ses sous-modules Module:Drapeau/Data, Module:Drapeau/Domaine et Module:Drapeau/Image

Créé par Xfigpower en mai 2013 avec l'intention de remplacer les modèles comme {{Drapeau2}}.

Module:Drapeau/Data contient des informations sur chaque pays, comme son nom, son article, son drapeau (actuel) etc. Les pays sont indexés par nom (avec possiblement plusieurs variantes), par code CIO et par code ISO. La table principale est indexée par id wikidata, mais paradoxalement il ne semble pas possible d'utiliser l'id wikidata pour déterminer le pays (mais la fonctionnalité reste utilisable par d'autres modules en important directement les données).

Module:Drapeau/Domaine contient des regex propres à chaque domaine, avec également possibilité de spécifier un drapeau. Il contient aussi une table pour gérer les prépositions (« à », « en », « du », etc.) devant les pays selon leur genre. Ce tableau des genres est notable car il « répare » l'inversion faite entre {{de?}} et {{du?}} (reprise dans {{genre}}). Il contient enfin une table spécifique aux JO.

Module:Drapeau/Image contient des drapeaux spécifiques par pays, avec des années de début et de fin (au format yyyymmaa, mais il n'y a parfois que sept zéros ?). Très peu de pays configurés, les autres n'ont-ils eu qu'un seul drapeau ?

Le module principal définit une fonction pays ou Pays et une fonction list ou List. Cette dernière n'est pas documentée et semble être utilisé pour générer une partie de la documentation.

Le drapeau est affiché en 20x15 par défaut. Il a un alt. Il a un lien vers l'image mais n'utilise pas noviewer.

Une clé de tri est générée automatiquement à moins de l'empêcher avec t présent et différent de 1. La clé utilise le label du pays mais supprime des préfixes comme « République ». Le nettoyage semble insuffisant sans quelques cas, par exemple pour la République démocratique du Congo où la clé est « democratique du congo ». Par ailleurs, la clé de tri est placée avant le drapeau, plutôt qu'autour. Cela a notamment pour conséquence de trier « Guinée-Bissau » avant « Guinée » au lieu d'après.

Fonctionnalité Code Résultat Remarques
Drapeau + lien {{#invoke:Drapeau|pays|France}}   France
{{#invoke:Drapeau|pays|Népal}}   Népal Une bordure est présente, contrairement au cas géré par {{Drapeau2}}.
Code CIO {{#invoke:Drapeau|pays|FRA}}   France
{{#invoke:Drapeau|pays|CIO=GER}}   Allemagne
Code ISO {{#invoke:Drapeau|pays|ISO=DEU}}   Allemagne
Contrôle de la taille {{#invoke:Drapeau|pays|France|taille=10}}   France
Contrôle de l'alignement {{#invoke:Drapeau|pays|France|align=right}} France  
Lien seul {{#invoke:Drapeau|pays|France|align=no}} France
Contrôle de l'année {{#invoke:Drapeau|pays|France|1820}}   France
{{#invoke:Drapeau|pays|Grèce|année=1976}}   Grèce Pas le même drapeau que {{Drapeau2}} ?
Drapeau seul {{#invoke:Drapeau|pays|France|lien=non}}   
Drapeau + cible + lien {{#invoke:Drapeau|pays|France|cible=Test}}   Test (France)
Drapeau + cible {{#invoke:Drapeau|pays|France|cible=Test|domaine=}}   Test
{{#invoke:Drapeau|pays|France|cible=Test|lien=non}}   Test () On pourrait s'attendre à ce que ces paramètres fonctionnent correctement.
Contrôle du domaine {{#invoke:Drapeau|pays|France|domaine=football}}   France
{{#invoke:Drapeau|pays|France|domaine=football|compétition=en|édition=2000}}   France
{{#invoke:Drapeau|pays|France|domaine=compétition|compétition=jo|édition=2000}}   France
{{#invoke:Drapeau|pays|France|domaine=drapeau}}   Drapeau de la France
{{#invoke:Drapeau|pays|France|domaine=gentileFS}}   
Pas de clé de tri {{#invoke:Drapeau|pays|France|t=0}}   France

Modèles basés sur le module Drapeau modifier

  • {{Compagnie aérienne}} : Affichage de drapeau + cible sans lien vers le pays.
  • Module:Country data : Module:Drapeau/Domaine est importé dans une fonction qui ne semble pas utilisée.
  • Module:Coordinates : Charge Module:Drapeau/Data pour récupérer un pays par son id wikidata et déterminer son genre, puis Module:Drapeau/Domaine pour procéder à la flexion de « en ».
  • Module:Composition Division de France : Charge un sous-module de Module:Carte/données pour déterminer un genre, puis Module:Drapeau/Domaine pour procéder à la flexion de « du ». Le genre utilisé semble légèrement différent de celui attendu et des remplacements sont faits (suppression de M et E, remplacement de ' par a).
  • Module:CoordinatesFR : Charge Module:Drapeau/Data pour récupérer un pays par son id wikidata et déterminer son genre, puis procède à la flexion de « en » en utilisant sa propre table locale.
  • Module:Lien frontière : Charge Module:Drapeau mais en fait une utilisation très détournée : utilise le domaine drapeau pour générer des textes de la forme « Drapeau de la France » pour ensuite procéder à des remplacements menant à des résultats du type « Frontière entre l'Espagne et la France » et « Frontières de la France ».
  • Module:Statistiques de portails : Charge Module:Drapeau/Data pour récupérer un pays par son nom et déterminer son genre, puis Module:Drapeau/Domaine pour procéder à la flexion de « en ».

Module Country data modifier

Module Country data et ses sous-modules Module:Country data/liste et pour chaque pays Module:Country data/france.

Créé par Zolo en septembre 2014 avec l'intention de remplacer les modèles {{Country data}}.

Les sous-modules de configuration des pays sont écrits en minuscules. Il y a moins de pays configurés que pour {{Country data}}. (Pas de Nouvelle Calédonie par exemple)

standarddisplay : zone, args args : flagsize, type, align, link, date, competition, edition ou édition ?, strict, label

standarddisplay2 : appelable avec invoke

Le paramètre zone (ou pays via standarddisplay2) peut être un id wikidata, mappé grâce à Module:Country data/liste. Le paramètre flagsize n'est pas utilisé. Il n'est pas possible de contrôler la taille ? Le paramètre type permet de spécifier le type de drapeau (naval par exemple). Le paramètre link n'est pas utilisé. Il n'est pas possible de remplacer le lien ? Le paramètre label ne permet pas de configurer le texte, seulement de le supprimer. Le paramètre edition n'est pas utilisé, c'est édition uniquement. Le paramètre date est utilisé de sorte à trouver le drapeau correspondant le plus (= le drapeau correspond à la date la plus récente antérieure à la date donnée)

Le drapeau dépend de type et date. La fonction flagIcon accepte aussi un paramètre displayformat mais il n'est jamais renseigné ? La fonction printFlag est en charge de produire le wikicode du drapeau. Elle a tendance à produire un double pipe || qui semble poser des problèmes si le drapeau est utilisé dans un tableau ? (T29693 sur Phabricator)

Le drapeau est affiché en 20x15 par défaut. Il a un alt vide. Il a un lien vers l'image et utilise noviewer.

Le texte et le lien dépendent de type. Le lien dépend aussi de competition et édition.

La fonction getLabel, permettant de déterminer le texte, accepte les paramètres period et form mais ils ne sont jamais renseignés. Le shortname, s'il est configuré, est toujours préféré à name puisque form n'est jamais envoyé à la fonction ? Le type n'est pas utilisé lors de la récupération du name ? Si aucun nom n'est configuré, il est récupéré à partir du label wikidata via la configuration item.

La fonction getLink, permettant de déterminer le lien, accepte un paramètre period mais il n'est renseigné que lors de l'utilisation de l'autre fonction du module nationality. Si aucun lien n'est configuré, il est récupéré à partir du label wikidata via la configuration item. Si competition est renseigné, le lien est suffixé avec le retour de _getCompetition qui utilise competition et édition.

La fonction _getCompetition fait appel à Module:Drapeau/Domaine, mais ne l'utilise que pour les compétitions jo et jp si une édition a été spécifiée. Le paramètre envoyé competition envoyé à _getCompetition est d'abord passé à linguistic.toascii du Module:Linguistique mais cette fonction n'existe pas ?

La gestion du texte semble inclure un système de regex, mais il ne semble pas utilisé au vu des données présentes dans les sous-modules existants.

Seuls les paramètres date, label et type sont documentés, ce qui explique peut-être les dysfonctionnements décrits sur les autres paramètres.

Fonctionnalité Code Résultat Remarques
Par défaut {{#invoke:Country data|standarddisplay2|pays=France}}   France
Contrôle de la variation {{#invoke:Country data|standarddisplay2|pays=France|type=libre}}   France
{{#invoke:Country data|standarddisplay2|pays=France|date=1815}}   France
{{#invoke:Country data|standarddisplay2|pays=France|date=1820-01-01}}   France
ID Wikidata {{#invoke:Country data|standarddisplay2|pays=Q142}}   France
Contrôle de l'alignement {{#invoke:Country data|standarddisplay2|pays=France|align=right}} France   Paramètre non documenté
Drapeau seul {{#invoke:Country data|standarddisplay2|pays=France|label=-}}  
Contrôle du lien {{#invoke:Country data|standarddisplay2|pays=France|type=naval}}   France Un lien spécifique est utilisé. Le name spécifique configuré pour naval n'est pas utilisé pour le texte.
Contrôle de la compétition {{#invoke:Country data|standarddisplay2|pays=France|competition=cm}} Erreur Lua dans Module:Country_data à la ligne 255 : attempt to call field 'toascii' (a nil value). Paramètre non documenté. Ne fonctionne pas.

Modèles basés sur le module Country data modifier

Autres modèles modifier

Quelques autres modèles liés mais moins populaires :

WP-en modifier

La compatibilité avec WP-en semble être un critère qui a son importance.

Les anglophones ont créé en:Module:Flags qui se veut pouvoir être réutilisé sur n'importe quel wiki, via l'existence de données localisées (en:Module:Flags/LocaleData) en plus des données globales (en:Module:Flags/MasterData).

Le méta-module en:Module:Flagg a une syntaxe assez horrible, mais permet de gérer de multiples cas d'affichage. Il utilise en:Module:Flagg/Altvar data pour les domaines dont le sport.

Le module en:Module:CountryData est intéressant : il ne contient pas de données lui-même et se contente de parser les modèles du système Country pour les convertir en Lua. Un système de cache est mis en place, en fonction des pays les plus couramment utilisés (via en:Module:CountryData/summary et les caches en:Module:CountryData/cacheA à en:Module:CountryData/cacheZ, mais dans les faits les caches après en:Module:CountryData/cacheK ne sont pas utilisés ? Il semblerait qu'au départ, les caches étaient simplement alphabétiques (d'où leur nom) mais qu'ils ont été modifiés pour se baser sur la fréquence d'utilisation).

Problématiques et suggestions d'amélioration modifier

L'organisation actuelle pose plusieurs problèmes :

  • répétition des données : les mêmes données sont répétées à de multiples endroits. Le drapeau actuel de la France est dans Modèle:Country data France, Modèle:Drapeau2/Image/France, Module:Drapeau/Image, Module:Drapeau/Data et Module:Country data/france. Pour les drapeaux très communs comme ceux des pays, il serait préférable de disposer d'une unique base de données.
  • incohérence des données : la répétition des données, au-delà des problèmes évidents de maintenance qu'elle pose, crée aussi des problèmes de cohérence. Drapeaux qui diffèrent d'un modèle à l'autre, tailles, bordures...
  • séparation des responsabilités : il ne semble pas être du ressort d'un modèle comme {{drapeau2}} de déterminer par exemple quelle est la page présentant l'équipe de France de Fed Cup. Cette charge devrait revenir à un modèle ou module spécialisé dans le tennis ou a minima dans le sport.

Un module de gestion des drapeaux devrait avoir un maximum deux tâches : afficher une image sous la forme d'un drapeau, et éventuellement fournir une liste de drapeaux, mais ce deuxième point peut devenir ardu si l'on considère la très grande variété des drapeaux existants et des contextes dans lesquels ils s'appliquent.

Un module de pays (ou plus globalement de localités ?) devrait avoir la charge d'en donner son nom, son gentilé, ses drapeaux, éventuellement ses articles principaux. Étant donné comment est actuellement utilisé le Système Country, il semble assez bien représenter ce concept (mis à part les quelques drapeaux d'entités qui n'ont rien à voir avec des pays)...

Un module de sport (ou pour un sport spécifique) pourrait s'occuper d'en déterminer les équipes, les compétitions et les éventuelles spécificités qui y ont trait (comme de savoir les pays ayant défilé sous le drapeau olympique aux JO de 1980).

Un module de genre, même si c'est plus anecdotique, pourrait se charger de la même tâche que l'actuel modèle {{genre}}. Idéalement, il en profiterait pour corriger l'inversion {{de?}}/{{du?}}, voire pour gérer le cas des localités problématiques comme Le Havre, Les Sables-d'Olonne ou Les Sorinières.

Néanmoins, une plus grande séparation des responsabilités implique de pouvoir grouper les informations des différents composants en utilisant sans doute des identifiants communs ?

Il est sans doute possible de partir des modèles pour déterminer l'organisation possible des modules et leurs tâches :

Roadmap théorique modifier

  1.   Ajouter le parseur de modèles de en:Module:Countrydata à Module:Country data pour permettre de fallback sur les données des modèles
  2.   Ajouter une fonction générique d'affichage de drapeaux à Module:Drapeau pour uniformiser le wikicode
  3.   Implémenter les modèles utilisant le système Country dans Module:Country data en utilisant les données des sous-modules ou en fallback les données des modèles
  4. Implémenter {{Country showdata}} et un système similaire pour Modèle:Documentation module Country data
  5. Créer un module Module:Sport (?) pour y implémenter les fonctionnalités de {{drapeau2}} liées au sport (certainement possible de reprendre du code de Module:Drapeau)
  6. Implémenter dans Module:Country data les fonctionnalités de {{drapeau2}} qui ne sont pas liées au sport (certainement possible de reprendre du code de Module:Drapeau)
  7. Probablement nécessaire d'implémenter quelque part (Module:Drapeau ?) un dispatch entre Module:Country data et Module:Sport
  8. Si besoin, créer un Module:Genre pour gérer {{genre}}
  9. A partir de là, il devrait être possible de modifier les différents modèles pour faire appel aux modules avec des résultats identiques.

Dernières tentatives en date : Module:Country data/Bac à sable, Module:Drapeau/Bac à sable