Soleil et développement fertile

Des mois depuis mon dernier message… Je crois que le travail et les occupations de la vie ont mis un coup à mon temps libre et à mon imagination. À l'agence, j'enchaine les gros projets qui durent et s'étirent, et je pense que cela a eu un impact sur mon enthousiasme à travailler sur mes projets personnels. Pourtant, je ne sais pas si c'est le relatif calme des vacances, ou peut-être ce glorieux soleil, mais cela fait quelques semaines que je retrouve une belle énergie et surtout le jus créatif.

Mes projets personnels – WdCore, WdElement et WdPublisher – ont fait de grands bons ces derniers temps. J'ai passé une grande partie de mon weekend à bichonner ce beau monde. J'en ai même profité pour me lancer dans les travaux de rénovation de mon blog.

Héritage objet & SQL

WdPublisher se dote d'un système de contenu centralisé.

Profitant pleinement de l'héritage objet PHP, les divers modules s'étendent pour ajouter fonctionnalités et propriétés. Les données des objets sont multiplexées et démultiplexées de façon transparente lors de la lecture ou de la sauvegarde depuis ou vers SQL.

Tout l'héritage objet a été revu pour cela. On obtient un ensemble très homogène et surtout logique. Chaque module héritant des fonctionnalités et des propriétés du précédent, comme il se doit dans un système objet.

Cet héritage, ainsi que les avancées sur les classes de gestion de données (WdDatabaseTalbe et WdModel), m'ont permis de supprimer beaucoup de code redondant. Le modèle de données étant maintenant pleinement apte à valider et trier les données qu'on lui passe, c'est vraiment un jeu d'enfant d'obtenir un objet, de le modifier et de le sauvegarder.

Une solution versatile de cache

J'ai aussi beaucoup travaillé sur un nouveau système de cache qui me permet d'atteindre de très bonnes performances. Ainsi, sur ma machine (DualCore 8400), le temps de démarrage de WdCore passe de 80ms à 8ms ! Ça saute aux yeux quand je génère des miniatures.

La nouvelle classe WdFileCache supplante ici et là les autres systèmes de cache en place, fournissant une solution unique et versatile pour gérer un cache de données ou de fichiers. La classe est maintenant utilisées par le module thumbnailer pour la gestion des miniatures qu'il génère à la volée.

WdPublisher en fait lui aussi usage pour mettre en cache les pages qu'il génère. Il utilisait auparavant une table SQL pour cela. Maintenant qu'il en est débarrassé, il est capable de servir une page depuis le cache sans même ouvrir une connexion au serveur SQL.

Des éléments HTML toujours plus simples

Les classes servant à la création d'éléments HTML ont elles aussi prit un sérieux coup de soleil. En particulier les classes servant à créer et à manipuler des formulaires. La classe précédente WdForm a été scindée en trois parties, avec une base et deux sous classes :

  • Wd2CForm permet de créer des formulaires de type label / champ très simplement.
  • WdTemplatedForm autorise toutes les fonctionnalités de validation et de gestion de données de WdForm avec des patrons HTML.

À venir

Vous devez vous en douter, il y a un autre bon millier de choses nouvelles, mais je pense que je vais en rester là pour les descriptions vaporeuses. Des cas pratiques arrivent très vite avec notamment des exemples pour la classe de cache et surtout le framework WdElement qui je pense est assez mûr maintenant pour être dévoilé.

Alors à bientôt, et profitez bien du beau temps.

Laisser un commentaire

Pas de commentaire