Depuis quelques temps fourmillent déjà de nombreux frameworks PHP. Cette nouvelle tendance veut permettre aux développeurs de mettre en place des solutions stables, avec un minimum de travail d'intégration ou d'apprentissages. En reprenant de bonnes pratiques comme celles des frameworks Rails ou Struts, certains proposent donc les mêmes fonctionnalités mais en PHP. Faisons donc un petit tour d'horizon de ces frameworks, avec bien sur un oeil sur l'intégration d'Ajax.

Ceci n'est que la première partie de cette présentation, avec les frameworks suivants : Cake PHP, Sympfony et Seagull. Le but étant de présenter les frameworks les plus intéressants et non de montrer l'intégralité des frameworks existants. La suite bientôt !

Cake PHP


C'est une implémentation de design patterns déjà utilisés (notamment dans Rails) comme l'ActiveRecord ou le FrontController, le tout proposant donc un framework MVC (Model View Controller) séparant les couches de présentation, d'accès aux données et métier. L'inspiration est donc venue notamment de Rails : on y retrouve des éléments communs comme (liste non exhaustive) :
  • Des fichiers de configuration pour la connexion à la base de données
  • Une architecture modèle / contrôleur
  • Des validateurs
  • Du scaffholding d'applications (à traduire par échafaudage d'applications... pas très parlant tout de même)
A noter également qu'un module de gestions de droits et d'authentification appelé Access Lists est inclus. En somme, un framework bien complet, ressemblant comme deux gouttes d'eau à Ruby on Rails. A noter que Cake PHP est entièrement gratuit, et que c'est un projet open source.
Concernant l'Ajax, il existe un support étendu à partir des "view helpers" d'AJAX et Javascript (View helper est un design pattern encapsulant la logique sans se soucier de la préoccupation).

Sympfony


Symfony est un framework développé par une équipe française, se basant lui aussi sur le modèle MVC en tirant son inspiration de Rails. Il est également gratuit et open source. Le but annoncé est donc de réduire le temps de développement en proposant les classes et outils nécessaires à un développement rapide et intuitif. On citera les quelques fonctionnalités suivantes (liste non exhaustive) :
  • Gestion de template
  • Système de cache
  • Du scaffholding
  • Multilingue et support d'i18n
La documentation est très bien faite, complète avec des exemples et des screencasts. L'Ajax est entièrement inclut en natif via la bibliothèque (et non librairie ;)) Prototype et quelques effets venus de script.aculo.us. En somme une gestion bien complète et relativement aisée.

Bien évidemment, Symfony propose d'autres fonctionnalités : c'est en effet l'un des frameworks les plus complets, mais cela peut parfois le desservir. Certains le trouveront trop gros, avec beaucoup de choses inutiles pour de petits sites web et pas mal de configuration. A noter également que le framework Symfony utilise PHP 5.

Seagull



Seagull est un framework datant de 2001 qui à première vue semble très agréable à prendre en main. Il se base sur quelques autres frameworks comme Mojavi, Propel ou Rails. Quelques fonctionnalités (liste non exhaustive) :
  • Compatibilité PHP 4 et 5
  • Module de CMS directement inclus
  • ORM (Object Relationnal Mapping) intégré
  • Gestion de cache
  • Pagination
  • I18n automatique
  • Respect des standards : XHTML 1.1, CSS 2.0, RSS 1.0 et 2.0
Malheuresement il n'y a pas de support d'Ajax pour ce framework, ce qui est assez inexplicable au vu de toutes les fonctionnalités présentes. Il existe néanmoins un tutoriel assez simple permettant d'intégrer Rico pour Seagull.

Premier bilan

On remarque bien évidemment que la plupart des frameworks prennent comme modèles le framework Ruby on Rails, qui fait presque figure de référence. Alors sur quel point peuvent se démarquer les frameworks PHP ? Je pense qu'il y a deux approches :
  • En fonction du besoin, choisir un framework plus ou moins complet, proposant par exemple un système d'authentification ou d'internationalisation. Certains frameworks sont plus complets que d'autres, et cela peut aider à choisir.
  • En fonction de la prise en main et de l'évolution probable du frameworks. La communauté PHP s'active et les choses avancent vite. Faire un pari sur l'avenir en "s'appropriant" l'un de ces frameworks ne serait pas forcément une mauvaise approche, reste à choisir celui qui par la suite proposera les fonctionnalités les plus utiles.
On voit également que le support interne d'Ajax s'effectue souvent en utilisant des bibliothèques ayant déjà fait leurs preuves. Cela semble être une condition quasi-obligatoire de proposer de l'Ajax en ces temps de Web 2.0.

Dans la suite de cet article, je présenterais d'autres frameworks qui me semblent intéressants et/ou prometteurs.

Conférence Le Web 3 : court résumé

jeudi 14 décembre 2006
Bon j'avoue ne pas me fouler sur le coup, mais j'avoue avoir du mal à trouver une manière de présenter la conférence Le Web 3 qui a eu lieu en début de semaine, les 11 et 12 décembre.


Cette conférence accueillait à Paris plus de 1300 professionnels (blogueurs, entrepreneurs, etc.) de l'Internet ainsi que d'autres invités (notons surtout François Bayrou et Nicolas Sarkozy, dont les apparitions apportent un brin de polémique !). A l'origine de cette conférence : Loic Le Meur qui s'est donné à fond pour organiser ce rendez-vous qui n'a pas d'équivalent en France. J'aurais aimé y aller, juste pour voir, mais 300€ l'entrée, c'est trop pour moi ! Voilà pour le résumé !

J'ai donc trouvé ce magnifique article d'Eric de Presse-Citron qui, en plus de bien synthétiser propose de nombreux liens. Bonne lecture !
Voici un très bon dossier sur les enjeux économiques et les technologies du Web 2.0. Ce dossier a été réalisé par aYsoon, dont je vous recommandais le blog il y a peu.

En tout cas chapeau, je trouve que la partie sur les enjeux économiques et notamment les business model est bien complète et précise sans pour autant être trop longue ou lourde à lire.
Ce soir j'essayais un outil nommé Squarespace. Se définissant comme la meilleure manière de publier son site web ou son blog, j'avais de belles attentes sur ce service. Et là je suis bluffé de la facilité et l'ergonomie de ce que l'on pourrait nommer une plate-forme de publication.


Il m'a donc fallu vingt minutes, inscription comprise pour :
  • Créer un compte (version d'essai de 30 jours)
  • Créer mon blog avec flux RSS
  • Changer les couleurs
  • Poster deux billets (dont un avec un minimum de mise en page) avec des catégories
  • Créer une page annexe
Le résultat : Welcome to Paris !


Mon blog réalisé sur Sqaurespace.

Incroyable la vitesse et la simplicité de mise en place de ce service : en deux clics on a notre compte. La base du blog est déjà présente, on arrive sur l'interface d'administration et toutes les informations à configurer sont déjà présentes sous forme de liste : chaque élément est entièrement suivi pour sa configuration et donc accessible aux novices. L'utilisation d'Ajax est fait à très bon escient : toutes les fenêtres (comme pour éditer un billet) s'ouvrent non pas en pop-up mais dans la page courante, le tout avec une interface wysiwyg (what you see is what you get) permettant une mise en page rapide et efficace. Je vous encourage donc tous vivement à essayer ce service, vous ne le regretterez pas.

Alors évidemment cette solution ne conviendra pas à tout le monde et notamment à tous ces gens pointilleux qui désirent plus de contrôle sur leur site/blog. Néanmoins il s'agit clairement pour moi de la solution ultime pour toute personne désirant faire un blog plutôt personnalisé (cad changeant des skyblogs) tout en ayant peu de connaissances. Les avantages sont nombreux et personnellement je recommanderais chaudement cette solution à ceux qui ont envie mais qui se trouvent bloqués à cause de problème d'installation ou de configuration. Un exemple : un grand-père en maison de retraite m'a contacté il y a peu pour me demander une solution pour bloguer et donc communiquer avec sa famille qu'il ne peut pas voir souvent. Je ne savais pas trop quoi lui recommander, sachant que j'utilise DotClear et que cette plate-forme demande un minimum de connaissances pour l'installation. Blogger ? Pourquoi pas, je ne connais pas tout. Mais en tout cas, Squarespace fait pour moi l'unanimité tant sa prise en main est rapide, et je vais donc de ce pas lui recommander. Un vrai service qui en comblera plus d'un.

Je vous indique tout de même au passage les tarifs : 7$ par mois pour l'offre de base, 12$ pour la pro, 17 pour l'avancée. Pas énorme au vu du gain de temps proposé.

Rechercher