Reconstruire le wiki
Accroitre la visibilité et l'envie
Documentation, Wiki, Traduction (MLO et Mageia)
Reprise du message précédent
J'ai trouvé une doc pour le wiki multilingue, mais ce n'est pas claire pour moi, à partir du paragraphe Créer chaque Wiki.J'ai créé chaque dossiers en fr de es pt dans le répertoire /etc/mediawiki. Dans chaque dossier il y a le fichier Localsetting.php correspondant à chaque langue, c'est après que ça coince.
Comme les fichiers Localsetting.php sont dans chaque dossier et non dans le dossier /etc/mediawiki ça ne fonctionne pas.
ll faudrait transposer avec les commandes sitées dans l'article.
L'adresse de mon wiki en local est http://localhost/mediawiki/index.php/Accueil.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron

Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |
À la base quand tu installes le wiki, le fichier LocalSettings.php se situe dans le répertoire /etc/mediawiki, et, il y a uniquement un fichier LocalSetting.php puisqu’il y a seulement une langue.
cas d'une unique langue /etc/mediawiki/LocalSettings.php
Dans la doc il a écrit ses liens sous cette forme, le point de départ et d'arrivée semblent se confondre.
ln -s {Path}/wiki/fr /var/www/wiki/fr
ln -s {Path}/wiki/en /var/www/wiki/en
ln -s {Path}/wiki/pool /var/www/wiki/pool
en ce qui me concerne
/etc/mediawiki/de/LocalSettings.php
/etc/mediawiki/en/LocalSettings.php
/etc/mediawiki/es/LocalSettings.php
/etc/mediawiki/fr/LocalSettings.php
/etc/mediawiki/pt/LocalSettings.php
/etc/mediawiki/pool/LocalSettings.php

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
/var/www/wiki/fr/
non ?
Ah oh, ok, j'ai l'impression que
/var/www/wiki/fr
est un dossier symbolique vers
/etc/mediawiki/fr
du coup, le fichier
/etc/mediawiki/fr/LocalSettings.php
sera visible et apparaitra comme
/var/www/wiki/fr/LocalSettings.php
N'est-ce pas ?
Du coup, quand tu te baladeras sur ton wiki en localhost,
https://localhost/wiki/fr
tu devrais avoir le wiki FR ?
(je dis ça, je n'en sais rien...)
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |
Dans /usr/share/mediawiki tu as toute l’arborescence du wiki. (et là, je me dis en écrivant ces lignes que ça ne peut pas marcher avec le paquet mediawiki de mageia, il faut l’installer à partir des sources dans le dossier /var/www/mediawiki), enfin je crois.
Le dossier /var/www/mediawiki/ est uniquement quand tu installes à partir des sources mediawiki.
Ensuite la difficulté est de faire le lien entre les wikis pour passer d’un wiki à l’autre.
Mettre en place un wiki avec une seule langue est simple avec plusieurs la tache est plus ardue. D’ailleurs pour trouver des informations sur le web, cela est des plus compliquées.

lebarhon Membre non connecté
-
- Voir le profil du membre lebarhon
- Inscrit le : 09/10/2010
- Groupes :
-
Équipe Mageia
-
Membre d'Honneur
Avez vous consulté cette page ?
https://wiki.mageia.org/en/Mageia_Wiki_upgrade
et notamment
https://www.mediawiki.org/wiki/Extension:Translate
CM Asus Z77-A+i5-2500K+GeForceGT520+RAM8Go
SSD Crucial M4+SSD Samsung EVO
Mageia 6 64 bits
SSD Crucial M4+SSD Samsung EVO
Mageia 6 64 bits

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
cmoifp :
Il y avait une autre extension qui ne gérait que les liens entre pages des différentes langues. Je ne retrouve plus. Il me semble que tu l'avais déjà citée.
Cette extension Translate n'est pas vraiment ce que l'on souhaite. Elle préserverait pas le boulot qui a déjà été fait.
Yves

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
https://www.mediawiki.org/wiki/Extension:Interlanguage
Interlanguage :
L'extension Interlangue évite ce problème en récupérant les liens inter-langue d'un autre wiki (plus loin : wiki central) à chaque fois qu'une page est sauvegardée (ou purgée). Le wiki central peut être un wiki séparé, ou l'un des wikis existants. Sur le wiki central, l'extension Interlangue centrale doit être installée.
Sur le wiki central, les liens inter-langues sont maintenus de la même manière que sur n'importe quel wiki MediaWiki. Sur les wikis où l'extension interlangue est installée, les liens interlangue peuvent désormais être ajoutés en écrivant {{interlangue:nom de l'article}}, ce qui permettra de récupérer tous les liens interlangue de la page wiki centrale "nom de l'article". Si l'article sur le wiki central n'existe pas, un lien rouge vers celui-ci sera créé afin qu'il puisse être facilement créé. Lorsqu'un nouveau lien interlangue est ajouté au wiki central, l'extension Interlanguage Central purge les articles des projets et met à jour leurs liens interlangue. Les liens linguistiques doivent être ajoutés en utilisant {{languagelink:langcode|Article Title}}, qui ajoutera le lien interlangue, et écrira également son nom dans la page.
L'extension n'interfère pas avec le fonctionnement habituel des liens inter-langues. Ils peuvent continuer à être utilisés en parallèle avec l'extension.
Sur le wiki central, les liens inter-langues sont maintenus de la même manière que sur n'importe quel wiki MediaWiki. Sur les wikis où l'extension interlangue est installée, les liens interlangue peuvent désormais être ajoutés en écrivant {{interlangue:nom de l'article}}, ce qui permettra de récupérer tous les liens interlangue de la page wiki centrale "nom de l'article". Si l'article sur le wiki central n'existe pas, un lien rouge vers celui-ci sera créé afin qu'il puisse être facilement créé. Lorsqu'un nouveau lien interlangue est ajouté au wiki central, l'extension Interlanguage Central purge les articles des projets et met à jour leurs liens interlangue. Les liens linguistiques doivent être ajoutés en utilisant {{languagelink:langcode|Article Title}}, qui ajoutera le lien interlangue, et écrira également son nom dans la page.
L'extension n'interfère pas avec le fonctionnement habituel des liens inter-langues. Ils peuvent continuer à être utilisés en parallèle avec l'extension.
Je n'arrive pas à cerner si les langues doivent être scindées en plusieurs wikis ou peuvent être contenues dans le même.
Yves
C'est pour ça qu'il faut un wiki avec des suffixes pour faire la distinction avec les langues.
Caché :
Créer chaque Wiki
installer chaque Wiki:
pour chaque langues il faut un répertoire séparé: il est conseillé de les mettre dans un même répertoire principale,et chaque langue dans un sous répertoire, par exemple:
{Path}/wiki/fr wiki en français
{Path}/wiki/en wiki en anglais
{Path}/wiki/pool fichiers communs
vous pouvez utiliser mon script d'installation disponible ici
liens symboliques web
ln -s {Path}/wiki/fr /var/www/wiki/fr
ln -s {Path}/wiki/en /var/www/wiki/en
ln -s {Path}/wiki/pool /var/www/wiki/pool
installation de la base de donnée
Vous pouvez créer une base de donnée pour chaque Wiki, le mieux est de créer une base de donnée et mettre les tables de chaque Wiki dans cette même base avec des préfixes différents
préfix fr_ pour wiki français
préfix en_ pour wiki anglais
préfix pool_ pour wiki des fichiers en commun
configuration
la table interwiki à besoin de configuration de la base commune (ou passer par les pages spéciale menu interwiki):
INSERT INTO `wiki`.`interwiki` (`iw_prefix`, `iw_wikiid` , `iw_url` , `iw_local`, `iw_trans`)
VALUES ('pool', 'http://pool.wiki.frogg.fr/index.php/$1','http://pool.wiki.frogg.fr/index.php/$1', '1', '1');
INSERT INTO `wiki`.`interwiki` (`iw_prefix`, `iw_wikiid` , `iw_url`, `iw_local`, `iw_trans`)
VALUES ('fr', 'http://fr.wiki.frogg.fr/index.php/$1','http://pool.wiki.frogg.fr/index.php/$1', '1', '1');
INSERT INTO `wiki`.`interwiki` (`iw_prefix`, `iw_wikiid` , `iw_url`, `iw_local`, `iw_trans`)
VALUES ('en', 'http://en.wiki.frogg.fr/index.php/$1','http://pool.wiki.frogg.fr/index.php/$1', '1', '1');
LocalSettings.php de chaque wiki nécessite des lignes de commandes supplémentaires:
$wgGroupPermissions['sysop']['interwiki'] = true ;
partage des fichiers communs
$wgUseSharedUploads = true;
$wgHashedSharedUploadDirectory = true;
$wgUploadNavigationUrl = $wgServer."/wiki_pool/index.php/Special:Upload";
$wgSharedUploadPath = $wgServer."/wiki_pool/images";
$wgSharedUploadDirectory = "/opt/wiki/pool/images/";
$wgFetchCommonsDescriptions = true;
$wgSharedUploadDBname = 'wiki';
$wgSharedUploadDBprefix = 'pool_';
$wgRepositoryBaseUrl = $wgServer."/wiki_pool/index.php/Image:";
partage des bases de données
$wgInterwikiCentralDB = 'wiki';
$wgSharedDB = 'wiki';
$wgSharedPrefix = 'fr_';
$wgSharedTables = array('user','user_groups','interwiki','ipblocks');
partage des cookie (pour les interwiki multi domaine)
$wgCookieDomain = '.frogg.fr';
installer chaque Wiki:
pour chaque langues il faut un répertoire séparé: il est conseillé de les mettre dans un même répertoire principale,et chaque langue dans un sous répertoire, par exemple:
{Path}/wiki/fr wiki en français
{Path}/wiki/en wiki en anglais
{Path}/wiki/pool fichiers communs
vous pouvez utiliser mon script d'installation disponible ici
liens symboliques web
ln -s {Path}/wiki/fr /var/www/wiki/fr
ln -s {Path}/wiki/en /var/www/wiki/en
ln -s {Path}/wiki/pool /var/www/wiki/pool
installation de la base de donnée
Vous pouvez créer une base de donnée pour chaque Wiki, le mieux est de créer une base de donnée et mettre les tables de chaque Wiki dans cette même base avec des préfixes différents
préfix fr_ pour wiki français
préfix en_ pour wiki anglais
préfix pool_ pour wiki des fichiers en commun
configuration
la table interwiki à besoin de configuration de la base commune (ou passer par les pages spéciale menu interwiki):
INSERT INTO `wiki`.`interwiki` (`iw_prefix`, `iw_wikiid` , `iw_url` , `iw_local`, `iw_trans`)
VALUES ('pool', 'http://pool.wiki.frogg.fr/index.php/$1','http://pool.wiki.frogg.fr/index.php/$1', '1', '1');
INSERT INTO `wiki`.`interwiki` (`iw_prefix`, `iw_wikiid` , `iw_url`, `iw_local`, `iw_trans`)
VALUES ('fr', 'http://fr.wiki.frogg.fr/index.php/$1','http://pool.wiki.frogg.fr/index.php/$1', '1', '1');
INSERT INTO `wiki`.`interwiki` (`iw_prefix`, `iw_wikiid` , `iw_url`, `iw_local`, `iw_trans`)
VALUES ('en', 'http://en.wiki.frogg.fr/index.php/$1','http://pool.wiki.frogg.fr/index.php/$1', '1', '1');
LocalSettings.php de chaque wiki nécessite des lignes de commandes supplémentaires:
$wgGroupPermissions['sysop']['interwiki'] = true ;
partage des fichiers communs
$wgUseSharedUploads = true;
$wgHashedSharedUploadDirectory = true;
$wgUploadNavigationUrl = $wgServer."/wiki_pool/index.php/Special:Upload";
$wgSharedUploadPath = $wgServer."/wiki_pool/images";
$wgSharedUploadDirectory = "/opt/wiki/pool/images/";
$wgFetchCommonsDescriptions = true;
$wgSharedUploadDBname = 'wiki';
$wgSharedUploadDBprefix = 'pool_';
$wgRepositoryBaseUrl = $wgServer."/wiki_pool/index.php/Image:";
partage des bases de données
$wgInterwikiCentralDB = 'wiki';
$wgSharedDB = 'wiki';
$wgSharedPrefix = 'fr_';
$wgSharedTables = array('user','user_groups','interwiki','ipblocks');
partage des cookie (pour les interwiki multi domaine)
$wgCookieDomain = '.frogg.fr';
https://www.mediawiki.org/wiki/Manual:Wiki_family#Multiple_wikis_sharing_common_resources
un autre qui peut éventuellement aider.
https://www.developpez.net/forums/d461231/php/edi-cms-outils-scripts-api/liens-interwiki/
Édité par cmoifp Le 07/04/2020 à 17h48
fr.php et en.php sont des fichiers LocalSettings.php renomer après configuration.
Pour faire appel aux fichiers respectifs, j'ai cré de nouveau un fichier LocalSettings.php
avec ce code:
Caché :
<?php
$callingurl = strtolower($_SERVER['SERVER_NAME']); // identify the asking url
if ( $callingurl == "http://localhost/wiki_cmoifp/index.php/Accueil" ) {
require_once( 'fr.php' );
}
if ( $callingurl == "http://localhost/wiki_cmoifp/index.php/Main_Page" ) {
require_once( 'en.php' );
}
?>
<?php
$callingurl = strtolower($_SERVER['SERVER_NAME']); // identify the asking url
if ( $callingurl == "http://localhost/wiki_cmoifp/index.php/Accueil" ) {
require_once( 'fr.php' );
}
if ( $callingurl == "http://localhost/wiki_cmoifp/index.php/Main_Page" ) {
require_once( 'en.php' );
}
?>
Mais j'ai ce message d'erreur
Sorry! This site is experiencing technical difficulties.
Try waiting a few minutes and reloading.
(Cannot access the database)

Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
strtolower convertit la chaîne en minuscule. Mais ensuite, dans ta comparaison, tu as Accueil et Main_Page, avec au moins une majuscule. La comparaison est toujours négative. Il faudrait que tu essayes avec accueil et main_page.
Yves
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie