Page 1 sur 1

Organisation des répertoires

Posté : 21 janv. 2006, 17:51
par Siam
Bonjour,

Excusez moi par avance pour mes questions de newbie mais j'aurais voulu quelques conseils concernant l'organisation des répertoires et des fichiers pour un site.

Voilà, j'ai un projet de site web (aquariophilie) avec des pages web standards et une base de données PHP/MySQL. Je souhaiterais utiliser les templates pour séparer HTML et scripts PHP. Je fais mes essais pour le moment sur un serveur perso (EasyPHP) et je développe mes pages avec Dream.
J'ai rassemblé pour le moment tous mes fichiers dans un répertoire 'MonSite'.

D'ou mes questions:
  • - Comment organiser mes différents fichiers (quelle est selon vous la meilleure méthode) ? Fichier index.php unique à la racine, fichiers graphiques dans /images, scripts dans /scripts etc ???
    (Sachant que je voudrais gérer le multilangue et avoir un système qui me permettrait facilement de modifier la charte graphique de mon site sans être obligé de refaire toutes mes pages)

    - ou se place la base de données sur un serveur ??? pour le moment elle se trouve dans un répertoire différent mais aprés ?
Bref si quelqu'un avait une méthode d'organisation des données qui a fait ses preuves et dont je puisse m'inspirer...

Posté : 21 janv. 2006, 23:02
par momox
Pour ce qui est des templates, je commence a recommander le css...
Ca permet de faire pas mal de choses deja!
@+

Posté : 23 janv. 2006, 14:19
par Siam
Merci Momox mais je ne pense pas que tu répondes à mes questions.

Je débutes en programmation PHP mais mon souci est plutôt sur l'organisation des répertoires et de l'arborescence du site.

Je voulais savoir si certains pouvaient donner des exemples ou méthodes pour organiser les données de son site de manière efficace a la fois d'un point de vue sécurité et mise à jour future du site.

Pour le moment j'ai conçu mes pages web (d'un point de vue graphique uniquement) en laissant vide les zones de communication avec la BD (saisie du login, mdp etc...).
J'ai egalement commencé sur ma page index à inclure du code PHP pour cette saisie de login mais je trouve le truc lourd et pas vraiment clair. Je voulais savoir s'il valait mieux utiliser des templates et si oui comment organiser les fichiers aprés.

Je sais pas si je suis trés clair mais j'espère que quelqu'un pourra m'aider d'un point de vue méthodologie car je suis un peu brouillon...

Autre question au passage:
Quand on veut gérer un système d'utilisateurs (login mdp), comment doit on gérer mysql ?
Je pensais faire ainsi:
-Un utilisateur admin(root) avec un mot de passe pour tout gérer.
-Un utilisateur lambda avec presque aucun droit pour que mes futurs utilisateurs puissent se connecter à la Bd et avoir en plus une table de users à moi pour pouvoir les gérer...

Est-ce la bonne méthode ?

Merci d'avance...

Posté : 23 janv. 2006, 22:17
par Siam
Heu je raconte n'importe quoi ou personne n'a de méthodes à proposer ?

Posté : 23 janv. 2006, 22:43
par VSAB
Je suis aussi aquariophile ?

Ce sera un site généraliste ou spécialisé ??

Ma méthode, qui vaut ce qu'elle vaut :


Un répertoire images pour toutes les photos qui forment le corps du site.

Un répertoire img_str pour toutes les photos qui structurent le site : puces, boutons etc...

Un répertoire illstr pour les photos ou images qui illustrent les pages.


Un répertoire commun pour les fonctions récursives.

Tout le reste à la racine. Avec entres autres un fichier CCS pour gérer les styles.

Je n'aime pas les templates. Trop la galère à gérer. Mes têtes de pages et mes pied de pages sont des Include PHP.


Je peux te passer mon script de log si ca t'intéresse (login et password). Mais personnellement je trouve que s'incrire pour voir n'est pas une bonne idée. Ouvres les portes et laisses entrer...

Posté : 24 janv. 2006, 11:12
par jeff
salut
Excusez moi par avance pour mes questions de newbie mais j'aurais voulu quelques conseils concernant l'organisation des répertoires et des fichiers pour un site.
tres bonne question qui peut t'eviter des galleres notament sur des includes

perso je fai commen ca

a la racine(si je peu je le met hors espace web) j'ai un dossier de configuration avec dedans des fichier de configuration du site

apres un dossire library avec mes class, mes fonctions et Smarty(moteur de template),phpMailer etc...

un repertoire template ou dedans on retrouve les templates
ils sont mis dans un dossier propre
ex pour index.tpl
  • index/index.tpl
  • index/css/design.css
  • index/css/graphisme.css
  • index/css/img/
sinon pour les autres images j'ai repertoire img ou les image sont classée par theme

voila

pour ce qui est des template j'ai galleré un peu au debut avec samrty

mais on y gagne au final

Posté : 24 janv. 2006, 14:21
par Siam
Je suis aussi aquariophile ?

Ce sera un site généraliste ou spécialisé ??
A vrai dire c'est pas moi l'aquariophile, je développe un serveur pour un copain. Mon but c'est d'apprendre et lui d'avoir un début de site...Je crois qu'il veut faire un site plutôt généraliste...
a la racine(si je peu je le met hors espace web) j'ai un dossier de configuration avec dedans des fichier de configuration du site
C'est pas trop le bordel aprés avec le nombre de fichiers ?
apres un dossire library avec mes class, mes fonctions et Smarty(moteur de template),phpMailer etc...
On m'a dit que Smarty etait pas assez 'rapide' et qu'il valait mieux utiliser PHPLib c vrai ? Sinon mes pages index sont trés 'graphiques'. Est ce que c'est une bonne méthode l'emploi d'un système de template ?

un repertoire template ou dedans on retrouve les templates
ils sont mis dans un dossier propre
ex pour index.tpl
index/index.tpl
index/css/design.css
index/css/graphisme.css
index/css/img/
La honnétement je comprends rien...A quoi coresspond ce répertoire css et les fichiers design et graphisme...Moi j'utilisais uniquement un style css rassemblant les tailles et couleurs des polices d'écriture...D'aprés ce que tu dis on peut faire mieux ?

En tout cas merci pour vos réponses, même si je capte encore pas tout j'apprends...

Autre question de pure newbie (désolé):
Est ce que j'ai compris si je fait:
-un compte Admin avec mdp dans la table user de MYSQL avec tous les droits.
-un compte Lambda avec mdp dans cette même table avec trés peu de droits.

Ensuite quand un visiteur veut s'incrire ou se connecter, mes scripts se connecte à la base par le biais du compte lambda et ensuite je gère les inscriptions moi même dans une table Utilisateur (par exemple) dans ma propre Base ?
Ou bien il faut gérer tous les utilisateurs en créant des compte dans la table User de MYSQL ???

Je m'excuse par avance si ma question vous parait stupide mais je suis sûr (aprés recherche sur le web) qu'elle interessera beaucoup de débutants...

Posté : 24 janv. 2006, 15:27
par jeff
La honnétement je comprends rien...A quoi coresspond ce répertoire css et les fichiers design et graphisme...Moi j'utilisais uniquement un style css rassemblant les tailles et couleurs des polices d'écriture...D'aprés ce que tu dis on peut faire mieux ?
c'est un avis perso, je prefere separer le comportement des boites et leurs propriétés graphiques

On m'a dit que Smarty etait pas assez 'rapide' et qu'il valait mieux utiliser PHPLib c vrai
j'ai pas vu de bench mais si smarty n'est pas assez rapide alors je pense que phplib ne le sera pas plus et smarty gere le cache

pour avoir quelque chose de plus rapide, il faut passer soit par du xslt ou bien mettre du php dans code html(mais bien le dosé,utilisation de fonction et de variable)
petit rapelle php est un langage de template
Citation:
a la racine(si je peu je le met hors espace web) j'ai un dossier de configuration avec dedans des fichier de configuration du site


C'est pas trop le bordel aprés avec le nombre de fichiers ?
pour moi c'est juste un fichier xml et classe
Ou bien il faut gérer tous les utilisateurs en créant des compte dans la table User de MYSQL ???
je te le deconseil fortement
pour creer un utilisateur MySQl(c'est a dire gerer les droit sur la base et non sur le site) il faut utiliser la requete approprié "GRANT"

Posté : 25 janv. 2006, 13:50
par Siam
c'est un avis perso, je prefere separer le comportement des boites et leurs propriétés graphiques
Honnétement je vois pas ce que peut contenir graphismes.css, pourrait tu mettre un exemple (je comprends si tu veux pas pour des raisons de sécurité...).
j'ai pas vu de bench mais si smarty n'est pas assez rapide alors je pense que phplib ne le sera pas plus et smarty gere le cache

pour avoir quelque chose de plus rapide, il faut passer soit par du xslt ou bien mettre du php dans code html(mais bien le dosé,utilisation de fonction et de variable)
petit rapelle php est un langage de template
C'est pas une critique, je connais pas assez les moteurs de templates pour les juger. C'est juste aprés quelques recherches que j'avais vu des comparatifs et que Phplib paraissait 'mieux'. J'hesite encore sur l'utilisation des templates...Je voulais le faire pour apprendre mais ca m'a l'air assez casse tête...

pour moi c'est juste un fichier xml et classe
Ou puis je trouver des infos sur cette méthode stp ?

je te le deconseil fortement
pour creer un utilisateur MySQl(c'est a dire gerer les droit sur la base et non sur le site) il faut utiliser la requete approprié "GRANT"
J'en déduis que ma première solution était la bonne...C'est un peu ce que j'avais vu en surfant...
C'est dommage quand même de pas pouvoir trouver un tuto bien fait sur l'organisation des données d'un point de vue pratique et sécurisé...Même les bouquins (les miens) ne sont pas trés clair sur le sujet...Si certains ont des liens ou des réferences de bouqins je suis preneur...
Je me doute qu'il soit impossible d'arriver à 100% de sécurité mais d'aprés ce que j'ai pu lire, il semble que la meilleure sécurité c'est de travailler proprement pour pouvoir réperer et modifier facilement son code en cas de probleme...D'ou mes questions...

Posté : 25 janv. 2006, 14:48
par jeff
je vois pas ce que peut contenir graphismes.css
dans ce fichier j'y place les propriété des textes(type,couleur etc), les image de fond ...

Citation:
pour moi c'est juste un fichier xml et classe

Ou puis je trouver des infos sur cette méthode stp ?

pour faire un fichier de configuration du peut utiliser les fonction ini de php, ou avec un fichier xml


par contre je ne sais pas ce que tu veut securiser l'acces a ta base de donnée ou l'acces a un espace membre??

Posté : 27 janv. 2006, 15:34
par xou
Je code principalement des sites php - xhtml/html - css - flash et j'utilise souvent cette archi pour de petits projets:

\cache (systeme de mise en cache)
\css
\css\page.css (structure)
\css\style.css (texte, images...)
\css\print.css (pour impression)
\docs (la doumentation du projet)
\files (tous les fichiers proposés en téléchargement)
\img
\img\icones
\img\interface
\js (javascript)
\lib (mes classes)
\minou (rep admin dont le nom est choisi selon le degré d'humour du client)
\modules
\templates
\tests\ (tests plug-in flash, test js...)

Il n'y a pas de methode meilleure qu'une autre, l'essentiel est que ton site soit facile à maintenir aussi bien par toi même que par une tierce personne. Inspire toi de se qui se fait mais pense à toujours adapter ton archi en fonction de tes besoins.