Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    mars 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : mars 2003
    Messages : 314
    Points : 133
    Points
    133

    Par défaut Cherche avis pour améliorer affichage

    Bonjour,

    Je cherche des avis pour améliorer la rapidité d'affichage du bloc central de ma page index

    https://www.timbres-de-france.com/index.php

    Toutes les images (sauf le timbre au hasard) sont incluses a partir du code ci-dessous (un "include" pour chaque série d'images)
    Les index des images sont créés chaque nuit à minuit et chargés dans une table utilisée en suite pour la boucle (for($b=0;$b<$lg;$b++))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
    // vérification des données
    if(isset($base_gene) && $base_gene<>'' && $base_gene<>'x')
    {
    //-------------- Affichge des derniers timbres émis -----------------------------------------------
    // on teste si $compteur de vaut pas 0
    if (count($lig_id_dernier)>1 )
    {
    echo'<FONT color="00CCFF"><b>Les dernières émissions de la Poste Française</b></font><p>&nbsp;</p>';
    $chemin='x';
    $largeur=0;
    $lg=count($lig_id_dernier);
    for($b=0;$b<$lg;$b++)
    {
    if($lig_id_dernier[$b]<>'' && $lig_id_dernier[$b]<>'*')
    {
    	$query = 'SELECT * FROM collec_0 Where id='.$lig_id_dernier[$b];
    	$result = mysqli_query($base_gene, $query);
    	while ($data = mysqli_fetch_assoc($result))
    	{ 	
    			// recherche du chemin de la photo
    			if($data['chemin_photo']<>'x')
    			{
    			$tab=explode('/',$data['chemin_photo']);
    			if(isset ($tab[1])) $chemin='image/'.$tab[1].'/'.trim($data['photo']);
    			}
    			// recherche de l'image
    			if(file_exists($chemin))
    			{
    				$img_miniature=miniature_image($chemin);
    				$dim=explode('width=',$img_miniature);
     
    				$largeur=$largeur+$width+3; 
    				//echo $largeur;
    echo '<td align="center" ><a href="collection/pop.php?'.$data["desi"].'&ligne='.trim($data['id']),'"><img src='.$img_miniature.'/></a></td>';
    echo '   ';
     
    if($largeur>600) { echo '<tr>';	$largeur=0; }							
    			}
     
    	} // fin de  while ($data = mysql_fetch_array($req))
    }// fin de if($lig_id_dernier[$b]<>'')	
    } // fin de for($b=0;$b<$_SESSION['cp'];$b++)
     
    } // fin de if (count($lig_id_dernier)>0)
     
    //----------------------------------Fin d'affichage des données ---------------------------------------------						
    } // fin de if(isset($base_gene) && $base_gene<>'' && $base_gene<>'x')
    ?>
    70 ans quelques dents en moins, mais toujours envie d'apprendre
    Le temps passe 72 ......

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    5 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 5 364
    Points : 14 251
    Points
    14 251

    Par défaut

    Je suis pas certains que ton code soit fautif ici.

    Quand on regarde les graphique de chargement , on voit bien que ce qui prend du temps c'est le téléchargement des images depuis le serveur :

    Nom : load.png
Affichages : 13
Taille : 89,5 Ko

    Ce qui veux dire que :
    - le serveur ne semble pas très rapide (qui est ton hébergeur ?)
    - les images pourrait sans doute être optimisées (dommage de télécharger une image en 400*500 pour afficher une 40*50 par exemple)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    14 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 14 068
    Points : 28 427
    Points
    28 427

    Par défaut

    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       $img_miniature=miniature_image($chemin);
    Que fait cette fonction ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $largeur=$largeur+$width+3;
    Quel intérêt de "calculer" la largeur ??
    Alors qu'on peut définir des dimensions en CSS pour les images.
    Par ex. :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #colonne_gauche img { 
      max-width:50px;
      max-height:50px;
    }

    Il serait en effet judicieux d'avoir, pour chaque image, une "miniature" de 50 x 50 px maxi.
    Voir : Fonctions de redimensionnement d'images

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($largeur>600) { echo '<tr>';	$largeur=0; }
    Ce n'est pas très "responsive friendly"...
    Tu devrais supprimer tout bonnement toute la structure en <table>, qui n'a pas lieu d'être ici.
    Tu as des <td> et <tr> qui se promène un peu n'importe où (sans balise <table>)

    => CORRIGE ton code.


    Je t'invite aussi à passer la page au validateur : https://validator.w3.org
    Tu as notamment une balise <style> APRES </head>, alors qu'elle doit être placée AVANT.
    Et aussi :
    • align="center" est obsolète. Il faut le remplacer par du CSS : style="text-align:center;" ou margin:0 auto; (selon le contexte).
    • <FONT color="00CCFF"> est aussi obsolète.
    • ...
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  4. #4
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    mars 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : mars 2003
    Messages : 314
    Points : 133
    Points
    133

    Par défaut

    Bonjour,

    J'ai bien pensé à stocker les images miniatures (elles sont créées par une fonction) mais je n'ai pas trouver
    la solution pour les stocker temporairement (1 journée)
    je peux les créer en même temps que je récupères tous les index, mais après je n'ai pas trouver comment les installer
    dans un dossier "tempo" sur le serveur.
    j'ai aussi pensé utiliser des objets qui seraient mes images mais là je n'ai encore regardé suffisamment la doc

    Je vais regarder ce que tu me dis pour les balises et tous tes conseils en général

    Bonne journée
    70 ans quelques dents en moins, mais toujours envie d'apprendre
    Le temps passe 72 ......

  5. #5
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro
    Webdesigner
    Inscrit en
    août 2008
    Messages
    14 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 14 068
    Points : 28 427
    Points
    28 427

    Par défaut

    Bonjour,

    Pourquoi de façon "temporaire" ??

    Il suffit de créer chaque miniature en même temps que tu télécharges l'image, non ?

    A moins que tes images soient mises "manuellement" dans le dossier ?
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Pose ta question, tu seras idiot une seconde. Ne la pose pas, tu seras idiot toute ta vie."
    Albert Einstein (1879-1955).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

Discussions similaires

  1. Réponses: 30
    Dernier message: 05/08/2009, 20h25
  2. cherche aide pour améliorer le traitement d'une requête
    Par nomade333 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 22/04/2008, 15h15
  3. [CV] Avis pour améliorer mon cv
    Par lapanne dans le forum CV
    Réponses: 7
    Dernier message: 17/10/2007, 16h04
  4. Réponses: 4
    Dernier message: 26/01/2007, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo