IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] - Organisation des pages pour une requete.


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    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 :

    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

    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

  2. #2
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    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.
    manganimes (en construction) -
    zemanga

  3. #3
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    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+

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    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

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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' ?

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    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'])...

  8. #8
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    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

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    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

  10. #10
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    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

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    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 ?

  12. #12
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    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

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Concernant la validation, je recommende cette page :

    http://www.phppatterns.com/docs/desi...rn?s=validator

  14. #14
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    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 !

  15. #15
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/01/2014, 14h05
  2. Organisation des classes pour une UI
    Par jakcam dans le forum Débuter
    Réponses: 4
    Dernier message: 04/07/2009, 13h27
  3. logiciel pour modifier des pages d'une site sans connaissance de code
    Par charisma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/06/2007, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo