1

Comment concevez-vous l'architecture de vos sites PHP ?
Moi je galère un peu pour trouver une solution élégante. Autant en Java c'est facile d'écrire une jolie application, autant là je ne sais pas comment m'y prendre.
Le but de la solution est de permettre une évolution facile du site et un développement rapide et clair, en séparant bien entendu l'affichage du contenu.
J'espère que ce n'est pas trop flou.
Si vous connaissez un gros projet en PHP qui est bien écrit (PhpBB ?), ça m'intéresse de regarder les sources.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

2

oue tu veux faire du n tiers c cA?

3

Je ne connais pas.
Mais disons que j'ai envie de prendre des bonnes habitudes de codage, dès le début.
Par exemple, pour commencer, toutes mes données sont encapsulées dans des classes, ce qui fait que l'accès à la bdd n'est pas visible. De même, le code d'accès à la bdd est lui aussi encapsulé dans une classe, de telle sorte que si je change de SGBD je puisse porter mon programme entier en ne portant que cette classe.
Ensuite, pour que les pages aient toutes un aspect commun, j'ai deux fichiers : header.php et footer.php qui génèrent automatiquement le code HTML de début et de fin de page. Donc chaque page n'a qu'à compléter le contenu même de la page. Apparemment, beaucoup de sites utilisent ce genre de techniques.
Sinon, je ne mélange pas PHP et HTML, ça deviendrait trop brouillon. Je mets tout mon code PHP, puis le code HTML est généré ensuite.
Les formulaires ont toujours leur attribut action égal à la page en cours, ça permet de les vérifier et de commenter les donnée entrées plus facilement.
Bref, il y a plusieurs choses qui sont possible, et je cherche à obtenir de l'aide de la part de personnes expérimentées pour éviter de faire des erreurs.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

4

Au taff, nous, on utilise un pti framework, avec l'habitude, ça marche bien et ça permet de développer vite un site qui marche (plutôt) bien. Plusieurs frameworks existent, en général, ils reposent tous sur l'idée de templates et de génération "assistée" de pages. Peut-être pourrais-tu reprendre l'idée de template à ton compte, si tu veux tout recoder depuis le début smile
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

5

je suis pas super fan du concept de template.
Je taffe pas mal sur un site qui utilise ce principe (pdafrance), et c'est vraiment très moyen pour les évolutions de code ou si tu veux faire quelque chose qui sorte de ce qui est prévu..

6

Ca a quand même un côté pratique : tu vas garder un gabarit identique pour toutes les pages. => tout est homogène. Et ça, c'est bien.
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

7

tu peux faire la meme chose avec des includes top et header.

8

les templates, c'est quand même pratique pour les sites où les rédacteurs connaissent rien au html ni à la prog, aussi : comme ça, ils ne peuvent pas faire de conneries
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

9

Ouais, mais je pense que ça alourdit pas mal le mécanisme des templates...
$html = new Html(); $html->print_link("http://www.adresse.org","Lien");Non, je pense faire une classe qui simplifie l'écriture du html, genre :Qui produirait : <a href="http://www.adresse.org">Lien</a>
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

10

mouais. sceptique. va falloir prévoir des paramètres si le mec veut un target différent etc... bof :/

11

Ouais, mais je pense que ça alourdit pas mal le mécanisme des templates...

sauf s'il y a un mécanisme de cache sur les templates
genre quand ton fichier template est modifié, ça génére un script php qui correspond à l'expression de ce template
et ensuite, c pas plus lent que si ct toi quiavait écrit le fichier php
(me demande si smarty fait pas ça)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

12

moi perso je fais de la merde sans arret, ça part ds tt les sens, c'est inmaintenable, une fois sur deux je dois tout réécrire, mais j'aime bien triso
faut dire que je suis pas un dev moi tongue
avatar

13

Microbug> Oui, c'est sûr qu'il y a des choses à rajouter si je ne veux pas n'offrir un accès qu'à un sous-ensemble du xhtml à travers la classe...
Faut voir si au final ça rend l'écriture plus efficace, c'est sûr...
Et puis l'avantage est que je peux facilement changer la forme du code xhtml produit. Comme ça, si je ne respecte pas la norme quelque part, je n'ai que la classe à modifier et tout fonctionnera bien.
Et aussi, je trouve ça assez lourd de devoir écrire (par exemple) &eacute; au lieu de é dans mes sources, donc ce sera plus simple si la classe s'en charge toute seule.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

14

Mouais, je doute que ce soit vraiment très utile... C'est comme un outil PHP que j'ai vu passer récemment qui permet de construire de l'AJAX comme ça : autant coder directement en JavaScript, c'est beaucoup plus simple et lisible...

En plus ça t'empêche de pouvoir utiliser des outils Wysiwyg, qui peuvent être pratiques parfois (pas de wordpad rulez tousa, mci). Les problèmes qui te demanderont de construire des modèles orientés objets tu les trouveras sûrement ailleurs.

15

Sinon si tu veux retrouver le modèle de développement Java, je crois qu'il y a des frameworks MVC pour PHP.

16

ExtendeD
: Mouais, je doute que ce soit vraiment très utile... C'est comme un outil PHP que j'ai vu passer récemment qui permet de construire de l'AJAX comme ça : autant coder directement en JavaScript, c'est beaucoup plus simple et lisible...
Bah perso justement je trouve que c'est lourd de faire attention entre autres aux caractères accentués (et ça rend les sources moins lisibles, les séquences du style &eacute; ).
(pas de wordpad rulez tousa, mci).
T'es ouf ! Wordpad suxxxxx ! Notepad rulezzz !
Pardon.
Sinon si tu veux retrouver le modèle de développement Java, je crois qu'il y a des frameworks MVC pour PHP.
Ouais, j'ai vu un site sur les designs patterns qui en proposaient pour le PHP, mais après, je doute que ce soit vraiment adapté aux pages web...
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

17

Bah pourquoi pas ? Ca devient pas forcément très lourd à utiliser.

18

Sasume :
Bah perso justement je trouve que c'est lourd de faire attention entre autres aux caractères accentués (et ça rend les sources moins lisibles, les séquences du style &amp;eacute; ).

si tu déclare comme charset pour ta page celui dans lequel elle a été créée, tu dois pouvoir mettre les accents "en clair"
(genre si tu fais ta page en utf8 ou en latin9 - plus riches que de l'ascii 7 bits, quoi)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

19

./14 : openrico ?
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

20

Aucune idée, je me rappelle plus lequel.

21

Note :
Mediawiki utilise PHPTAL

22

Ah oui, ça a l'air bien ça happy

23

./18> Effectivement, merci !
./21> Cool, je vais regarder ça smile
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »