Code Igniter est un framework PHP compatible PHP 4 qui propose des fonctionnalités intéressantes pour la création d’application Web.
Pour couper court à toute discution, il n’est pas aussi puissant que Symfony ou le Zend Framwork, mais il offre d’autres atout comme la simplicité, la rapidité, l’efficacité et la documentation.
Installation
L’installation est très simple voir simpliste, il suffit de télécharger la dernier version et de l’extraire dans le répertoire qui contiendra votre application Web.
Il faut ensuite configurer le fichier application/config/config.php pour y mettre l’URL de base. Pour configurer la ou les bases de données utilisées dans le site il faut modifier le fichier application/config/database.php.
Ces trois opération permettent d’avoir un site fonctionnel en quelques secondes. Bien sur, il existe d’autres options de configuration qui permettrons aux plus aguerris d’avoir une application aux plus proches de leurs désirs.
Caractéristiques
Framework pour application Web
Ce framework fournit les briques essentiels pour le développement d’application Web, sans pour autant être une usine à gaz. On peut dire sans trop se tromper que les bibliothèques de Code Igniter couvrent 80% des besoins des développeur.
Un framework libre
Comme souvent dans le monde PHP, le framework est libre. Sa licence est du style Apache / BSD.
Compatible PHP 4
Bien que PHP 5 soit de plus en plus utilisé, il reste de nombreux serveur utilisant PHP 4, et dont la place ne cesse d’augmenter avec la migration des applications vers PHP 5. Il peut être intéressant d’utiliser cette compatibilité pour utiliser à nouveau ces ressources laisse libre.
Un framework Rapide
De part sa nature un peu minimaliste, les performances sont au rendez-vous.
Une architecture MVC
CodeIgniter se base sur une architecture MVC qui permet de bien séparer la logique métier de la présentation. Avec ce motif de conception, il est parfaitement possible de faire travailler des intégrateurs et des développeurs en parallèle sur les mêmes projets.
Les « clean URLs »
CodeIgniter se base sur une approche orientées segments pour la gestion des URLs. Ce mode de fonctionnement est devenu un standard pour tous les frameworks. Le schéma mise en oeuvre s’inspire de schéma de route de Ruby On Rails.
Les librairies
CodeIgniter est fournit avec un certains nombres de librairies, qui couvre les plus grand besoins des développeur Web. On trouve par exemple des classes pour la gestions d’un panier, l’upload de fichier, la manipulation d’image, l’internationalisation, la gestion des formulaires, la base de données, la gestion du cache, les tests unitaires … .
Ce framework est extensible à souhait. Il est ainsi parfaitement possible d’intégrer des libraries tierces ou créer ses propres helpers.
On trouve par exemple sur le site Doctrine un tutoriel pour remplacer la couche de base de données par un ORM telle que Doctrine.
Pas besoin de langage de template
Je ne vais pas encore relancer le débat, mais les langages de templates n’apportent pas grand chose. CodeIgniter permet de faire sans et c’est tant mieux.
Si vous êtes intégristes et que vous voulez absolument en utiliser un, CodeIgniter fournit un micro-langage de template.
Documentation
Pour terminer, ce rapide tour d’horizon, CodeIgniter dispose d’une documentation plutôt complète. Dommage que la forme ne soit à la hauteur fond, la navigation dans la documentation est plûtot pénible mais elle est complète.
CodeIgniter est framework PHP plutôt bien réalisé. Son principal atout réside dans sa simplicité, il est accessible aux néophites comme aux développeur plus chevronnés.
Il pourra convaincre un programmeur à l’ancienne de l’apport des frameworks PHP.
Pingback: Les tweets qui mentionnent Code Igniter : un framework alliant simplicité et efficacité | truffo.fr -- Topsy.com
Certe il est très bien et effectivement très simple mais à l’heure ou des symfony (et autres) regardent vers PHP6 une retro-compatibilité vers le PHP4 n’est elle pas un frein à l’évolution du PHP qui souffre déjà grandement de ces fondations chaotiques.
Enfin ce n’est que mon avis. Car je le recommande quand même (avec CakePhp) pour faire une incursion dans le monde des frameworks.
On peut bien entendu voir la comptabilité PHP 4 comme un frein à l’évolution. Il existe encore de nombreux serveur sur cette version. Drupal et WordPress assure encore dans leur dernière version la compatibilité avec PHP 4.
Pour PHP 6, je pense qu’on encore attendre encore quelques années avant de le voir arrivé sur des serveurs de production. PHP 5.3 apportent déja des évolution fondamentale aux langages.
Pour revenir à Code Igniter, c’est à mon avis le genre d’outil qui devrait enseigné dans les écoles, car il est suffisamment simple et il met en oeuvre tous les principaux concepts de la programmation Web moderne.
Pour le support exclusif du PHP 5 il ya un fork de Code Igniter qui s’appelle Kohana qui est très intéressant également et qui a aboutit sur un recodage complet du framework.
Oui, j’ai hésité au moment de me lancer dans CI, et j’ai eu peur de tomber sur une moins grande communauté que CI. Mais à regarder leur site plus en profondeur, ça paraît quand même pas mal dynamique…
Du coup, j’hésite à nouveau… comme ce que j’ai fait jusqu’à présent est principalement sur Doctrine, je n’aurai pas grand chose à changer pour passer sur Kohana…
J’utilise Kohana depuis quasiment 2 ans maintenant et je peux te garantir que ca balance sévère :) Certes la doc est un peu moins bien que celle de CI, il y a certainement une communauté moins grande mais la qualité du code, les designs patterns utilisés, la grande compétence des personnes sur le forum en font un framework supérieur, en tous cas pour moi.
Après les framework c’est histoire de goût! En tous cas fais toi une idée en testant la v3 de Kohana.
CI est vraiment top pour les débutants grâce à sa documentation très bien fournie, personnellement cela m’a beaucoup aidé pour me lancer dans le dev web.
C’est une très bonne approche pour aborder l’architecture MVC et passer par la suite sur un framework plus musclé : Kohanna semble assez intéressant s’il on veut passer à PHP5 !
Je me suis tourné vers codeigniter et je ne suis vraiment pas déçu, il est simple et rapide si vous êtes débutant concernant le modèle MVC n’hésitez pas !