Jump to content

Extension:Interwiki

From mediawiki.org
This page is a translated version of the page Extension:Interwiki and the translation is 100% complete.
Cette extension est fournie avec MediaWiki 1.21 et supérieur. Ainsi vous n'avez pas besoin de télécharger à nouveau. Néanmoins, vous devez encore suivre les autres instructions fournies.
Manuel des extensions MediaWiki
Interwiki
État de la version : stable
Implémentation Page spéciale
Description Ajoute une page spéciale pour afficher et manipuler la table interwiki
Auteur(s) Stephanie Amanda Stevens, SPQRobin
Dernière version 3.2 (2019-07-15)
MediaWiki 1.36+
Modifie la base
de données
Non
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
Exemple Special:Interwiki
  • $wgInterwikiViewOnly
  • InterwikiCentralDB
interwiki
Téléchargements trimestriels 115 (Ranked 50th)
Utilisé par les wikis publics 4,929 (Ranked 181st)
Traduire l’extension Interwiki sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension Interwiki ajoute la page Special:Interwiki à MediaWiki , pour voir et modifier la table interwiki , et tracer toutes les actions faites par elle.

Elle a été fusionnée dans le noyau de MediaWiki avec la version MediaWiki 1.44.

Elle utilise la variable $wgInterwikiCache . Les modifications faites avec elle sur la table interwiki peuvent impacter le comportement à la fois des transclusions et des liens interwikis .

La liste de Special:Interwiki est identique à l'API api.php?action=query&meta =siteinfo&siprop=interwikimap, sauf le champ iw_api qui n'est pas disponible.

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé Interwiki dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Interwiki
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'Interwiki' );
    // donner aux groupes (ici les "sysop") le droit d'éditer les données interwiki
    $wgGroupPermissions['sysop']['interwiki'] = true;
    
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.
  • La configuration de base de Mediawiki n'accorde de permission à aucun groupe d'utilisateurs. Aussi, vous devrez ajouter par vous-même la configuration sinon personne ne pourra éditer d'intewikis.
  • Pour activer la transclusion depuis d'autres sites, vous devrez activer $wgEnableScaryTranscluding .
  • Pour désactiver l'ajout de préfixes via l'interface Special:Interwiki, mettre $wgInterwikiViewOnly à true.
Cette entrée d'extension dans la liste des pages spéciales n'est pas le nom de l'extension. Cette entrée dans la liste est définie par l'élément de message interwiki défini par la locale dans SpecialInterwiki.i18n.php. Sa valeur est Voir et modifier les données interwiki.

Réglages des liens interlangues

Pour configurer des liens interlingues à l'aide de cette extension, assurez-vous que $wgInterwikiMagic est initialisé à true et $wgHideInterlanguageLinks à false (ces valeurs le sont déjà par défaut, vous n'avez donc pas besoin de les modifier habituellement). $wgInterwikiViewOnly doit également être initialisé à false (ce qui est fait par défaut). Ensuite, allez à Special:Interwiki en tant qu'utilisateur avec la possibilité de modifier les interwikis. Cela est contrôlé par les droits interwiki et par défaut, aucun groupe d'utilisateurs n'a ces privilèges, il faut donc l'ajouter à un groupe d'utilisateurs avec par exemple :

$wgGroupPermissions['sysop']['interwiki'] = true;

Une fois sur Special:Interwiki, vous pouvez cliquer sur le lien "Ajouter un préfixe interwiki ou de langue" en haut de la table, ou cliquer sur les liens "Modifier" ou "Supprimer" sur la ligne du tableau d'un préfixe interwiki existant.

Le choix d'ajouter ou de modifier un préfixe interwiki vous mènera à une page distincte avec un formulaire et différents champs à remplir. Les champs principaux sont "name", qui est le préfixe à utiliser pour les liens, et "URL", où vous placerez le modèle complet de l'URL. Par exemple, intialiser name=foowiki et URL=http://fr.foowiki.tld/wiki/$1 ferait pointer [[foowiki:Blah]] sur http://fr.foowiki.tld/wiki/Blah.

Il y a aussi deux cases à cocher nommées "Forward" et "Transclude". Voir Manuel:Table interwiki pour une explication complète des bits forward (iw_local) et transclude (iw_trans).

En résumé :

  • La possibilité de redirection (true local) est normalement effectuée pour toutes les langues et tous les projets du même groupe, car elle permet d'utiliser un lien vers l'une des langues comme passerelle vers les autres. La Wikipadia en anglais par exemple, définit le bit true 'local' pour toutes les Wikipedia des autres langues et pour les projets comme Commons:, wikinews: ou wikivoyage:. Un utilisateur sur un wiki externe à Wikipedia où le préfixe interwiki wikipedia:pointe vers en.wikipedia.org pourrait créer un lien tel que wikipedia:fr:Encyclopédie. Ce lien pointe initialement sur "fr:Encyclopédie" sur la Wikipédia en anglais. Le serveur en.wikipedia reconnaît immédiatement fr: comme un lien interwiki 'local', alors il répond par un redirection vers la Wikipedia où fr.wikipedia.org/wiki/Encyclopédie affiche la page de Wikipedia en français demandée [[Encyclopédie]] et voilà.
  • Activer la transclusion se fait rarement car cela permet à un article de wiki d'utiliser les modèles d'un autre wiki. Cela s'appelle une transclusion dangereuse car elle causera des problèmes si l'autre wiki vient à modifier le modèle de manière inattendue. Quelques fermes de wikis utilisent cette méthode pour créer un wiki central avec différents modèles qui sont mis à la disposition d'autres wikis de la même ferme. Si cela ne vous sert pas, ne l'activez pas.

Interwikis globaux

Depuis la version 3, Interwiki prend en charge la définition d'une base de données globale (c'est à dire centrale) et la récupération des liens interwikis définis à partir de celle-ci ainsi que de la table locale. Cela fonctionne essentiellement comme une fusion de tables, avec les définitions interwiki locales qui prévalent sur celles centrales. Les liens de langue ne sont pas retirés de la table centrale; ils sont configurés comme étant locaux uniquement en raison d'une table centrale susceptible de servir plusieurs projets (chacun ayant ses propres langues).

La table centrale est la table interwiki du wiki central. Cela signifie que, pour ce qui est du wiki central, il s'agit essentiellement d'une configuration normale non globale. Il n'y a donc pas de droits spéciaux associés à la table centrale (globale), bien qu'il soit probable que vous vouliez être plus sélectif sur la façon dont vous attribuez les droits de modifier "interwiki" directement sur ce wiki.

  • Cela a été décidé en examinant les cas d'utilisation possibles actuels (le hub de ShoutWiki, le wiki central de Uncyclomedia et Meta-Wiki) où le wiki central n'aurait rien de plus de toute façon.
  • Ceci peut changer à l'avenir mais faire quelque chose de plus intelligent nécessitera des mises à jour du schéma.
  • Cela ne fonctionne probablement pas avec le préfixe des tableaux en raison de la manière dont ces derniers sont accédés.

Pour configurer une table interwiki centrale, indiquez simplement le nom de la base de données du wiki que vous souhaitez utiliser :

// activer les tirages globaux interwiki à partir d'une base de données centrale
$wgInterwikiCentralDB = 'mw_central';

Remplacer 'mw_central' par le nom de la base de données.

Pour ceux qui utilisent des préfixes de table, voici une solution alternative pour les tables "pool_example_wiki".

$wgSharedDB = 'example_wiki'; # $wgDBname pour la base de données du wiki contenant la table interwiki principale
$wgSharedPrefix = 'pool_'; # $wgDBprefix pour la base de données. Par défaut, le préfixe du wiki actuel si non spécifié
$wgSharedTables = ['interwiki'];

URLs fonction du protocole

Vous pouvez utiliser les URL dépendant du protocole (protocol-relative URLs – PRURLs) pour que les utilisateurs qui arrivent sur votre wiki par HTTP ou HTTPS puissent utiliser ce même protocole pour accéder aux liens interwiki. Pour utiliser une PRURL, assurez-vous d'abord que le serveur de destination prend en charge HTTPS; si c'est le cas, alors supprimez simplement la partie https: de l'URL dans la table des liens. Par exemple modifier :

https://en.wikipedia.org/wiki/$1

en :

//en.wikipedia.org/wiki/$1