Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
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 11/10/2011, 11h49   #1
Invité de passage
 
Inscription : août 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 6
Points : 3
Points : 3
Par défaut Routing entre deux applications ?

Bonjour, depuis quelques jours je suis entrain d'envisager la possibilité d’éclater mon module frontend qui regroupe :

- Un site vitrine
- Un panel admin
- Un panel type membre 1
- Un panel type membre 2

Comme vous l'avez compris il y a donc trois type de compte:

les admins, les type1, les type2

Chacun a son interface.

Partant de ce concept, je me dis que le plus logique serai d'avoir une application vitrine, et 3 applications pour les 3 types de compte.

L'avantage serai de pouvoir avoir des fichier config.yml routing.yml etc ... séparés et indépendants, mais surtout d'avoir une arborescence logique.

Le truc c'est que je n'ai jamais crée de route entre deux app distincte.

Au final je n'aurai a première vue que 2 route de ce type :

- la première pour la connection : depuis l'application vitrine un utilisateur se connecte. Si TryConnect == TRUE alors je dois rediriger l'user sur le module main action index de l'application correspondant au type de compte qui viens de se connecter. On passe donc de l'application "Vitrine" a une des 3 applications "Panel"

- la deuxième pour la deconnection : Quand mon user connecté décide de mètre fin a sa session, il convient de le rediriger sur l'application vitrine du site. On repasse donc d'une des 3 applications "Panel" a l'application vitrine

Donc en gros je viens pour débatte avec vous des avantage et inconvénients des deux méthodes, et surtout pour trouver une solutions concernant le routing entre deux app.

Merci d'avance et a bientôt
Wizmoisa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 13h07   #2
Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2011
Messages : 94
Points : 48
Points : 48
Salut, étant un peu dans le même cas je vais te décrire ce que j'ai fait:

Je bosse moi aussi sur un site avec 3 types de comptes: pro, admin, particulier.
J'ai séparé ça en 3 applications symfony.
j'ai donc utilisé les sous domaines:

www.monsite.com (particulier)
pro.monsite.com
admin.monsite.com

Pour la partie admin je l'ai separée du site public, cad pas de lien ni de connexion par une interface commune (c'est pas ca qui arretera un mec qui veut hacker le site mais bon ça mange pas de pain de cacher un peu cette partie)

Je n'ai pas comme toi une vitrine commune, mais j'ai choisi d'en mettre deux (une pro et une particulier) et j'ai différencié mes deux appli par un layout différent au niveau des couleurs et de la disposition de certains éléments. Grace à ca le membre sait tout de suite si il est bien dans son appli ou non.

J'ai quand même dans chaque appli un gros lien pour rediriger vers l'autre appli.
Ne pouvant pas définir de route en dehors d'une appli, j'ai utilisé les fichiers app.yml

Dans le fichier app.yml de www.monsite.com
Code :
1
2
3
4
5
6
 
prod:
  link_to_pro: 'http://pro.monsite.com'
 
dev:
  link_to_pro: 'http://pro.monsite.local'
et tu fais de même dans les autres applis
Tu peux l'utiliser dans n'importe quel template de l'appli par:
Code :
1
2
 
<a href="<?php echo sfConfig::get('app_link_to_pro') ?> >ton lien </a>
Dans une action un
Code :
$this->redirect(sfConfig::get('app_link_to_pro'))
devrait marcher.

Sinon si tu veux faire plus propre tu peux sûrement définir des helpers:

link_to_my_application(), l'avantage c'est qu'ils sont dans le fichier lib donc communs à toutes les application, l'inconvénient c'est qu'il faut les charger à chaque fois avant de les utiliser.
johnbenz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 11h03   #3
Invité de passage
 
Inscription : août 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 6
Points : 3
Points : 3
Merci beaucoup pour ta réponse

Cependant je pense avoir trouvé, une solution plus simple

J'ai pas mal cherché sur le web après avoir ouvert ce thread, un peu parlé sur IRC etc...

Et on m'a link ce site

La méthode la plus puissante me semble être la troisième :

Elle repose sur l'installation d'un plugin : swCrossLinkApplicationPlugin

Il étend les capacités de routing.

Imaginons : j'ai une route admin_acceuil dans mon application admin_panel

Pour utiliser cette route depuis une application extérieure

Code :
link_to('lien', '@admin_panel.admin_acceuil')
Magique ? Presque

Je passe en résolu.
Wizmoisa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 14h58   #4
Membre du Club
 
Homme
Étudiant
Inscription : juin 2011
Messages : 94
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : juin 2011
Messages : 94
Points : 48
Points : 48
Merci pour le lien,
je vais faire le changement aussi, ça sera plus propre
johnbenz 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 02h48.


 
 
 
 
Partenaires

Hébergement Web