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

Symfony PHP Discussion :

conception de la partie administration


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 128
    Points : 79
    Points
    79
    Par défaut conception de la partie administration
    Je suis entrain de faire un site avec symfony2 avec une partie administration "back-end". Cette partie admin a sa propre design et vues.

    Je voudrais savoir la meilleur méthode pour la conception de cette partie admin , est-ce que dois mettre les vues dans le même endroit ou se trouvent les autres vues de la partie "front-end" ou bien il se trouve une autre méthode ?

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Bonjour,

    Tu as 2 cas je pense.
    Soit tu fais toi même ton panneau d'administration(pas conseillé je pense), et un mélange est possible, même si pas très souhaitable selon moi.
    Soit tu utilise un bundle existant(comme sonata) et c'est clairement déconseillé.

    Pour ma part, j'ai eu l'occasion de passer d'un panneau d'admin avec lyra vers un autre avec sonata, et le fait d'avoir bien isolé celui ci dans un bundle à grandement facilité le travail.
    Pour faire simple, j'ai eu à remplacer mon bundle en changeant son nom, et à supprimer entièrement l'ancien et c'était presque fini. Pas de recherche de code à faire dans tout les répertoires.

    En général, mes applications sont divisées en plusieurs bundle :
    - Core : contient mes entités + repository, mon code métier, etc...
    - UserBundle : une extension de FOS user. (par exemple ou tu ajoute des méthode propre a ta boite comme le LDAP / SSO ou un avatar)
    - Admin Bundle
    - WebserviceBundle(si le core fait autre chose que des webservice... autrement je met tout dans le premier.


    Bon courage.
    Pierre

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 128
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par pmithrandir Voir le message
    Bonjour,

    Tu as 2 cas je pense.
    Soit tu fais toi même ton panneau d'administration(pas conseillé je pense), et un mélange est possible, même si pas très souhaitable selon moi.
    Soit tu utilise un bundle existant(comme sonata) et c'est clairement déconseillé.

    Pierre
    Salut, faire moi même le panneau d'administration est pas conseillé et utilisé un bundleb comme sonata est clairement déconseillé , donc les deux solutions sont déconseillé ?!

    Bon si j'ai choisi de faire moi même , pour les repositories comment faire ? Par exemple le repository de l'entité Produit, puis-je faire au autre repository qui continent des requêtes spécifique main dans le AdminBundle ?

  4. #4
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Excuse moi pour la mauvaise formulation.

    Je te déconseille de faire ton module d'admin. Tu en a pour des heures / journées alors que sonata prend quelques heures. Mais si tu le fais, ca se mélange ou pas au reste du code selon ton choix.

    Si maintenant tu utilise sonataadmin, ce que je te conseille, tu devrais faire un bundle séparé puisque ca facilite grandement ton travail futur.

    Bon courage,
    Pierre

  5. #5
    Membre habitué
    Ingénieur d'études et de développement
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur d'études et de développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 154
    Points
    154
    Par défaut
    Je ne suis pas d'accord avec Pierre.

    Tu peux très bien mélanger ton code d'admin avec tes bundles en utilisant Sonata.

    Exemple : tu as une application e-commerce qui gère des clients, des produits et des commandes et des incidents (retard, produit abimés …)

    Tu sépares ton code en différents bundles : Core, Customer, Order, Product et Incidents.

    Or si tu veux distribuer tes bundles ou les vendre séparément (exemple vendre le bundle de gestion des incidents séparément des autres) tu mets ta partie admin dans tes bundles respectifs.
    Ton bundle au final, gère des fonctionnalités. Et à mon sens la partie administration de ton bundle doit se trouver au sein même de l'architecture de ton bundle et non dans un autre bundle.

    Un client veut les incidents ? Très bien tu lui donnes le code, il autorise le bundle dans le kernel et hop il accède également à l'administration des nouvelles entités d'incidents.

    Pour en revenir à ta question tu peux créer des sous dossiers dans les répertoires de vues, de controller ou de librairies. Donc il n'y a aucun soucis pour créer dans tes bundles resources/views/Admin/Product, Library/Admin/Product

  6. #6
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    sonataAdminBundle l'usine à gaz qui sers à rien.

    pas besoin de ce boulet pour faire du CRUD

  7. #7
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Citation Envoyé par damiensan Voir le message
    Je ne suis pas d'accord avec Pierre.

    Tu peux très bien mélanger ton code d'admin avec tes bundles en utilisant Sonata.

    Exemple : tu as une application e-commerce qui gère des clients, des produits et des commandes et des incidents (retard, produit abimés …)

    Tu sépares ton code en différents bundles : Core, Customer, Order, Product et Incidents.

    Or si tu veux distribuer tes bundles ou les vendre séparément (exemple vendre le bundle de gestion des incidents séparément des autres) tu mets ta partie admin dans tes bundles respectifs.
    Ton bundle au final, gère des fonctionnalités. Et à mon sens la partie administration de ton bundle doit se trouver au sein même de l'architecture de ton bundle et non dans un autre bundle.

    Un client veut les incidents ? Très bien tu lui donnes le code, il autorise le bundle dans le kernel et hop il accède également à l'administration des nouvelles entités d'incidents.

    Pour en revenir à ta question tu peux créer des sous dossiers dans les répertoires de vues, de controller ou de librairies. Donc il n'y a aucun soucis pour créer dans tes bundles resources/views/Admin/Product, Library/Admin/Product
    Je trouve ta remarque pertinente. J'envisageais le problème sur la capacité a remplacer une techno par une autre facilement. (par exemple, ma migration de lyra vers sonata) dans ce cas la, avoir un truc bien isolé aide beaucoup(rien que pour ne pas avoir a aller supprimer dans tous les répertoires les bons fichiers).
    En revanche, quand on utilise la modulaité pour vendre un produit par partie comme tu le présente, je trouve l'approche du module qui inclue son admin pertinente.

  8. #8
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 295
    Points
    7 295
    Par défaut
    Citation Envoyé par dukoid Voir le message
    sonataAdminBundle l'usine à gaz qui sers à rien.

    pas besoin de ce boulet pour faire du CRUD
    En fait, encore une fois ca depend.
    Si tu n'a besoin que d'un crud, sonata n'est peut etre pasb necessaire(encore que si la generation te suffit, je pense qu'il est imbattable pour présenter les choses proprement).

    Si maintenant tu veux des listes triable, filtrables et ordonnable en plus de ton crud, il te fais gagner un temps fou.

    Une interface d'admin pour un site existant contenant une bonne dizaine d'entité, c'est environ 2-3 heures de boulot avec sonata... je ne pense pas arriver a le faire en moins de 2 jours à la main.

Discussions similaires

  1. [Sécurité] Sécuriser la partie administration d'un site
    Par Metallic-84s dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2007, 23h48
  2. [Tableaux] Partie administration d'un site
    Par noemie11 dans le forum Langage
    Réponses: 5
    Dernier message: 31/01/2007, 17h23
  3. Réponses: 8
    Dernier message: 15/12/2006, 17h15
  4. Réponses: 22
    Dernier message: 27/06/2006, 16h42
  5. Réponses: 5
    Dernier message: 18/01/2006, 09h03

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