Partage
  • Partager sur Facebook
  • Partager sur Twitter

Vider la cache automatiquement

Vider la cache

    24 mars 2020 à 12:09:09

    Bonjour

    j'ai une nouvelle version de mon site web je veut le lancer mais mes utilisateur ne le verons pas puisqu'ils ont anciennne version dejà en cache 

    Je me demande alors comment faire jnai vu des tuto sur le web mais le truck est que le versionning est limité a la date du jour 

    Du coup je me demande comment faire un script en javascript qui change le lien de mes page chaque un mois 

    Merçie d'avance

    • Partager sur Facebook
    • Partager sur Twitter

    détermination réussite savoir 

      24 mars 2020 à 12:32:28

      Bonjour.

      Pourrais tu être plus précis s'il te plaît, car c'est à n'y rien comprendre.

      Que veux-tu dire par versionning  et par change le lien de mes pages chaque mois ?

      -
      Edité par Lartak 24 mars 2020 à 12:32:59

      • Partager sur Facebook
      • Partager sur Twitter

      Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

        24 mars 2020 à 23:44:26

        Ok le truck est que mon site web es dejà en ligne maintenant j'ai faire des modifications je veut savoir quoi faire  pour que mes utilisateur voies mes modification
        • Partager sur Facebook
        • Partager sur Twitter

        détermination réussite savoir 

          25 mars 2020 à 15:19:31

          Astuce simple, ajoute pour les urls de tes ressources (css, js, image, etc.) un ?v=avec un numéro

          Exemple :

          <script src="/app/main.js?v=1"></script>


          Si tu génère ta page avec un langage back comme php, tu peux y mettre une valeur que tu défini dans le code

          -
          Edité par quenti77 25 mars 2020 à 15:20:44

          • Partager sur Facebook
          • Partager sur Twitter
            25 mars 2020 à 18:26:27

            Oui je connais cette methode ce que je veut c'est un script qui serai capable d'automatiser cette action car j'ai assez de lien dans mes page et imaginer si je doit faire celà pour chacun des liens de mes différents pas
            • Partager sur Facebook
            • Partager sur Twitter

            détermination réussite savoir 

              25 mars 2020 à 19:13:54

              il faut pas que ce soit le js côté front qui le fasse mais le langage back que tu utilise.

              Exemple en php : https://repl.it/repls/AngryAlienatedLivedistro

              Faire un script front ne peut de toute façons pas marcher vu que le fichier css et ou js sera déjà charger avant ou faudrait faire les chargements de manière dynamique mais bonne chance pour les utilisateur qui auront s'ils ont une connexion un peu lente (3g en mobile par exemple) un site sans design, brute.

              Après si tu n'a pas de langage back mais que tu veux le faire il faudra peut-être se tourner sur des techno comme webpack ou autre qui vont te générer les choses. Mais ils le font via une commande quand tu le demande et pas (de base) de manière automatique. Car je pense que ce n'est pas la bonne solution.

              -
              Edité par quenti77 25 mars 2020 à 19:14:52

              • Partager sur Facebook
              • Partager sur Twitter
                25 mars 2020 à 20:15:23

                Mercie de me repondre mais comment intégrer ce code a mes page
                • Partager sur Facebook
                • Partager sur Twitter

                détermination réussite savoir 

                  25 mars 2020 à 20:29:48

                  Bonsoir.

                  Il faudrait déjà que tu nous dise comment tu voudrais procéder d'après ce qu'a dit quenti77, car on ne sait même pas si tu utilises un langage serveur et si oui nous ne savons pas lequel tu utilises.

                  Donc sans savoir ça, nous ne pouvons pas t'aider plus.

                  Si tu veux te tourner vers Webpack, il n'y a pas de secret, il faut que tu te documentes dessus.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

                    25 mars 2020 à 20:59:52

                    Est-ce que tu as fait quelque chose de particulier avec la configuration de ton serveur ?

                    Par défaut tu devrais avoir un header Last-Modified ou un ETag. Le navigateur compare ce header avec ce qu'il a déjà en cache et décide ou non de faire la requête complète. Tu peux aussi désactiver le cache pour les contenus censés être dynamiques.

                    Je comprends l'intérêt d'ajouter un paramètre pour des contenus dynamiques quand on ne veut pas que l'application dépende d'une configuration spécifique mais ETag / Last-Modified sont implémentés par défaut partout il me semble.

                    Note aussi que le cache peut avoir une date d'expiration avec un header Expires ou Cache-Control. Tu peux vérifier que c'est en place. Les utilisateurs n'ont pas forcément besoin de voir tes modifications immédiatement si tu ajoutes des fonctionnalités (le contenu dynamique ne devant pas avoir de cache, ou alors un cache qui expire plus rapidement que les assets). Tu dois par contre t'assurer de ne publier sur le serveur de production que des versions fonctionnelles du site, et faire tes tests sur un serveur de développement (qui peut être local).

                    -
                    Edité par tabouretBleu 25 mars 2020 à 21:04:52

                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 mars 2020 à 2:16:23

                      J'ai essayer des methode avec le .htaccess mais en vin rien ne fonctionne 

                      Avec le php je c'est pas où inserer le script php dans toutes mes page? Où seulement que dans mon index 

                      Concernant le etag on ma dit que si le site est dejà en cache comme le mien le Etag ne fonctionera pas 

                      Merçie de me repondre @tabouretbleu et @lartak

                      • Partager sur Facebook
                      • Partager sur Twitter

                      détermination réussite savoir 

                        26 mars 2020 à 13:41:56

                        À quoi ressemble le header d'un fichier type que tu veux gérer ? Regarde dans l'onglet réseau de la barre de développement de ton navigateur

                        edit. Pour répondre quand même à ta question, ce que quenti propose c'est d'appeler la fonction asset partout où tu as une URL, donc il faut faire ça partout où c'est nécessaire. La fonction elle-même par contre tu peux la charger avec include/require

                        -
                        Edité par tabouretBleu 26 mars 2020 à 13:49:34

                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 mars 2020 à 19:41:41

                          Bonjour

                          Perso, j'utilise le segment suivant avant  tout 

                          <?php
                           header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
                           header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
                           header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
                           header("Cache-Control: post-check=0, pre-check=0", false);
                           header("Pragma: no-cache");
                           header("Connection: close");
                           define( "DEBUGGING", true ); // or false in production enviroment
                          
                          ?>
                          <html> <head> 
                          
                          



                          • Partager sur Facebook
                          • Partager sur Twitter
                            27 mars 2020 à 21:55:14

                            Ton exemple est partiellement incorrect Yaroo, car pour Last-Modified tu indiquerai pour chaque page qu'elle a été modifiée le jour même, sauf qu'une page n'est modifiée que lorsque son contenu (ou tout du moins une partie de celui-ci) à réellement été modifié.

                            Sinon, je n'ai pas spécifiquement beaucoup de connaissance dans le SEO, mais je pense qu'à la première ligne tu vas avoir un soucis, si tu mets une date d'expiration inférieure à la date actuelle que tu vas avoir des problèmes.

                            D'après une petite recherche :

                            • Le header Expires contient la date/heure après laquelle la réponse est considérée comme dépréciée.
                              Les dates invalides, telles que la valeur 0, représentent une date dans le passé et signifient que la ressource est expirée.

                            -
                            Edité par Lartak 27 mars 2020 à 21:55:27

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.

                              28 mars 2020 à 11:21:08

                              Ne m'en veut pas, mais c'est l’entête utilisé par  Fluxbb et oracle 

                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 mars 2020 à 13:57:04

                                bonjour,

                                expires n'a rien à voir avec cache: le cache avec les options no-store et no-cache devrait suffire, je trouve que c'est la meilleure réponse et il suffit de le mettre 1 seule fois dans le header de l'index :) 

                                Pragma c'est une directive de rétro compatibilité pour les anciens navigateurs, HTTP/1.0 à mon avis plus très utile de nos jours.

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  29 mars 2020 à 20:30:03

                                  On ne veut pas empêcher totalement la mise en cache.

                                  J'ai l'impression que les vieux headers sont plus à destination des serveurs proxy que des navigateurs mais c'est pas mon domaine

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    30 mars 2020 à 17:53:45

                                    Bonsoir et merçie pour vos reponse j'ai resolu mon probleme avec un .htaccess  

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    détermination réussite savoir 

                                      30 mars 2020 à 18:40:53

                                      BenDango

                                      Minimum de respect serai que explique comment ta résolu le problème

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        30 mars 2020 à 19:07:42

                                        J'ai utiliser dans le .htaccess des entête comme pregma et no cash sur mes images et .css
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        détermination réussite savoir 

                                        Vider la cache automatiquement

                                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                        • Editeur
                                        • Markdown