Manual:Sites table/fr

From mediawiki.org
This page is a translated version of the page Manual:Sites table and the translation is 21% complete.
Manuel:Contenu Schéma de base de données MédiaWiki table sites
Version de MediaWiki :
1.21

The sites table, introduced in MediaWiki 1.21 in May 2013, holds all the sites known to the wiki.

Champs

site_id

Version de MediaWiki :
1.21

Numeric id of the site. This is an auto-incrementing primary key.

site_global_key

Version de MediaWiki :
1.21

Global identifier for the site, ie 'enwiktionary'

site_type

Version de MediaWiki :
1.21

Type of the site, ie 'mediawiki'

site_group

Version de MediaWiki :
1.21

Group of the site, ie 'wikipedia'

site_source

Version de MediaWiki :
1.21

Source of the site data, ie 'local', 'wikidata', 'my-magical-repo'

site_language

Version de MediaWiki :
1.21

Language code of the sites primary language.

site_protocol

Version de MediaWiki :
1.21

Protocol of the site, i.e. 'http://', 'irc://', '//'.

This field is an index for lookups and is built from type specific data in site_data.

site_domain

Version de MediaWiki :
1.21

Domain of the site in reverse order, ie 'gro.ikiwaidem.www.'.

This field is an index for lookups and is built from type specific data in site_data.

site_data

Version de MediaWiki :
1.21

Type dependent site data.

site_forward

Version de MediaWiki :
1.21

If site.tld/path/key:pageTitle should forward users to the page on the actual site, where "key" is the local identifier.

site_config

Version de MediaWiki :
1.21

Type dependent site config. For instance if template transclusion should be allowed if it's a MediaWiki.

Gérer la table des sites

The sites table is shipped without data for a new MediaWiki installation.

Importer la table des sites des autres wikis

There're two ways of populating the sites table using another wiki as a source. If you have access to the other wiki's server, you can run the exportSites.php maintenance script and import the data using the importSites.php maintenance script of your MediaWiki installation.

If you don't have access to the other wiki's server but the other MediaWiki installation has the SiteMatrix extension installed, you can use a maintenance script from the Wikibase extension (populateSitesTable.php) to import all sites from the other wiki.

Ajouter un nouveau site

If you want to add a new site into your MediaWiki's site table, you can use the maintenance script addSite.php .

Additionally, the above mentioned importSites.php maintenance script can be used to add an arbitrary group of wikis from custom made XML file in the following format:

<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>

Each ‎<site> element representing a site.

file_path and page_path can be inferred from Special:Version page of the intended wiki.

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

Sometimes, you have to add your wikis in this table. You can use this 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;
}
          
$sitesTable = SiteSQLStore::newInstance();
$sitesTable->clear(); // This will remove all previous entries from the table. Remove this call if you want to keep them.
$sitesTable->saveSites( $sites );

Reloading the cached sites table

MediaWiki caches the sites table in the local-server cache (CACHE_ACCEL) if it is available (ACPu or WinCache installed). After making changes to the sites table using any of the above methods, you should reload or restart any long-running MediaWiki PHP processes: your web server, continuous job runners (if any), etc. Otherwise, changes to the sites table will only become effective after the cache expires.

Résumé du schéma

Version de MediaWiki :
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      |         |               |
+-------+------------+-----------------+--------------+-----------------+-----------+-------------+----------+--------+------+------------+---------+---------------+