Actualités - PHPBoost

Annonce des nouveautés de PHPBoost 3.1

Sortie fin juillet 2009, PHPBoost 3.0 semble avoir satisfait les utilisateurs et s'avère pour le moment une réussite tant sur le plan de la stabilité que celui des fonctionnalités. Mais ce n'est pas pour cela que nous nous reposons sur nos lauriers. Le développement de la future version de PHPBoost qui sera très certainement baptisée 3.1 a commencé dès la sortie de sa petite sœur, la 3.0, et même un peu avant. Depuis ce temps-là, nous avons fait du chemin dans le développement, c'est la raison pour laquelle nous faisons aujourd'hui le point sur les nouveautés que nous avons décidé d'intégrer à la nouvelle version de PHPBoost.



Planning





Notre roadmap indique l'arrivée de PHPBoost 3.1 pour la fin de l'année 2009, et c'est maintenant une certitude, nous serons en retard sur cette date. Nos études font qu'il est difficile pour nous de consacrer beaucoup de temps au projet, à notre grand regret. Nous sommes cependant à mi-chemin de ce que nous avions prévu.



Nouveautés au programme





Voilà les grandes lignes de ce que nous avons prévu d'intégrer à PHPBoost 3.1.

  • Module plan du site qui génère automatiquement le plan du site à partir des informations que lui donnent les autres modules, et génère également le fichier sitemap.xml qui permet d'améliorer le référencement des sites sur les moteurs de recherche.
  • Amélioration du système de gestion des menus : possibilité de faire plusieurs configurations de menus en fonction de la page sur laquelle ils sont affichés (typiquement si vous voulez que la colonne de droite soit masquée sur certains modules, ou si vous souhaitez afficher un menu de liens seulement dans un certain module).
  • Refonte des modules news et articles qui n'ont pas été mis à jour depuis un certain temps, ils vont enfin retrouver une certaine jeunesse.
  • Nouveau système de gestion de la page d'accueil du site, l'actuel ne nous satisfaisant pas et n'étant pas idéal pour le référencement. Nous améliorerons à cette occasion-là le module panel qui sera très pratique pour faire des pages d'accueil personnalisées dans lesquelles pourront être intégrés du texte et des flux de contenu.
  • Module bugtracker permettant de gérer les rapports de bugs de façon plus adaptée qu'un forum, notamment pour ce qui concerne le suivi des bugs.
  • Tout ceci est bien évidemment accompagné d'une multitude de petits changements que nous ne détaillons pas ici. Ce ne sont que les changements majeurs qui vous sont présentés.





Sur un plan plus technique, voici ce qui a changé :

  • Passage de tout le code en PHP 5 : nous avons repris une partie du code du noyau de façon à exploiter pleinement les fonctionnalités apportées par PHP 5, cela nous a pris un certain temps mais cela allègera les charges de développement par la suite.
  • Intégration au framework d'une partie permettant d'utiliser le design pattern MVC qui permettra de produire un code beaucoup plus clair, évolutif et maintenable. La partie vue était partiellement implémentée avec les templates, nous ajoutons là toute la partie contrôleur ainsi que quelques bases pour la partie modèle avec notamment la prise en charge des fonctionnalités de base du mapping objet relationnel (ou <acronym title="Object-Relational Mapping" class="bb_acronym">ORM</acronym> en anglais). Nous devons nous contenter de fonctionnalités de base concernant l'ORM pour conserver des performances acceptables.
  • Nouveau système de gestion du cache, celui que nous avions jusqu'à présent n'étant pas adapté à un logiciel de grande envergure et n'étant pas maintenable. Celui-ci pourra également tirer profit de l'extension APC, si cette dernière est activée, de façon à stocker le cache en RAM et ainsi limiter les accès au système de fichier, ce qui améliorera notablement les performances.
  • PHP 5 nous permet d'utiliser l'autoload qui, couplé au système de cache, permet de ne plus à avoir à importer les classes que nous utilisons (PHP s'en charge automatiquement) sans pour autant détériorer les performances, cela a même pour effet d'accélérer la génération des pages car jusqu'à présent beaucoup de code inutile était inclus.
  • Sur le plan de la qualité logicielle, nous avons mis en place des tests unitaires permettant d'effectuer automatiquement les tests sur les couches basses du framework, ce qui nous permet de nous assurer de la non-régression lors du développement.