Ne modifiez pas le noyau de MediaWiki
Ceci est un essai. Il exprime des opinions et des idées de certains utilisateurs de mediawiki.org et peut ne pas avoir un large soutien. N'hésitez pas à mettre à jour cette page si nécessaire, ou utilisez la page de discussion pour proposer des modifications majeures. |
Résumé : Bien que les développeurs soient encouragés à soumettre des améliorations sur le noyau MediaWiki dans le dépot de code source, cela ne veut pas dire pour autant qu'il faille modifier un fichier du noyau sur une installation MediaWiki. Faire ceci aboutit le plus souvent à des problèmes plutôt que d'apporter des solutions. L'utilisation d'une extension ou la soumission d'une amélioration sur le dépot de code source sont les solutions conseillées et les plus stables. |
Même si modifier le noyau de MediaWiki est une solution souvent proposée sur d'autres forums de support MediaWiki, ce n'est pas une solution idéale. En règle générale, ça vous posera plus de problèmes que ça ne vous aidera et compliquera les mises à jour.
Dans le cadre de cet essai, le noyau ou core signifiera "tous les fichiers qui appartiennent à l'installation MediaWiki originale." C'est à dire tous les fichiers sauf LocalSettings.php, ceux qui sont dans le répertoire extensions
ou les autres répertoires que vous avez ajouté depuis votre installation.
Pourquoi vous ne devriez pas modifier les fichiers du noyau
resistez à la tentation, quelle que soit la facilité avec laquelle vous pouvez modifier les fichiers du noyau MediaWiki pour lui faire faire ce que vous voulez.
- Le faire rendra impossible, compliqué ou quasiment impossible d'appliquer les mises à jours du site, ainsi que les corrections de bogues ou de faille de sécurité.
- Vous rendrez la maintenance du site compliquée pour vos successeurs
- Vous laisserez peut être votre site vulnérable à certaines attaques.
- Les autres développeurs vous aiderons moins volontiers si vous avez modifié votre noyau - ne serait-ce que parce qu'il leur sera difficile de savoir ce qui a été fait.
Le noyau de MédiaWiki a été conçu pour être modulaire, vous devriez donc trouvez un moyen de faire ce que vous voulez sans y toucher. 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 réaliser. Il sera ensuite testé et votre fonctionnalité pourrait être intégrée dans le noyau de MediaWiki.
Problèmes rencontrés par les wikis qui modifient leur noyau
- Les mises à jour de MédiaWiki 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 indésirables à cause des trous de sécurité.
- Perte des nouvelles fonctionnalité à cause de hacks en conflit dans les fichiers du noyau.
- Impossibilité d'utiliser la documentation de MediaWiki.org - tout y est écrit en supposant que vous n'avez pas modifié les fichiers du noyau (sauf bien sûr si vous vous chargez d'écrire vous même de la documentation du comportement de Mediawiki lorsque ce type particulier de hack est utilisé).
- 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 noyau - pour la simple raison qu'un groupe de développeurs va investiguer et pourrait trouver des changements nécessaires que vous auriez ratés.
- Vous plaindre auprès des développeurs à propos de vos fichiers du noyau qui ne fonctionnent pas - et ne pas trouver beaucoup de sympathie - si vous modifiez les fichiers du noyau - un support efficace est tout sauf possible.
Exceptions
Y a-t-il des exceptions à cette règle ?
Non, sans espoir.
D'accord, très très rarement. Mais c'est en général le cas pour des wikis spécifiques ou pour des implémentations faites par des personnes très familières avec la base de code MediaWiki, les bonnes pratiques de développement et le modèle de sécurité. Ceux qui documentent de manière appropriée leurs changements et pratiquent une gestion des versions efficace de leur code. Si vous devez demander, il y a de fortes chances que vous ne devriez pas le faire.
Extensions
Notez qu'une grande partie de cette page est aussi applicable aux extensions importantes. C'est une mauvaise idée de commencer directement à modifier les extensions Semantic MediaWiki, ou toute autre extension utilisée sur Wikipédia ou les autres sites Wikimédia.
Une exception pourrait être si une extension installée principalement par copie de son code de ce wiki (au lieu de la récupérer à partir d'un dépôt de code). Cela signifie qu'elle n'est pas maintenue très sérieusement.
Que faire à la place
Plutôt que de modifier le noyau de MediaWiki, il existe plusieurs alternatives que vous pouvez envisager plus ou moins dans l'ordre suivant :
- MédiaWiki est une belle bête en tant que tel, vous pouvez faire beaucoup avec les messages d'interface comme avec la barre
MediaWiki:Sidebar
et bien bien d'autres, voir aussi les autres pages de ce wiki, par exemple JavaScript et les ajouts et modifications de CSS. - Développez une extension pour réaliser ce que votre hack doit faire, ou utilisez simplement l'une des accroches existantes.
- Soumettez un rapport de bogue
- Mettez à disposition votre amélioration du noyau sur le dépôt de code afin que d'autres personnes puissent bénéficier de votre correction
Voir aussi
- {{Modèle;Extension triée par avertissement de patch }} — modèle à ajouter aux pages des extensions qui nécessitent des modifications du coeur de MediaWiki.