Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Empecher le cache d'une partie de ma page

polo1627, le jeudi 21 août 2008 à 10:50:38
Bonjour à tous,

Voilà plusieurs jours que je me suis penché sur le problème de cache de ma page d'accueil de mon site inetrnet.
En effet quand je mets à jour ma page en mettant de nouvelles news, si les visiteurs n'actualisent pas leur page, ils ne voient pas ma mise à jour. J'ai donc supposé que c'était un problème de cache.

En cherchant sur les forums j'ai trouvé qu'il y avait un code à rajouter pour justement empêcher le cache sur ma page et qui est:
<META HTTP-EQUIV="Pragma" content="no-cache">

Mais le problème et si j'ai bien compris c'est que ça empêche le cache sur la page entière, hors moi je voudrai laisser le cache sur tout sauf sur l'élément DIV où se trouve mes news.

Donc voilà ma question: peut-on empêcher le cache seulement sur un élément DIV d'une page HTML et laisser le reste en cache ???

Merci de vos réponses par avance

(je précise que je débute dans la création de site internet, j'ai donc peu de connaissance mais ne demande qu'à apprendre)
Configuration: Windows XP
Firefox 3.0.1
Répondre à polo1627  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Anonyme, le jeudi 21 août 2008 à 10:56:58
Bonjour

Utilises des "Berkeley sockets" ! Le cache c'est utile ; même si tu renouvelles les infos souvent !

(On aura quoi si ton serveur est bloqué et que la portion de la page renouvelée n'est plus en cache ?)

http://fr.wikipedia.org/wiki/Berkeley_sockets

Merci à d'autres pour les détails car je ne sais pas les mettre en œuvres
Du cache j'veux du cache :))
Répondre à Anonyme

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Anonyme, le jeudi 21 août 2008 à 11:10:39
Bonjour


Voici un exemple d'une requête qui appelle une page php qui affichera l'heure server (actualisation toutes les minutes).

function XHRQuery()
{
        var XHR; // on déclare l'instance
        if (window.XMLHttpRequest) XHR = new XMLHttpRequest(); // Firefox, Opera, Konqueror, Safari, IE 7...
        else if (window.ActiveXObject) XHR = new ActiveXObject('Microsoft.XMLHTTP'); // Internet Explorer < 7.
        else alert('JavaScript : votre navigateur ne supporte pas les objets XMLHttpRequest...'); // Navigateur ancien.
 
        XHR.open('POST','heure.php',true);
/*Ouverture de la connexion avec heure.php, le premier paramètre indique une méthode
(POST dans notre cas), le deuxième la page à contacter, le troisième le type de connexion
(true = asynchrone, false = synchrone), true est recommandé.*/
        XHR.onreadystatechange = function() // attribution de la fonction
        {
                if (XHR.readyState == 4)
                {
                        document.getElementById('give_me_hour').innerHTML = XHR.responseText;
                }
 
                else
                {
                        document.getElementById('give_me_hour').innerHTML = '<span class="wait">Veuillez attendre, opération en cours...</span>';
                }
        }
        XHR.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        var data = 'pseudo='+escape("Gérard")+'&email='+escape("gerarddupond@monemail.com");
/*Ici, on veut juste l'heure, mais comme nous utilisons la méthode POST, il est possible
de mettre des données dans data, on va donc mettre un pseudonyme et un email que PHP nous
retournera en plus de l'heure. De plus, à la place du texte dans escape, on peut mettre
un nom de variable, exemple : escape(pseudo).*/
        XHR.send(data); //Envoi des données par la méthode post.
}
var heure = setInterval('XHRQuery()', 60000);

//heure.php
$time = time();
$heures = date('H', $time);
$minutes = date('i', $time);
$secondes = date('s', $time);
echo 'Bienvenue '.$_POST['pseudo'].', votre email est '.$_POST['email'].' et il est '.$heures.':'.$minutes.':'.$secondes.'.';

Récursivité :

Attention ! La récursivité n'est pas assuré. Ainsi du code javascript présent dans la page chargé via XMLHttpRequest ne sera pas exécuté.

Il faut extraire le code javascript depuis la page mère afin de l'exécuter.

Le code suivant exécute le javascript présent entre des balises <script></script> dans la page fille, après l'avoir chargé comme décrit précédemment :

if (XHR.readyState == 4)
{
        document.getElementById('contenu').innerHTML = XHR.responseText;
        var js = document.getElementById('contenu').getElementsByTagName('script');
        for( var i in js )
        {
                eval(js[i].text);
        }
}

Source 'XMLHttpRequest' sur Wikipedia® : http://fr.wikipedia.org/wiki/XMLHttpRequest

Merci
Au mieux possible :))
Répondre à Anonyme

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
polo1627, le jeudi 21 août 2008 à 12:45:00
Merci pour vos réponses

Le problème, c'est que vu mon niveau je n'ai absolument rien compris. Quand j'ai vu tout le code j'ai commencé par avoir peur, puis ensuite j'ai essayé de comprendre, j'ai été voir également sur les liens mais rien à faire, je patauge complètement !!!

En fait je m'attendais juste à une ligne de commande à glisser au niveau de mon élément DIV et de son contenu que je veux actualiser à chaque fois qu'une personne visite mon site tout en laissant le reste de la page dans le cache.

Mais apparemment ce n'est pas aussi simple. Donc pour l'instant je vais mettre la ligne de code avec le "no-cache" ça sera mieux que rien et je vais continuer à essayer de comprendre et maîtriser les éléments que vous m'avez donné dans vos réponses.

Merci encore, et si d'autres personnes avaient une autre solution n'hésitait pas.
Répondre à polo1627

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Anonyme, le jeudi 21 août 2008 à 12:53:51
Bonjour


Le problème, c'est que vu mon niveau je n'ai absolument rien compris.
Je te rassure mon niveau en programmation n'est pas très haut ; je touche même le sol :))


Une question revient souvent sur les forums dédiés au JavaScript : Peut-on réaliser une requête sur le serveur sans (re)charger une page et sans utiliser d'astuces telles qu'une frame invisible ou une fenêtre popup ? Jusqu'à peu, je pensais que la réponse était aussi claire que négative. Et puis j'ai découvert XMLHTTPRequest et la réponse est devenue : « Oui ! » Mais les documentations sur ce sujet ne se bousculent pas sur le net, notamment en français. D'où cette petite introduction aux objets XMLHTTPRequest (que nous appellerons ainsi même si le nom diffère d'un navigateur à l'autre). Pour l'instant, c'est uniquement compatible Internet Explorer et Firefox mais je crois avoir lu quelques informations intéressantes pour Opera[1]. Quant à Netscape, bah... je ne suis pas nécrophile.


http://www.toutjavascript.com/savoir/xmlhttprequest.php3


Merci
La recherche sur le web pour savoir et tout savoir c'est pas pareil :))
Répondre à Anonyme

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Anonyme, le jeudi 21 août 2008 à 13:33:17
Bonjour

Tutoriel AJAX (Asynchronous Javascript And XML)
La création de pages web dynamiques coté client

http://www.xul.fr/xml-ajax.html

Merci
Ça avance :)) ?
Répondre à Anonyme

Résultats pour empecher le cache d'une partie de ma page

[Google] en cache/pages similaires disparus (Résolu) Bonjour Depuis quelques mois lorsque je fais une recherche sur google les fonctions En cache et Pages similaires pourtant bien pratiques n'apparaissent plus en dessous des résultats. je voudrai savoir d'ou vient ce problème, s'il... www.commentcamarche.net/forum/affich-2433792-google-en-cache-pages-similaires-disparus
Affichage de page INTERNET automatiques (Résolu) Bonjour, Souvent quand je suis sur INTERNET ya des pages de publité d'antivirus, des pages de YESMESSENGER et d'autres publicités J'aimerai empecher que ces pages d'INTERNET s'ouvrent automatiquement .......... MERCI www.commentcamarche.net/forum/affich-9093472-affichage-de-page-internet-automatiques
Macro Excel: Imprimer tous onglets sauf 1 (Résolu) Bonjour, Je souhaite imprimer tous les onglets de mon classeur EXCEL sauf le dernier (il s'agit d'un modèle ".xlt" qui sera modifier). Le premier et le dernier sont des onglets cachés (premier = page de garde et dernier = page de paramètres... www.commentcamarche.net/forum/affich-8011105-macro-excel-imprimer-tous-onglets-sauf-1

Résultats pour empecher le cache d'une partie de ma page

[Internet] Le cache d'Internet ExplorerLorsque vous naviguez sur le WEB, votre navigateur met les pages Web dans un cache, c'est-à-dire qu'il enregistre les pages, images et autres fichiers sur votre PC. Grâce à ce cache, votre navigateur n'aura plus à télécharger, à chaque visite, la... www.commentcamarche.net/faq/sujet-2237-internet-le-cache-d-internet-explorer
GParted (Gnome partition editor)GParted (Gnome partition editor) Introduction Qu'est-ce que GParted ? Quel est le principal intérêt dans l'utilisation de GParted? Où peut-on se procurer GParted? Comment utiliser GParted ? Réduire la partition NTFS Créer de nouvelles... www.commentcamarche.net/faq/sujet-11611-gparted-gnome-partition-editor
On peut cacher le code source d'une page HTMLMythe: On peut cacher le code source d'une page HTML. Réalité: FAUX. Explications: Pour pouvoir afficher une page web (HTML), le navigateur doit - à un moment où un autre - avoir le code HTML en clair. Il y a donc toujours moyen de le... www.commentcamarche.net/faq/sujet-5712-on-peut-cacher-le-code-source-d-une-page-html

Résultats pour empecher le cache d'une partie de ma page

Cache marque page sur firefox (Résolu)Bonjour, j'utilise le logiciel FIREFOX, j'ai mis quelques site en marque page. J'aimerai savoir comment faire (si cela est possible...) pour que les autres personnes qui utilisent mon PC ne puisse pas accéder a mes marques pages. EST CE... www.commentcamarche.net/forum/affich-1320494-cache-marque-page-sur-firefox
Cacher la page (Résolu)Bonjour, Je suis entrain de faire un site de type page perso. J'ai commencer comme d'habitude par la page index.html. Mais en la modifiant, c'est plus le fichier "index.html" qui s'affiche par défaut mais 'Index of". En fait... www.commentcamarche.net/forum/affich-5920746-cacher-la-page
(fichiers cachés + partions) non accécible (Résolu)Bonjour, j'ai pas la possibilité d'ouvrir mes partitions et d'afficher mes fichiers cachés. pls une solution. pls www.commentcamarche.net/forum/affich-5631062-fichiers-caches-partions-non-accecible

Résultats pour empecher le cache d'une partie de ma page

PagesJaunes lance un service de renseignements téléphoniques par SMS(Paris - Relax news) - Le groupe PagesJaunes a annoncé, mardi 22 avril, le lancement d'un service de renseignement téléphonique par SMS. En envoyant un SMS au 32 008, les particuliers peuvent obtenir gratuitement, les coordonnées d'un particulier ou... www.commentcamarche.net/actualites/pagesjaunes-lance-un-service-de-renseignements-telephoniques-par-sms-5846520-actualite.php3

Résultats pour empecher le cache d'une partie de ma page

AJAX (Asynchronous Javascript And XML)Introduction à AJAX AJAX (Asynchronous Javascript And XML, traduisez Javascript asynchrone et XML) est une méthode de développement web basée sur l'utilisation d'un script Javascript pour effectuer des requêtes web à l'intérieur d'une page web... www.commentcamarche.net/contents/ajax/ajax-intro.php3