Code Igniter

jeudi 07 juin 2012 à 22:28

On ne présente plus Code Igniter : grosse communauté, pas mal de modules etc. Pas vraiment micro, je le test en tant que tel car il n'est pas aussi gros que les poids lourd style Symfony ou Zend. Vu qu'il n'est (selon moi) pas non plus dans les micro frameworks, je m'attends quand même à une prestation meilleure dans le Mo de code que dans les petits moustiques qui pèsent 10 fois moins… Un peu déçu : sont poids est sa grosse faiblesse : trop lourd pour oublier des options qu'il n'offre pas, trop léger pour offrir ce qu'il voudrait.

Poids

  • ZIP : 893 Ko
  • Dézipé : 2,27 Mo

Au vue de ce poids, Code Igniter n'est pas un micro framework. Cependant, notez que la doc est installée dans ces fichiers et que sans, il ne pèse plus que 1,08 Mo.

Documentation

Comme je viens de le dire, la doc de Code Igniter est dans l'installation même du projet. Il suffit d'aller sur http://localhost/mon_projet/help pour y accéder. Très complète, cette documentation interne permet de ne pas avoir de problème de version. Sinon, Code Igniter bénéficie d'une grande communauté assez active.

Installation

On dézip, on va sur le navigateur et voila. Un petit détail : j'avais des messages d'erreurs sur la version 1.7.1 et un 404 sur la 2.1 à cause d'un espace dans le nom du dossier (que j'avais nommé «code igniter»). Je ne peux m'en prendre qu'à moi, mais finalement, tout va bien.

Je rajoutte «/user_guide» à la fin de l'URL (tient, c'est plus «/help») et j'arrive sur la doc qui est donc chez moi. Très bonne idée.

Première impression

Parmis tous les micro-framework testé, c'est sans doute celui dont j'attends le plus. J'ai déjà failli travaillé avec plusieurs fois, mes collègues m'en ont dis beaucoup de bien et je me suis pas mal documenté.

Donc rentront dans le vif du sujet. Nous sommes sur la doc, en 3 clics, nous avons trouvé un petit démarage rapide : «Tutorial − Static pages». Le système de rooting est classique : class/method/parametre1/parametre2/... Mais mauvais point, voici ce que j'obtiens par défaut : «http://localhost/framework/code_ignitor/index.php/pages/view/about». QUOI ! index.php avec une suite dans mon URL ? Alors OK, Code Igniter veux rester compatible avec PHP 4, très bien… mais un serveur sans mod_rewrite, ça n'existe plus. Donc pourquoi ne pas mettre un htaccess avec le rewrite par défaut ? Au pire, il ne marche pas, et alors ?

Bon il y a toujours moyen de faire soit même les rewriteCond, mais je trouve ça pas sérieux pous un projet comme Code Igniter. Je suis sans doute intransigeant car je ne demande pas la même chose aux autres framework, mais je ne leur demande pas la même chose qu'a un projet aussi lourd et vieux que celui-ci.

Configuration

Simplissime : dans le dossier config, tous les fichiers sont très bien détaillés. On configure la DB et tout sans aucun soucis. Les dévelopeurs ont visiblement tout prévu.

Facilité d'apprentissage

Grâce à sa doc installé directement dans l'appli (ne pas oublier de la supprimer avant de mettre en prod), Code Igniter est très simple à prendre en main. Le parti pris de rester compatible avec PHP 4 joue aussi dans ce sens : pas de code trop récent et mal connu par les débutants comme les namespaces etc. Mais rien ne vous empèche de les utiliser pour autant, surtout que ces mots clé sont sympas, mais pas obligatoires.

Pas mal de modules sont déjà installés, on aime ou on n'aime pas, mais ça aide beaucoup à l'apprentissage.

La structure en classe/méthode est souvent utilisé dans les framework n'innove pas vraiment, mais reste connu.

Marge de manœuvre

Le développeur est guidé à distance via la structure, mais ça ne va pas plus loin. Cette structure laisse énnormément de souplesse selon moi. Et si vous ne savez pas où placer une fonction, créez un helper (pour info, ceux d'I-Radian sont inspiré de ceux de Code Igniter).

Sentiment personnel

Il m'est déjà arrivé de travailler sur un serveur où tournait une sombre application qui tournait en PHP 4 et qui plantait sur PHP 5. C'est typiquement le genre de situation où je conseil vivement Code Igniter. Mais pour ma part, je pense avoir le niveau où il n'est pas utile de me tenir le curseur pour faire du code et j'ai déjà mes petites habitudes pour certains modules. À ce titre, je n'aime pas l'idée qu'on me propose des modules pré-installé, même si ils sont de qualité.

Cependant, si votre boite à outils n'est pas complète, c'est sans doute le moment de l'agrandir et ça peut être un plus.

Laissez un commentaire

captcha

En bref...

Dernier article

La dictature sur facebook

Cette semaine, l'actu, c'est Facebook qui trébuche. Le réseau social vient en effet de supprimer le droit de vote de ses membres. On a aussi GoogleNow sur Chrome, des nouvelles pas très réjouissantes de l'UIT, du piratage, l'étoile de la mort de Star Wars et une évasion échoué.

Ressources externes