Wikipédia:Ne vous préoccupez pas de la performance

Ce qui suit est essentiellement basé sur un essai (en anglais) de Simetrical, contributeur sur la Wikipédia anglophone et développeur MediaWiki.


La performance du site peut ne pas toujours être ce qu’elle devrait être : le site peut être lent, il peut se comporter bizarrement, il peut même tomber en panne temporairement. Mais vous, en tant qu’utilisateur, n’avez pas à vous préoccuper de la performance. Dans la très grande majorité des cas, il n’y a rien que vous puissiez faire pour accélérer ou ralentir significativement les serveurs du site. Le logiciel est, dans l’ensemble, conçu pour empêcher les actions d’utilisateurs de le ralentir notablement.

Dans certains cas, il y a des choses que les administrateurs (au sens de Wikipédia) peuvent faire qui ralentiraient ou feraient planter le site. Celles-ci sont cependant rares, et, en général, ce n’est pas la peine de s’en préoccuper. Lorsque cela arrive, suivez les instructions des administrateurs système (fonction remplie par les développeurs au sens de Wikipédia), qui s’occuperont de réparer les dégâts, et tout rentrera dans l’ordre. Évidemment, vous ne devriez pas refaire exactement la même chose, mais ne craignez pas de faire des choses similaires. Si on vous reprend pour avoir essayé de supprimer une page à l’historique très lourd comme Wikipédia:Demande de suppression immédiate et avoir fait planter le site, n’essayez pas de détruire à nouveau la même page, mais ne comptez pas anxieusement le nombre de révisions de chaque page que vous voulez détruire. Cela serait plus préjudiciable du point de vue Wikipédia qu’un ralentissement temporaire ou une interruption de service d’un quart d’heure. Si vous n’êtes pas sûr des conséquences techniques d’une action quelconque, vous pouvez toujours demander un avis auprès d’un administrateur système sur IRC pour vous rassurer, mais cela n’est généralement pas nécessaire.

Cela dit, écoutez les administrateurs système s’ils vous disent de ne pas faire telle action. Vous n’avez pas à vous préoccuper de performance, normalement, mais les garde-fous que nous avons mis en place ne sont pas parfaits. Citer cette page en réponse à un administrateur système notant un défaut de performance à quelque niveau ou interdisant quelque comportement (comme cela s’est fait dans le passé), c’est oublier le point important : la performance est une question importante, mais qui ne doit pas préoccuper les utilisateurs en temps normal, et sur laquelle ceux qui ne sont pas continuellement impliqués dans l’administration des serveurs de Wikimedia ne sont pas pleinement qualifiés pour spéculer. Donc ne vous en souciez pas à moins qu’un administrateur système ne vous le dise, comme cela arrive en de rares occasions. Alors, et seulement à ce moment, vous devriez vous préoccuper de performance.

Quelques citations d’autres développeurs dans d’autres contextes

[Les citations sont traduites de l’anglais.]

« L’administration et la maintenance en ligne du site sont notre affaire. « Notre » se réfère à l’équipe de développement et à l’équipe d’administration système, mais je les réunis ensemble pour ça. Si quelque chose est nécessaire pour progresser dans l’écriture de l’encyclopédie ou la confection du dictionnaire, alors faites-le. Si cette chose n’est pas propre, faites-le-nous savoir, et s’il y a une méthode plus simple que nous pouvons implémenter pour aider, nous le ferons.
Faites preuve de sens commun, naturellement. S’il est manifeste que quelque chose pourrait causer des problèmes drastiques, attendez et vérifiez. Mais ne vous mettez pas à courir et à crier partout « les serveurs, les serveurs !! » comme une excuse pour ne pas faire le travail, ce serait stupide. »

— Rob Church (Développeur MediaWiki), wikitech-l, 27 juin 2006


« En règle générale, vous ne devriez pas vous préoccuper beaucoup de points mineurs tels que les modèles et la « charge serveur » au niveau de la politique [éditoriale]. S’ils sont coûteux, nous le corrigerons ou le restreindrons au niveau technique : c’est notre responsabilité. […]
En tant que question technique, c’est notre responsabilité de maintenir le système en état de fonctionner suffisamment bien pour ce dont les sites ont besoin. En d’autre mots : ce n’est pas une question de politique [éditoriale]. Si et lorsque nous avons besoin de restreindre certaines choses, nous le faisons avec des mesures techniques. […]
La « politique » ne devrait pas vraiment être concernée par la charge des serveurs excepté dans les cas les plus extrêmes ; maintenir les choses réglées de façon à fournir ce qui est nécessaire pour les besoins des utilisateurs est notre travail. »

— Brion Vibber (Chief Technical Officer de la Wikimedia Foundation, autorité ultime sur les serveurs et le logiciel Wikimedia), Village Pump de la Wikipédia en anglais, 21 janvier 2006

Cependant, faites preuve de bon sens en appliquant cette ligne de conduite…


« Je fais la recommandation générale de ne pas courir partout en disant : Le ciel tombe, le ciel tombe ! au sujet de modèles en se basant sur des suppositions et la paranoïa.
Cela ne signifie pas qu’un véritable problème, lorsqu’il est découvert, doive être ignoré.
Lorsqu’il y a un problème véritable, réel et mesurable, alors il est important. »

— Brion Vibber (Chief Technical Officer de la Wikimedia Foundation, autorité ultime sur les serveurs et le logiciel Wikimedia), wikitech-l, 16 janvier 2007

Addendum

« On a attiré mon attention sur le fait qu’il a été fait référence à cela comme une raison d’utiliser les vignettes (thumbnail) avec une taille plus importante en octets plutôt que plus petite (par exemple, en utilisant une image de haute précision au format PNG à 50 Ko plutôt qu’une laide au format JPEG à 20 Ko). Je dois cependant noter que cet essai s’applique uniquement aux questions de performance du côté serveur, et de fait vous pouvez ralentir de façon certaine le chargement des pages si vous les bourrez d’images à 100 Ko. Que cela soit acceptable ou non est un choix éditorial, et il n’y a pas vraiment grand-chose que les développeurs ou les administrateurs système peuvent faire ou feront pour le prévenir ou l’encourager. »Simetrical, 11 juillet 2007 à 05:21 (UTC) ; 18 septembre 2007 à 18:29 (UTC)

Exemples

Exemples d’endroits où la performance a été fautivement citée dans le passé (sur la Wikipédia en anglais) :

Exemples de restrictions que les développeurs ont mis en place au moins en partie pour cause de performance :