Project

General

Profile

CodeIgniter

1. CodeIgniter est un Framework PHP dit "léger" qui a toutes les bonnes caractéristiques pour notre projet. http://www.siteduzero.com/tutoriel-3-370694-codeigniter-le-framework-aux-services-des-zeros.html

Il ne propose que le minimum de fonctionnalités, donc sa prise en main est rapide. Beaucoup plus rapide que celle de Zend ou Symphony.

  • Il présente néanmoins du support sur la plupart des points qui nous intéressent et permet de réaliser rapidement des formulaires (et surtout de les valider), des accès base de données, etc. Cela de façon plus rapide et plus structurée qu'en PHP pur.
  • Il supporte naturellement le modèle MVC et propose une architecture de répertoires propre et intuitive.
  • Il n'est pas contraignant dans le sens où il n'impose pas un modèle MVC strict ou des règles de codage ou une structure quelconque. Il propose une architecture simple et laisse le développeur faire ce qu'il veut.
  • Il est réputé efficace et permet de réaliser des sites rapides.
  • Il est suffisamment puissant pour avoir été choisi par des développeurs professionnels.
  • Il est libre et gratuit
  • Il est bien documenté. En tout cas il affirme que c'est une de ses forces. C'est vrai, mais la documentation n'est quand même pas parfaite, cela fait un peu peur pour les autres.

J'ai suivi le tutoriel pour comprendre comment cela fonctionnait et j'ai commencé à porter le site. Plus j'avance plus je suis convaincu que c'est le bon choix. Le portage est très facile. J'ai installé CodeIgniter (environ 20 minutes).

L'intégralité du site est géré sous CodeIgniter.
  • Les mécanisme de configuration et de sélection de modules. Comment faire pour utiliser la version ACES ou Abbeville de tel ou tel module? Comment faire pour ne pas être obligé de réécrire toute la page de gestion des planches parce-que les deux versions ne diffèrent que par des détails?
  • Pour accélérer encore le développement je propose de s'appuyer sur quelques modules complémentaires génériques; un gestionnaire de menu couplé au mécanisme d'autorisation, un module pour afficher une table de base de donnée avec pagination., quelques éléments graphiques qu'on rencontre tout le temps, bouton, sélecteur d'un élément dans une table, etc. On ne les trouve pas dans CodeIgniter parce qu'il est généraliste et minimal. Nous on n'est pas généraliste, puisqu'on veut faire un site de gestion de club de vol à voile.

GVV a été testé et déployé avec CodeIgniter version 2.0.