Structure d'un site en php
22 messages
• Page 1 sur 2 • 1, 2
- Moof
- WRInaute discret

- Messages: 206
- Inscription: 22 Mar 2003
Structure d'un site en php
Salut la compagnie,
Je me lance dans un nouveau site (parce que j'aime bien et ça m'amuse). Mais cette fois-ci, j'ai envie de le faire proprement. Avec un système de templates, conçu pour pouvoir être multilingue par la suite, ...
J'aimerais savoir comment vous vous y prenez pour structurer vos sites ?
Perso, je pensais créer :
- un dossier fonctions regroupant tout plein de fonctions php pratiques.
- un dossier class contenant les différentes classes que j'utiliserai.
- un dossier templates
- un dossier styles pour les css.
- un dossier lang ? pour les fichiers langues ?
- un dossier include contenant les pages php incluses dans toutes les pages de mon site.
Deuxième question : est-ce que vous codez tout à la main, ou utilisez-vous des classes php trouvées sur internet ou dans des scripts de forum par exemple (je pense par exemples aux classes pour gérer les connexions mysql, les classes de sessions, de templates, ...) ?
Merci pour vos conseils !
Je me lance dans un nouveau site (parce que j'aime bien et ça m'amuse). Mais cette fois-ci, j'ai envie de le faire proprement. Avec un système de templates, conçu pour pouvoir être multilingue par la suite, ...
J'aimerais savoir comment vous vous y prenez pour structurer vos sites ?
Perso, je pensais créer :
- un dossier fonctions regroupant tout plein de fonctions php pratiques.
- un dossier class contenant les différentes classes que j'utiliserai.
- un dossier templates
- un dossier styles pour les css.
- un dossier lang ? pour les fichiers langues ?
- un dossier include contenant les pages php incluses dans toutes les pages de mon site.
Deuxième question : est-ce que vous codez tout à la main, ou utilisez-vous des classes php trouvées sur internet ou dans des scripts de forum par exemple (je pense par exemples aux classes pour gérer les connexions mysql, les classes de sessions, de templates, ...) ?
Merci pour vos conseils !
-

Audiofeeline - WRInaute accro

- Messages: 5257
- Inscription: 20 Oct 2005
Très bonne façon de faire je pense.
Pour ce qui est des class, parfois ça ne sert a rien de se fatiguer lorsque l'on trouve des petits bijoux de programmation sur le net.
Pour ce qui est des class, parfois ça ne sert a rien de se fatiguer lorsque l'on trouve des petits bijoux de programmation sur le net.
- jexl
- WRInaute discret

- Messages: 224
- Inscription: 23 Juin 2005
Hello,
De mon coté je fais tout comme tu as dis, sauf que mes classes, je les mets dans mes dossiers. Exemple si je créé un système de petites annonces, ma class annonce se trouvera dans mon dossier annonce, ca me simplifie la tache quand ensuite je veux les réutiliser dans un autre site.
Et puis je n'utilise plus de template. Ca me rajoute une couche supplémentaire de boulot qui à mon gout n'en vaut pas la peine. De plus, conçernant les templates, il ne faut pas oublier que ca charge de nouvelles classes, de nouvelles fonctions.... et de ce fait augmente la charge serveur.
Oui je code tout à la main. Ca me permet de pouvoir intervenir rapidement, et sans perdre du temps à comprendre le code qu'un autre aura fait.
Pour finir, essaies de faire en sorte d'organiser ton boulot pour être le plus à l'aise possible.
Il n'y à pas de recettes qui s'adapte à tous les codeurs.
Bon courage, et amuses toi bien.
De mon coté je fais tout comme tu as dis, sauf que mes classes, je les mets dans mes dossiers. Exemple si je créé un système de petites annonces, ma class annonce se trouvera dans mon dossier annonce, ca me simplifie la tache quand ensuite je veux les réutiliser dans un autre site.
Et puis je n'utilise plus de template. Ca me rajoute une couche supplémentaire de boulot qui à mon gout n'en vaut pas la peine. De plus, conçernant les templates, il ne faut pas oublier que ca charge de nouvelles classes, de nouvelles fonctions.... et de ce fait augmente la charge serveur.
Oui je code tout à la main. Ca me permet de pouvoir intervenir rapidement, et sans perdre du temps à comprendre le code qu'un autre aura fait.
Pour finir, essaies de faire en sorte d'organiser ton boulot pour être le plus à l'aise possible.
Il n'y à pas de recettes qui s'adapte à tous les codeurs.
Bon courage, et amuses toi bien.
- Moof
- WRInaute discret

- Messages: 206
- Inscription: 22 Mar 2003
Audiofeeline a écrit:Pour ce qui est des class, parfois ça ne sert a rien de se fatiguer lorsque l'on trouve des petits bijoux de programmation sur le net.
Je suis d'accord avec toi.
Quels sont les petits bijoux dont tu parles ?
jexl a écrit:Et puis je n'utilise plus de template. Ca me rajoute une couche supplémentaire de boulot qui à mon gout n'en vaut pas la peine. De plus, concernant les templates, il ne faut pas oublier que ca charge de nouvelles classes, de nouvelles fonctions.... et de ce fait augmente la charge serveur.
C'est vrai que les templates représentent une charge supplémentaires, mais les pages php de mes vieux sites ressemblent souvent à un truc du genre :
- Code: Tout sélectionner
<?php
...
?>
de l'html
<?php
...
?>
de l'html avec parfois des <?php echo "blablabla" ?>
ce qui est vraiment très moche, et surtout illisible et insupportable lorsque je souhaite modifier l'apparence de la page.
De plus, les templates sont bien pratiques si on souhaite faire du multilingue, non ?
- jexl
- WRInaute discret

- Messages: 224
- Inscription: 23 Juin 2005
Moof a écrit:
C'est vrai que les templates représentent une charge supplémentaires, mais les pages php de mes vieux sites ressemblent souvent à un truc du genre :
- Code: Tout sélectionner
<?php
...
?>
de l'html
<?php
...
?>
de l'html avec parfois des <?php echo "blablabla" ?>
ce qui est vraiment très moche, et surtout illisible et insupportable lorsque je souhaite modifier l'apparence de la page.
De plus, les templates sont bien pratiques si on souhaite faire du multilingue, non ?
C'est vrai que des fois ca fait un peu fouilli de mélnager du html et du php.
Pour les sites multilangue, ce que je fais, c'est un tableau php avec x traduction, et ensuite j'affiche. c'est pas forcément plus long que d'qvoir deux templates à modifier.
ex :
- Code: Tout sélectionner
$aTexte['titre']['fr'] = 'Mon titre FR';
$aTexte['titre']['en'] = 'My Title EN';
$aTexte['commentaire']['fr'] = 'Mon commentaireFR';
$aTexte['commentaire']['en'] = 'My comment EN';
....
et ensuite j'affiche
echo $aTexte['titre'][$_SESSION['lang']];
Je trouve cette technique très pratique.
-

guicara - WRInaute passionné

- Messages: 2472
- Inscription: 2 Fév 2006
Moof a écrit:
C'est vrai que les templates représentent une charge supplémentaires, mais les pages php de mes vieux sites ressemblent souvent à un truc du genre :
- Code: Tout sélectionner
<?php
...
?>
de l'html
<?php
...
?>
de l'html avec parfois des <?php echo "blablabla" ?>
ce qui est vraiment très moche, et surtout illisible et insupportable lorsque je souhaite modifier l'apparence de la page.
C'est ce que j'ai, je m'en sort très bien,
comment veux tu faire ???
le tamplate est quand même lourd, non ??
- Moof
- WRInaute discret

- Messages: 206
- Inscription: 22 Mar 2003
guicara a écrit:Moof a écrit:
C'est vrai que les templates représentent une charge supplémentaires, mais les pages php de mes vieux sites ressemblent souvent à un truc du genre :
- Code: Tout sélectionner
<?php
...
?>
de l'html
<?php
...
?>
de l'html avec parfois des <?php echo "blablabla" ?>
ce qui est vraiment très moche, et surtout illisible et insupportable lorsque je souhaite modifier l'apparence de la page.
C'est ce que j'ai, je m'en sort très bien,
comment veux tu faire ???
le tamplate est quand même lourd, non ??
Imaginons que tu veuilles modifier ta page html, il faut aller modifier tous les bouts d'html intercalés entre les bouts de code php, en faisant attention à ne pas toucher aux divers bouts de php inclus dans l'html
Pas pratique non ?
Avec des templates, tu remanies ta page html comme tu veux sans te soucier du code php.
C'est rigolo, je vois qu'en fait personne n'est d'accord ou n'applique les même techniques
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
Template + utilisation de couche d'abstration pour la BDD quasi obligatoire pour faire un site évolutif facilement selon moi. (+ un système de cahe ça le fait aussi).
Pour les classes y'a du très bon du coté de PEAR (pour tout ce qui est moteur de template, classe d'abstration de BDD (quoi que en php 5.1 ça existe enfin), classe pour les formulaires (quick_form), classe pour les caches, ...).
Sinon pour les classes y'a __autoload() qui est à regarder de prêt, ça évite bien des soucis (ça permet de charger une classe demandée automatiquement sans avoir à à faire des include partout).
Pour les classes y'a du très bon du coté de PEAR (pour tout ce qui est moteur de template, classe d'abstration de BDD (quoi que en php 5.1 ça existe enfin), classe pour les formulaires (quick_form), classe pour les caches, ...).
Sinon pour les classes y'a __autoload() qui est à regarder de prêt, ça évite bien des soucis (ça permet de charger une classe demandée automatiquement sans avoir à à faire des include partout).
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
Une classe par exemple où tu ne fait pas appel explicitement à mysql, postgre ou autre. Mais via une classe qui selon ta bdd va faire en sorte d'utiliser les bonnes fonctions, comme ça tu changes de type de BDD en 2 minutes au lieu de te prendre la tête à tout changer.
- jexl
- WRInaute discret

- Messages: 224
- Inscription: 23 Juin 2005
Perso, je ne suis vraiment pas pour les couches d'abstractions.
Actuellement, je suis contraint de bosser avec PEAR, et ca fout la pagaille plus que cela nous rend service. Comme les moteurs de template, ca charge à nouveau des classes qui prennent de la ressource pour rien.
Et en plus Ca ne nous sert pas en cas de changement de base.
Actuellement, on fait nos dev avec SQL Server, et il est question de migrer sur MySql. Théoriquement, grace à PEAR, ca devrait se faire tout seul. Et ben non, nous venons de faire des tests, ete nous sommes obligé de repredrendre nos requetes à la main.
Donc, pour moi, je préfère de très loin me passer des couches d'abstractions. Et puis pour être honnète, quand bien même ca marcherait pour les migrations, c'est pas tous les matins que l'on change de système pour les base de données.
Actuellement, je suis contraint de bosser avec PEAR, et ca fout la pagaille plus que cela nous rend service. Comme les moteurs de template, ca charge à nouveau des classes qui prennent de la ressource pour rien.
Et en plus Ca ne nous sert pas en cas de changement de base.
Actuellement, on fait nos dev avec SQL Server, et il est question de migrer sur MySql. Théoriquement, grace à PEAR, ca devrait se faire tout seul. Et ben non, nous venons de faire des tests, ete nous sommes obligé de repredrendre nos requetes à la main.
Donc, pour moi, je préfère de très loin me passer des couches d'abstractions. Et puis pour être honnète, quand bien même ca marcherait pour les migrations, c'est pas tous les matins que l'on change de système pour les base de données.
-

Bacteries - WRInaute passionné

- Messages: 1369
- Inscription: 27 Mai 2004
Bah bien fait ça passe sans problème...
Dans ses requêtes après il faut éviter les spécifités d'un SGBD voir utiliser des fonctions équivalente (genre en MySQL on a LIMIT qui n'existe pas ailleur, la plupart des classes d'abstraction permettent une simulation de ce comportement sur d'autres SGBD).
Et les template oui ça va prendre un peu plus de ressource (tu utilies lequel?) mais là impossible de nier la flexibilité apporté.
Suffit de regarder les forums (tous en fait, enfin tous ceux que j'ai pu tester comme phpBB, invision, punBB) ou encore des choses comme Dotclear ont un système de template et d'abstration de BDD.
Dans ses requêtes après il faut éviter les spécifités d'un SGBD voir utiliser des fonctions équivalente (genre en MySQL on a LIMIT qui n'existe pas ailleur, la plupart des classes d'abstraction permettent une simulation de ce comportement sur d'autres SGBD).
Et les template oui ça va prendre un peu plus de ressource (tu utilies lequel?) mais là impossible de nier la flexibilité apporté.
Suffit de regarder les forums (tous en fait, enfin tous ceux que j'ai pu tester comme phpBB, invision, punBB) ou encore des choses comme Dotclear ont un système de template et d'abstration de BDD.
-

e-kiwi - Modérateur

- Messages: 15618
- Inscription: 23 Déc 2003
>> un dossier include contenant les pages php incluses dans toutes les pages de mon site.
il serait mieux de découper par modules
moi j'ai :
modules/module1
modules/module2
modules/module3
chaque module à son propre header.php et fonctions.php chargé avant envoi de données au navigateur. de ce fait, chaque module peut etre déplacé d un site à un autre sans rechercher les focntions et procédures liées
il serait mieux de découper par modules
moi j'ai :
modules/module1
modules/module2
modules/module3
chaque module à son propre header.php et fonctions.php chargé avant envoi de données au navigateur. de ce fait, chaque module peut etre déplacé d un site à un autre sans rechercher les focntions et procédures liées
- jexl
- WRInaute discret

- Messages: 224
- Inscription: 23 Juin 2005
Bacteries a écrit:Bah bien fait ça passe sans problème...
Tout les dev ont été fait proprement. En revanche la version utilisée pour PEAR date un peu, c'est la raison pour laquelle on est obligé de tout reprendre à la main.
Bacteries a écrit:Et les template oui ça va prendre un peu plus de ressource (tu utilies lequel?) mais là impossible de nier la flexibilité apporté.
j'utilise SMARTY
Bacteries a écrit:Suffit de regarder les forums (tous en fait, enfin tous ceux que j'ai pu tester comme phpBB, invision, punBB) ou encore des choses comme Dotclear ont un système de template et d'abstration de BDD.
A mon avis, c'est dans ces cas, ou le template à vraiment utile. ces forums sont libres et les utilisateurs ont des niveaux de connaissances différents. Cela permet aux gens qui n'ont pas beaucoup de savoir en programmation de pouvoir quand même modifier l'aspect de leurs forum ou autres CMS.
La raison pour laquelle les templates ne branchent pas, c'est qu'ils font, in fine, exactement la même chose que moi avec mon code PHP / HTML. Sauf qu'on ne le voit pas. Ce qui veut dire que je ne maitrise pas tout ce qui est fait pour obtenir mon resultat.
22 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Etude statistique de la structure du web - 20-02-2006
- L'algorithme BlockRank - 19-03-2003
- Mise à jour des SiteLinks Google (Juin 2007) - 11-06-2007
- Google met à jour les SiteLinks - 12-02-2007
- Description d'une page-type optimisée pour le référencement - 04-08-2008
- Interview de Larry Page dans Playboy - 04-02-2005
- Une vidéo sur la galaxie Google et une autre sur le référencement - 09-12-2005
- Etude du BlockRank, un algorithme de calcul rapide du PageRank - 19-03-2003
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


