How to become a MediaWiki hacker/fr

Autres langues : English (Anglais) 日本語 (japonais) ...Traduire cette page!

Cette page essaye de rassembler des informations sur les procédés du développement du logiciel MediaWiki, et de répondre à des questions des développeurs débutants. Si vous projetez de nous aider à programmer, mais que vous n'avez pas encore les compétences nécessaires, c'est un bon endroit pour commencer.

Voici d'abord, quelques liens cruciaux :
 * La page d'accueil du logiciel pour Wikipedia contient des informations générales au sujet du développement
 * La page du projet Wikipedia chez SourceForge vous permet de télécharger le code source et de signaler des bogues. Notez que nous n'employons pas le traqueur de patch de SourceForge (si vous ne savez pas de quoi il s'agit, voyez ci-dessous).
 * Listes de diffusion : wikitech-l pour le développement, mediawiki-l pour le support, mediawiki-cvs notes CVS
 * MediaWiki architecture a encore plus de documentation !

Systèmes d'exploitation
Le logiciel MediaWiki est écrit en PHP et utilise la base de donnée MySQL. Tous les deux ont été portés sur différents systèmes d'exploitation, incluant notamment, les variantes d'Unix et de Microsoft Windows. Il est donc possible d'installer et d'utiliser Wikipedia sous les deux systèmes. Vous obtiendrez probablement une meilleure aide si vous utilisez un Unix, car la plupart des développeurs préfèrent utiliser des outils du monde d'Unix (MySQL + PHP) dans un environnement Unix.

Si vous projetez de passer à un Unix, il existe de nombreuses variantes libres d'Unix disponibles. La plus populaire parmi elles est Linux, mais d'autres alternatives libres comme OpenBSD existent aussi. Consultez un site d'aide pour vous familiariser avec le monde Unix.

Le langage de programmation PHP

 * Si vous n'avez aucune connaissance de PHP, mais que vous savez programmer orienté objet, n'ayez aucune crainte, PHP est facile à apprendre.
 * Si vous n'avez aucune connaissance de PHP ou d'autres langages de programmation orientés objet, vous devriez vous familiariser avec des concepts tels que des classes, objets, méthodes, événements, héritage.
 * Si vous n'avez aucune connaissance en programmation, PHP est un bon départ, car il est semblable à d'autres langages modernes, sa spécificité provient de la manière dont il est exécuté.

À la différence de la plupart des programmes, les scripts PHP ne sont pas typiquement lancés en ligne de commande ou via une interface graphique. Au lieu de cela, un script PHP est exécuté quand vous accédez à un fichier avec l'extension "php" (entr'autres) d'un serveur web. En faisant cela, le serveur web, dans notre cas Apache, appelle l'interprèteur PHP (qui peut être inclus dans le logiciel serveur), interprète le fichier PHP et renvoie le résultat à votre butineur. Le fichier PHP peut contenir soit des balises HTML banales et du PHP, rendant relativement simple l'ajout de fonctionnalités dynamiques à une page web statique.

Liens connexes : Turoriel PHP Manuel PHP

SQL et MySQL
Wikipedia emploie actuellement MySQL (http://mysql.com/) comme base de données principale. Assurez-vous que le support de MySQL est compilé dans PHP !

Nous essayons également de faire fonctionner le wiki avec d'autres base de données, en particulier postgresql, (http://www.postgresql.org/) pour des soucis de performance et de portabilité.

Installer MediaWiki
Sur la façon d'obtenir le code source depuis CVS : voir le PHP script.

Vous trouverez des instructions cachées dans le fichier INSTALL avec les sources. Essayez de les suivre. Vous pouvez aussi lire MediaWiki_User's_Guide:_Installation.

Si vous souhaitez installer une copie locale de la base de données existante afin de bidouiller, créez tout d'abord une base de données vide avec MySQL et ensuite exécuter le script 'createdb.php ' dans le sous-répertoire maintenance (assurez-vous qu'il soit correctement configuré !). Notez que les scripts de maintenance incluent (include) des fichiers provenant du répertoire source principal, vous pouvez soit configurer un nouveau repertoire include pour PHP, soit vous y copier les fichiers.

Puis, une fois en possession d'une copie de la base SQL dans la langue souhaitée, importez le tout ainsi:


 * Linux :
 * gzip -dc cur_table.sql.gz | mysql -u wikiadmin -padminpass wikidb
 * gzip -dc old_table.sql.gz | mysql -u wikiadmin -padminpass wikidb
 * cd maintenance ; php rebuildlinks.php


 * windows (eventuellement avec -u wikiadmin -padminpass wikidb comme au dessus) :
 * mysql < cur_table.sql
 * mysql < old_table.sql
 * cd maintenance ; php rebuildlinks.php

La reconstruction des tables de lien peut prendre un bon moment, en particulier si vous avez installé la base de données anglaise, qui est un peu grande. (notez également que vous pouvez ignorer l'ancienne table si vous souhaitez.) Voir Database layout concernant l'utilisation de rebuilding.php.

Notez que si vous voulez créer un miroir public Wikipedia, ce n'est probablement pas la meilleure manière de l'aborder. Si vous installez un miroir de cette façon, veuillez svp bidouiller le code pour signifier que l'on regarde un miroir et inclure des liens vers le site principal.

...

Voir aussi Development policy.