Jump to content

Manuel:Table des sites

From mediawiki.org
This page is a translated version of the page Manual:Sites table and the translation is 100% complete.
Version de MediaWiki :
1.21

La table sites, introduite en MediaWiki 1.21 en mai 2013, contient tous les sites connus du wiki.

Champs

site_id

Version de MediaWiki :
1.21

Id numérique du site. C'est une clé primaire auto-incrémentée.

site_global_key

Version de MediaWiki :
1.21

identifiant global du site, tel que enwiktionary

site_type

Version de MediaWiki :
1.21

type de site, comme mediawiki

site_group

Version de MediaWiki :
1.21

groupe du site, comme wikipedia

site_source

Version de MediaWiki :
1.21

Source des données de site, comme local, wikidata, mon-depot-magique

site_language

Version de MediaWiki :
1.21

code de la langue primaire du site.

site_protocol

Version de MediaWiki :
1.21

Protocole du site, comme 'http://', 'irc://', '//'.

Ce champ est un index pour la recherche construit à partir des données spécifiques au type dans site_data.

site_domain

Version de MediaWiki :
1.21

Domaine du site dans l'ordre inverse, comme gro.ikiwaidem.www..

Ce champ est un index pour la recherche construit à partir de données spécifiques au type dans site_data.

site_data

Version de MediaWiki :
1.21

données de site dépendant du type

site_forward

Version de MediaWiki :
1.21

Indique si site.tld/path/key:pageTitle doit rediriger les utilisateurs vers la page du site actuel où key est l'identifiant local.

site_config

Version de MediaWiki :
1.21

configuration de site dépendant du type. Par exemple si la transclusion de modèle doit être autorisée si c'est un MediaWiki.

Gérer la table sites

La table sites est fournie sans données à l'intérieur lors d'une nouvelle installation de MediaWiki.

Importer la table sites des autres wikis

Il y a deux façons de remplir la table sites en utilisant un autre wiki comme source. Si vous avez accès au serveur de l'autre wiki, vous pouvez exécuter le script de maintenance exportSites.php et importer les données en utilisant le script de maintenance importSites.php de votre installation MediaWiki.

Si vous n'avez pas accès au serveur de l'autre wiki mais que cet autre installation de MediaWiki a déclaré l'extension SiteMatrix, vous pouvez utiliser un script de maintenance de l'extension Wikibase (populateSitesTable.php) pour importer tous les sites de l'autre wiki.

Ajouter un nouveau site

Vous pouvez utiliser le script de maintenance addSite.php pour ajouter un nouveau site dans votre table des sites MediaWiki.

De plus, le script de maintenance importSites.php mentionné ci-dessus peut être utilisé pour ajouter un groupe arbitraire de wikis à partir d'un fichier XML personnalisé dans le format suivant :

<sites version="1.0" xmlns="https://www.mediawiki.org/xml/sitelist-1.0/">
	<site type="mediawiki">
		<globalid>wikisite1</globalid>
		<group>mywikigroup</group>
		<path type="file_path">https://www.wikisite1.org/$1</path>
		<path type="page_path">https://www.wikisite1.org/index.php/$1</path>
	</site>
	<site type="mediawiki">
		<globalid>wikisite2</globalid>
		<group>mywikigroup</group>
		<path type="file_path">https://www.wikisite2.org/w/$1</path>
		<path type="page_path">https://www.wikisite2.org/wiki/$1</path>
	</site>
</sites>

Chaque élément ‎<site> représente un site.

file_path et page_path peuvent être déduits à partir de la page Special:Version du wiki prévu.

Insérer une famille de wikis (en utilisant Script)

Parfois, vous devez ajouter vos wikis dans cette table. Vous pouvez utiliser ce code :

$sites = [];
foreach ( [ 'en', 'fr' ] as $langCode ) {
     $site = new MediaWikiSite();
     $site->setGlobalId( $langCode . 'mywiki' );
     $site->setGroup( 'mywiki' );
     $site->setLanguageCode( $langCode );
     $site->addInterwikiId( $langCode );
     $site->addNavigationId( $langCode );
     $site->setPath( MediaWikiSite::PATH_PAGE, "http://$langCode.mywiki.org/wiki/$1" );
     $site->setPath( MediaWikiSite::PATH_FILE, "http://$langCode.mywiki.org/w/$1" );           
     $sites[] = $site;
}

$siteStore = MediaWikiServices::getInstance()->getSiteStore();
$siteStore->clear(); // Supprimer les entrées précédentes de la table. Commenter cet appel pour les conserver.
$siteStore->saveSites( $sites );

Recharger la table sites en cache

MediaWiki met en cache la table sites dans le cache du serveur local . Après avoir modifié la table sites en utilisant une des méthodes ci-dessus, vous devez recharger ou redémarrer les processus PHP de MediaWiki qui demandent du temps : votre serveur web, les lanceurs de tâches continus (s'ils y en a), etc. Sinon les modifications de la table sites ne deviendront effectives une fois que le cache aura expiré.

Résumé du schéma

1.35
Gerrit change 597664
Version de MediaWiki :
1.35
Gerrit change 622214

DESCRIBE sites;

+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| site_id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| site_global_key | varbinary(64)    | NO   | UNI | NULL    |                |
| site_type       | varbinary(32)    | NO   | MUL | NULL    |                |
| site_group      | varbinary(32)    | NO   | MUL | NULL    |                |
| site_source     | varbinary(32)    | NO   | MUL | NULL    |                |
| site_language   | varbinary(35)    | NO   | MUL | NULL    |                |
| site_protocol   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_domain     | varbinary(255)   | NO   | MUL | NULL    |                |
| site_data       | blob             | NO   |     | NULL    |                |
| site_forward    | tinyint(1)       | NO   | MUL | NULL    |                |
| site_config     | blob             | NO   |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+
Versions de MediaWiki :
1.21 – 1.34

DESCRIBE sites;

+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| site_id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| site_global_key | varbinary(32)    | NO   | UNI | NULL    |                |
| site_type       | varbinary(32)    | NO   | MUL | NULL    |                |
| site_group      | varbinary(32)    | NO   | MUL | NULL    |                |
| site_source     | varbinary(32)    | NO   | MUL | NULL    |                |
| site_language   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_protocol   | varbinary(32)    | NO   | MUL | NULL    |                |
| site_domain     | varbinary(255)   | NO   | MUL | NULL    |                |
| site_data       | blob             | NO   |     | NULL    |                |
| site_forward    | tinyint(1)       | NO   | MUL | NULL    |                |
| site_config     | blob             | NO   |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+

Les index

Version de MediaWiki :
1.42

SHOW INDEX IN sites;

+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name        | Seq_in_index | Column_name     | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| sites |          0 | PRIMARY         |            1 | site_id         | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
| sites |          0 | site_global_key |            1 | site_global_key | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+