Autres langues
Autres actions
Le texte qui suit est un tutoriel étape par étape sur la façon d'ajouter de nouvelles langues à ProleWiki. Le tutoriel suppose que le sous-domaine du site, le code de langue et le nom de la base de données[lower-alpha 1] suivent le même modèle. À titre d'exemple, un code de langue inexistant "aa" sera utilisé, mais il doit être changé pour la langue qui est incluse (par exemple : en pour l'anglais, fr pour le français, ru pour le russe, etc.). Nous pouvons vérifier les langues existantes sur Wikipédia comme référence pour son code de langue.
Étape 1 : Créer un nouvel enregistrement A pour le site[modifier | modifier le wikicode]
- Allez dans notre compte Namecheap et ajoutez un nouvel enregistrement A pour le site, en utilisant la même configuration que les autres, en changeant uniquement le code de langue.
Étape 2 : Ajouter le domaine du site à la directive vHost d'Apache & réémettre le certificat[modifier | modifier le wikicode]
Le nouveau sous-domaine de langue doit être explicitement ajouté à Apache pour que Let's Encrypt puisse le détecter et émettre le certificat avec les bons SANs.
- Ouvrez
/etc/apache2/sites-enabled/prolewiki.confpour l'édition. Il y a 3 endroits où ajouter le nouveau sous-domaine :- Les 1ère et 2ème lignes
ServerAliasdans les blocsVirtualHostpour le port :80 et :443. - Les lignes
RewriteCondenviron au milieu du fichier.
- Les 1ère et 2ème lignes
- Ajoutez les entrées pour le nouveau sous-domaine afin que la mise en place, le formatage, etc., correspondent aux entrées existantes.
- Exécutez
apache2ctl -tet recherchez tout ce qui est pire qu'unwarn, ou tout ce qui est susceptible de causer des problèmes - Exécutez
certbot
Étape 3 : Créer une nouvelle base de données pour le site[modifier | modifier le wikicode]
- Ouvrez la commande
mysql - Tapez
CREATE DATABASE prole_aa; - Accordez la permission à l'utilisateur de la base de données en tapant
GRANT ALL PRIVILEGES ON prole_aa.* TO 'proledbuser'@'localhost'; - Quittez mysql en tapant
exit
Étape 4 : Ajouter le schéma de base à la base de données[modifier | modifier le wikicode]
- Entrez la commande
mysql prole_aa < /var/www/prolewiki/maintenance/tables-generated.sql
Après cela, nous devons probablement ajouter des tables d'extension supplémentaires. Vérifiez les erreurs données et trouvez des indices sur l'extension qui plante et les tables qu'elles utilisent. La plupart des extensions qui nécessitent des tables de base de données supplémentaires présenteront un dossier sql/ à l'intérieur. Vous devrez exécuter
mysql prole_aa < /var/www/prolewiki/extensions/[Extension]/sql/table_name_usually.sql
afin de pouvoir ajouter manuellement ces tables. (MediaWiki pls fix)
Voici une liste des extensions pour lesquelles nous devons ajouter ces tables : CreatedPagesList Flow (extensions/Flow/sql/mysql/tables-generated.sql)
Étape 5 : Ajouter un nouveau site à la configuration du registre du serveur[modifier | modifier le wikicode]
- Éditez
/var/www/prolewiki/pw-conf/ServerRegistry.php - Dans notre wiki, nous utilisons un tableau pour définir les codes wiki. Il suffit d'ajouter le nouveau code de langue à celui-ci
$wikiCodes = ['shared','aa','de','el','en','es','fa','fr','pt','ru','zh'];
Nous devons coder en dur les localisations de l'espace de noms. Nous le faisons sous forme de grand switch-case dans le fichier de configuration du serveur. Ajoutez ces lignes, en apportant les modifications nécessaires selon les besoins de la langue (toutes les langues ne nécessitent pas de renommer MetaNamespaces et Sitename par exemple)
case 'aa':
$wgMatomoIDSite = "xx";
$wgMetaNamespace = "ProleWiki";
$wgMetaNamespaceTalk = "ProleWiki talk"
$wgSitename = "ProleWiki"
$wgExtraNamespaces = [
NS_TALK => 'Talk'
NS_LBRY => 'Library'
NS_LBRY_TALK => 'Library discussion'
NS_ESY => 'Essay'
NS_ESY_TALK => 'Essay critique'
NS_PORTAL => 'Portal'
NS_PORTAL_TALK => 'Portal talk'
NS_QUOTE => 'Quotes'
NS_QUOTE_TALK => 'Quotes talk'
NS_USER => 'Comrade'
NS_USER_TALK => 'Comradeship'
];
break; // n'oubliez pas break; dans switch case
Étape 6 : Ajouter le site à la table des sites dans la base de données partagée et mettre à jour toutes les bases de données[modifier | modifier le wikicode]
Avec script[modifier | modifier le wikicode]
- Allez dans le répertoire racine
/var/www/prolewiki - Forte a créé plusieurs scripts dans le dossier
pw-conf/scripts/. Vous pouvez simplement ajouter le code de langue au tableau déclaré dans le fichier nomméwikicodes.sh:
wikis=("en" "pt" "es" "de" "fr" "ru" "zh" "el" "fa" "aa")
Les sites sont listés dans l'ordre d'ajout, ajoutez simplement à la fin du tableau. Ensuite, depuis le répertoire racine, exécutez le script avec :
pw-conf/scripts/./site_refresh.sh
Manuellement[modifier | modifier le wikicode]
Vous pouvez toujours ajouter manuellement un nouveau site, en exécutant depuis le dossier racine (/var/www/prolewiki/) :
maintenance/run.php ./maintenance/addSite.php aa prolewiki --wiki shared --pagepath=https://aa.prolewiki.org/wiki/\$1 --filepath=https://aa.prolewiki.org/\$1 --language aa --interwiki-id aa
Notes[modifier | modifier le wikicode]
- ↑ (par exemple :
https://en.prolewiki.org,en,prole_en)