IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Langage PHP Discussion :

Cherche avis pour améliorer affichage


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    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 : 382
    Points : 161
    Points
    161
    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')
    ?>
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    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 : 92
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
    Invité
    Invité(e)
    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.
    • ...
    Dernière modification par Invité ; 15/03/2019 à 16h31.

  4. #4
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    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 : 382
    Points : 161
    Points
    161
    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
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  5. #5
    Invité
    Invité(e)
    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 ?

  6. #6
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    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 : 382
    Points : 161
    Points
    161
    Par défaut
    Bonjour,
    comme préconisé je suis en train de vérifier la page index avec Validator et j'ai cette erreur que je ne comprend pas

    for attribute href on element a: Illegal character in query: space is not allowed.

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
     <a href="collection/pop.php? Carnet «LE NU dans l'art - sculptures - femmes et déesses» &ligne=9973">

    La ligne complète est
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a href="collection/pop.php? Carnet «LE NU dans l'art - sculptures - femmes et déesses» &ligne=9973">
    					<img src=image/tempo/2019-61.jpg></a>

    Merci de m'éclairer

    Bonne journée
    75 ans quelques dents en moins, mais toujours envie d'apprendre

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    " Carnet «LE NU dans l'art - sculptures - femmes et déesses» " n'a rien à faire dans une URL !
    D'autant que tu ne l'affectes même pas à un paramètre.


    Néanmoins, si tu veux vraiment que ce titre soit dans l'URL, il faut d'abord le convertir avec urlencode().

  8. #8
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2003
    Messages
    382
    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 : 382
    Points : 161
    Points
    161
    Par défaut
    Ok
    c'est supprimé

    Bonne soirée
    Je ferme le post vu le boulot que j'ai pour mettre tout ça d'aplomb
    75 ans quelques dents en moins, mais toujours envie d'apprendre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 30
    Dernier message: 05/08/2009, 19h25
  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, 14h15
  3. [CV] Avis pour améliorer mon cv
    Par lapanne dans le forum CV
    Réponses: 7
    Dernier message: 17/10/2007, 15h04
  4. Réponses: 4
    Dernier message: 26/01/2007, 10h42

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