Comment structurer au mieux un site ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment structurer au mieux un site ?

par fred6012 » 12 nov. 2005, 16:21

On m'a dit que pour separer traitement et affichage, on peut passé par les buffer.

Cette solution serait elle efficace?

exemple:
Le fonction de bufferisation
    function template($tpl, $var)
    {
	ob_start();
	include($tpl);
	$temp = ob_get_contents();
	ob_end_clean();

	return($temp);
    }
Le contenu du fichier .tpl
<body>
	<table width="600" border="0">
		<tr bgcolor="#FFFF99">
			<td><font face="Verdana" size="2" color="#000000">Id news</font></td>
			<td><font face="Verdana" size="2" color="#000000">Titre</font></td>
			<td><font face="Verdana" size="2" color="#000000">Contenu</font></td>
			<td><font face="Verdana" size="2" color="#000000">Date</font></td>
		</tr>
		<tr bgcolor="#888888">
			<td><font face="Verdana" size="2" color="#FFFFFF"><?=$var[0]?></font></td>
			<td><font face="Verdana" size="2" color="#FFFFFF"><?=$var[1]?></font></td>
			<td><font face="Verdana" size="2" color="#FFFFFF"><?=$var[2]?></font></td>
			<td><font face="Verdana" size="2" color="#FFFFFF"><?=$var[3]?></font></td>
		</tr>
	</table>
</body>
Le fichier php
	$reponse = mysql_query('SELECT id, titre, contenu, timestamp FROM news ORDER BY id') or die (mysql_error());
	$donnees=mysql_fetch_array($reponse);

	echo template("templates/template.tpl", $donnees);
Donc coté php, on fait la requete et crée un array avec les donnees
Si je comprend bien, le buffer regroupe le contenu du fichier tpl et les données du traitement php afin d'avoir l'ensemble et les envoie

Efficace? Simple? ou la 1ere approche est "foireuse"?

par fred6012 » 11 nov. 2005, 23:46

tu peut faire une page de traitement avec de fonction et a la fin de celle ci tu inclu la page php(qui sera ton html avec seulement de variable ou de fonction renvoyant des resultat)
Je pensais partir dans ce sens, gerer les donnees dans un fichier et les afficher dans un autre.
par exemple, pour afficher des news:
un fichier trait_news.php qui fait la requete, qui liste les donnees etc
un fichiers news.php qui les affichent
Citation:
Je pensais à separer php et mise en page mais les templates si ils ont l'air efficace me semblent plutot complexe à mettre en place.

il te semble, franchit le pas ca vaux le cout ou alor
Je pense pas maitriser suffisament pour me permettre de rajouter cà dans mon code :oops:

par Cyrano » 11 nov. 2005, 22:55

Des conseils en la matière, je ne suis peut-être pas le plus qualifié pour en donner. Mais je vais te dire ce que je suis en train de développer avec le temps: une organisation des fichiers selon leur type et leur destination et un fichier de configuration central qui me permet de gérer les informations de chemins nécessaires..

Je construis en ce moment même une application complète qui va être relativemetnt complexe : voici de quoi à l'air mon fichier index.php :
<?php
session_start();
require_once("./lib/conf.php");
/* Construction de la page complète */
include_once(DATE_JOUR);
include_once(BLOC_ENTETE);
include_once(BLOC_HAUT);
include_once(BLOC_DROITE);
include_once(AFFICHER_PAGE);
include_once(BLOC_PIED);
?>
C'est tout. Je sépare tout et en fait, je commence par inclure un fichier de configuration qui va permettre de définir les différents éléments qui serviront à construire la page selon le lien cliqué. J'utilise des constantes et mon fichier de conf est trié en fonction du type de fichier : template, fonctions ou classes, formulaire etc... : si je change un fichier de place, je n'ai pas 200 lien à modifier, juste une ligne du fichier de configuration.

par jeff » 11 nov. 2005, 22:53

Je pensais à separer php et mise en page mais les templates si ils ont l'air efficace me semblent plutot complexe à mettre en place.
il te semble, franchit le pas ca vaux le cout ou alor
tu peut faire une page de traitement avec de fonction et a la fin de celle ci tu inclu la page php(qui sera ton html avec seulement de variable ou de fonction renvoyant des resultat)

tu peut aussi aller du cote du MCV(model view controller) tu peut t'en inspirer
s'en franchir le pas de l'objet :wink:

par guismoman33 » 11 nov. 2005, 22:48

un truc tout simple espace bien tes conditions et surtout met des commentaire.
//comme sa

Comment structurer au mieux un site ?

par fred6012 » 11 nov. 2005, 22:42

Hello

Voilà, à force de coder un site, d'ajouter des fonctionnalité, d'en enlever etc, force est de constater que meme en etant organisé, c'est assez compliqué d'avoir un bon suivi de tout les fichiers, fonctions etc...

Perso, je suis trés organisé dans ce que je fais et ce "pseudo-fouttoire" me bloque totalement, surtout quand il s'agit de reprendre un developement arrété quelques semaines voir plus...

Je pensais à separer php et mise en page mais les templates si ils ont l'air efficace me semblent plutot complexe à mettre en place.

Y'aurait t'il une solution ou des astuces pour qu'un developpement soit clair et comprensible par d'autres etc...

Pour ce qui est organisation des fichiers, je gere cela sans problemes (dossiers includes, images, themes etc...) mais c'est plutot coté code etc que ca a vite fait d'etre le "souk"

des conseils, astuces?
separer php et mise en page simplement?
etc. :lol: