18-02-2010, 07:33 PM
(Modification du message : 18-02-2010, 07:34 PM par Sephi-Chan.)
Merci pour la contribution. Ce genre de structures est bien pratique quand on commence à développer.
Maintenant, cette architecture a un point faible capital : le système de rendu est extrêmement pauvre. Je m'explique.
Déjà, on voit que le rendu des erreurs est sommaire : si l'on veut afficher un message qui indique que la page demandée n'existe pas ou que l'accès y est interdit, c'est mort.
Pour résoudre ça, il faudrait plutôt regarder du côté des exceptions. Le code inclus alors devra lancer une exception (ForbiddenAccessError, par exemple) que le simili-contrôleur que tu proposes gérera (en rendant une vue appropriée).
Ensuite, si l'on utilise la technique d'inclusions des parties hautes et basses, on a aucune flexibilité.
Le jour où l'on veut rendre autre chose que du HTML, c'est mort. Ce genre de cas arrive très vite : si on utilise un peu d'Ajax, rendre du XML, du JSON ou même du Javascript brut est impossible (sans même parler de rendre le MimeType qui convient).
De plus, si on souhaite changer la partie haute ou basse selon la page, le code se complique et perd en souplesse. De même si on veut ne pas les rendre du tout (cf. exemple d'Ajax si tu mets le bazar <html><head>... dans ces parties).
Pour ce dernier problème, je pense que le système est à revoir en profondeur (en s'inspirant d'un modèle MVC fiable ?).
En somme, c'est très bien pour faire un petit site comme ça, mais inadapté à un site de qualité.
Sephi-Chan
Maintenant, cette architecture a un point faible capital : le système de rendu est extrêmement pauvre. Je m'explique.
Déjà, on voit que le rendu des erreurs est sommaire : si l'on veut afficher un message qui indique que la page demandée n'existe pas ou que l'accès y est interdit, c'est mort.
Pour résoudre ça, il faudrait plutôt regarder du côté des exceptions. Le code inclus alors devra lancer une exception (ForbiddenAccessError, par exemple) que le simili-contrôleur que tu proposes gérera (en rendant une vue appropriée).
Ensuite, si l'on utilise la technique d'inclusions des parties hautes et basses, on a aucune flexibilité.
Le jour où l'on veut rendre autre chose que du HTML, c'est mort. Ce genre de cas arrive très vite : si on utilise un peu d'Ajax, rendre du XML, du JSON ou même du Javascript brut est impossible (sans même parler de rendre le MimeType qui convient).
De plus, si on souhaite changer la partie haute ou basse selon la page, le code se complique et perd en souplesse. De même si on veut ne pas les rendre du tout (cf. exemple d'Ajax si tu mets le bazar <html><head>... dans ces parties).
Pour ce dernier problème, je pense que le système est à revoir en profondeur (en s'inspirant d'un modèle MVC fiable ?).
En somme, c'est très bien pour faire un petit site comme ça, mais inadapté à un site de qualité.
Sephi-Chan