Ok

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Ces derniers assurent le bon fonctionnement de nos services. En savoir plus.

26/12/2004

PHP de plus en plus mature pour les entreprises

Le langage PHP a longtemps souffert de son côté "pages personnelles". Néanmoins cela évolue dans le bon sens désormais. Chaque année le portail phpindex publie une étude sur l'utilisation de PHP dans l'économie française. On s'aperçoit que la plupart des entreprises du CAC40 utilise PHP sur des plateformes LINUX. Sa "scalabilité" et sa bonne gestion des montées en charge des sites Internet lui confère un atout majeur.

Désormais avec l'arrivée de PHP5, une nouvelle étape commence.

Permettre à PHP d'être utilisé dans des environnements critiques ou des applications complexes et ne plus se limiter à afficher de simples pages html dynamiques. Or c'est par les logiciels sociaux que PHP va bouleverser des idées préconçues.
Friendster est passé de JAVA à PHP, 6nergies a choisi des briques opensources en PHP. D'autres outils comme BlogSpirit on fait le même choix.

Désormais il ne reste plus qu'à PHP à mettre en place des applications performantes rivalisant avec les grosses applications faites en JAVA ou en .NET



18/12/2004

TextPattern : des idées intéressantes

Concevoir des applications web est un art difficile. La solution pour améliorer ses applications est de regarder comment d'autres conçoivent leurs applications. En PHP on a l'embarras du choix avec les projets open source. Peu sont toutefois de qualité mais dans chacune des applications on peut récupérer des idées.


L'autre jour, j'ai essayé le projet textpattern : un CMS qui peut aussi être utilisé en weblog. En terme de fonctionnalités, rien d'extraordinaire c'est de l'habituel. Ce qui est intéressant en revanche, c'est qu'il possède un langage de balises. Par exemple <txp:page_title /> ou <txp:paging_link>Next</txp:paging_link>. L'avantage d'une telle technique est de pouvoir rajouter facilement de nouveaux comportements sans complexifier l'application. Le point négatif c'est qu'il n'utilise pas toujours des techniques de blocs. Ainsi écrire <txp:article limit="5" /> pour afficher les 5 derniers articles ne laissent pas assez de possiblité au designer pour personnaliser l'affichage. D'autre part la technique de parsing est beaucoup trop consommatrice de ressources.

05/12/2004

Smarty : un moteur de template performant

Beaucoup de personnes ont écrit sur le débat faut-il utiliser un moteur de templates ou pas. Dans mon cas il n'y avait aucun doute : les templates sont obligatoire quel que soit la taille du projet. J'en ai utilisé plusieurs et Smarty les surclasse tous. Ces 3 principaux atouts sont dûs à la manière dont il est construit :

  • 1er atout ce sont les templates compilés,
  • 2ème atout son architecture modulaire avec la gestion des filtres,
  • Dernier atout un cache intégré.

Les préfiltres (filtres appelés lors de la compilation des templates) sont très intéressants car il est possible de donner à l'utilisateur une syntaxe simple. Les blogs de BlogSpirit sont constuit pratiquement grâce à ces préfiltres. Ainsi lorsque vous souhaitez manipuler des posts, il vous suffit d'écrire {posts}... {/posts} en spécifiant certains attributs. Vous savez qu'à l'intérieur de ces 2 balises vous manipulez des posts. Suivant certains attributs vous affichez les posts de tel jour, les posts de tel catégorie ... En effet un blog manipule la même entité : le post. Cependant sa représentation est différente suivant que l'on navigue à l'aide d'un calendrier, d'archives ou des posts.
MovableType utilise aussi le concept que j'appelle : “concept de bloc” en attendant de touver le nom correct ;-). Entre 2 balises vous savez que vous manipulez ce type de données et pas autres choses. Néanmoins je pense que MovableType a mal intégré la gestion des boucles et des tests conditionnels. A l'origine je voulais utiliser la syntaxe de MovableType afin d'être compatible mais j'ai changé d'avis lorsque je me suis heurté à des tests conditionnels.
Blogger utilise plus ou moins bien ce concept de bloc. Néanmoins les tests font défaut car il a été construit sur des tags et pas sur des tags se trouvant dans des blocs.
Certaines applications de blogs utilisent Smarty comme bblog. Pourtant le concept de blocs n'est pas utilisé ce qui est dommage.
Le logiciel opensource de blog Wordpress semble intégrer Smarty. Il faudra attendre s'ils utiliseront les possiblités de Smarty pleinement avec les concepts de blocs.
Cette façon d'encapsuler les données permet d'implémenter facilement des plugins sans que les données s'interfèrent entre elles.
Le langage XUL de Mozilla utilise cette encapsulation de manière différente car c'est un format XML : toute balise ouvrante à une balise fermante correspondante. Je pense que cette façon de procéder va se développer de plus en plus. Qu'est ce que vous en pensez ?