Pour les curieux ayant récupéré les sources sur le svn vous avez du remarquer l’organisation un peu spéciale des fichiers, notamment les dossiers system et application.
XNova est désormais développé sous un framework : CodeIgniter !
Pour ceux qui ne connaissent pas ce qu’est un framework voici une petite définition tiré de wikipédia :
Un framework est un ensemble d’outils et de composants logiciels organisés conformément à un plan d’architecture et des design patterns. L’ensemble forme un squelette de programme. Il est souvent fourni sous la forme d’une bibliothèque logicielle, et accompagné du plan de l’architecture cible du framework.
Pour simplifier on peut résumé la définition de framework en système d’organisation de fichiers et grosse bibliothèque de fonctions.
Pourquoi un tel changement ?
Pour ceux qui ne connaitrait pas la petite histoire, le développement chaotique d’xnova-ng à la suite de la 0.8 il y a de cela plusieurs années n’était pas entièrement la faute d’un manque de motivation de l’équipe de l’époque, elle a surtout été le fruit d’un mauvais choix quand aux technologies à utiliser pour le développement.
Il était prévu d’utiliser zend framework, le choix était logique puisque zend était et est encore une référence en terme de framework php, toutefois il est extrêmement difficile de coder avec pour un développeur débutant. L’équipe de l’époque n’ayant pas le niveau pour développer xnova avec zend framework, petit à petit tous le monde a abandonné le projet (moi y compris), sauf Greg, développeur de l’actuel wootook (qui n’a d’ailleurs plus rien à voir avec le nouvel xnova en préparation ).
J’ai toujours eu pour philosophie que le code d’xnova doit être suffisamment clair et bien pensé pour que n’importe quel développeur débutant puisse y mettre les mains dans le cambouis et y ajouter des fonctionnalités. Vous comprendrez donc ma réticence à utiliser un framework php tel que zend ou symfony demandant un très bon niveau en php. Néanmoins il y a quelques mois de cela, à la fin de la période de test de la 1ère milestone j’ai découvert codeigniter qui est actuellement le meilleur framework selon moi.
Pourquoi avoir choisi CodeIgniter ?
En un mot : simplicité .
Pourquoi devrais-je perdre mon temps dans la documentation d’un framework plutôt que dans le développement d’un projet ? Codeigniter résout ce problème, en une après midi vous serez prêt à vous en servir (je vous conseille ce très bon tutoriel ), la documentation est très claire, le framework est rapide, il possède pas mal de fonctionnalités et l’organisation des fichiers est bien pensée.
Pas besoin de se prendre la tête avec des éditeurs de routes complexes ou de la ligne de commande à la symfony ou zend, là tout marche du premier coup !
Quels changements pour XNova ?
Les changements sont nombreux, le premier étant une accélération du temps de développement, en effet je n’ai plus à m’occuper de tout ce qui concerne les connexions ou les requetes vers la base de donnée, la sécurisation des formulaires, gérer un système de sessions sécurisés, … le framework le fait pour moi !
Le deuxième changement étant la stabilité du code : énormément moins de bugs ! Et qui dit moins de bugs à corriger dit projet qui avance plus vite !
Le troisième étant la facilité pour un développeur étranger au projet mais connaissant codeigniter à très vite pouvoir le modifier : parfait selon moi.
Enfin bref vous l’aurez compris au travers de ce long article XNova passe sous codeingiter, le developpement est toujours en cours et a retrouvé un second souffle !
A bientôt dans un prochain billet !
Posted by Raito
mar 07, 2012