Vers une troisième version d'XCMS

Il se pourrait que le cycle de vie d'XCMS2 soit raccourci suite au développement plus rapide que prévu d'XCMS3.

XCMS a été pensé dès le départ pour faciliter son portage sous un autre langage rapidement (Python, Java et C++ sont des voies que nous envisageons de prendre dans quelques années). Ce que nous n'avions pas prévu, c'est que cette vision de notre CMS nous permettrait également de gagner du temps pour le développement d'une nouvelle version majeure et de migrer plus rapidement que prévu la plupart de nos clients sur cette nouvelle version.

XCMS3 : L'agilité d'un singe, la stabilité d'un éléphant

C'est ainsi qu'XCMS3 devrait être utilisé en production dès septembre prochain, voire avant. Quelques mois après la migration du dernier site sous XCMS2, c'est donc un nouveau cycle qui commence avec son lot de nouveautés et de bonnes surprises.

La puissance de la programmation orientée objet encapsulée

Avec XCMS2, nous avions entièrement rebâti le code source afin qu'il soit entièrement pensé en POO. Cette fois, nous sommes allés beaucoup plus loin. Dans XCMS2 toutes les variables étaient stockées dans un grand tableau multidimensionnel initialisé par un fichier XML, complété par des fichiers de variables et enfin, utilisé par le système de template pour afficher les documents ainsi générés.

Ce concept d'arbre global a été conservé, mais entièrement basé sur des noeuds instances d'une classe (xcDataObject). Le coeur et les modules d'XCMS sont ainsi des dérivés de cette classe et sont à ce titre référençable depuis les fichiers de variable ou encore depuis le système de template.

La résultante de tout ceci est que les données de notre CMS sont ainsi bien mieux structurées, chacune dans le contexte dans lequel elles sont utilisées. Le système utilise donc beaucoup moins de ressources pour accéder à celle-ci et le risque de collisions entre elles est donc réduit à néant.

Autre effet de bord de cette refonte, la possibilité d'utiliser des fonctions au sein des template ou fichiers de variables grâce aux fameux setters/getters de PHP. La promesse de notre système de template de rester très simple est respectée tout en permettant de l'enrichir de fonctionnalités supplémentaires très intéressante. C'est d'ailleurs grâce à ce système que la gestion des droits utilisateurs a été complètement revue, centralisée et améliorée.

Un plus grand niveau d'abstraction

Quand on jette tout ce qu'on a fait pour repartir sur de meilleures bases, c'est toujours constructif. Pour XMCS3, cela se traduit surtout par un plus haut niveau d'abstraction. Grâce à cela il est possible d'utiliser un nombre illimité de modules par page, d'étendre plus facilement un module ou encore la possibilité d'exécuter un module à n'importe quel moment dans la pile d'exécution. Les erreurs sont par exemples liées au contexte dans lequel elles se sont produites. Ainsi, un module contenant des erreurs n'impacte pas la bonne exécution de ses pairs.

Il est maintenant aussi possible d'envisager pour les sites à fort trafic de nouveaux points d'amélioration des performances, notamment grâce au cache des templates des modules pré-remplis avec les fichiers de langues (qui ne sont pas sensés changer sans intervention manuelle) ou la sérialisation du contenu des objets pour une réutilisation ultérieure (notamment les catégories qui peuvent être volumineuses sur des sites e-commerce).

Enfin, cette abstraction permet également d'entrevoir de nouvelles perspectives telles que l'exécution d'une page, au sein même d'une autre page, afin de pouvoir en récupérer le contenu directement par simple instanciation de la classe voulue avec les bons paramètres.

Bref, que du lourd pour cette nouvelle version d'XCMS qui arrive très bientôt.

Publié le Lundi 24 Mai 2010

Retour

Derniers sites créés

BRT Voyages

BRT VoyagesLes journées de Détente Franco-Belges proposent des excursions organisées afin de passer un bon moment en groupe. Nous avons réalisé un système de gestion de voyages et un moteur de recherche. Suite

Actualité

Performance améliorée

Nous avons profité d'un changement de serveur web pour améliorer une fois encore la performance de nos hébergements. Suite

A propos

Nous avons créé l'agence Elitwork en 2006 au coeur du Nord-Pas-de-Calais dans le triangle Arras - Cambrai - Douai. Depuis, nous forgeons notre savoir-faire au jour le jour afin rester experts du web et des technologies d'Internet en général.
Spécialisés dans la créations de sites Internet et le développement d'application/progiciels web sur mesure, nous permettons à nos clients de réussir leur transition vers un système d'information connecté. En savoir plus

Actu de l'agence

Orange HTML5 Hackathon

Orange HTML5 HackathonNicolas Froidure, le développeur d'Elitwork a remporté avec son équipe le grand prix du jury du concours de hacking Orange HTML5 Hackathon. Découvrez cette folle journée ! Suite

Nous contacter

Elitwork SARL
10, rue Antoine DEQUEANT
62860 Oisy le Verger
Tél. : 03 21 59 62 24
E-mail