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 :

Création de site Blanc avec Symfony sans duplication de code ?


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut Création de site Blanc avec Symfony sans duplication de code ?
    Bonjour,
    je viens de débuter sur Synfony et malheureusement, je ne trouve pas de solution a mon problème.

    Je souhaiterais pouvoir utiliser une apps et la décliner sous plusieur marques blanches sans duplication de code.

    www.monsiteDeBase.com
    www.monSiteBlanc.com -> le même site que monsiteDeBase sauf CSS.
    www.monSiteBlancCustom.com -> ici en plus de la CSS, on modifie quelques modules

    l'idée c'était que tous les site utilise les fichiers de monSiteDeBase pour simplifier la maintenance (un seul fichier a modifier). Mais qu'il puisse aussi définir leur propre implémentation en cas de spécificités particulière à la marque.

    je ne sais pas si cette architecture peux être mise en place avec symfony?

    Merci

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    D'une manière simple je dirais que tous peut-être fais avec symfony, mais parfois ce ne sera pas simple (note, ce que tu veux faire ne sera pas simple, avec où sans symfony).

    Tu veux un site qui peut vendre ces services à plusieurs site et avoir la possibilité d'activer, où non, des modules suivant les sites. Ce site aura une seul base de données pour tous les sites clients.

    En fait, c'est assez simple. La seul difficulté que je vois, a priori, est la gestion, transformation, du système de route pour qu'il renvoie le nom de domaine en tant que paramètre. J'avais lu un article la dessus (pour des blog genre titi.blog.loc et toto.blog.loc ...) on doit pouvoir adapter au nom plutôt qu'au préfix.

    Après, il va te falloir mettre en place l'infrastructure serveur permettant de gérer cela, pas compliqué, mais cela demande des ressources.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Bonjour Michel,

    Si je comprend bien, symfony permet de mettre en place un système de path inter application.

    sur site Base:
    module1
    module2

    sur site 2:
    module1 -> redéfinition (on n'utilisera pas celui du site de base)

    ainsi quand j'appel le module2 du site 2 c'est celui du site de base qui est utilisé alors que quand j'appel le module1, c'est celui du site 2.

    Comment configurer un system de routage commun aux differentes application?

    Puis-je créer un fichier routing.yml dans le repertoire config du projet?

    Merci

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Diable, je croyais comprendre ce qu'était un module avant d'avoir lu ta réponse

    Tu peux envisager d'avoir une application avec un corp et des "modules" (entre guillemet car ce ne sont pas nécessairement des modules au sens symfony du terme). On pourrait plutôt parler d'options. En fonction du type de contrat, accord, ... conclu avec le client on active les modules a partir de droits dans une table. En fonction, on va générer le menu avec uniquement les modules du client. Et on va vérifier au lancement de chaque partie d'un module si l'utilisateur à bien le droit a cette partie qui est élément d'un module.

    Par contre, il n'est pas envisageable de créer un module pour un utilisateur uniquement.

    Il me semble difficile (mais pas impossible) de gérer plusieurs modules pour une même fonction, je pense que dans un cas pareil, il vaudrait mieux descendre au niveaux de la granularité des modules.

    Il faut modifier l'objet route tel que présenté dans The More with symfony book - Techniques Avancées de Routage. Attention, ce n'est qu'une inspiration à prendre, vu qu'ils ne parlent de modifier qu'une partie de l'url. Nous parlons du nom de domaine en entier. Mais l'idée doit être très proche.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 3
    Par défaut
    Actuellement j'ai une solution sans Framework basé sur l'utilisation de la variable include_path.

    ainsi, php va chercher les différents fichiers php dans le path et s'arrete des qu'il en trouve un.
    /site/site2/;/site/base/

    dans l'exemple précédent, pour mon le module1 est trouvé sur /site/site2/module1 donc nous n'irons pas le chercher sur /site/base/.


    c'est pour cela que je te parlais de routage global (inter apps).
    Dans le cas de site en marque blanche, ils font la même chôse a quelques détaille près. Dans 99% des cas c'est toujours le fichier de base qui est utilisé.

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Sauf que ce qui va nous embêter, c'est le 1% ...

    Tu aurais bien la notion de plugin dans symfony. Mais cela nécessiterait une installation par site (ce qui n'est pas plus mal et correspond à ce qui est fait pour les sites dont tu me parles).

    Tu crées un plugin pour le site principale. Un plugin pour chaque module "standard" commun à plusieurs client. Et, si un client à une configuration particulière, soit tu installes un plugin directement dans son site (qui prend le pas sur le plugin commun), soit tu re-développes certains des modules des plugin directement pour ce client.

    Avantage, du sur mesure au prix du prédécoupé. Ou presque. Aucun problème de routage. Possibilité de séparer les bases de données, ou pas, simplement. Toutes libertés pour les adaptations. Aucun problème pour gérer des css et des images particulières au site.

    Total indépendance pour les fichiers téléchargé, pas de risque de "collisions" (suite à un bug, les fichiers de A ce retrouvent chez B !).

    Nécessite un serveur dédié pour ton système.

    Il doit être possible d'automatiser au maximum (voir complètement) l'installation d'un client (sauf s'il a des développements spécifiques).

    Après, tous dépend de la taille et du nombre mais je pense que cette solution colle à un peu tout les profiles (si tu peux avoir un ou plusieurs serveurs spécifiques).

Discussions similaires

  1. [Doctrine] problème de création de base mysql avec Symfony et Doctrine
    Par maarek dans le forum ORM
    Réponses: 1
    Dernier message: 15/12/2011, 10h23
  2. [1.x] creation de site jobeet avec symfony?
    Par bil123 dans le forum Débuter
    Réponses: 3
    Dernier message: 10/01/2010, 23h34
  3. [HTML] Création d'un site avec ou sans frame ?
    Par matimat2k4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 30
    Dernier message: 13/07/2008, 20h13
  4. Réponses: 1
    Dernier message: 13/06/2007, 11h23
  5. [DEBUTANT] Création site marchand avec SGBD
    Par plex dans le forum Débuter
    Réponses: 7
    Dernier message: 10/02/2005, 14h19

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