Suggestions pour l'amélioration du moteur de WikiNi
Vous pouvez exprimer ici vos remarques et suggestions sur les performances du moteur de
WikiNi.
Ressources pour l'optimisation
Remarques en vrac
Mon expérience sur SPIP m'amène à faire quelques remarques diverses...
- Pour mesurer le temps d'exécution global d'une page, microtime() n'est pas bon car il omet les temps de parsing du code PHP. Il faut utiliser un utilitaire externe comme
ApacheBench? (/usr/sbin/ab, sur tout serveur Apache) ; cet outil doit être lancé en local sur le serveur.
- Sur une machine "typique" (1-2 GHz), parser 1 Ko de code PHP prend en ordre de grandeur 1 ms (donc 100 ko = 100 ms, rien que pour parser le code, pas l'exécuter). Exception cependant pour le code HTML hors des "<?php ... ?>".
- Sur du code "typique", les lenteurs se situent du côté de PHP, pas de
MySQL. En effet PHP est un langage très lent.
- Un système de cache par fichiers est très efficace. Sur SPIP, cela rend les pages environ 10 fois plus rapides. Bien sûr, cela dépend de la complexité des pages..
- Le cache par fichiers peut parfaitement être appelé par include() au lieu de fopen() ou readfile(). On peut donc y mettre... du PHP. Cela n'est pas idiot, car les quelques morceaux variant en fonction du visiteur (infos de login, etc.) peuvent être générés en PHP dans les fichiers du cache.
Amicalement, Antoine.
Syndrome du mammouth
Devant la liste des suggestions d'améliorations, une petite crainte m'étreint : n'y a t'il pas le risque que ce petit outil léger pour l'utilisateur et pour le webmestre ne devienne de plus en plus complexe et de plus en plus réservé à des spécialistes.
Une manière de gérer ce problème consisterait à laisser différentes versions en téléchargement avec différents niveaux de fonctionnalités et donc différents niveaux d'utilisateurs.
Pour en rajouter une couche, je pense qu'un wakka minimalistes pour archi débutants serait des plus pertinent.
Encore merci à vous tous
--
FuRax37
Totalement d'accord : comme tu as pu le remarquer, beaucoup d'améliorations :
- simplifient l'utilisation de WikiNi: PlanDuSite, utilisation des CSS (= meilleur affichage pour Netscape 4.7, etc.), traductions
- simplifient le code de WikiNi ou améliorent la vitesse de traitement : utilisation des CSS, select SQL ciblés, operation de maintenance non systématique, etc.
- simplifient le développement : utilisation des CSS, documentation technique, etc.
- ne complexifient pas l'utilisation de WikiNi à partir du moment où elles sont optionnelles (ActionBacklinks, DerniersComptesUtilisateurs, etc.)
Certaines suggestions d'amélioration visent également une simplification de
WikiNi : aide pour rappeler les règles de formatage, affichage automatique des derniers changements de toute page visitée, option de configuration permettant de ne pas utiliser les commentaires, option de configuration permettant de ne pas afficher "Valid XHTML" et "Valid CSS".
Par ailleurs, il n'est pas question de réaliser toutes les suggestions d'amélioration. C'est pour ça que, pour ma part, j'insiste pour qu'on discute préalablement de toutes les suggestions qui sont développées. Ta participation peut nous être très utile pour ces discussions : il ne faut pas hésiter.
Enfin, avoue que tu pousses aussi à l'ajout de fonctionnalités (demande de gérer les tableaux) ;-)
--
CharlesNepote
Charles m'a pris de vitesse pour répondre et je me retrouve avec un conflit d'enregistrement. Bref.
Je suis content de voir que quelqu'un ait pensé à la même chose que moi. Je voulais le suggérer très bientôt mais n'en ai pas eu le temps hier soir car nous étions très occupé à discuter du nouveau nom de
WikiNi.
Je suis du même avis que toi
FuRax37. Je pense que dans un futur proche on développera plusieurs versions de
WikiNi pour différents degrés d'utilisation : de l'utilisation simple à avancée. Si on ne fait pas plusieurs versions je pense que nous appliquerons la règle suivante : par défault
WikiNi s'installe au plus simple et ensuite un utilisateur averti peux manipuler les options pour profiter de toutes les possibilitées.
De plus, je compte me mettre au boulot sur un projet de cache pour
WikiNi qui rendra EXTREMEMENT plus rapide le moteur.
Et comme Charles l'a fait remarqué, n'hésite pas à nous faire part de tes suggestions.
--
PatrickPaul
Je suis
pour l'idée de garder un outil simple, facile à installer et à utiliser pour des non-spécialistes comme moi. L'idée d'options plus sophistiquées est une bonnne façon de gérer l'équilibre simplicité/puissance. --
AlainHenry
Affichage de "Derniers Changements"
Lors de modifications mineure d'une page, style modification orthographique ou autre modification de ce style serait il possible de ne pas l'afficher dans derniers changements ou alors de mettre une option pour ne pas l'afficher, ou alors l'afficher en petit, ou encore, comme sur je ne sais plus quel wiki (
WikiPedia ?) preciser que c'est une modification mineure entre parentheses pas exemple... je ne sais pas... Mais je pense que ce ne serait pas bete de trouver une solution a ca tout d'abord parce je pense que ca peut etre mis en place assez facilement (créer une boite a cocher "modification mineure" dans la fenetre d'edition, et tant qu'on y est pourquoi pas rajouter un petit formulaire pour definir l'objet de sa modif comme sur
WikiPedia) et puis ca ferait gagner un temps fou a tous ceux qui passent souvent sur ce site. Je pense donc que la quantité d'enegie dépensée a créer/energie que ca fait economiser a l'avenir tend plutot vers zero! Non? ^_^ --
ArTemiS
- Oui je trouve aussi que ce sont deux évolutions intéressantes (c'est bien dans wikimedia qu'il y a ça au fait ;-)). Pour l'objet de la modif j'y vois tout de même quelques inconvéniants:
- Ca ralentit l'édition
- Ca peut inciter à ne pas consulter certaines modifications
- [c'est justement fait pour ça : éviter à tout le monde de consulter toutes les modifications, même celle qui ne concernent que les fautes d'orthographe ; si je vois que DidierLoiseau a effectué une modification mineure de TellePage? en signalant une faute d'orthographe, je ne vais pas regarder le changement car j'ai confiance en lui et le changement est de peu d'intéret. -- CharlesNepote]
- Ca peut être falsifié afin de cacher un spam
- [non, car les "administrateurs" du site (ou les lecteurs réguliers), eux, lisent la liste des derniers changement intégrant les corrections mineures : cf. sur CraoWiki les et les . -- CharlesNepote]
- Ca peut être erronné ou même contenir aussi un spam -> il faut aussi pouvoir le changer
- [oui : peut-être vaut-il mieux ne pas interpréter ("formatter") ce contenu. -- CharlesNepote]
- ... mais les avantages sont les suivants:
- Se rappeler facilement d'une modification qu'on a déjà consultée (il m'arrive souvent de consulter deux fois la même page car je ne sais plus ce qui y a été dit)
- Consulter en priorité les modifications importantes ou intéressantes
- Ne pas consulter les modifications qui ne nous intéressent pas (corrections orthographiques etc.), eh oui...
- Je pense que ça peut tout de même être intéressant mais qu'il faudrait une option pour l'activer/désactiver, suivant les besoins du webmaster. Le deuxième point des inconvéniants (ainsi que le troisième) est d'ailleurs aussi valable pour le système de modifications mineures, je pense qu'il serait bon d'y adjoindre une vérification de l'empleur de la modification (vérifier le nombre de lignes affectées et le rapport de ce nombre avec le nombre total de lignes par exemple). Je pense que ceci devrait donc être étudié en parallèle avec le troisième que j'ai faites au sujet de l'"Optimisation de l'utilisation de la base de données" (OptimisationWikiniEtudeSQL).
- Au passage je trouve que tant qu'à faire, on pourrait faire un système de "nouvelles modifications depuis votre dernière visite". Cependant cela ajouterait des requêtes sql... -- DidierLoiseau
- Ta dernière proposition est un problème à part qui complique pas mal... -- CharlesNepote
Option de configuration permettant de ne pas utiliser les commentaires
Ca ne devrait pas être très compliqué à mettre en oeuvre. Je veux bien m'en charger.
Coûte un peu de traitement ?
--
CharlesNepote
Si j'ai bien compris ce que tu veux, il suffit de passer default_comment_acl de wakka.config.php à "[rien]". Ca peut
s'intégrer dans un chantier plus général de configuration de l'ensemble des options pour un utilisateur avancé lors du setup.
--
DavidDelon
Et si on changeait les styles CSS et div correspondants "à la volée" ? (idée des feuilles de styles changeants) --
JdX?