[plugin] - WDD_cache: un plugin de cache simple

broncobronco Member
Bonjour à tous,
comme j'avais vu dans une discussion précédente (http://forum.pluxml.org/viewtopic.php?id=2534) que certains seraient intéressés par un plugin de cache, j'ai adapté mes fonctions spécifiques pour en faire un plugin pluXML.

Vous trouverez toutes les infos sur la page de mon blog ( http://www.warriordudimanche.net/article309/wdd-cache-un-plugin-de-cache-simple-pour-pluxml ) mais je vous en fais une petite description rapide.

Une fois le plugin activé, on a deux options:
1-mettre en cache les pages complètes automatiquement
2-ne mettre en cache que certaines parties des pages en recourant aux hooks WDD_cache_start WDD_cache_end

wdd_cache_config.png



Cette deuxième possibilité permet de ne mettre en cache que les zones dont les changements ne se font pas dans des délais courts (liste des posts, contenu d'article, sidebar etc) tout en laissant les parties dont le contenu est susceptible de changer souvent (une citation, une liste de tweets, un affichage de statut que sais-je)
A+ ;-)

Téléchargement: http://www.warriordudimanche.net/data/documents/WDD_cache.zip

Réponses

  • RubénRubén Member
    Salut,
    merci pour le plugin ! Je me demandais, est-ce qu'il met en cache aussi les parties venant de javascript de réseaux sociaux ?
    Ces trucs sont péniblement inutiles niveaux ressources...
  • broncobronco Member
    mars 2015 modifié
    De rien ;-)
    Le cache se faisant côté serveur, via php, tout script js s'exécutant côté client ne sera pas sauvegardé...
    Reste plus qu'à les virer ^^
  • bronco a écrit:
    Reste plus qu'à les virer ^^
    Bonne résolution ;) ]:D
  • Hello,

    Pour ma part, la configuration du plugin ne marche pas. Les paramètres ne sont pas enregistrés.
    J'ai des warning dans les logs:
    [== Indéfini ==]
    PHP Notice:  Undefined index: cache_all_page in (...)/core/lib/class.plx.plugins.php on line 522
    PHP Notice:  Undefined index: desactiver_cache in (...)/plugins/WDD_cache/config.php on line 5
    PHP Notice:  Undefined index: cache_duration in (...)/core/lib/class.plx.plugins.php on line 522
    ...
    

    Sinon, en démarrant la mise en cache au niveau de "IndexBegin", seule la partie Thème est mise en cache, toute la partie initialisation du moteur PluXml est quand meme initié (prechauffage, démarrage..)
    Il serait peut etre plus intéressant de démarrer au niveau de "Index", ce qui permettrait de bypasser toute ces phases.

    Autrement, il est probable que le mode cache, pose problème avec les plugin lockArticles ou MyPrivateStatic. en effet, c'est la page de login qui risque d'etre mise en cache, voir pire, le contenu de la page après saisie du mot de passe qui risque de s'afficher pour tout le monde. Mais j'ai pas pu tester.
  • broncobronco Member
    Salut et merci pour le retour ^^
    J'ai eu des difficultés pour la sauvegarde des paramètres sans vraiment comprendre pourquoi:
    les sauvegardes ne se faisaient pas et ce malgré la modification des droits sur les fichiers et dossiers car pluXML semblait incapable de créer les clés (ce qui explique les erreurs d'index par la suite)

    Curieusement, quand j'éditais manuellement le fichier xml de config pour CREER les clés à la main, ça fonctionnait normalement par la suite...
    Je pensais que ce n'était qu'en local et que je devais avoir un blème de config (ça ne le faisait pas en distant...)
    Ce n'est pas le premier plugin pour lequel ça me le fait, mais je n'ai pas trouvé pourquoi la création des clés pose problème.
    Je réfléchirai dessus mais si quelqu'un trouve la solution, je suis vigoureusement preneur. ;)

    Pour ce qui est de ton idée de modification du hook, c'est en effet très judicieux, je testerai asap ^^

    En ce qui concerne l'incompatibilité avec les plugins en question, je ne sais pas trop car je n'ai pas mis le nez dedans... le fichier de cache se crée grâce à l'url d'appel, donc si ces plugins redirigent vers la page de login, il n'y a pas de blème; par contre, s'ils include un formulaire à eux dans la page, c'est mort, en effet...
  • bg62bg62 Member
    lut;)
    je viens de télécharger et de tester ton plugin, en local mais je rencontre un petit soucis:
    lorsque je veux le configurer quand je clique sur enregistrer, j'ai bien le message comme quoi c'est ok, mais les 3 cases restent toujours vides ensuite ...
    comprends pas là :)
    @+
  • broncobronco Member
    Oui, c'est un problème que je n'arrive pas à comprendre et qui semble indépendant des droits d'accès au fichier de config... lors de la première sauvegarde de config, le plugin ne semble pas parvenir à créer les clés.

    Seule solution, créer les clés à la main... ou alors télécharger ce fichier http://files.warriordudimanche.net/index.php?f=550475db9d858 (le fichier de config du plugin contenant les clés valides) et ensuite le placer dans data/config/plugins/
    Si les droits d'accès sont corrects, ça devrait marcher impec après...
  • bg62bg62 Member
    attends ..
    j'ai un fichier nommé ' WDD_cache.xml ' et là donc je télécharge et je place un autre fichier qui lui s'appelle ' uploads_wdd_cache.xml ' ou je remplace le contenu de premier par celui du second ... ???
  • broncobronco Member
    Normalement, tu dois avoir un fichier de configuration WDD_cache.xml dans ton dossier data/config/plugins... non ?!
  • bg62bg62 Member
    bronco a écrit:
    Normalement, tu dois avoir un fichier de configuration WDD_cache.xml dans ton dossier data/config/plugins... non ?!
    oui donc = je recopie 'ton' fichier dedans c'est bien ça ?
    @+
  • broncobronco Member
    Oui, voilà: ce fichier contient les clés déjà créées; normalement, pluXML sauvegarde normalement les changements ensuite. ;-)
  • bg62bg62 Member
    bronco a écrit:
    Oui, voilà: ce fichier contient les clés déjà créées; normalement, pluXML sauvegarde normalement les changements ensuite. ;-)
    super, merci ça fonctionne :)
    je l'ai placé ici : http://longuetraine.fr/ et vais le mettre sur les autres, @+
    bg
  • hello,
    j'ai regardé ton plugin, je trouve pas là où ça bug :rolleyes:
    il y avait déjà pas mal de chose à changer :
    [list=*]
    [*]une feuille CSS chargée que pour ce plugin, en ciblant les parties de ta config', ça changeait le style de toute l'admin[/*]
    [*]le TOKEN pour un formulaire sécurisé[/*]
    [*]un enregistrement des données même si checkbox pas cochée (peut-être un bouton radio ?)[/*]
    [*]t'as oublié le UL englobant ta liste[/*]
    [*]tu peux utiliser la class "alert red" pour le dernier élément de list[/*]
    [/list]

    voilà, sinon ça marche pas en local :(
Connectez-vous ou Inscrivez-vous pour répondre.