|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() JC 19 Inscription : mars 2010 Messages : 3 ![]() |
Bonjour,
Dans une logique d'industrialisation de mon développement, je souhaite partager un meme code entre plusieurs clients. Je m'explique : J'ai développé une application que j'ai déposé sur un serveur. Pour chacun de mes clients je souhaite créer un environnement de production différents (duplication du fichier index.php en client1.php, client2.php, client3.php, ...). Chacun de ses environnements tape dans une bdd différente (propre, donc, à chaque client) Jusque là tout va bien. Les problèmes et question arrivent ensuite : Je souhaite que chaque client arrive sur mon serveur via une url différente (de leur choix par exemple), que cette url m'emmene sur client1.php pour le 1er client... etc. Et que, bien sur, je n'ai pas besoin de saisir le "/client1.php/". Comment faire? (si je place chacun de mes 3 fichiers dans un sous répertoire de web et que j'active pour chaque environnement le paramètre "no_script_name" je me passe de la saisie du nom du fichier mais mes css et js ne sont pas chargé...) (Pour ce qui est de l'url différente, j'imagine que c'est une simple histoire de virtual host...?) Deuxième problématique : Comment faire en sorte que les 3 clients utilisent bien le même code, excepté quand j'ai un client qui veut du spécifique sur tel ou tel module? Le plugun est-il la bonne solution ? Offre t-il beaucoup de souplesse ? Me contraint-il a créer une application par client (ce qui reviens a dupliquer mon code, ce que je ne souhaite pas) ? Dois-je "m'amuser" a faire de l'héritage sur toute mes classes ? D'avance merci, j'espère ne pas vous avoir noyer avec toutes mes questions. |
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Il est partiellement possible de gérer plusieurs fichiers index (index1.php, index2.php,... ) et de les lier avec des virtuals host.
Par contre, tu ne pourras pas avoir plusieurs sites "par défaut" dans symfony, donc tu devras utiliser derrière des URL du genre : http://www.monClient.com/index1.php/...in/bidule.html Ceci est a paramètrer dans la config de apache, donc il faut la main sur la config du serveur, ce qui limite les endroits où c'est utilisable. De plus, ceci n'est envisageable que si tout tes sites sont une même application, sans aucune différences entre tes différents clients, exemple, un blog ou tu loues de l'hébergement pour un client pour son blog, mais tout les blog ont une structure applicative équivalente. Dans ce cas, les url aurait intérêt à ressembler à :monClient.blogEnVrac.com/articles Dans ton cas, si tu veux des développement particulier sur certains clients, il sera plus intéressant de développer une application pour chaque client. Il ne te reste qu'à créer un plugin (ou plusieurs) avec la logique commune et à les utiliser dans tes applications. Ce type de mise en œuvre est préconisé par sensio et plus souple à utiliser. Tu en as un exemple dans le tutoriel de symfony : JobeeJob.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() JC 19 Inscription : mars 2010 Messages : 3 ![]() |
Bonjour,
Merci pour ta réponse Michel. Comme tu me l'a préconisé j'ai mis en place un plugin qui contient mes modules et mes filtre, form et model. Le système de plugin est effectivement une bonne solution je pense; cependant, j'ai un problème : L'héritage est bien géré par défaut par symfony sur mes filtre, form et model, mais pas sur mes actions de modules, hors c'est essentiel pour moi si je dois faire du code spécifique ou ajouter de nouvelles actions pour un seul client.... Est-ce que j'ai raté quelque chose dans le tuto ou bien est ce normal? Comment palier à ce problème? Merci encore pour ta réponse, et merci de continué à m'épauler Cordialement |
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Regarde la manière dont est géré le plugin sfDoctrineGuard, il pourrait te donner des idées.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() JC 19 Inscription : mars 2010 Messages : 3 ![]() |
Ok donc si je comprend bien le fonctionnement du plugin sfDoctrineGuard je créé un module dans mon application du même nom que ceux déclarés dans mon plugin; je créé le actions.class.php dans le répertoire actions, et j'adapte le code ci-dessous a mes besoins... ? me trompe-je ?
Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Oui, c'est pas ultra propre, mais ceci me semble être la seul bonne méthode.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com