En tant que chef de projet dans une grosse structure, justifiant son poste par sa capacité à résoudre les problèmes qu'il a lui-même créés, vous êtes décidé à bâtir la prochaine application corporate sur un framework PHP. En plus des critères de choix déjà évoqués, vous veillerez à la présence de fonctionnalités qui permettent aux développeurs de se concentrer sur les particularités de l'application, en les libérant de l'écriture des briques de base :
L'examen d'un certain nombre de framework (Zend Framework, CakePHP, Symfony Project, Seagull Framework, WACT, PHP on TRAX, ZooP Framework, Navigator, CodeIgniter) montre que se sont surtout des usines à gaz. Seul CodeIgniter sort du lot : il est très léger grâce aux modules indépendants, qui ne sont chargés qu'à la demande du contrôleur, mais il a le défaut de la rigidité des URLs. LE framework MVC est donc plus une collection de composants utilisables au sein d'un micro container. C'est la démarche de CodeIgniter et de Zend Framework, bien que ce dernier soit un peu plus complexe.
L'utilisation d'un framework nécessite toujours un investissement pour former les développeurs. Cet investissement sera d'autant plus important que le framework sera complexe. Cette complexité entrainera également des frais plus élevé de maintenance et d'évolution. Dans bien des cas, cet investissement est beaucoup plus rentable s'il est effectué dans le développement d'un micro-noyau maison...
Lorsque son site est hébergé sur un serveur auquel on n'a pas d'accès SSH (Free par exemple), il est quand même possible de sauvegarder sa base de données MySQL automatiquement et à distance.
Pour cela il faut disposer :
Il suffit alors d'exécuter la commande :
En remplaçant USER par votre login, PASSWORD par votre mot de passe et FICHIER par le nom du fichier dans lequel vous souhaiter sauvegarder votre base. export.txt est un fichier contenant les paramètres de la requête envoyée au serveur :
Selon le type d'export voulu, il faudra fournir les bons paramètres. Afin de les déterminer précisément, l'extension Live HTTP Headers pour Firefox est d'un grand secours. Pour automatiser la procédure, il suffit d'ajouter la commande à la liste des tâche à lancer par cron (ou son équivalent sur un autre OS).
Édition 02/08/2007 : Lionel, un lecteur me signal la possibilité de passer par le service de backup de Free :
Merci Lionel.
Beaucoup plus populaire que les conteneurs implémentant l'inversion de contrôle, les frameworks MVC (Model-View-Controller ou Modèle-Vue-Contrôleur) en PHP sont légion. Ils participent de cette attente irrationnelle du monde PHP envers la programmation orientée objet et son corollaire, le framework. Seul Rasmus Lerdorf semble percevoir le comique de la situation avec son no-framework PHP MVC framework. Avant de vous décidez de démarrer votre prochain projet avec un tel framework, considérez d'abord les inconvénients suivants :
http://my.web.com/module/action/params pour invoquer l'action action du module module. Aussi lorsque l'on souhaite créer un site web dont les URLs représentent l'architecture fonctionnelle du site, cela s'avère très compliqué ! Ainsi au lieu d'avoir l'URL http://www.numabilis.com/services/realisation_de_sites_web on a quelque chose comme http://www.numabilis.com/article/view/id/35. Le module de réécriture fourni est généralement insuffisant : les sections Services et Réalisations étant toutes deux constituées d'articles, la réécriture ne permet pas de distingués les articles de ces deux sections ! Comme souvent les couches techniques imposent des contraintes fortes sur le fonctionnel.Les frameworks PHP, dans leur très grande majorité, souffrent d'une trop grande complexité. Ils singent le monde Java (voir les implémentations PHP de Struts : Phrame, PhpMVC ou Studs) en faisant du tout objet avec force renfort de template engine et de mod_rewrite.
Par conséquent, sauf si vous êtes chef de projet dans une grosse structure, dont le poste n'est justifié que par votre capacité à résoudre les problèmes que vous avez vous même créés, vous devriez vous passer d'un tel framework.

Dans son édition de mardi dernier, Le Monde a publié un article évoquant le projet que je dirige à l'Agence France Presse. J'ai commencé cette mission début novembre et un premier prototype a été présenté au PDG, Pierre Louette, ce même mardi 19 décembre. Je ne sais pas si l'interview a eu lieu avant ou après, mais je sais, qu'il est très satisfait de ce premier résultat.
Même si la description donnée est assez réductrice, et que nous ne faisons pour le moment qu'un prototype, cela fait vraiment plaisir...