User:Karima Rafes/Comment Hacker MediaWiki?

Cette page est un pense bête sur la méthode qu'utilise les développeurs de MediaWiki pour modifier et tester le logiciel MediaWiki.

Environnement de tests
Ce sont les tests qui orientent les développements donc il faut commencer par avoir un environnement permettant de tester ses propres modifications avant de le pousser dans Git.

Installations
Je ne sais pas exactement la raison du choix de tel ou tel technologie mais voici ce qu'il faut installer.

Serveur virtuel : MediaWiki-Vagrant
Les équipes MédiaWiki ont fabriqué un serveur virtuel qui peut fonctionner sur le poste des développeurs. Il contient un serveur Apache, MySql, la dernier version de Mediawiki et les connecteurs permettant l'utilisation d'outils de développement.


 * 1) Installer VirtualBox (sur Fedora : doc en Français)
 * 2) Installer Vagrant
 * 3) Récupérer le code et lancer le serveur virtuel :

La première fois, le serveur prend plusieurs minutes pour démarrer mais la second fois, cela ne prend que quelques secondes.

Pour terminer l'installation, il faut lancer le terminal ssh (il n'y a pas de mot de passe) et demander de mettre à jour le serveur:



Pour quitter la console ssh faire :

Il est conseillé de lire le fichier README.md pour configurer ruby. Si vous voulez rajouter des gem, il faut le mettre dans le fichier Gemfile, ensuite refaire  et pour finir mettre le "require" dans le fichier env.rb.

Certain des scénarios sont précédés du mot "@login". Cela signifie que le scénario va avoir besoin d'un compte sur le Wiki pour passer ce scénario. Suivez les étapes suivantes pour le configurer :
 * 1) créer dans le Wiki de Vagrant le compte "Selenium user" avec le mot de passe "vagrant"
 * 2) créer le fichier  config/secret.yml et insérer le texte suivant

Je vous conseille de fabriquer un script permettant de configurer l'environnement d’exécution de ce programme. Ce script contiendra l'adresse du Wiki à tester et la commande d’exécution du programme pour lancer tous les tests:

Le navigateur par défaut est Firefox (pour changer de navigateur c'est dans ce fichier /features/support/env.rb).

Pour plus d'infos voir :
 * Browser testing at WMF
 * Quality Assurance/Browser testing/Running and writing tests

Extensions
Par défaut, le Wiki n'utilise que MediaWiki sans aucune extension. Pour rajouter des extensions, il faut que rajouter des rôles dans le puppet. Par exemple, pour installer l'extension LinkedWiki dans le wiki, il faut créer le rôle suivant dans le fichier vagrant/puppet/manifests/roles.pp :

Puis, il faut rajouter ce rôle dans le fichier puppet/manifests/site.pp, comme ceci :

Pour finir, il faut exécuter la commande :

Si on avait supprimé un rôle du fichier site.pp, on aurait exécuté les commandes suivantes :

Mediawiki
Vagrant se met à jour automatiquement mais il ne met pas à jour MediaWiki. Il vous faudra faire les commandes suivantes :