Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/10/2005, 23h10   #1
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 287
Points : 287
Par défaut [Conception] - Organisation des pages pour une requete.

Bonjour tout le monde,
Vous allez bien ?
Je viens de débuter en PHP et j'ai une question sur la maniere de structurer ses pages php.
Vaut-il mieux faire un modèle en 3 tiers ou pas ?
Par exemple :

Citation:
Form.php
Ici l'utilisateur rempli un formulaire d'inscription en fournissant ses données personnel.


MAJBDD.php
Ici on verifie les données entrée par l'utilisateur.
Si il y a une erreur on redirige vers Form.php en affichant un message d'erreur.
Sinon on entre les données dans la BDD MYSQL et on redirige vers confirmation.php


Confirmation.php
Ici on affiche le message comme quoi tout s'est bien passé.

OU BIEN

Citation:
Form.php
Ici l'utilisateur rempli un formulaire d'inscription en fournissant ses données personnel.

Et la on fusionne MAJBDD et Confirmation.php :
Ici on verifie les données entrée par l'utilisateur.
Si il y a une erreur on redirige vers Form.php en affichant un message d'erreur.
Sinon on entre les données dans la BDD MYSQL et on affiche le message comme quoi tout s'est bien passé.

Donc comme vous l'aurez compris y'a une methode necessitant 3 pages, et l'autre 2.
Quel serait la meilleur methode à adopter ? et pourquoi ?

Merci d'avance
++
ShinJava
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2005, 23h25   #2
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
il ya encors plein de methode. Ca depend du site que tu veut faire. Par exemple la je suis en train de faire un site avec une grosse partie administration que j'ai mis sur une seul page. C'est bien de crée plusisuers pages php mais il ne faut pas non plus se laisser déborder.

Je trouve aussi pratique qu'il y ai sur la même page le formulaire et la récupération /envoi des données. Ca permet de gagner du temps.
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/10/2005, 23h55   #3
Membre chevronné
 
Avatar de nako
 
Ingénieur développement logiciels
Inscription : août 2003
Messages : 581
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : août 2003
Messages : 581
Points : 635
Points : 635
Salut, à mon avis, la notion de 3-tiers ne se matérialise pas en nombre de page ...
Je pense qu'il faut plutôt faire un couche métier avec des classes.
Parce que la page PHP contiendra toujours une part de présentation.
Donc, toujours à mon avis !!!, tu peux tout mettre sur la même page si tu fais appel à des classes qui se chargent du traitement.
Ca te permettra au moins de réduire à deux pages.
a+
nako est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 02h00   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Je te conseille de mettre au moins le formulaire et son traitement sur la même page. Cela te permet d'indiquer les erreurs pour chaque champ très facilement, et de réafficher les champs déjà remplis dans le formulaire en cas d'erreur. Ca a déjà dû t'arriver de compléter un long formulaire donnant tes coordonnées, et, à cause d'un oubli ou d'un champ mal renseigné, d'être obligé de tout retaper. Dans ce cas, moi, je pars
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 10h25   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par nako
Salut, à mon avis, la notion de 3-tiers ne se matérialise pas en nombre de page ...
+1

Pour moi 3-tiers =>
Code :
1
2
3
4
 
+---------------------+  <------>  +---------------+  <------>  +--------------------+
| Couche Présentation |  <------>  | Couche Métier |  <------>  | Couche Persistence |
+---------------------+  <------>  +---------------+  <------>  +--------------------+
Il est très pertinent d'en penser en terme de couche quand on conçoit son appli php ou non. Mais ce n'est pas suffisant. Je te conseil de jeter un oeil sur MVC...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 10h39   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Citation:
Envoyé par Mr N.
Citation:
Envoyé par nako
Salut, à mon avis, la notion de 3-tiers ne se matérialise pas en nombre de page ...
+1

Pour moi 3-tiers =>
Code :
1
2
3
4
 
+---------------------+  <------>  +---------------+  <------>  +--------------------+
| Couche Présentation |  <------>  | Couche Métier |  <------>  | Couche Persistence |
+---------------------+  <------>  +---------------+  <------>  +--------------------+
Il est très pertinent d'en penser en terme de couche quand on conçoit son appli php ou non. Mais ce n'est pas suffisant. Je te conseil de jeter un oeil sur MVC...
Que signifient 'couche métier' et 'couche persistence' ?
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 10h57   #7
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Couche persistence : Là où tu enregistre tes données : Base de données, Systeme de fichier.
A ce niveau ce situent tout les services système, tout en bas de l'application : envoi des email via la fonction mail() ou sendmail, les parseurs xml, l'ouvertures de sockets, ...

Couche métier : C'est la où tes objets "métier" interagissent... Le coeur du système.

Couche présentation : Affichage en direction de l'utilisateur ou d'un client, génération de pages au format XML/HTML/PDF/PNG/Javascript/Flash/ + réception des requêtes de l'utilisateur (traitement par exemple de $_GET['action'])...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 13h49   #8
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 287
Points : 287
Bonjour tout le monde,
Merci pour vos réponses.
Effectivement j'ai mal utilisé le mot 3-tiers, mais c'était bien dans l'idée de faire 3 couches.
En fait, c'est un ami qui veut mettre ses objets de sa boutique en vente sur le net. Un truc tout simple quoi.
Je comptais lui developper une petite partie admin (ajouter/effacer un article) + gestions des commandes en cours. Un petit panier à developper, et le site.
J'avais deja developpé ce genre de site mais en utilisant le couple JSP/Servlet (passant par JDBC). Mais ici les besoin ne sont pas enormes, donc PHP/MySQL devrait largement suffir. Et ce que je faisais etait : la partie JSP me servait uniquement à la présentation et les servlet ne faisaient que les interactions avec la BDD.
Là je me demandais si c'était vraiment utile en PHP de faire plusieurs couche ou bien de faire tout ça sur une page comme le proposer quelqu'un ?
Merci d'avance pour vos eclaircissement.

++
ShinJava
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 13h57   #9
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
C'est toujours utile de coder proprement. Ceci dit, tu peux coder proprement avec une seule page qui fait tout. Mais personnellement j'aime bien chaque chose à sa place et une place pour chaque chose...

Tu peux aussi le faire à la mode XP, tu codes ton truc plus ou moins proprement étape par étape, et entre chaque étape tu inspectes ton code pour voir si il y a pas des choses qui devrait être revues/remaniées/...

N'oublie pas qu'un jour (dans un futur plus ou moins proche) quelqu'un ou même toi relira ton code. Il faudra que cette personne puisse comprendre rapidement de quoi il retourne et comment rajouter facilement et rapidement de nouvelles fonctionnalités. Si dès le départ tu codes comme un sale, tu peux dire au revoir à la maintenabilité...
HTH
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 14h09   #10
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 287
Points : 287
En effet tu as raison,
Il est vrai que pour la maintenance du site voir même si quelqu'un le reprend apres moi, cela peut être efficace de bien découper tout ca et de le faire proprement.
Aussi pour améliorer les requetes SQL par exemple, c'est vrai que cela me ferait gagner un temps enorme si je ne mettais pas tout ca dans une seule et meme page.
Mr N. je te remercie pour ces eclaircissement.

Maintenant en terme de performance, est-ce que l'affichage se fait plus rapidement sur une page lourde (avec toute les fonctions dans la meme page) ou bien que tout cela soit decouper : genre comme mon premier exemple tout en haut où pour aller de Form.php à Confirmation.php je passe par MAJBDD.php (c'est un exemple plus ou moins fictif) ?

Merci d'avance.

++
ShinJava
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 14h16   #11
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Il est quand même plus facile de réafficher un formulaire complété en cas d'erreur si formulaire et vérification des données sont sur la même page, non ?
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 14h23   #12
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 287
Points : 287
Citation:
Envoyé par vg33
Il est quand même plus facile de réafficher un formulaire complété en cas d'erreur si formulaire et vérification des données sont sur la même page, non ?
J'imagine oui. Je vais opter pour cette solution. Merci.
Maintenant pour la MAJ vers la BDD, mieux vaut-il faire ca aussi sur la meme page ou bien, pour raison de sécurité, il vaut mieux que l'utilisateur n'est jamais un acces statique à cette page ? ce qui me fait revenir à la premiere idée : aller de Form.php (avec verification des données utilisateurs) à Confirmation.php en passant par MAJBDD.php.
Désolé de vous embeter avec ce modèle...

Merci d'avance

++
ShinJava
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 14h26   #13
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Concernant la validation, je recommende cette page :

http://www.phppatterns.com/docs/desi...rn?s=validator
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 14h27   #14
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par vg33
Il est quand même plus facile de réafficher un formulaire complété en cas d'erreur si formulaire et vérification des données sont sur la même page, non ?
Bien sur ! C'est pas forcément plus facile, c'est plus propre !
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2005, 15h33   #15
Membre confirmé
 
Avatar de ShinJava
 
Inscription : septembre 2004
Messages : 411
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 411
Points : 287
Points : 287
Mr N. : Grand grand merci. Ce lien est tres instructif.

Je remercie toute les personnes qui ont postés ici, ca ma permis de voir plus clair et j'ai appris pas mal de choses.
Merci beaucoup !


++
ShinJava
ShinJava est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h41.


 
 
 
 
Partenaires

Hébergement Web