Extension:Interwiki
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 |
|
|
interwiki |
|
Téléchargements trimestriels | 98 (Ranked 56th) |
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 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 dossierextensions/
.
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;
- 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
.
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
Cette extension est utilisée par au moins un des projets Wikimédia. Cela signifie probablement que l’extension est assez stable et fonctionnelle pour être utilisée sur des sites à fort trafic. Recherchez le nom de cette extension dans le CommonSettings.php de Wikimédia et dans le fichier de configuration InitialiseSettings.php pour situer les endroits où elle est installée. Une liste complète des extensions installées sur un Wiki donné peut être visualisée sur la page Special:Version de ce wiki. |
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |