Extension:Wikibase Repository

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Extension:Wikibase Repository and the translation is 92% complete.

Outdated translations are marked like this.
Other languages:
català • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎magyar • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎sicilianu • ‎中文
Raccourci : WBR
Manuel des extensions MediaWikiManual:Extensions
Crystal Clear action run.png
Wikibase Repository

État de la version :Extension status beta

ImplémentationTemplate:Extension#type API, Ajax, User interface, ContentHandler
DescriptionTemplate:Extension#description Dépôt de données structurées
Auteur(s)Template:Extension#username The Wikidata team
(contributors list)
Dernière versionTemplate:Extension#version continuous updates
MediaWikiTemplate:Extension#mediawiki master
PHPTemplate:Extension#php 5.5.9+
Changements de la base de donnéesTemplate:Extension#needs-updatephp Oui
LicenceTemplate:Extension#license GNU General Public License 2.0 or later
Téléchargement
readme
release notes
Accroches utiliséesTemplate:Extension#hook
UnitTestsListManual:Hooks/UnitTestsList
BaseTemplateToolboxManual:Hooks/BaseTemplateToolbox
BeforePageDisplayManual:Hooks/BeforePageDisplay
OutputPageParserOutputManual:Hooks/OutputPageParserOutput
LoadExtensionSchemaUpdatesManual:Hooks/LoadExtensionSchemaUpdates
ResourceLoaderTestModulesManual:Hooks/ResourceLoaderTestModules
NewRevisionFromEditCompleteManual:Hooks/NewRevisionFromEditComplete
SkinTemplateNavigationManual:Hooks/SkinTemplateNavigation
RecentChange_saveManual:Hooks/RecentChange_save
ArticleDeleteCompleteManual:Hooks/ArticleDeleteComplete
ArticleUndeleteManual:Hooks/ArticleUndelete
GetPreferencesManual:Hooks/GetPreferences
NamespaceIsMovableManual:Hooks/NamespaceIsMovable
ContentHandlerForModelIDManual:Hooks/ContentHandlerForModelID
LinkBeginManual:Hooks/LinkBegin
ChangesListInitRowsManual:Hooks/ChangesListInitRows
OutputPageBodyAttributesManual:Hooks/OutputPageBodyAttributes
FormatAutocommentsManual:Hooks/FormatAutocomments
PageHistoryLineEndingManual:Hooks/PageHistoryLineEnding
ApiCheckCanExecuteManual:Hooks/ApiCheckCanExecute
SetupAfterCacheManual:Hooks/SetupAfterCache
ShowSearchHitManual:Hooks/ShowSearchHit
ShowSearchHitTitleManual:Hooks/ShowSearchHitTitle
TitleGetRestrictionTypesManual:Hooks/TitleGetRestrictionTypes
TitleQuickPermissionsManual:Hooks/TitleQuickPermissions
ContentModelCanBeUsedOnManual:Hooks/ContentModelCanBeUsedOn
OutputPageBeforeHTMLManual:Hooks/OutputPageBeforeHTML
BeforeDisplayNoArticleTextManual:Hooks/BeforeDisplayNoArticleText
InfoActionManual:Hooks/InfoAction
ContentHandlerForModelIDManual:Hooks/ContentHandlerForModelID
APIQuerySiteInfoGeneralInfoManual:Hooks/APIQuerySiteInfoGeneralInfo
APIQuerySiteInfoStatisticsInfoManual:Hooks/APIQuerySiteInfoStatisticsInfo
ImportHandleRevisionXMLTagManual:Hooks/ImportHandleRevisionXMLTag
SkinTemplateBuildNavUrlsNav_urlsAfterPermalinkManual:Hooks/SkinTemplateBuildNavUrlsNav_urlsAfterPermalink
SkinMinervaDefaultModulesManual:Hooks/SkinMinervaDefaultModules
ResourceLoaderRegisterModulesManual:Hooks/ResourceLoaderRegisterModules

Traduisez l’extension Wikibase Repository sur translatewiki.net

Vérifiez la matrice des utilisations et des versions.

ProblèmesPhabricator

Tâches ouvertes · Signalez un bug

Wikibase Repository fait partie de Wikibase. Cette extension vous permet d'utiliser votre wiki comme dépôt de données structurées. Son développement est assuré par le projet Wikidata. Les données peuvent par la suite être utilisées dans un wiki qui utilise l'extension Wikibase Client.

Vue d'ensemble des fonctionnalités[edit]

  • Création et maintenance des éléments
  • Historiques et deltas des données structurées.
  • Intitulés, descriptions et alias pour les éléments
  • Interface riche et fonctionnalités de gestions des liens de langues des éléments
  • Ajout du gestionnaire de contenu de données structurées.

Prérequis[edit]

Wikibase Repository/fr nécessite:

Et l'un des logiciels suivants:

Si installé, Wikibase utilise:

Si installé et si Javascript est disponible sur le navigateur de l'utilisateur du wiki, les intitulés, alias et descriptions seront montrés dans les langues les plus utilisées en plus de la langue de l'interface. (Ces langages sont récupérés par mw.uls.getFrequentLanguageList().)
Si installé, les utilisateurs authentifiés peuvent définir des langues additionnelles pour les alias, intitulés et descriptions. L'utilisateur doit les spécifier sur sa page utilisateur en utilisant la syntaxe Babel.

Téléchargement[edit]

Note Note : Wikibase Repository est inclus dans Wikidata build.

Cette extension peut être récupérée directement depuis Git [?]:

  • Naviguer dans le code
  • Certaines extensions étiquettent les versions stables.
  • Chaque branche correspond à une version antérieure de MediaWiki Il y a aussi une branche master (maître) qui contient la dernière version alpha (elle peut nécessiter une version alpha de MediaWiki)

Décompressez l'instantané et placez le dans le répertoire extensions/Wikibase/ de votre installation MediaWiki.

Si vous êtes familier de git et si vous avez un accès au shell de votre serveur, vous pouvez aussi obtenir l'extension de la manière suivante:

cd extensions/
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/Wikibase.git

Installation[edit]

L'installation basique est recommandée

Pour des configurations plus avancées voir Configuration avancée

Configuration avancée[edit]

Mettre en place les éléments dans l'espace principal[edit]

Si vous voulez mettre en place vos éléments dans l'espace principal:

$baseNs = 100;

// Définir les indexes des espaces de noms
define( 'WB_NS_PROPERTY', $baseNs + 2 );
define( 'WB_NS_PROPERTY_TALK', $baseNs + 3 );

// Définir les espaces de noms
$wgExtraNamespaces[WB_NS_PROPERTY] = 'Property';
$wgExtraNamespaces[WB_NS_PROPERTY_TALK] = 'Property_talk';

// <span class="mw-translate-fuzzy">Affecter les modèles de contenus appropriés aux espaces de noms</span>
$wgWBRepoSettings['entityNamespaces']['item'] = NS_MAIN; 
$wgWBRepoSettings['entityNamespaces']['property'] = WB_NS_PROPERTY;

Notez que si la page principale ("Main Page") est encore dans l'espace principal alors une exception sera levée, au moins lorque vous accèderez à cette page. Si vous rencontrez l'exception, commentez le modèle de contenu pour l'espace de nom Principal, puis déplacez la page principale (Main) en dehors de l'espace de nom principal sans laisser de redirection. En général la page est déplacée vers "Projet:Page Principale". Dans ce cas le message système Mediawiki:Mainpage doit être mis à jour, ainsi qu'un message similaire si Mediawiki:Sidebar est changée. Vérifiez aussi si il existe d'autres pages dans l'espace de nom principal en utilisant Special:Allpages. Une fois que l'espace Main est nettoyé, vous pouvez réactiver le modèle de contenu de l'espace principal.

Élements dans un espace de nom dédié[edit]

Si vous voulez mettre en place vos éléments dans un espace de nom dédié, ici Item:

$baseNs = 120;

// Définir les indexes des espaces de noms
define( 'WB_NS_ITEM', $baseNs );
define( 'WB_NS_ITEM_TALK', $baseNs + 1 );
define( 'WB_NS_PROPERTY', $baseNs + 2 );
define( 'WB_NS_PROPERTY_TALK', $baseNs + 3 );

// Définir les espaces de noms
$wgExtraNamespaces[WB_NS_ITEM] = 'Item';
$wgExtraNamespaces[WB_NS_ITEM_TALK] = 'Item_talk';
$wgExtraNamespaces[WB_NS_PROPERTY] = 'Property';
$wgExtraNamespaces[WB_NS_PROPERTY_TALK] = 'Property_talk';

// <span class="mw-translate-fuzzy">Affecter les modèles de contenus appropriés aux espaces de noms</span>
$wgWBRepoSettings['entityNamespaces']['item'] = WB_NS_ITEM;
$wgWBRepoSettings['entityNamespaces']['property'] = WB_NS_PROPERTY;

// Activer la recherche par défaut dans les espaces de noms
$wgNamespacesToBeSearchedDefault[WB_NS_ITEM] = true;
$wgNamespacesToBeSearchedDefault[WB_NS_PROPERTY] = true;


HTML5[edit]

L'extension utilise des attributs HTML5 spécifiques, c'est pourquoi $wgHtml5Manual:$wgHtml5 doit être positionné à true dans les versions pre 1.22 de MW.

Configuration[edit]

  • Configuration de base pour changesDatabase,siteLinkGroups,localClientDatabases (avec exemples)
  • Insérer dans la table des sites en SQL la site_global_key ? dépot et clients de la base ?
  • relations entre siteLinkGroups de dépot et siteGlobalID des clients ?
  • configuration exemples avec un dépot et une famille de wiki (fr,en)

La config de Wikibase Repository/fr s'effectue en affectant la variable $wgWBRepoSettings de votre fichier LocalSettings.phpManual:LocalSettings.php. Les options sont listées ci dessous et leur valeur par défaut est présente dans le fichier de conf de Wikibase Repository/fr. Vous ne devriez pas modifier le fichier de conf par défaut, mais vous pouvez y jeter un œil pour avoir une idée de l'utilisation des variables, au cas ou les descriptions ci dessous ne suffisent pas.

L'extension utilise la variable nommée $wgWBRepoSettings, notez le préfixe $wg, tandis que la configuration d'autres extensions peut utiliser le préfixe $eg. La différence est importante, et la configuration va échouer si vous utilisez le mauvais préfixe.

Voici un exemple de modification d'un réglage :

$wgWBRepoSettings['serializationFormat'] = 'application/json';

Réglages disponibles:

Scripts de maintenance[edit]

Cette extension possède quelques scripts dans le sous-répertoire maintenance, destinés à la maintenance. Ces scripts supposent que l'extension est installée dans le répertoire extensions du logiciel MediaWiki (càd. que les fichiers sont dans le répertoire extensions/Wikibase), si ce n'est pas le cas, vous devez positionner la variable d'environnement MW_INSTALL_PATH sur le chemin de votre installation MediaWiki, et le script l'utilisera.

Un moyen habituel de positionner une variable d'environnement pour les scripts que cron lance est d'écrire quelque chose comme env 'MW_INSTALL_PATH=/var/www/repo' php …. Cela devrait lancer n'importe quel script idoine que vous inséreriez après la commande de l'interpréteur php.

rebuildAllData.php[edit]

Ce script devrait reconstruire toutes les données Wikidata dans un stockage secondaire à partir des articles de l'espace de nom des données, Data. Vous pourriez en avoir besoin pour reconstruire les données après vos tests.

deleteAllData.php[edit]

Ce script devrait supprimer toutes les données Wikidata du stockage secondaire et les articles de l'espace de nom Data. Vous pouvez l'utiliser pour supprimer les données après vos tests.

populateSitesTable.php[edit]

This script will load the wiki matrix from meta.wikimedia.org and use that information to populate the local sites table. This provides Wikibase with the information it needs to connect to other wikis, e.g. to suggest or normalize the titles of pages when creating site links.

extractInterlang.sql[edit]

C'est une requête SQL qui extrait les liens interlangues d'un wiki dans un format compris par importInterlang.php. Vous pouvez l'utiliser sur une base de donnée d'un wiki avec des liens de langues, pour pouvoir ensuite les importer pour des tests.

importInterlang.php[edit]

Ce script importes les liens interlangues d'un fichier dans un wiki, en créant au passage les intitulés. Le fichier est au format CSV séparé par des tabulation (TSV), décrit ci dessous:

page_title     ll_lang   ll_title
-архив        cs        Seznam forem vlády
-архив        de        Liste der Staatsformen und Regierungssysteme
-архив        en        Government#Forms of government
-архив        eo        Listo de formoj de registaro
-архив        es        Anexo:Formas de gobierno
-архив        fr        Liste de formes de gouvernements
-архив        jv        Daftar wangun pamaréntahan
-архив        ku        Lîsteya pergalên siyasî
-архив        mk        Список на општествени уредувања
-графика       de        -graphie
-графика       en        -graphy
-графика       id        -grafi
-графика       ka        ...გრაფია
-графика       sv        -grafi

La première ligne du fichier est ignorée.

  • La première colonne contient les titres des articles sur le wiki de base. (celui à partir duquel sont liés les articles).
  • La seconde est pour les codes de langues des liens.
  • La troisième contient les titres des articles liés.

Options du script:

  • --verbose: si présent, le script affichera les requêtes, réponses et d'autres informations lors de l'utilisation de l'API.
  • --ignore-errors: si présent, ignorer les erreurs de l'API et continuer l'import y compris lorsque des erreurs sont survenues.
  • <lang>: Devrait être le code de la langue du wiki de base, celui dont vous avez extrait les liens de langues.
  • <filename>: Le fichier contenant les liens de langues, probablemet généré par extractInterlang.sql.
  • <api>: url de l'API de base du wiki vers lequel vous exportez les lien de langues. Par exemple http://localhost/wiki/w/api.php

Exemple de ligne de commande:

php importInterlang.php --verbose --ignore-errors sr sr_interwiki.csv http://localhost/wiki/w/api.php

Pour importer les éléments de tests à partir de extentions/Wikibase/repo/maintenance run

php importInterlang.php --verbose --ignore-errors simple simple-elements.csv

pruneChanges.php[edit]

Le chemin du script est Wikibase/repo/maintenance/pruneChanges.php. Il permet d'élaguer la table des changement de Wikibase. Si vous le lancez sans paramètre, les changements vieux de plus d'une semaine seront supprimés. Pour supprimer les changement vieux de plus d'un jours, lancez

php pruneChanges.php --number-of-days 1
11:07:46 pruning entries older than 2012-12-11T11:07:46Z
11:07:47 151 rows pruned
11:07:47 done, exiting

createBlacklistedItems.php[edit]

Ce script crées des listes noires d'éléments de l'espace de nom Data, typiquement pour créer des easter eggs, ou idées similaire. Les données réelles sont codées en dur dans le script. Vous pouvez l'utiliser avant que les néuméros des identifiants atteigne celui du premier item de la liste noire.

importProperties.php[edit]

Script de maintenance pour l'import de propriété dans Wikidata. En général il utilisera le fichier d'exemple de en-elements-properties.csv en tant que source pendant qu'il construit les données d'exemple. Vous pouvez aussi l'utiliser pour créer d'autres données pour les tests.

Pour importer les propriétés de tests à partir de extentions/Wikibase/repo/maintenance run

php importProperties.php --verbose en en-elements-properties.csv

rebuildEntityPerPage.php[edit]

Script de maintenance qui reconstruit la table "items_per_page" (élements par page).

rebuildTermsSearchKey.php[edit]

Script de maitenance qui reconstruit les clés de recherches du TermSQLCache (Cache SQL des termes) . La clé de recherche est une colonne additionnelle de la table wb_terms. Cette colonne est optionnelle et est utilisée pour les recherches insensibles à la casse.

searchEntityArtefacts.php[edit]

Un script de maintenance qui requête la base de donnée pour y trouver les artefacts des éléments. Pendant l'utilisation la base de donnée accumule les entrées ratées et ce script tente de les trouver et de les signaler.

Version[edit]

C'est une copie des notes de sorties sur git, qui peut être plus à jour ce cette page.

Internationalisation[edit]

Wikibase Repository/fr est complètement internationalisée. Les traductions des messages se font par translatewiki.net. La traduction pour cette extension est disponible à cette page. Pour ajouter des valeurs aux langues ou changer les modifier une traduction, vous devez créer un compte sur translatewiki.net, puis demander une permission aux administrateurs pour traduire une certaine langue sur this page (c'est une procédure très simple). Une fois que vous l'avez obtenue, vous pouvez vous identifier et modifier ou ajouter des messages dans cette langue.

Captures d'écran[edit]

Voir aussi[edit]

Liens externes[edit]