Manual:Interwiki/fr
Les liens interwiki sont des liens vers les pages des autres projets et utilisent pour cela un style de lien interne préfixé.
Les liens interwiki vous permettent de relier des pages se trouvant par exemple sur Wikipedia, Wikibooks, Wikinews etc... ou sur vos projets wiki dans différentes langues. (Voir Manuel:Famille de wikis ).
Un lien tel que [[Wikipedia:Main Page]]
apparaîtra ainsi : Wikipedia:Main Page et vous redirigera vers la page d'accueil de Wikipedia.
Liens interwiki vers d'autres projets
Table et API de requête
Les liens interwiki sont rangés dans la table interwiki de la base de données de MediaWiki.
Vous pouvez récupérer la liste interwiki à partir de la propriété interwikimap de l'API de requête des meta de siteinfo , en d'autres termes, en faisant une requête API du type
api.php?action=query&meta=siteinfo&siprop=interwikimap
Préfixes par défaut
Plusieurs projets Wikimedia (et autres) sont prêts par défaut pour utiliser des liens interwikis, donc vous pouvez les utiliser sans mettre à jour votre base de données.
Voici quelques exemples de préfixes interwiki disponibles par défaut (Wikipedia est aussi disponible, depuis la version 1.10) :
préfixe | URL de destination | exemple d'utilisation |
---|---|---|
commons | https://commons.wikimedia.org/wiki/ | [[commons:MediaWiki]]
|
mediazilla | http://bugzilla.wikimedia.org/ | [[mediazilla:1209]]
|
metawikimedia (avant la version 1.23: metawikipedia) | https://meta.wikimedia.org/wiki/ | [[metawikimedia:Main Page]]
|
La liste complète des préfixes interwiki par défaut est disponible sur maintenance/interwiki.list
Voir m:Help:Interwiki linking pour l'information complète sur l'écriture des liens à partir de (ou vers) les projets Wikimedia.
[[metawikipedia:Main Page]]
dans ce cas.
Rajout d'un nouveau site web dans les liens interwiki
- Les liens interwiki sont définis dans la table
interwiki
de la base de données.
- Pour les modifer, vous devrez mettre à jour la base de données comme ci-dessous.
Il est recommandé d'utiliser l'extension Interwiki, qui facilite le processus.
Puisque Wikipedia n'est pas défini par défaut avant la version 1.10, vous pouvez l'ajouter (ainsi que les autres projets que vous souhaitez).
Les exemples ci-dessous montrent comment déclarer w:
comme un lien vers la Wikipedia en langue anglaise.
L'idée est d'insérer un ligne de la forme :
('prefix', 'URL format string', 1, 0)
dans la table interwiki
.
Ligne unique
Les utilisateurs avancés peuvent utiliser une ligne de commande unique telle que :
- MySQL et PostgreSQL
<translate> MediaWiki versions:</translate> |
INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
Les versions plus récentes de MediaWiki nécessitent quelques champs supplémentaires tels que iw_wikiid
.
INSERT INTO interwiki (iw_prefix, iw_url, iw_api, iw_local, iw_trans, iw_wikiid)
VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 'https://en.wikipedia.org/w/api.php', 0, 1, '');
Exporter, ajouter, réimporter
Vous pouvez aussi utiliser le processus suivant en plusieurs étapes qui exporte la table interwiki
, ajoute une ligne, puis la réimporte :
- exportez la table
interwiki
de la base de données
- ajoutez à la fin de la table une ligne de la forme suivante (en prenant la Wikipedia en langue anglaise comme exemple) :
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
- importez la table
interwiki
de la base de données
Pour tester
Pour tester la configuration :
- Allez sur votre site,
- Créez un article, avec le contenu suivant :
[[w:Wikipedia:Village pump|]]
- Ceci devrait vous afficher un lien vers la page de la pompe du village sur en.Wikipedia.org (url
https://en.wikipedia.org/wiki/Wikipedia:Village_pump
)
Documentation des champs
File:Tools.svg
<translate> Tip for wiki admins:</translate> Plusieurs liens de pages d'aide vers l'espace de noms du Manuel de MediaWiki.org . Pour que ces liens fonctionnent sur votre wiki local, ajoutez un lien interwiki avec iw_prefix=manual et iw_url=http://www.mediawiki.org/wiki/Manual:iw_prefix=manual
File:Tools.svg
<translate> Tip for wiki admins:</translate> $wgTranscludeCacheExpiry dans votre LocalSettings.php
doit être initialisé si des modifications sont faites dans le wiki transclus. Vous pouvez également purger la table transcache de votre wiki local.
Liens interwiki vers d'autres langues
Si vous avez installé une famille de Wikis (ferme), vous pouvez relier un article en anglais vers un article en allemand (si vous avez aussi un projet en allemand). Vous pouvez configurer MediaWiki pour qu'il affiche ces liens dans la barre latérale, juste sous la boîte à outils.
Dans votre système de fichiers, il y a un sous-répertoire de votre installation MediaWiki, appelé « languages ».
Placez-vous à l'intérieur et regardez Names.php
qui contient une liste des langues connues avec leur préfixe.
Par exemple, vous voulez ajouter votre projet en allemand, cherchez « Deutsch » dans Names.php
et notez le préfixe « de ».
Si vous connaissez déjà le préfixe à utiliser, modifiez votre base de données en ajoutant une nouvelle ligne à la table interwiki
:
iw_prefix |
*iw_prefix : préfixe de langue (par exemple « de » pour l'allemand), qui est listé dans Names.php
|
iw_url |
*iw_url : URL de votre projet wiki (par exemple http://de.example.org/index.php/<code><nowiki>http://de.example.org/index.php/$1 </nowiki>)
|
iw_local |
*iw_local : pareil que ci-dessus « en ajoutant More »
|
iw_trans |
*iw_trans : pareil que ci-dessus « en ajoutant More »
|
Maintenant vous pouvez relier un article à son équivalent dans d'autres langues.
Si vous ajoutez [[de:Hauptseite]]
sur votre page d'accueil (Main_Page) en anglais vous allez créer un lien "Deutsch" sous la boîte à outils, qui vous conduira à la page d'accueil (Hauptseite) du wiki allemand.
Remarquez que ce lien est affiché uniquement dans la section de la barre latérale, et non pas dans l'article.
Si vous voulez créer un lien à l'intérieur du texte lui-même, vous devez ajouter un caractère deux points ':' avant le préfixe comme par exemple [[:de:Hauptseite]]
ou positionner $wgInterwikiMagic à false
.
Exporter la table interwiki d'un wiki
Le code JavaScript suivant réalise la requête API pour récupérer la correspondance interwiki d'un wiki existant, puis réalise l'affichage des commandes SQL INSERT pour remplir la table interwiki sur un nouveau wiki. Vous l'exécutez par exemple en injectant le code dans les outils de développement de votre navigateur, ou en le mettant dans Special:MyPage/nom_habillage.js et en demandant l'aperçu.
function ExtractInterwikiMapTable() {
$.getJSON(mw.config.get('wgScriptPath') + '/api.php?action=query&meta=siteinfo&siprop=interwikimap&format=json', function(data) {
var iw_prefix, iw_url, iw_local, iw_api, re_escape = /(')/g, result = '';
for (var i = 0, iwm = data.query.interwikimap; i < iwm.length; i++) {
iw_prefix = "'" + iwm[i].prefix.replace(re_escape, '\\$1') + "'";
iw_url = "'" + iwm[i].url.replace(re_escape, '\\$1') + "'";
iw_local = (typeof iwm[i].local == 'string') ? '1' : '0';
iw_api = "'" + (iwm[i].iw_api || '').replace(re_escape, '\\$1') + "'";
result += 'INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans, iw_api) VALUES ('+iw_prefix+', '+iw_url+', '+iw_local+', 0, '+iw_api+');\n'
}
$('<textarea style="width:800px;height:400px;"/>').val(result).appendTo(document.body);
});
}
$(ExtractInterwikiMapTable);