CodeIgniter 1 – Les bases

CodeIgniter 1 – Les bases

Dans ce nouveau cours, je vais vous apprendre à utiliser CodeIgniter. Cette première partie a pour but de vous faire découvrir ce qu’est un framework et pourquoi nous avons choisi Code Igniter.

Partie suivante ->

Bonjour et bienvenue dans ce nouveau cours. Ensemble, et au bout de quelques tutoriels nous allons apprendre à utiliser Code Igniter. Afin de simplifier votre apprentissage, je découperai ce cours en différents chapitres.

Dans ce premier chapitre, nous allons apprendre ce qu’est un « framework » et pourquoi choisir Code Igniter.

Les frameworks

Tout d’abord, un framework (= « cadre de travail », en français), qu’est-ce que c’est ? Selon Wikipedia,

un framework est un kit de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d’un logiciel (architecture).
Un framework est un ensemble d’outils et de composants logiciels organisés conformément à un plan d’architecture et des patterns, l’ensemble formant ou promouvant un squelette de programme.

Contenu soumis à la licence CC-BY-SA. Source : Article Framework de Wikipédia en français (auteurs)
 

En termes plus simples, et en ce qui nous concerne, ce sont des codes, des bouts de programmes, des outils qui ne demandent qu’à être utilisés et exploités dans vos projets. Un framework est conçu dans l’unique but d’aider les développeurs d’une part en améliorant la vitesse de développement, d’autre part en facilitant la maintenance du projet.

Attention à ne pas confondre framework et bibliothèque !

Un framework est différent d’une bibliothèque de plusieurs façons. Un framework est rarement spécialisé, il est souvent constitué de bibliothèques diverses et variées. Le framework impose un certain type de développement, vous ne pouvez pas faire n’importe quoi n’importe comment avec un framework, il faut suivre une architecture (souvent assez simple, je vous rassure) et respecter certains patterns ou modèles.

Avantages

Il y a beaucoup d’avantages à utiliser un framework :

  • Organisationnous verrons par la suite que la plupart des frameworks utilisent un modèle d’architecture commun qui – si vous ne le connaissez pas – vous aidera grandement dans le développement de vos sites.
  • Réutilisation de vos codes : déjà par le simple fait d’être – pour la plupart – en POO (Programmation Orientée Objet), puis grâce à l’architecture dont je vous parlerai plus tard, mais surtout grâce aux bibliothèques incluses.
  • Facilité de développement : les « helpers » (nous en parlerons plus tard), bibliothèques et autres avantages propres à chaque framework rendront le développement plus simple que jamais.
  • Rapidité de développement : plus que jamais, vous constaterez une évolution dans la vitesse de développement et la qualité du rendu.
  • Communauté : les frameworks ont très souvent une grosse communauté qui peut vous fournir de l’aide en cas de problème.
  • Et bien d’autres que vous découvrirez par vous même lors de ce tutoriel.

Lequel choisir ?

Il existe des dizaines de frameworks rien que pour le PHP. Alors, comment choisir le bon ?

Pour commencer, si vous ne connaissez pas la POO, vous fermez la porte à énormément de frameworks. Ensuite, certains ont un fonctionnement, une architecture qui ne colleront pas à votre manière de développer, mais c’est à vous de juger si le framework vous convient ou pas.

frameworks

Liste non-exhaustive des frameworkds PHP existant.

Maintenant, je vais vous montrer les tendances dans les recherches pour quelques frameworks :

évolution des tendances des recherches

Un graphique contenant l’évolution des tendances dans les recherches sur Google.

Et donc, pour ce tutoriel on va prendre …

Code Igniter

Code Igniter est un framework libre créé par la société EllisLab, dont la première version a été officialisée en 2006. Sa version 2.0 est sortie en 2011. La dernière version de CodeIgniter date du 8 octobre 2012.

Liste des fonctionnalités

Si vous désirez voir la liste des fonctionnalités, cliquez sur le bouton ci-dessous.Codeigniter

  • Bibliothèques complètes de gestion des bases de données avec support de plusieurs plateformes
  • Support de l’Active record
  • Validation des données et des formulaires
  • Sécurité et filtres XSS
  • Gestion des sessions
  • Classes d’envoi de mails supportant les pièces jointes, le format HTML ou texte, plusieurs protocoles (Sendmail, SMTP, mail, etc…) et plus
  • Bibliothèque de manipulation des images (redimensionnement, rognage, rotation, etc …) avec GD, ImageMagick et NetPBM
  • Classe d’upload de fichiers
  • Classe FTP
  • Internationalisation
  • Pagination
  • Cryptage des données
  • Tests de performance (benchmarking)
  • Système de cache
  • Gestion des erreurs par log
  • Optimisation d’application (profiling)
  • Classe calendrier
  • Classe User Agent
  • Classe de compression ZIP
  • Moteur de gabarit (template)
  • Classe trackback
  • Prise en compte de la bibliothèque XML-RPC
  • Classe de gestion des tests unitaires
  • URL simplifiées compréhensibles par les moteurs de recherche
  • Système de routage très flexible
  • Supporte les hameçons (hooks) et l’extension de classes
  • Importantes bibliothèques de fonctions d’aide (helper)

Mais, pourquoi celui-là en particulier ? Les autres aussi offrent beaucoup de fonctionnalités !

Les raisons pour lesquelles je vais vous apprendre celui-ci sont les suivantes :

  1. Il est assez simple à apprendre, ce qui le rend parfait pour l’apprentissage de son premier framework;
  2. Malgré toutes les fonctionnalités qu’il offre, il reste extrêmement léger et rapide;
  3. Il existe une documentation en français pour que vous puissiez vous passer de moi (à mon grand dam!) par après.

Voilà, c’est tout pour cette première partie. Elle était assez longue, mais j’espère que vous serez encore nombreux à lire cette phrase, et à avoir tout compris.

N’hésitez pas à laisser vos remarques en commentaires ou via le formulaire de contact du site.

À bientôt pour la suite !

Partie suivante ->

Submit a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.