[script] Mise en cache des pages PHP

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par fandecine, 17 Mai 2005.

  1. franceradio
    franceradio WRInaute occasionnel
    Inscrit:
    19 Avril 2007
    Messages:
    478
    J'aime reçus:
    0
    merci bcp fandecine c nickel l'idée ;) j'ai appliqué ça sur deux de mes site, merci encore

    plus one recommended
     
  2. Steeve_HC
    Steeve_HC Nouveau WRInaute
    Inscrit:
    29 Juin 2007
    Messages:
    8
    J'aime reçus:
    0
    et si ce sont des milliers de pages qui sont mises en cache : est ce que le serveur ne risque t-il pas de chauffer plus rapidement à chercher des dates de création continuellement ?
     
  3. h4ni
    h4ni WRInaute occasionnel
    Inscrit:
    11 Juillet 2005
    Messages:
    429
    J'aime reçus:
    0
  4. Steeve_HC
    Steeve_HC Nouveau WRInaute
    Inscrit:
    29 Juin 2007
    Messages:
    8
    J'aime reçus:
    0
    ça m'a l'air d'être la même chose :wink:
     
  5. mikaweb
    mikaweb WRInaute discret
    Inscrit:
    4 Juillet 2007
    Messages:
    162
    J'aime reçus:
    0
    Quel est la grande différence entre ce système et la sérialisation ? J'ai cru comprendre que la seconde était assez lourde et cette méthode là c'est lourd ou pas ?

    Ce que je souhaiterais, c'est avoir la possibilité de mettre à jour mon cache automatiquement après avoir fait une modification, par exemple valider une news. Ainsi on update le cache pour bien dire que sa a changé et non le faire chaque 5 minutes ou haures ? Tiens au passage, sa se fait tout seul les 5 minutes ou seulement 5 minutes après le passage de quelqu'un sur la page ?


    Y a-t-il moyen de faire avec ce système là, qui à l'air assez utilisé, un système qui update tout seul après divers actions ?


    Merci ;)
     
  6. Steeve_HC
    Steeve_HC Nouveau WRInaute
    Inscrit:
    29 Juin 2007
    Messages:
    8
    J'aime reçus:
    0
    En connaissant le nom du ou des fichiers de caches, tu peux les détruire après X minutes, après une une mise à jour ou quand tu le veux...et donc fournir un contenu nouveau à tes visiteurs.
     
  7. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 196
    J'aime reçus:
    1
    as tu lu le code ?
    Code:
    if (@filemtime($fichierCache)<time()-(3600*24*360)) { //si la page n'existe pas dans le cache ou si elle a expiré 
    si la page demandée n'existe pas dans le cache ou si elle a expiré (plus de 360 jours) alors on construit ce cache et on l'envoie au visiteur.

    en conclusion :

    mettre a jour le cache consiste simplement a détruire le fichier cache correspondant à la page (qui sera automatiquement reconstruit au prochain visiteur de la page). et dans tous les cas ça se fait tout seul tous les 360 jours.

    3600*24*360 c'est le temps de 'survie' de la page en cache, 5 minutes ça ne sert a rien autant pas mettre de cache a moins d'avoir 2000 visiteurs qui passe sur cette page en 5 mn et qu'ils aient la possibilité de la modifier dynamiquement.
     
  8. mikaweb
    mikaweb WRInaute discret
    Inscrit:
    4 Juillet 2007
    Messages:
    162
    J'aime reçus:
    0
    J'ai bien compris sa mais ce que j'aimerais c'est lorsque je fais une action, juste avant de rediriger, il me détruise la page en cache que je désire.

    Mon but est que le système de cache ne fonctionne non pas en haure, jour, année mais simplement en fonction des actions des utilisateurs ainsi le traitement ne se fait que quand j'en ai réellement besoin.

    J'ai réussi à mettre un système de la sorte avec la sérialisation mais on m'a dit que c'était lourd comme système.
     
  9. Steeve_HC
    Steeve_HC Nouveau WRInaute
    Inscrit:
    29 Juin 2007
    Messages:
    8
    J'aime reçus:
    0
  10. mikaweb
    mikaweb WRInaute discret
    Inscrit:
    4 Juillet 2007
    Messages:
    162
    J'aime reçus:
    0
    Je me demandais si pour un espace c'était vraiment important en sachant qu'il y a au grand maximum une quinzaine de personne qui y ont accès ?

    C'est plutôt utile pour un espace publique qui fait des milliers de pages vues par jours.
     
  11. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 196
    J'aime reçus:
    1
    c'est utile par exemple si :
    - une page est consultée souvent ou si beaucoup de pages sont consultées tout en nécessitent un traitement côté serveur non négligeable.
    - si le contenu de la page nécessite de gros traitements (SQL, regex, autre ...)
    - surtout si le site n'est pas statique (évident certe, mais a ne pas oublier)
    - si la connexion a là base n'est plus disponible (et qu'aucun autre traitement SQL n'est nécessaire)

    et surement pour d'autre raisons

    maintenant pour 15 clampins qui traînent sur le site je ne suis pas certains que tu gagne en perf.
     
  12. BaZouL
    BaZouL Nouveau WRInaute
    Inscrit:
    2 Juin 2006
    Messages:
    7
    J'aime reçus:
    0
    Bonjour à tous,

    J'utilise le même genre de script (le 1er posté) pour la mise en cache de l'un de mes sites. Ca fonctionne très bien mais j'aimerais apporter une "amélioration" (dans mon cas...).

    En effet, le site en question est TRES lourd. Le temps d'affichage d'une page non en cache est d'environ 8 secondes, ce qui, je trouve, est énorme. Bien sûr, une fois cette page en cache, l'affichage est quasi-instantané.

    (PS: j'ai opté pour une mise en cache car l'optimisation réelle (requetes SQL, jointures, index, moteur, etc...) est quasi-impossible (à moins de tout refaire...) ; le site utilisant un système de boucle gourmand pour la génération du template...

    J'ai par ailleurs automatisé la destruction du cache (via unlink()) lorsqu'une mise à jour est réalisée dans le back-office.

    Cependant, étant donné la lourdeur d'affichage des pages non en cache, j'aimerais automatiser également la remise en cache des pages (c'est à dire, sans attendre qu'un internaute visite ces pages).

    Je cherche donc un moyen d'effectuer cette "remise en cache" automatiquement ; je suis ouvert à toute suggestion !

    Pour ma part, je pensais qu'une sorte de robot (style robot d'indexation des moteurs de recherche) pouvait se charger de ce travail, en explorant toutes les pages du site automatiquement (en suivant tous les liens internes 1 seule fois par exemple...).

    Je ne sais pas si c'est réalisable en PHP... mais dans ce cas, quel autre langage pourrait être utilisé ? (script shell, C ?)

    Dites moi tout de suite si je fais fausse route ou pas ;)
    D'ailleurs, peut-être existe-t-il déjà des sources / scripts de ce genre, ou bien qui correspondraient à ce que je souhaite, mais malgré mais recherches, je n'ai pas trouvé grand chose...

    Si vous avez des idées, suggestions, scripts, docs, etc... je suis preneur !

    Merci !


    EDIT DU 14/05/2008 à 15h20 :

    J'avance, j'avance...

    Imaginons maintenant que j'ai une liste des pages à mettre en cache (donc les pages "à visiter" par le robot (ou autre chose...)) récupérée automatiquement, et sous la forme suivante :

    Code:
    http://www.mondomaine.com/mapage1.html
    http://www.mondomaine.com/mapage2.html
    http://www.mondomaine.com/mapage3.html
    http://www.mondomaine.com/mapage4.html
    
    etc...
    
    Y a-t-il un moyen en PHP (ou autre : Shell...) de visiter "virtuellement" (c'est à dire sans les ouvrir vraiment) ces pages, afin de regenerer le cache de ces dernières ?
    Je pense à l'utilisation de Sockets, ou quelque chose du genre... Quelqu'un a une idée ?

    Important : j'ai environ 1300 pages à "visiter" (régénérer le cache) d'un seul coup, est-ce toujours possible en PHP (ou Shell, C, via un exec() de PHP...) ?

    Merci


    EDIT DU 15/05/2008 à 15h00 :

    Finalement, j'ai tout réussi tout seul comme un grand :)

    J'ai trouvé mon bonheur avec les fonctions CURL de PHP. Et ce script (chargé de régénérer le cache en "visitant" chaque page qui n'est pas encore en cache) et exécuté en ligne de commande toutes les 25 minutes à l'aide d'un cronjob). Impec' !

    Merci quand même ;) Et @+
     
  13. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 196
    J'aime reçus:
    1
    Je rêve ou tu prend la tête pour rien ?

    si tu gère la destruction du cache avec unlink() après une mise a jour de celle ci tu peut tout autant le régénérer dans la foulée avec un fopen() de l'url ....
     
  14. BaZouL
    BaZouL Nouveau WRInaute
    Inscrit:
    2 Juin 2006
    Messages:
    7
    J'aime reçus:
    0
    C'est vrai que ça aurait pu être une bonne solution, (sans aucun doute moins prise de tête que la mienne ;)) mais dans mon cas ce n'était pas possible : les noms des fichiers en cache sont beaucoup trop transformés par rapport aux urls d'origine de mes pages, et c'est quasi impossible de retrouver l'url d'origine de la page à régénérer/recacher, par rapport au nom des fichiers en cache.

    Aussi, lorsque je détruit le cache (après une mise à jour / modification dans le back office), c'est par centaines de fichiers, et donc si je régénère/recache les pages correspondantes aussitôt, l'opération prendrait beaucoup trop de temps...

    C'est pour cela que j'ai choisi la solution du cron job. Comme ça, tout se fait en arrière plan, et l'utilisation du site (et en particulier du back office) par l'administrateur/webmaster n'est pas affectée / ralentie.
     
  15. BaZouL
    BaZouL Nouveau WRInaute
    Inscrit:
    2 Juin 2006
    Messages:
    7
    J'aime reçus:
    0
    Je viens de découvrir l'astuce PHP du
    Code:
    pclose(popen('/chemin/vers/script.sh&', 'r'));
    pour lancer un script en processus (en tâche de fond, ce qui fait que l'utilisateur n'a pas à attendre la fin d'éxécution de ce script !) Vraiment très pratique, pour ne pas dire parfait, plus besoin de Cron Job avec ça !
     
  16. ben64btz
    ben64btz WRInaute discret
    Inscrit:
    9 Mai 2006
    Messages:
    179
    J'aime reçus:
    0
    prblème avec le cache

    Je viens d'implémenter le code PHP que tu donnais dans l'un des topics pour mettre du contenu en cache.
    Sur les pages "statiques" pas de soucis.
    Cependant lorsque dans mes URL j'ai des variables (ex: monsite.com/page.php?cat=football&coupe=monde)
    il ne met pas ma page en cache et le ressort l'erreur PHP suivante:

    Code:
    Code:
    Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(cache/-page.php?cat=football&coupe=monde) is not within the allowed path(s):

    pour mémoire voici plus bas le code que tu donnais dans le topic. j'espère vraiment que tu pourra m'aider Smile

    D'avance merci

    Benjamin



    Code:
    [i]ici code php que vous ne voulez pas mettre en cache[/i]
    <?PHP
    $urldemandee=$_SERVER['REQUEST_URI']; //on lit l'adresse de la page
    $urldemandee=ereg_replace('/','-',$urldemandee); // on tranforme l'adresse en nom de fichier
    if($urldemandee=="-") $urldemandee="-index.html"; // si l'adresse est la racine du site, on ajoute index.html
    $fichierCache="cache/cache".$urldemandee; // on construit le chemin du fichier cache de la page
    if (@filemtime($fichierCache)<time()-(3600*24*360)) { //si la page n'existe pas dans le cache ou si elle a expiré
       ob_start(); // on démarre la bufferisation de la page: rien de ce qui suit n'est envoyé au navigateur
    ?>
    [i]Votre page PHP ici[/i]
    <?php
       $contenuCache = ob_get_contents(); // on recuperre le contenu du buffer
       ob_end_flush();// on termine la bufferisation
       $fd = fopen("$fichierCache", "w"); // on ouvre le fichier cache
       if ($fd) {
          fwrite($fd,$contenuCache); // on ecrit le contenu du buffer dans le fichier cache
          fclose($fd);
         }
    } else { // le fichier cache existe déjà
      include ($fichierCache); // on le copie ici
    }
    ?>
     
  17. climax
    climax WRInaute discret
    Inscrit:
    8 Avril 2006
    Messages:
    87
    J'aime reçus:
    0
    Et pour mettre une heure c'est ça ou pas

    1*24*360

    a quoi servent les 3 chiffres ?
     
  18. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 712
    J'aime reçus:
    2
    3600 : 3600 secondes/heure (60x60)
    24 : heures/jour
    360 : jours/an (environ...)

    Tu mets seulement 3600 pour une heure.
     
  19. climax
    climax WRInaute discret
    Inscrit:
    8 Avril 2006
    Messages:
    87
    J'aime reçus:
    0
  20. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 200
    J'aime reçus:
    2
    J'ai eu un problème à cause de nombreuses connexion à MySQL sur Wordpress, j'utilise donc WP Super Cache qui fait des merveilles pour ce CMS.
     
  21. Lucarelli
    Lucarelli Nouveau WRInaute
    Inscrit:
    7 Octobre 2008
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    J'aimerais savoir s'il est possible de modifier dans le script de la première page cette condition
    Code:
    if (@filemtime($fichierCache)<time()-(3600*24*360))
    Par une vérification de l'heure de création du fichier cache, je m'explique
    1 ) on définit en début de code une heure ( exemple 3H du matin )
    2 ) on ne recrée le cache qu'à cette heure définie ou au premier accès après cette heure définie et à aucun autre moment de la journée.
     
  22. DecibelMan
    DecibelMan WRInaute discret
    Inscrit:
    10 Juillet 2005
    Messages:
    123
    J'aime reçus:
    0
    Salut, Est-ce si dans
    Code:
    [i]Votre page PHP ici[/i]
    je mets toute ma page et qu'il y a de la pub dedans, y'aura-t-il un raffraichissement quand même des pubs ? ou comment separe pas t-on la pub du contenu php , pour ne pas mettre en cache la pub ?
    Car c'est important de ne pas mettre tout en cache
    Merci
     
  23. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    0
    En principe, les pubs sont en javascript donc la mise en cache ne géne absolument pas :wink:
     
  24. DecibelMan
    DecibelMan WRInaute discret
    Inscrit:
    10 Juillet 2005
    Messages:
    123
    J'aime reçus:
    0
    Impeccable alors, c'est super ce code.
    Donc je peux faire :
    [ton code cache deb]
    [mon pavé de php et autre javascript]
    [ton code cache fin]

    et donc les pages de pubs seront renouvellées ;) cool.
     
  25. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 546
    J'aime reçus:
    0
    Toutefois si tu utilises un script PHP de rotation des bannières, la mise en cache annulera cette "rotation" justement.

    Un script comme OpenX par exemple propose plusieurs méthodes d'inclusions : si tu utilises la méthode "PHP", ça coincera. Mais si tu utilises la méthode full Javascript comme le dit fandecine il n'y aura pas de soucis.
     
  26. jeunepapa
    jeunepapa WRInaute discret
    Inscrit:
    23 Août 2003
    Messages:
    76
    J'aime reçus:
    0
    Bonsoir à tous

    Alors, voici moi petit soucis avec la mise en cache... J'essaie désespérement de l'implementer sur mon forum, basé sur Punbb.

    J'ai essayé jpcache et j'ai essayé le script de fandecine.

    Les deux marchent nickel, la page est bien crée, appelée et affichée au besoin. J'arrive à ouvrir et lire manuellement les fichier cache, et j'ai fait un echo($time) et tout est juste à ce niveau là aussi.

    Le problème, qui n'est pas un détail, c'est que toutes les requêtes continuent à être effectuées, ce qui fait que le cache, du coup, il sert à rien :(

    J'ai retourné ça dans tous les sens, je n'arrive pas à comprendre.

    Pour ceux qui connaissent, j'ai essayé de placer le début de la mise en cache juste après l'appel à common.php dans les fichier index.php et viewforum.php, pour voir si ça marche en un premier temps, en affichant le cache que pour les visiteurs non connectés, histoire que je puisse mettre toute la page en cache sans devoir à ce stade jouer avec ce qui est visible pour tout le monde et ce qui est "membre connecté".
    J'ai essayé de le mettre en tout début de header.php, même problème, toutes les requêtes sont effectuées.

    Est-ce que quelqu'un peut me donner une piste, ne fusse que sur la théorie, ce qui fait qu'un script s'exécute malgré le fait qu'au final il pond la page mis en cache?
     
  27. Patrice A.
    Patrice A. WRInaute passionné
    Inscrit:
    11 Février 2005
    Messages:
    2 075
    J'aime reçus:
    0
    Si le script s'exécute quand meme, cela veut dire que cette simple ligne :
    Code:
     @filemtime($fichierCache)<time()-(3600*24*360)
    ne fonctionne pas comme prévu.

    donc fais des tests.
    Code:
    echo filemtime($fichierCache).'<br/>';
    echo time()-(3600*24*360).'<br/>';
    echo $fichierCache.'<br/>';
    Recharge plusieurs fois la page et vérifie que les résultats sont cohérents.
     
  28. refpartie
    refpartie WRInaute discret
    Inscrit:
    27 Mars 2008
    Messages:
    67
    J'aime reçus:
    0
    j'ai consulté le post de Fandecine sur la mise en cache, c'est très interressant.
    Ma question concerne spécifiquement phpBB, je souhaite mettre sur mon forum fréquenté (+10.000 post /mois), un espace sur les nouveautés que propose mon site.
    Si je créer une page php (non dynamique) que j'inclus entre la banniere du haut et le debut des posts faut t'il que je la mette en cache?
     
  29. jeunepapa
    jeunepapa WRInaute discret
    Inscrit:
    23 Août 2003
    Messages:
    76
    J'aime reçus:
    0
    Mbwo, il me semblait ourtant d'avoir répondu cette après... enfin...

    Merci beaucoup Patrice.

    J'ai essayé de nouveau avec le script de Fandecine et ajoutant ce que tu avait noté.
    Et... c'est le boxon. Selon l'endroit ou je place le code de cloture du buffer, le fichier cache est ecrit ou pas (et je parle de avant ou après un include de footer, rien de spécial à priori. Par contre il est toujours lu.

    Si il est affiché, ça me donne une page blanche, alors que le fichier cache, lui, contient toute l'info correctement.
    Certaines query sont exectutées quand même, maintenant je suis en train de les tester une par une pour savoir lesquelles, si c'est vraiment celles en cache ou pas, parce que visiblement il teste la connection à la db d'office, même si il fait rien....

    A mon avis, il doit y avoir quelque chose qui s'ouvre dans un fichier et se cloture dans un autre, mais avec les templates header footer et autre includes à la pelle, j'ai du mal à m'y retrouver. Je continuerait ça demain. Mais si quelqu'un a des idées...
     
  30. voyagesnet
    voyagesnet WRInaute discret
    Inscrit:
    23 Juin 2008
    Messages:
    63
    J'aime reçus:
    0
    bonsoir
    est ce que la mise en cache des fichiers PHP peut provoquer des problémes au niveau de réferencement supposant qu'on va faire le mise à jour de ces fichiers par sémaine
     
  31. voyagesnet
    voyagesnet WRInaute discret
    Inscrit:
    23 Juin 2008
    Messages:
    63
    J'aime reçus:
    0
    bonjour
    comment je peux supprimer les fichiers mise en cache avec php


    cordialement
     
  32. voyagesnet
    voyagesnet WRInaute discret
    Inscrit:
    23 Juin 2008
    Messages:
    63
    J'aime reçus:
    0
    bnj
    est t 'il possible de mise en cache de resultat d'un select
    merci
     
  33. mitus
    mitus WRInaute discret
    Inscrit:
    17 Décembre 2008
    Messages:
    52
    J'aime reçus:
    0
    Bonsoir a tous,

    Je ne sais pas si cela a été cité. Mais smarty peut répondre a toutes vos questions. Le cache se gère au niveau template. Et il y a une mise en cache (Version html de la page). De plus smarty permet l'utilisation des balise {dynamic} ce qui permet ainsi de laissé dynamic une partie de la page comme un gestionnaire de bannière par exemple. ;)

    J'espère que mon post n'est pas hors sujet.

    Bonne soiré a vous tous
     
  34. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Smarty est un moteur de template mais peut être que maintenant il fait aussi cache html, personnellement je ne connaissais pas cette fonctionnalité et je vois mal le rapport entre un moteur de template et un cache html mais pourquoi pas :D.
     
  35. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 200
    J'aime reçus:
    2
    J'ai un petit souci, j'obtiens un Parse error: syntax error, unexpected $end in /home/site/www/cache-start.php on line 8...
    Dans mon fichier PHP j'ai ça :
    Code:
    <?php
    $mb_handle = fopen("feed.xml", "rb");
    $mb_flux = '';
    if (isset($mb_handle) && !empty($mb_handle)) {
    while (!feof($mb_handle)) {
    $mb_flux .= fread($mb_handle, 4096);
    }
    $mb_RSS2Parser = simplexml_load_string($mb_flux);
    $mb_racine = $mb_RSS2Parser->channel;
    foreach($mb_racine ->item as $mb_element) {
    $video_id = $mb_element->id;
    $video_nom = $mb_element->nom_video;
    $video_titre = $mb_element->petite_description;
    $video_description = $mb_element->longue_description;
    $video_taille = $mb_element->taille;
    $video_duree = $mb_element->duree;
    $video_scene = $mb_element->scene;
    $video_img = $mb_element->meilleur_thumb;
    echo '<div class="post">
    <h2><a href="video-'.$video_id.'.html">'.$video_titre.'</a></h2>
    <p class="postinfo">Dur&eacute;e : '.$video_duree.' | Taille du fichier : '.$video_taille.'Mo | Nom de fichier : '.$video_nom.'.mpg</p>
    <p><img src="http://images/'.$video_nom.'/'.$video_scene.'/'.$video_img.'.jpg" class="alignleft" alt="'.$video_titre.'" title="'.$video_titre.'" />'.$video_description.'</p>
    </div>';
    if($i == 49) break;
    $i++;
    } 	
    }
    fclose($mb_handle);
    ?>
    Il doit y avoir quelque chose d'incompatible mais je n'arrive pas à bien comprendre...
     
  36. mitus
    mitus WRInaute discret
    Inscrit:
    17 Décembre 2008
    Messages:
    52
    J'aime reçus:
    0
    Et oui smarty peut metre directement en cache ton html. Il fonctionne avec 2 niveau de cache. Le premier consiste a convertir tes templates (combinaison de html avec du pseudo code smarty) vers des fichiers combinant le php finalle avec le html. Et le 2 eme niveau de cache m'est tes pages html finaux en cache.
     
  37. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 626
    J'aime reçus:
    0
  38. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    Smarty est un moteur de templates oui.
    Ils ont dû intégrer le cache car c'est une usine à gaz, bcp de traitements (fichiers php de + de 700Ko !).

    Ne pas utiliser Smarty, PHP est déjà un moteur de templates:
    http://www.massassi.com/php/articles/template_engines/

     
  39. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 200
    J'aime reçus:
    2
    Serais-je invisible ? :cry:
     
  40. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    Je vois pas du tout l'erreur pour la ligne 8 8O , une erreur du type c'est souvent pr une accolade fermante manquante mais ton script semble bon.

    A tout hazard c'est pas l'espace en trop avant "->" ici:
    Code:
    foreach($mb_racine ->item as $mb_element)
    
    ?
     
  41. Audiofeeline
    Audiofeeline WRInaute accro
    Inscrit:
    20 Octobre 2005
    Messages:
    4 200
    J'aime reçus:
    2
    Je ne crois pas puisque ça fonctionne sans le cache. :/
     
  42. gorchfock
    gorchfock WRInaute occasionnel
    Inscrit:
    23 Octobre 2006
    Messages:
    489
    J'aime reçus:
    0
    Il semblerait qu'il manque une variable $end. Je ne vois pas cette variable dans ton code. Je vois que tu ouvres un fichier xml, l'erreur ne se situerait pas dans ce fichier ? Je dis ça parce que des fois quand j'ai une telle erreur c'est dans un autre fichier que je la trouve. En effet le numéro de ligne de l'erreur peut correspondre au numéro de ligne du fichier au complet c'est à dire si tu as fait appel à d'autres fichiers, par exemple un
    Code:
    <?php 
    include('header.php'); // 20 lignes de code
    /* ici j'ai 15 ligne de code */
    include('envoie_mail.php'); // 50 lignes
    etc....
    ?>
    
    que tu as un Parse error à la ligne 15 ben il y a de forte chance que l'erreur se trouvera dans le header.php même si le Parse Error t'affiche ligne 15 du fichier tartempion.php (c'est ce que j'ai constaté).

    Je ne sais pas si ça peut t'aider...
     
  43. Kijer
    Kijer WRInaute discret
    Inscrit:
    9 Septembre 2006
    Messages:
    109
    J'aime reçus:
    0
    Tu as essayé si ca vient pas de ton raccourci sans les { } dans
    Code:
    		if($i == 49) break;
    
    ?
     
  44. kimkaphman
    kimkaphman Nouveau WRInaute
    Inscrit:
    21 Septembre 2005
    Messages:
    20
    J'aime reçus:
    0
    Bonjour.
    J'utilise ce script pour mon site et j'en suis très content. :wink:

    Il y à juste une chose que je n'arrive pas à faire.
    J'ai une page qui doit rester dynamique et je ne sais pas comment faire pour ne pas qu'il ne soit pas mis en cache.
    Pourtant je sais que ça doit être facile mais bon, j'ai beau tester des if() ici et la, rajouter des parametres à
    Code:
    if (@filemtime($fichierCache)<time()-(3600*24*360))
    mais rien n'y fait.
    Je suis pas un pro du php, loin de là, je me débrouille c'est tout mais cette fois, je crois que j'ai besoin d'aide. :(

    Edit: C'est bon j'ai trouvé tout seul. :p
    J'ai placé des if() au bon endroit :
    Code:
    if($page != "sitemap.html") {
       ob_start(); // on démarre la bufferisation de la page: rien de ce qui suit n'est envoyé au navigateur
       }
    et
    Code:
    if($page != "sitemap.html") {
       $contenuCache = ob_get_contents(); // on recuperre le contenu du buffer
       ob_end_flush();// on termine la bufferisation
       
       $fd = fopen("$fichierCache", "w"); // on ouvre le fichier cache
       if ($fd) {
          fwrite($fd,$contenuCache); // on ecrit le contenu du buffer dans le fichier cache
          fclose($fd);
                   }
                                             }
     
  45. MTroy
    MTroy Nouveau WRInaute
    Inscrit:
    12 Juillet 2009
    Messages:
    21
    J'aime reçus:
    0
    Juste comme ça, pour la suppression du cache utilisez plutot unlink !
    plus court, plus rapide, plus léger que de faire des appel ftp à chaque fichier rencontré.

    Et pour faire encore plus simple, on peut aisément remplacer ob_*
    par file_get_contents en s'assurant bien sur de la validité des chemins des images,
    (après tout dépend ou est placé le système de mise en cache)
    quoi que.. y a toujours moyen de d'appliquer un petit str_replace avec http://...
     
  46. kitten13
    kitten13 WRInaute discret
    Inscrit:
    30 Avril 2007
    Messages:
    172
    J'aime reçus:
    0
  47. psykoko
    psykoko WRInaute occasionnel
    Inscrit:
    3 Juin 2005
    Messages:
    283
    J'aime reçus:
    0
    Je confirme que la méthode du jdn est simple et fonctionne parfaitement...
     
  48. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Sauf qu'il manque encore le gz, et le 304 voir le expire mais c'est vrai que par rapport au code de se feed c'est top :D
     
  49. Greendog
    Greendog WRInaute occasionnel
    Inscrit:
    18 Mars 2008
    Messages:
    448
    J'aime reçus:
    0
    La méthode de kitten13 est sympa, par contre je suis embêté avec les membres.
    La construction du cache se lance si la page n'existe pas ou si elle a expiré, malheureusement si c'est un membre qui créé le cache, et bien quand on regarde la page mise en cache on se retrouve avec son profil d'affiché sur la page. XD

    En gros j'aimerai bien lancer le cache, qu'importe la personne (membre ou visiteur), je tenterai bien de lancer le cache après l'affichage du header mais si je le coupe avant la fin de ma page, le code 'normal' va reprendre sa route ?
     
  50. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Sinon une des solutions utilisées pour ton problème de membre c'est de faire la personnalisation des pages classique en JS et de ne pas cacher les pages trop personnalisé : Liste des articles de l'utilisateur ... Tout ce qui touche à de l'admin en gros.

    Bon courage ;)
     
  51. Greendog
    Greendog WRInaute occasionnel
    Inscrit:
    18 Mars 2008
    Messages:
    448
    J'aime reçus:
    0
    Merci du conseil petitchevalroux. ;)
    Je ne connais pas trop le JS, j'ai donc fait avec les moyens du bord.

    Finalement vu que c'est une minorité de personnes (les membres) qui font vivre le site, je leur laisse le full acces 'en live' et pour tous les visiteurs sur les pages où ça ne change pas des masses ou qui consomme pas mal de ressource -> le cache.
     
  52. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Ah oui c'est une troisième solution à laquelle je n'avais pas pensé bien joué ;)
     
  53. thetyty
    thetyty Nouveau WRInaute
    Inscrit:
    29 Août 2009
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,

    le sujet est fermé depuis quelques temps mais j'aurai une question. Le système de cache est super mais dans une de mes pages je créé une image antispam classique mais du coup il me la met dans le cache...
    Donc ce que je souhaiterai savoir c'est si on peut ne pas mettre une petite partie hors cache sachant que cette partie est entre les ob_start(); et le ob_end_flush();

    Merci si quelqu'un voit ce message et peut y répondre.
     
  54. Furinkazan
    Furinkazan Nouveau WRInaute
    Inscrit:
    2 Novembre 2009
    Messages:
    12
    J'aime reçus:
    0
    Regarde le manuel de la fonction ob_start() : http://php.net/manual/en/function.ob-start.php

    Tant que j'y suis, j'ai une question : comment éviter la création intempestive de caches ? Je m'explique :
    Nos pages mises en cache sont de la forme .../index.php?page=x avec x qui varie de 1 à n. La mise en cache doit se faire uniquement si la page existe. Il faut donc ajouter un test.

    Le problème c'est que dans mon cas, je fais un test du style :

    if($_GET[page] est correct)
    on affiche la page
    else
    on affiche index.php?page=1

    Le pb ici c'est qu'il y a tout de même création en cache de la page non autorisée par exemple avec x > n. Vous me direz de faire ce test avant le traitement du cache, mais le souci c'est qu'il doit se faire justement en cache, car je ne connais pas avant le nombre de pages.
    Si quelqu'un a compris qq chose et à une solution, je suis preneur !!
     
  55. Furinkazan
    Furinkazan Nouveau WRInaute
    Inscrit:
    2 Novembre 2009
    Messages:
    12
    J'aime reçus:
    0
    Bon, j'ai finalement trouvé une solution. J'avais tout simplement mal conçu le site. Sinon, si ça intéresse quelqu'un, j'ai mis en place un système de templates avec caches (ou sans cache). Le tout en MVC (Model, View, Controller) qui marche nickel.
     
  56. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    @Furinkazan, un système de cache MVC ? Tu ne veux pas dire simplement un système de cache POO ? Car je vois pas comment du cache peut être MVC...
     
  57. Furinkazan
    Furinkazan Nouveau WRInaute
    Inscrit:
    2 Novembre 2009
    Messages:
    12
    J'aime reçus:
    0
    Je défini un template avec ou sans cache dans un fichier exemple.php. Ce template est effectivement un objet qui contient ce que l'on veut par exemple :
    - le fichier template associé $exemple->setTemplate($_PATH_TO_TPL."exemple.tpl.php");
    - un titre : $exemple->set('title', "le titre");
    - un array de trucs : $exemple->set('list', array("lien1", "lien2", "lien3"));
    - ...
    Dans ce fichier on effectue les traitements. (le Controlleur). Par exemple les if ( isset ( $_POST['valid'] ) ) ...

    Le template associé ne contient que les balises <div> et autres dans un fichier exemple.tpl.php. (Le Modèle).
    Dans ce fichier on affiche les objets contenus dans le template. Par exemple le titre : <DIV id="titre"><?=$title?></DIV>

    Le style est dans un fichier css. (la Vue).

    Si c'est un template avec cache, bein on affiche le cache au lieu de faire le traitement du Controlleur.

    Je posterais ici un exemple simple sous peu pour plus de détails.
     
  58. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
  59. screuscreu
    screuscreu WRInaute impliqué
    Inscrit:
    14 Janvier 2008
    Messages:
    701
    J'aime reçus:
    0
    Et pourquoi donc ? Y a t'il une différence de vitesse ? des bugs ou autres ?

    Ou juste un code pas forcement portable sur d'autres serveurs pas configurés pour comprendre les short tags ?
     
  60. Furinkazan
    Furinkazan Nouveau WRInaute
    Inscrit:
    2 Novembre 2009
    Messages:
    12
    J'aime reçus:
    0
    Ouais en fait je me suis basé sur ce site pour mes templates, en l'améliorant un peu ^^.

    Bein non, j'ai : un fichier .tpl.php (le modèle), un fichier .php (le controlleur) et un fichier .css (la vue) ...

    J'ai bien séparé la mise en forme, le traitement des données et le design.
     
  61. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    Les fichiers .tpl.php, c'est un "view" pas un "model".
    Les models c'est les accès à la base de donnée.
     
  62. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    ...
    Et la marmotte elle interprète le php cotés client en javascript ????? :mrgreen:

    Plaisanterie mise à part un template = la Vue, le fichier/classe qui injecte les données du modèle dans le template (parsing du template) = Controleur, et le modèle .... c'est ton objet de données normalement que tu utilises dans ton controleur ... donc spout à raison je vois un debut de V de C mais toujours pas de M :D.

    Le css ne peut pas être considéré comme une vue vu qu'il ne contient aucune donnée de ton modèle ...

    Je suis pas expert en MVC mais c'est comme ça que je l'interprète ...
     
  63. Furinkazan
    Furinkazan Nouveau WRInaute
    Inscrit:
    2 Novembre 2009
    Messages:
    12
    J'aime reçus:
    0
    Erf, tout dépend de comment tu vois ton modèle. Chez moi, je ne vois pas ça côté données, mais plutôt côté page du site : ainsi le modèle d'une page est bien te fichier .tpl.php .
    Effectivement, si tu regarde du côté des données, j'ai le modèle et le contrôleur dans le même fichier. Mais je pense pouvoir séparer ces deux concepts assez aisément. Va falloir que je teste tiens ! :D
     
  64. macstyle
    macstyle Nouveau WRInaute
    Inscrit:
    12 Avril 2010
    Messages:
    6
    J'aime reçus:
    0
    Pas mal merci je vais tester
     
  65. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Bonjour,

    Désolé de débarquer comme ça mais le script en 1ère page est il encore valable ?
    J'utilise le moteur de template de phpBB et niveau SQL/PHP mon site commence à être lourd, il faut que je cache le tout alors que pour l'instant je ne cache que le plus léger : la consolidation des templates.
     
  66. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Alors j'ai mis en place ton système fandecine. Merci... mais ça ne me génère que des fichiers vides! Pourquoi ?
     
  67. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    0
    Ben, faudrait voir ton script pour répondre :mrgreen:

    :arrow: MP :wink:
     
  68. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Bon en fait ça fait ça car je suis un boulet :mrgreen:
    En fait, d'après ce que j'ai compris il y a une partie à placer en entête, et l'autre en pied de page.

    Mais chez moi ça ne fonctionne pas. Quand, dans mon footer, je place un ob_end_flush();, ça ne fait rien.
    J'ai bien un ob_start() au début de mon script mais on dirait que quelque chose lui fait générer le contenu avant.

    Un echo annule l'ob_start()?
     
  69. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Salut,

    Est il normal que certains fichiers mis en cache soient des fichiers qui :
    1-Ne sont pas rewrité même si l'intégralité du site l'est ?
    2-Contient des éléments en sup. dans le nom du fichier en cache ( par exemple, j'ai 8 fois "en-" qui se suit dans plusieurs fichier)?
    3-à l'origine n'existe pas sur mon serveur?

    Merki
     
  70. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Et bien ça marche nickel :)
    Merci
     
  71. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    PS : comment faire pour que le cache soit regénéré tous les jours ?
    Il faut supprimer tous les fichiers caches ou modifier la durée de validité (et comment) ?
     
  72. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 712
    J'aime reçus:
    2
    Lecture de la durée dans un ficher externe, qui pourra définir plusieurs durées qu'on pourra modifier à volonté.
    Ou script de vidage du répertoire sur cron.
     
  73. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Et si je fais simplement
    Code:
    if (@filemtime($fichierCache)<time()-(3600*24)) { //si la page n'existe pas dans le cache ou si elle a expiré
    ?
     
  74. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 712
    J'aime reçus:
    2
    Si un jour tu veux changer la durée, tu changes toutes les pages...
     
  75. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Bonjour,

    Quelqu'un peut il me dire pourquoi je trouve en cache des fichiers du style :
    -cache--?sourcedir=http:--www.boomong.com-bbs--data-1.txt???
    -cache-?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+CinmaEtMusiqueDePapaExtraitsDeMusiqueEtDeFilmsEnStreaming+(Cin%C3%A9ma+et+Musique+de+Papa+!+Extraits+de+Musique+et+de+Films+en+Streaming)

    ou encore des fichiers aillent une taille à zéro ?

    Merci
     
  76. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Parce que le script cache toutes les requêtes même les 404 du moins dans la version de base.

    Ainsi si je veux pourrir ton site et remplir ton disque je fais un script qui appel

    une-de-tes-plus-grosse-page.php?dummy=x

    avec X de 1 à 500000 et tu te retrouve avec un cache et un disque remplit :D
     
  77. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Oki, c'est ce que j'avais constaté également. Du coup j'effectue une vérification d'url.
    Par contre, je ne sais toujours pas pourquoi j'ai des fichiers en cache avec une taille de zéro??
     
  78. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Page vide je dirai ... faut voir ce que te retourne ton php sur ces pages ...
     
  79. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Oui, page vide du coté de la mise en cache sur quelques fichiers...

    Pour pallier à quelques soucis dont celui la, je vérifie que l'url de la page appelé correspond bien à la l'url qui doit normalement s'affiché. Ensuite lors de l'appel au fichier en cache, je vérifie la taille de la page mise en cache, si elle est à zéro, je l'efface et la remet en cache.
    J'ai peut être merdé quelque part mais je ne vois pas ou ??
     
  80. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Et donc elle peut potentiellement resté à 0 si le contenu est vide :mrgreen:
     
  81. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    oui et je ne sais toujours pas pourquoi ???
     
  82. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Ben parce que ta page est vide, vérifie les urls qui le font. Cela peut arriver aussi lors d'une segfault une erreur ou autre ...
     
  83. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Quoi c'est ça une segfault :?:
     
  84. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 712
    J'aime reçus:
    2
  85. petitchevalroux
    petitchevalroux WRInaute discret
    Inscrit:
    31 Mai 2006
    Messages:
    164
    J'aime reçus:
    0
    Un crash complet de PHP ;)
     
  86. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Harff, j'ai crue que c'était une frappe de faute ^^...
     
  87. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 473
    J'aime reçus:
    1
    Bon ben je suis en cours de test sur une de mes pages :) Objectif : diminuer un peu la tension sur mon amie "Base de Données" :) Le code est très rapide à prendre en main, même si bien évidemment il faut l'adapter à chaque site. Et tout cas pour Mon bot Google, parce que Mossieur s'est installé à résidence
     
  88. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    J'ai un souci avec ce script.
    Mon fichier caché commence par <?xml
    Du coup, impossible de le lire car ça m'affiche
    Parse error: syntax error, unexpected T_STRING on line 1

    En effet il bloque sur l'ouverture <? ...

    Comment faire ?
     
  89. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 809
    J'aime reçus:
    242
    - Désactiver les short_open_tag si tu ne les utilise pas (c'est déconseillé de les utiliser)
    ou
    - Enregistrer le cache dans une extension qui ne sera pas parsée par PHP

    Pour les short_open_tag, soit dans php.ini ou via .htaccess:
    Code:
    php_flag short_open_tag off
    
     
  90. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Je vous propose une petite optimisation qui me fait gagner 4 à 10 % de poids sur mes fichiers.
    Attention, source illisible après cette manip.
    Fonctionne sur tous les navigateurs.

    Dans la partie footer :
    Code:
    $contenuCache = ob_get_contents(); // on recuperre le contenu du buffer
       
    //On supprime les caractères inutiles
    $contenuCache = str_replace(CHR(10),"",$contenuCache);
    $contenuCache = str_replace(CHR(7),"",$contenuCache);
    $contenuCache = str_replace(CHR(13)," ",$contenuCache); 
    $contenuCache = str_replace("  "," ",$contenuCache); 
    
       ob_end_flush();// on termine la bufferisation
       if($cacheactive == 1) {
       $fd = fopen("$fichierCache", "w"); // on ouvre le fichier cache
       if ($fd) { 
          fwrite($fd,$contenuCache); // on ecrit le contenu du buffer dans le fichier cache
          fclose($fd);
    	}
        }
    } else { // le fichier cache existe déjà
    include ($fichierCache); // on le copie ici
    }
    Je vous laisse le soin de faire un Array de remplacement si ça vous parait plus clean.
     
  91. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 473
    J'aime reçus:
    1
    J'ai testé à l'arrache, ca m'a tout planté mes javascripts

    Bon sinon, je voulais faire un post dédié à Fandecine mais finalement vais juste faire une réponse. Suis feignant :) Bon alors je vois trainer ce post épinglé depuis pas mal de temps, et depuis pas mal de temps... ben je l'ai laissé là sans rien faire. Et puis je me suis dit, il faut que je le teste vraiment. J'ai testé. Vraiment. Résultat : ma machine n'est plus à genoux du tout, je vais même en profiter pour prendre un serveur moins dimensionné et donc moins cher. Et je vais étendre le cache à l'ensemble du site (pour l'instant il ne l'est qu'à quelques rubriques gourmandes)

    Je vous montrerais bien des graphs pour vous montrer mais impossible de trouver avec des échelles significatives :) Bref, un très grand merci à Fandecine.
     
  92. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Exact, une des lignes fous tout JS en l'air, il suffit de tester en les enlevant une à une pour voir.
     
  93. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 473
    J'aime reçus:
    1
    Voui je vais regarder ca quand je généraliserais un peu le cache. Après que la source ne soit plus lisible, c'est pas grave ca. De toute façon, c'est pas cette source où on voit les bugs :)
     
  94. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    0
    Depuis le temps que je milite pour ce genre de mise en cache :mrgreen:

    Mais ce post date un peu et depuis j'utilise un système maison bien plus souple et plus puissant :wink:

    Si je trouve le temps de faire un article ... ou si vous me le demandez gentiment :mrgreen:

    PS: je viens de voir qu'il n'y a que 22 recos pour ce post 8O Quel scandale :mrgreen: aller, un petit effort :wink:
     
  95. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 237
    J'aime reçus:
    0
    Ca m'intéresse !

    As tu trouvé le moyen de glisser des données non cachées en plein milieu des pages ?
     
  96. finstreet
    finstreet WRInaute accro
    Inscrit:
    10 Juillet 2005
    Messages:
    13 473
    J'aime reçus:
    1
    Ah oui ca m'intéresse aussi ca. Genre un élément qui doit être mis à jour mais c'est juste un tout petit truc
     
  97. fandecine
    fandecine WRInaute passionné
    Inscrit:
    2 Avril 2005
    Messages:
    1 886
    J'aime reçus:
    0
  98. Madrileño
    Madrileño Membre Honoré
    Inscrit:
    7 Juillet 2004
    Messages:
    32 136
    J'aime reçus:
    273
    Merci Fandecine. ;)
     
  99. focoweb.fr
    focoweb.fr Nouveau WRInaute
    Inscrit:
    23 Novembre 2010
    Messages:
    46
    J'aime reçus:
    0
  100. Orsam
    Orsam WRInaute discret
    Inscrit:
    26 Février 2011
    Messages:
    66
    J'aime reçus:
    0
    Bonjour à tous,

    J’utilise ce code depuis longtemps maintenant et c'est un vrai bonheur pour les serveurs !!!

    Merci beaucoup.

    Orsam
     
Chargement...
Similar Threads - [script] cache PHP Forum Date
[script] php class cache : accélérez vos pages ! Développement d'un site Web ou d'une appli mobile 8 Mars 2011
[script] Mise en cache des pages PHP - V2 Développement d'un site Web ou d'une appli mobile 6 Août 2010
[script] miniature et cache d'image à la volée Développement d'un site Web ou d'une appli mobile 13 Décembre 2013
[script] anti spam referrer Développement d'un site Web ou d'une appli mobile 20 Août 2015
[script] changer un texte en images Développement d'un site Web ou d'une appli mobile 10 Décembre 2013
[Script] Ajouter les boutons de partage des réseaux sociaux sans le tracking Développement d'un site Web ou d'une appli mobile 25 Août 2013
[Script] Clone légal? Développement d'un site Web ou d'une appli mobile 7 Avril 2013
[script] Comment charger un script différent suivant l'heure ? Help ! Développement d'un site Web ou d'une appli mobile 4 Octobre 2012
[script] Oméga-Annonces 1.5.1 - Php/MySqL Développement d'un site Web ou d'une appli mobile 4 Septembre 2012
[script] tracking formulaire d'affiliation Développement d'un site Web ou d'une appli mobile 5 Août 2012
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice