19-02-2010, 12:34 PM
(18-02-2010, 07:33 PM)Sephi-Chan a écrit : 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).
Dans le cas d'une erreur http, un petit header('HTTP 1.0 500 Forbidden'); et le tour est joué Bien sûr, dans le cas d'une erreur 404, il faudrait gérer ça via le .htaccess, mais ce n'est pas forcément compliqué à gérer.
Pour les erreurs perso, on peut toujours gérer avec les exceptions, il n'y a aucun problème avec ça...
Je ne vois vraiment pas en quoi "le rendu des erreurs est sommaire", dans les deux méthodes montrées, il est possible d'afficher n'importe quelle erreur, de la personnaliser comme il convient.
(18-02-2010, 07:33 PM)Sephi-Chan a écrit : 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).
Je suis parfaitement d'accord que la technique d'inclusion des parties hautes et basses est très faible, mais je l'ai présentée car beaucoup de débutants l'utilisent. Tu as parfaitement raison sur ce point, cependant.
(18-02-2010, 07:33 PM)Sephi-Chan a écrit : Pour ce dernier problème, je pense que le système est à revoir en profondeur (en s'inspirant d'un modèle MVC fiable ?).
Si je n'ai pas parlé de MVC, c'est parce que je déteste cette structure. C'est d'ailleurs l'une des raisons pour laquelle je n'aime pas trop les frameworks, ils utilisent presque tous cette structure (bien que certains permettent d'utiliser leurs composants indépendamment, cf Zend). MVC n'est pas forcément la solution fiable, car mal utilisée, elle peut se révéler très faible elle aussi.