[PHP] code propre optimization simplification

salut

bon j’ai terminé pratiquement toute mon application j’ai tout refait pour la 3 eme fois et ça marche plustot bien meme si il y a des comportements étrange quand les pages charges

j’aimerai deja comment savoir ce qui ralenti le chargement des pages
ensuite pk parfois les pages ce charge mal et parfois bien

comment puis je simplifié certaine requete

et j’aimerai avoir de l’aide pour le CSS il déconne pas mal j’ai l’impression mais je sais pas trop pk :s

trop vague ta question

  • si tu as des temps d’affichage horribles, ca a de grande chances de venir de ton code(requetes SQL mal foutu, pour info il ne faut JAMAIS en mettre dans des boucles)
  • pour simplifier tes requetes…bah il nous faudrait quelques exemple
  • un bon CSS marche sur tout naviguateur, meme IE

alors deja effectivmeent j’ai une requete sql dans une boucle merci pour l’info je vais essayer de l’enlever

ensuite il y a pas un utilitaire qui dit ce qui utilisé dans le CSS ou pas
je me demande si j’ai pas des choses inutile parfois j’ai regarder mais il est assé grand donc pas évident …

il y a pas des sites qui mesure le temps de chargement des différentes parti genre temps serveur temps de chargement pour html css image etc…?

il te suffit sur ta page PHP de faire un script pour savoir le temps de création de ta page PHP (regarde su le net yen a pleins partout ca prends 2 sec a mettre en place).
Et ensuite tu prends un navigo comme Opéra qui t’affiche le temps de chargement, et tu compares.

Pour le CSS, tu peux le faire valider sur le site W3C

le CSS est valide sauf un hook pour IE

ensuite je connais ce dont tu parles pour le calcul c que pour php c le temps serveur et en general c l’ordre de 0.02s ou quelque chose comme ça

pourtant parfois j’ai des bug je mettrai quelque ligne dont je sais qui resoud ou font bugger nottament dans le CSS

Bon enfaite je suis perdu avec sql quand il s’agit d’associer plusieur table et tout :frowning:

j’ai:

  $query_trombino = "SELECT *, DATE_FORMAT(date, '$site_date_jh') AS dateh FROM trombino WHERE actif = 1 ORDER BY date DESC LIMIT $start, $nb_results ";
  $trombino = mysql_query($query_trombino, $trombinoV3) or die(mysql_error());
  $row_trombino = mysql_fetch_assoc($trombino);

et 
      $q2 = mysql_query("SELECT * FROM commentaires WHERE refer = ".$row_trombino['idx']."");
      $n2 = mysql_num_rows($q2);


$q2 ce trouve dans la boucle
comment je peux faire pour la retirer de la boucle et n’avoir qu’une seule requete sql? faire un merge des deux.

merci

Je pense avoir la même question

lol

j’ai peut etre une reponse qui ma servie ailleurs faut que je voie si ça marche bien et tout puis je te la posterai si c bon a mons qu’une personne file la reponse

car ma requete doit avoir des choses inutiles pour ce que je veux faire moi

Et quand le format de la table est comme ça :

menu (id, parent_id (NULL)… ) ?

(typiquement le type de table récursive donc)

Je veux dire : tu dis ça d’expérience? Parce que je comprend que dans php ce soit pas top (php est lent), mais à moins de ruser avec les tableaux associatifs de PHP, je vois pas trop comment tu veux faire mieux?

il y a moyen d’optimizer les donné sql genre le table et les info qui la font
init varchar nul not nul etc…

apres comment on peut savoir genre quand je charge mon site il est un peu long a la fin du chargement?

J’ai lu que si pour les images on mettait les valeurs width, height ça permet de gagner un peu également. Et si ui il y a moyen de connaitre ces valeur a la volé quand elle ce charge?

Tu sais, si y avait un moyen de connaître les tailles des images à la volée quand elle se chargeait, alors on demanderait pas de mettre width & height pour optimiser hein…

moralité? non. D’autant que lire l’image pour obtenir la taille peut prendre plus de temps que de le faire à la main, ou ne pas indiquer de taille.

euh ui vrai …
et si je mets une taille d’une image qui enfaite ce trouve etre en vrai beaucoup plus grand ça ralentie énormément?

le téléchargement oui, et ta consommation de bande passante monte pour rien.

Sans compter la perte de qualité car le redimensionnement des images à la volée par le navigateur n’est pas très clean :slight_smile:

Réfléchis : le navigateur calcule les éléments à la volée. C’est à dire qu’il affiche pendant qu’il charge; c’est bien, mais cela implique de faire quelque concessions : s’il n’a pas l’image, il lui alloue une taille suffisament grande et passe au reste. A la fin, il passe un coup de brosse à reluire : et paf, il redimenssionne, etc.

Avec les attributs width, et height, il n’a pas à attendre l’information : il l’a. Donc oui : c’est largement plus rapide, car c’est déjà ça qu’il n’aura pas à redimenssionner.

ok merci pour vos réponse mais par exemple
nos avatar, elles non pas de taille fixe la puisque personne ne l’est a mise et personne a un avatar de meme taille. Donc ça ralentie …
c’est comment les images chargé dans le CSS pour ma part je n’ai jms vu de width & height pour les images qui ce trouve dans les fichiers CSS

En théorie, oui.

Faux :

<img src='http://www.clubic.com/forum/uploads/av-9060.png' border='0' width='120' height='120' alt='' />

La taille doit être scannée à l’upload pour vérifier que ton avatar fait la bonne taille, rien n’empêche de stocker également les dimensions de l’avatar dans la table avatar pour afficher tout ca correctement.

donc je peux faire pareil

quand la personne envoie ça photo car moi ce sont des photo a l’upload je peux recupérer les tailles et les inscrires dans la DB pour ensuite les réutilisé

Voilà, ce qui est plus rapide que d’utiliser les fonctions php pour choper à la volée et à chaque fois les dimensions :slight_smile: