Wikimedica:Infrastructure

De Wikimedica
Sauter à la navigation Sauter à la recherche
Les statistiques d'utilisation peuvent être consultées à stats.wikimedi.ca.

Cette page donne les détails des procédures de l'administration de l'infrastructure informatique de Wikimedica. Les administrateurs système sont:

Pour de plus amples informations concernant la configuration logicielle de ce wiki, veuillez vous référer à la page Spécial:Version.

Ce wiki a été initialement hébergé par Utilisateur:Antoine Mercier-Linteau sur un serveur partagé CentOS 7.3 fourni par Webfaction à Amsterdam aux Pays-Bas. Il est maintenant hébergé sur un Koozali SME Server 9.2, basé sur Centos 6, dans une machine virtuelle dédiée au projet par Jean-Philippe Pialasse . Le serveur matériel est hébergé à Beauharnois (Québec) par la société OVH via leurs offres soyoustart.

Il existe deux versions de Wikimedica:

  1. La version de production, disponible à wikimedi.ca
  2. La version mirroir de développement/test, disponible à test.wikimedi.ca et protégée par un .htpasswd (test/test) afin d'éviter son indexage

1 Tâches[modifier | w]

Créer une nouvelle tâche
À faire 5 / 9
En cours 2 / 7
En test 2 / 9
Terminées 24 / 33
- Type Priorité Titre Responsable(s) État Création
252 Amélioration Urgente Mise à jour de MediaWiki à la version 1.34.0 Antoine Mercier-Linteau, Jppialasse En test 3 juin 2019
265 Amélioration Urgente Intégration de l'API du Collège des Médecins (CMQ) pour l'authentification Antoine Mercier-Linteau En cours 31 juillet 2019
327 Bogue Urgente Courriels à @ulaval.ca bloqués Antoine Mercier-Linteau En cours 7 avril 2020
156 Tâche Normale Réserver les dénominations futures de Wikimedica À faire 16 septembre 2018
234 Tâche Normale Gestion des bounces de courriel Jppialasse À faire 21 mars 2019
293 Amélioration Normale Simplification du processus de déploiement de la plateforme Jppialasse, Antoine Mercier-Linteau, Mathieu Salaün À faire 19 novembre 2019
Objectifs/7 Tâche Normale Rougeur oculaire Antoine Mercier-Linteau, Jean-Philippe Rozon En test 16 avril 2020
130 Amélioration Basse Sauvegarde des index elastic search Jppialasse À faire 13 août 2018
345 Amélioration Basse Migrer le stockage Semantic MediaWiki vers SPARQL Antoine Mercier-Linteau À faire 28 février 2020
Voir les tâches terminées...

2 Courriel organisationnel[modifier | w]

Pour obtenir un courriel organisationnel, en faire la demande auprès des administrateurs système. L'adresse courriel qui vous sera assignée sera de la forme prénom.nom@wikimedi.ca. Le mot de passe initial vous sera fourni par un administrateur. Vous serez ensuite invités à aller le changer en vous rendant à https://wikimedi.ca/user-password.

Informations serveur
Protocole Adresse Sécurité Port Utilisateur Mot de passe
Courriel entrant IMAP wikimedi.ca SSL / TLS 993 prénom.nom Votre mot de passe.
Courriel sortant SMTP wikimedi.ca SSL / TLS 465 prénom.nom Votre mot de passe.

3 Mise à jour logicielle[modifier | w]

Cette section explique la procédure de mise à jour de l'infrastructure informatique de Wikimedica. Idéalement, il est préférable de faire la mise à jour sur le serveur de test, de tester les fonctionnalités clés, puis d'appliquer les changements sur le serveur de production.

3.1 Changement de version majeure[modifier | w]

Lors d'un changement de version majeur de MediaWiki, il est indiqué de suivre ces étapes:

Au préalable, faire un dump de la base de donnée:

sudo mysqldump --socket=/var/lib/mysql/mysql57.sock wikimedica > wikimedica.dump

Puis:

git fetch
git checkout <branchname> # REL1_34 par exemple, pour suivre la nomenclature de nommage des version de MediaWiki
git submodule foreach 'git fetch origin' # Mise à jour de tous les sous modules git (extensions de base, skins, etc.) 
git submodule foreach 'git checkout <branchname> --force' # Changement à la version choisie pour les sous-modules
find extensions -maxdepth 1 -type d -exec sh -c '(cd {} && git fetch)' ';' # Mise à jour du dépôt des extensions ajoutées
find extensions -maxdepth 1 -type d -exec sh -c '(cd {} && git checkout <branchname> --force)' ';' # Changement à la version choisie pour les extensions ajoutées
/usr/bin/php73 -d allow_url_fopen=1 composer.phar update --no-dev #--no-plugins peut être ajouté si composer se plaint d'un problème de compatibilité
/usr/bin/php73 -d allow_url_fopen=1 composer.phar require mediawiki/semantic-media-wiki # Réinstallation de SMW (supprimé lors de la mise à jour initiale)
/usr/bin/php73 maintenance/update.php[note 1]
vérifiez que le dossier suivant existe toujours afin de pouvoir renouveler le certificat SSL du wiki : /home/e-smith/files/ibays/Primary/html/.well-known/acme-challenge

3.1.1 VisualEditor[modifier | w]

L'extension VisualEditor a aussi besoin que l'on mette à jour ses sous-modules:

cd extensions/VisualEditor
git submodule update

3.2 Mise à jour des services satellites[modifier | w]

3.2.1 Parsoid[modifier | w]

cd /opt/parsoid
sv d /service/parsoid
npm update
sv u /service/parsoid

3.2.2 Restbase[modifier | w]

Restbase est accessible à https://wikimedi.ca/wikimedi.ca/v1/

cd /opt/restbase
service restbase stop
git pull
npm update
service restbase start

3.2.3 Elasticsearch[modifier | w]

Il se peut qu'après un changement de version d'Elastisearch, il faille forcer le réindexage des pages de Wikimedica en raison d'un bogue avec l'indexation des pages Scribunto (voir Wikimedica:Tâches/Liste/140).

/user/bin/php71 extensions/CirrusSearch/maintenance/forceSearchIndex.php

4 Resynchronisation du serveur de test[modifier | w]

4.1 Images[modifier | w]

sudo rm -rf /home/e-smith/files/ibays/test/html/images/*
sudo cp -a /home/e-smith/files/ibays/Primary/html/images/. images/

4.2 Extensions[modifier | w]

sudo rm -rf /home/e-smith/files/ibays/test/html/extensions/*
sudo cp -a /home/e-smith/files/ibays/Primary/html/extensions/. extensions/

4.3 Base de données[modifier | w]

mysqldump --socket=/var/lib/mysql/mysql57.sock -u wikimedica -p wikimedica > wikimedica.dump
mysql --socket=/var/lib/mysql/mysql57.sock -u wikimedicatest -p wikimedicatest < wikimedica.dump
rm wikimedica.dump

4.4 LocalSettings.php[modifier | w]

Le fichier LocalSettings.php est conservé dans un dépôt git.

cd extensions/LocalSettings
git pull

4.5 Fonctionnalités à tester[modifier | w]

Durant les tests, la console de déboggage du navigateur doit être ouverte afin d'attraper les erreurs javascript.

  1. Édition d'article avec l'ÉditeurVisuel
  2. Téléversement d'images avec l'ÉditeurVisuel
  3. Affichage d'une page avec des fonctionnalités sémantiques (ex: Wikimedica:Tâches)
  4. Création d'une page avec un formulaire (ex: création d'une tâche)
  5. Génération de livres PDF

5 Notes[modifier | w]

  1. Si update.php donne des erreurs de version de paquet incongrues, utiliser --skip-external-dependencies