suite à une petite discussion ici
http://www.developpez.net/forums/d94...ations-separes

j'ai abordé mon approche MVC
je pense que cela ferait bien un article en attendant voici ce que je fais.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
+------------------+ +-------------------------+ +------------------------+ +---+
|                  | |                         | |                        | |   |
| application View | |       module view       | |       module view      | |   |
|                  | |                         | |                        | | N |
+------------------+ +-------------------------+ +------------------------+ | A |
+------------------+ +-------------------------+ +------------------------+ | V |
|                  | |                         | |                        | | I |
| front controller | |     module Controller   | |     module Controller  | | G |
|                  | |                         | |                        | | A |
+------------------+ +-------------------------+ +------------------------+ | T |
+------------------+ +---------------+ +----------------+ +---------------+ | E |
|                  | |               | |                | |               | | U |
|  Core framwork   | |  Objet model  | |   Objet model  | |  Objet model  | | R |
|                  | |               | |                | |               | |   |
+------------------+ +---------------+ +----------------+ +---------------+ |   |
+-------------------------------------------------------------------------+ |   |
|                                                                         | |   |
|                                extjs                                    | |   |
|                                                                         | |   |
+-------------------------------------------------------------------------+ +---+
                                   ^
                                   | HTTP
                                   v
+-----------------+ +-----------------------------------------------------+ +---+
|                 | |                                                     | |   |
|      View       | |                  services provider                  | |   |
|                 | |                                                     | |   |
+-----------------+ +-----------------------------------------------------+ |   |
+-----------------+ +-------------------------+ +-------------------------+ |   |
|                 | |                         | |                         | |   |
|    Controller   | |    service controller   | |   service controller    | |   |
|                 | |                         | |                         | | S |
+-----------------+ +-------------------------+ +-------------------------+ | E |
+---------------+ +-----------------+ +-----------------+ +---------------+ | V |
|               | |                 | |                 | |               | | E |
|  Objet model  | |   Objet model   | |    Objet model  | |  Objet model  | | U |
|               | |                 | |                 | |               | | R |
+---------------+ +-----------------+ +-----------------+ +---------------+ |   |
+---------------+ +-----------------+ +-----------------+ +---------------+ |   |
|               | |                 | |                 | |               | |   |
|  Persistance  | |   Persistance   | |    Persistance  | |  Persistance  | |   |
|               | |                 | |                 | |               | |   |
+---------------+ +-----------------+ +-----------------+ +---------------+ |   |
+-------------------------------------------------------------------------+ |   |
|                                                                         | |   |
|                            Zend Framwork                                | |   |
|                                                                         | |   |
+-------------------------------------------------------------------------+ |   |
+-------------------------------------------------------------------------+ |   |
|                                                                         | |   |
|                                  PHP                                    | |   |
|                                                                         | |   |
+-------------------------------------------------------------------------+ |   |
+----------------------+ +----------------------+ +-----------------------+ |   |
|                      | |                      | |                       | |   |
|     LDAP connector   | |     DB connector     | |    ... connector      | |   |
|                      | |                      | |                       | |   |
+----------------------+ +----------------------+ +-----------------------+ +---+
           ^                        ^                        ^
           | LDAP                   | TCP                    | ...
           v                        v                        v
+----------------------+ +----------------------+ +-----------------------+
|                      | |                      | |                       |
|    resource LDAP     | |     ressource DB     | |    ressource ...      |
|                      | |                      | |                       |
+----------------------+ +----------------------+ +-----------------------+
j'utilise donc MVC côté serveur pour lancer mon IHM et pour la fourniture de service
et MVC côté client aussi la seule différence c'est que la persistance des objet model côté client se fond par invocation de service

pour le moment j'utilise simplement Http GET POST pour mes échanges en JSON
mais j'envisage d'utiliser REST

j'utilise aussi beaucoup de design pattern façade
A+JYT