Do not hack MediaWiki core/fr

Même si Modifier le coeur de Médiawiki est une solutions souvent proposer sur d'autres forums de support MédiaWiki, ce n'est pas une solutions idéale. En règle général, ça vous posera plus de problèmes que ça ne vous aidera et compliquera les mises à jour.

Dans le cadre de cet essai, le coeur ou core signifiera "tous les fichiers qui appartiennent à l'installation MediaWiki de base." C'est à dire tous les fichiers sauf LocalSettings.php, ceux qui sont dans le répertoire  ou les fichiers que vous avez ajouté depuis l'installation.

Pourquoi vous ne devriez pas modifier le core
resistez à la tentation, quelle que soit la facilité avec laquelle vous pouvez modifier MediaWiki pour lui faire faire ce que vous voulez.


 * Le faire rendra impossible, compliqué ou quasiment impossible d'appliquer les mises à jours au site, comme les corrections de bogues ou de trou de sécurité.
 * Vous rendrez la maintenance du site compliquée pour vos successeurs
 * Vous laisserez peut être votre site vulnérables à certaines attaques.
 * Les autres développeurs vous aiderons moins volontier si vous avez modifié votre coeur - ne serait-ce que parce qu'il leur sera difficile de savoir ce qui a été fait.

MédiaWiki a été conçu pour être modulaire, vous devriez donc trouvez un moyen de faire ce que vous voulez sans toucher au coeur. Si une fonctionnalité vous manque et ne peut être implantée qu'en y touchant, envisagez de développer une extension ou de soumettre un patch avec votre modification. Soumettez un rapport de bug et décrivez à la communauté la fonctionnalité que vous souhaitez. Il sera testé et votre fonctionnalité pourrait incorporer le core.

Problèmes rencontrés par les wikis qui modifient leur coeur

 * Les mises à jours MediaWiki peuvent durer de 30 minutes à 6 heures ou même 6 semaines si votre  diff montre que 13650 lignes ont été modifiées.
 * Augmentation du spam et d'autres attaques à cause des trous de sécurité
 * Perte de fonctionnalité à cause de hacks en conflit dans les fichiers du coeur
 * Impossibilité d'utiliser de manière fiable la doc de MediaWiki.org - tout est écrit avec la supposition que vous n'avez pas modifié les fichiers du coeur (sauf bien sur si vous vous chargez vous même de la documentation de ce hack)
 * Répétition du problème original - comme un rapport de bogue est une manière plus fiable de résoudre un problème que de hacker directement le coeur - pour la simple raison qu'un groupe de développeur va investiguer et pourrait trouver des changements nécessaires que vous avez raté
 * Vous plaindre auprès des développeurs à propos de vos fichier du core qui ne fonctionneraient pas - et ne pas trouver beaucoup de soutien - si vous modifiez les fichiers du core - un support efficace est tout sauf possible

Exceptions
Y a-t-il des exceptions ?

Non.

D'accord, très très rarement. Mais c'est en général le cas po des wikis spécifiques ou pour des inplantations faites par des personnes très familières avec la base de code, les bonnes pratiques de développement et le modèle de sécurité. Ceux qui documentent de manière appropriée leurs changements et pratique une gestion de version efficace de leur code. Si vous devez demander, on peut parier que vous ne devriez pas.

Extensions
Notez qu'une grande partie de cette page est aussi applicable aux extensions importantes. C'est une mauvaise idée de commencer à modifier Semantic MediaWiki, ou toute extension utilisée sur Wikipédia et les autres sites Wikimédia.

Une exception pourrait être une extension installée principalement par copie de code de ce wiki (au lieux de la récupérer à partir d'un gestionnaire de code). Ça signifie qu'elle n'est pas maintenue très sérieusement.

Que faire à la place
Plutôt que de modifier core, il existes des alternatives que vous pouvez envisager plus ou moins dans l'ordre suivant:


 * 1) MédiaWiki est une belle bête en tant que tel, vous pouvez faire beaucoup rien qu'avec les messages d'interface comme la barre MediaWiki:Sidebar et bien bien d'autres, voir aussi les autres pages de ce wiki, par ex. les ajout et modification JavaScript et CSS.
 * 2) Develop an extension to accomplish what your hack was intended to do, or simply use one of the existing hooks
 * 3) Soumettre un rapport de bogue
 * 4) Contribuez au dépot de code du coeur pour que d'autres puissent bénéficier de vos améliorations