la cache pour les images

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour toute la communauté,

J'ai créé un diaporama des images dans mon site, mais le telechargement des images est lente est-ce qu'il y a pas une fonction qui peut me permettre de mettre mes images en cache?

Merci de m'aider si possible

Version de Drupal : 

Je ne suis pas sur qu'il y ait de solutions miracle pour cela. Drupal a une option de mise en cache, mais cela n'ira pas pour ce que tu souhaite faire. En effet, pour pouvoir visionner une image, il faut bien la télécharger, cache de drupal ou pas. Or, si l'image est trop lourde, c'est long.

Ce genre de cache se situe plutôt au niveau du navigateur. Une fois que tu as téléchargé une image une fois, le navigateur la met dans un dossier temporaire sur ton ordi, et la prochaine fois que tu visionne le site, il va chercher les images sur le disque dur plutôt que sur le site.

Mais cela ne supprimera pas le fait de devoir les téléchager au moins la première fois, de plus, certains d'utilisateurs suppriment carrément le cache sur leur navigateur.

Quelles tailles font tes images ? N'y a t'il pas moyen de les optimiser ?

slt,

Au fait les la taille de l'image ne dépendra pas de moi parce que le diapo que j'ai fait est dynamique, il prend les images uploader par les utilisateur et le fait passé voyez la réalité ici

http://elpaso-knetworks.nexen.net/tests/soukafrica/soukafrica/

cliquez sur l'image pour lancer le diaporama et mon souci est d'avoir même un code js de mise en cache.

Voyez comment je recupère les images dans le rertoire files:

<?php
 
$dossier
= './files/images';
$d = dir($dossier);
while (
$entry = $d->read())
{
if(
$entry != "." && $entry != ".."){
$lien = $dossier .' '.$entry;
$lien = str_replace('Object ', 'files/images/', $lien);
$malace.=$entry.",";
?>

<?php
//echo $malace;
}
}


$touts=substr($malace, 0, strlen($malace)-1);
//echo $touts;
$d->close();



echo
'<script language="JavaScript">';

echo
"var bauto = 0;";
echo
'var dossier="files/images/";';
echo
'var numero = 1;';
echo
'function objet() {';
echo
'this.length = objet.arguments.length;';
echo
'for (var i = 0; i < this.length; i++) this[i+1] = objet.arguments[i];';
echo
'}';

//afficher les noms et extensions des imagess du répertoire 
echo " var cha = new String('".$touts."');";
echo
'var nom=cha.split(",");';
 
//echo 'alert(nom[0]);';
echo'</SCRIPT>';
 
?>

//alert(nom[4]);
function suivante() {
numero += 1;
if (numero == nom.length + 1) numero = 1;
document.image.src = dossier+nom[numero];
}

function precedente() {
numero -= 1;
if (numero == 0) numero = nom.length;
document.image.src = dossier+nom[numero];
}
function changer() {
numero += 1;
if (numero == nom.length + 1) numero = 1;
document.image.src = dossier+nom[numero];
roll=setTimeout("changer()", 1500);
}
function initial() {
window.clearTimeout(roll);
document.image.src = dossier+nom[numero];
}
function auto() {
if (bauto == 0) {
bauto =1; changer();
document.automat.src = "img/souk.gif";
document.automat.title = "Stop";
}
else {
bauto =0; initial();
document.automat.src = "img/jacks.gif";
document.automat.title = "Auto";
}
}
//-->