optimisation php: Regles de base?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


yannouk
WRInaute passionné
WRInaute passionné
 
Messages: 2142
Inscription: 11 Oct 2003

optimisation php: Regles de base?

Message le Dim Nov 07, 2004 13:38

Bonjour. J'ai appris a coder en php par moi meme sans aucun cursus de formation...Bref, ce que je code fonctionne, mais ne doit pas etre tres optimisé et flexible
Auriez vous des conseils pour bien faire les choses?

Deja, j'ai quelques questions sur des trucs que je fais mais qui doivent pas etre optimisés.

est ce que ca consomme bcp de construire une page en html et de faire appel a des variables en ouvrant des balises php chaque fois que necessaire?
en fait je place le code php au debut de la page, ensuite je ferme la balise, je commence la page html et jeplace des <? echo($mavariable); ?> partout
Il y a la possibilité de rester dans la balise php en ecrivant tout le code html dans le echo, mais j'aime pas (pas pratique de devoir mettre des antislash partout)
Mais si c'est important pour optimiser je m'y ferai.

Bref tous vos conseils en la matiere m'interressent.
A+++

yrogerg
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 297
Inscription: 13 Nov 2002

Message le Dim Nov 07, 2004 14:35

Personnellement, je fais comme toi... Mis à part que j'ai réduit la syntaxe à <?=$variable?> qui t'affiche ta variable...

tradjus
WRInaute discret
WRInaute discret
 
Messages: 193
Inscription: 3 Avr 2004

Message le Dim Nov 07, 2004 14:59

Un post interessant: http://www.webmasterworld.com/forum88/3253.htm
En gros, mieux vaut construire toute la page dans une variable en php et faire un seul echo de cette variable à la fin. (Masi pas de grosse différence réelle, toutes les méthodes restent très rapide)
Si le lien ne fonctionne pas: http://www.google.com/search?sourceid=n ... ext+output 1ere entrée.

rituel
WRInaute passionné
WRInaute passionné
 
Messages: 1175
Inscription: 15 Mar 2003

Message le Dim Nov 07, 2004 15:03

Chaque ouverture de balise PHP/ASP consomme des ressources supplémentaires mais ce n'est rien comparé à deux critères fondamentaux :

1- Optimise tes boucles et tes tests : Peu importe le langage c'est vrai.

2- Optimise la structure de ta BDD au niveau relationnel et supprimmes les éventuelles redondances.

3- Optimise les filtres WHERE de tes requêtes SQL en partant tu critère le plus sélectif au moins sélectif.

Avec tout ca tu gagneras en dépense inutiles de processeur, de mémoire et d'espace disque :wink:

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

optimisation...

Message le Dim Nov 07, 2004 16:34

<?=$variable?> consomme plus de ressources que <?php echo $variable; ?>
la différence, encore une fois, n'est pas énorme, mais les petits ruisseaux faisant les grandes rivières, tu aurais tort de t'en priver...

Je suis aussi contre la solution du echo d'une seule variable contenant toute la page. En effet, c'est la méthode la plus rapide, mais pas forcément la meilleure... Lorsque tu l'utilises, ton serveur internet (Apache, IIS...) doit garder toute la page en mémoire, et donc utilisera plus de RAM. Avec 3 ou 4 visiteurs simultanés, c'est la bonne méthode à choisir, mais avec 500, tu vas saturer la RAM de ton serveur...

En bref, à toi de voir selon ton site et le serveur qui l'héberge si il vaut mieux privilégier les ressources en RAM ou celles en processeur.

Bernard
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 255
Inscription: 13 Sep 2003

Re: optimisation...

Message le Dim Nov 07, 2004 21:59

* a écrit:doit garder toute la page en mémoire.


Oui si le script dure trop longtemps.

Si, non. Une facon d'optimiser est de limiter l'usage de la BDD qd c'est possible en utilisant des tableaux ou des liste de type switch-case.

rituel a écrit:2- Optimise la structure de ta BDD au niveau relationnel et supprimmes les éventuelles redondances.
Tu peux préciser ton idée ?

pour moi , limiter les redondances = multiplier le nb de tables = jointures = pas bon pour le rendement ......


yannouk
WRInaute passionné
WRInaute passionné
 
Messages: 2142
Inscription: 11 Oct 2003

Message le Lun Nov 08, 2004 2:45

:)
je savais meme pas que <?=$variable?> etais envisageable. Ca me rejouit de voir ce que vous dites. apparement c pas trop grave d'ouvrir les balises de la sorte alors je vais continuer comme ca. Et merci pour tous les autres conseils d'optimisations...Ca va m'etre tres utile :)


Pulsar-san
WRInaute discret
WRInaute discret
 
Messages: 210
Inscription: 29 Oct 2003

Message le Mer Nov 10, 2004 14:39

"<?" : Mauvais en codage PHP.
"<?php" : Correct en codage PHP.

Le second assure que ton code sera bien interprété comme du PHP sur n'importe quel serveur.
Le premier affichera ton code au lieu de la page que tu veux générer si le serveur est configuré avec interdiction des short-tags.


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 1 Sep 2004

Re: optimisation...

Message le Mer Nov 10, 2004 23:57

Bernard a écrit:
rituel a écrit:2- Optimise la structure de ta BDD au niveau relationnel et supprimmes les éventuelles redondances.
Tu peux préciser ton idée ?

pour moi , limiter les redondances = multiplier le nb de tables = jointures = pas bon pour le rendement ......


Salut,

Les 2 extrêmes sont :
  • tout mettre dans une seule table => énormément de redondance
  • un champ par table : 0 redondance, structure incompréhensible, autant de jointures à faire que de champs à utiliser


De façon générale (sauf pour des cas d'optimisation extrême), je préfère faire une base de données relationnellement bien conçues, sans redondances (à part bien sûr les clés secondaires pour les jointures) : ça permet de faire des requètes sql propres, compréhensibles et de performance tout à fait valable à condition de respecter quelques règles basiques (jointures avec join plutôt que where, indexer correctement les champs qui doivent l'être, ne prendre que les données nécessaires, éviter les distinct ...).

yep
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 286
Inscription: 3 Avr 2004

Message le Jeu Nov 11, 2004 12:11

est-il vrai que l'ouverture d'un fichier (xml, mais le format importe peu en fait) est plus rapide qu'une connexion à une BDD MySQL ?


maxttb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 477
Inscription: 27 Fév 2004

Message le Jeu Nov 11, 2004 12:57

Pour la question des jointures, la véritable question est : privilégier l'espace disque ou la vitesse d'éxécution?. C'est en fonction de ce critère, et de lui seul, qu'on choisit de faire une redondance.
Maintenant, si tu veux faire quelque chose de vraiment académique, il est clair que les redondances ne doivent pas exister (cf les formes normales).
En pratique, on utilise souvent les redondances pour éviter les jointures en cascade excessivement gourmandes en resources (jetez un coup d'oeil à la structure de base de données PHPbb et vous comprendrez!).


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité