[spip-dev] grosses lenteurs sur l'espace privé

Salut,

Je travaille sur un site avec 4500 rubriques. Plusieurs remarques :
- d'abord, un petit bug de Firefox qui fait qu'il plante sur les
caractères spéciaux dans une chaîne de caractères ; pour éviter que ça
apparaisse, il faut ajouter la ligne suivante :
  $titre_rubrique = preg_replace(',[\x00-\x1f]+,', ' ', $titre_rubrique);
au début de la fonction bandeau_rubriques() dans js_menu_rubriques.php3
- ensuite, le javascript n'est pas mis en cache, la gestion des headers
HTTP est probablement incomplète (la fonction http_last_modified() devrait
faire l'affaire)
- le javascript prend systématiquement 5 secondes à calculer, ce qui quand
même est un peu long à chaque chargement de page de l'espace privé
- dans la page d'édition d'article, la liste déroulante des rubriques est
longue à charger... je me dis que les lignes du genre :

<option VALUE="325" style="padding-left: 16px; margin-left: 32px;color:
#404040;background: url(img_pack/rubrique-12.gif) left
no-repeat;">Glossaire</option>

pourraient être remplacées par :
<option VALUE="325" class="qqch">Glossaire</option>

Les trois premiers problèmes en tout cas affectent tout le monde, même si
c'est dans une moindre proportion. Notamment, l'espace privé doit être
assez lent sur n'importe quel serveur un peu chargé. Il y a aussi trois
tonnes de javascript qui sont systématiquement insérées au début du HTML
alors qu'elles pourraient être mises dans un fichier statique séparé :
cela allègerait la taille des données transférées.

Amicalement

Antoine.

Un autre problème amusant lié au grand nombre de rubriques, sur
ecrire/naviguer.php3?coll=XX :

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to
allocate 1143998 bytes) in .../spip/ecrire/naviguer.php3 on line 466

C'est lié à la manière funky dont sont générés les résultats (d'abord
stockés dans une énorme chaîne de caractères puis envoyés au navigateur).

a+

Antoine.

mieux : une classe ou un id sur le select et une CSS

.qqch option

J'ai allégé le js_menu_rubriques, et ajouté le http_last_modified.

Sur mon site de test, le menu maigrit ainsi de 40%. (Bon: recharger la feuille de style, hein, y'a de nouveaux attributs.)

ARNO*

J'ai fait un petit teste: j'ai pris une page affichant une rubrique
avec quelques articles et brèves qui était 64253 bytes.
Alors j'ai enlevé tout les attributs spatiales (width, height), les
attributs des tables (padding, spacing, border-style), tout les
javascripts dans head et tout les attributs comme style='....'.
J'ai fait une troisième de la page et elle n'avait que 60929. 4kB de
données superflues!

Je le trouve quand mème bizarre qu'il y a des choses comme
"CLASS='fondo' style='font-size:9px;'" dedans, pourquoi une classe et
encore une style?

Comme référence, mais aussi sur les standards de web ce qui n'est pas
rélévant ici, il y a une bonne article sur
http://www.alistapart.com/articles/slashdot/ Ils avaient des pages
sans css mais quelqu'un commencait à calculer...

Bart