Je suis un papa geek
nature forest industry rails - CakePHP : ce framework PHP, c'est du gâteau !

CakePHP : ce framework PHP, c’est du gâteau !

CakePHP, un nom original pour un framework PHP, n’est-ce pas ? Mais terriblement bien choisi ! Cake en anglais, signifie gâteau. Et en effet, ce framework PHP, comparé à d’autres, c’est du gâteau (l’équipe de développement en fait d’ailleurs sa bannière). Avant de vous présenter CakePHP, je vais d’abord définir avec vous ce qu’est un framework.

En informatique, un framework est un espace de travail modulaire. C’est un ensemble de bibliothèques, d’outils et de conventions permettant le développement d’applications. Il fournit suffisamment de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une application aboutie et dont la maintenance est aisée. Ces composants sont organisés pour être utilisés en interaction les uns avec les autres.
Des tentatives de francisation du terme ont été faites. On trouve ainsi parfois les termes cadre d’applications, proposé par l’Office québécois de la langue française ou cadriciel. (source Wikipédia)

Vous l’aurez compris, un framework PHP est un ensemble de conventions, de composants et de fonctionnalités utilisables pour développer des applications logicielles structurées, évolutives et maintenables.

Vous pouvez comparer un framework PHP à un chantier de construction. Le framework, ce sont les briques qui composeront l’édifice que vous allez construire. Il y a beaucoup de briques et, bien entendu, il n’est pas obligatoire de toutes les utiliser. Vous pouvez très bien construire une maison en utilisant seulement quelques briques, ou encore réaliser un palais avec plus de briques. Chaque brique représente une fonctionnalité fournie par le framework, qui une fois assemblée avec d’autres briques (d’autres fonctionnalités), devient une maison (une application).

Pour faire tenir debout cette construction, il y a un ensemble de conventions et de règles de développement imposées par le framework à respecter : c’est le ciment. Sans le framework, cela revient à aller extraire soit même son argile pour aller faire cuire ses propres briques. c’ets beaucoup plus long que d’avoir les briques directement, non ?

Un framework, qu’il soit PHP ou autre, rend les développements plus rapides, plus stables, plus modulaires et plus évolutifs du fait des conventions à respecter. Il limite les égards de début de développements et réduit ainsi les failles de conception des fondements de son application.

Pour en revenir à CakePHP, c’est donc un framework PHP (vous l’aurez compris je pense) relativement simple à prendre en main comparé à certains autres frameworks PHP tels que Zend, Jelix, Prado ou Symfony. En seulement 4 jours, vous pouvez être capable de réaliser une application basique du style blog ou livre d’or. Pour Zend, par exemple, il m’a fallu plusieurs semaines. Et je ne l’utilise plus d’ailleurs …

Les avantages de CakePHP :

  • Aucune configuration : configurez la base de données et c’est tout
  • Extrêmement simple : c’est du gâteau, c’est écrit …
  • Communauté très active et très réactive
  • Licence souple : licence MIT (ce que vous développez vous appartient totalement et peut être vendu)
  • Framework sain : tout le code a été écrit par l’équipe de développement de CakePHP
  • Respecte les bonnes pratiques : sécurité, sessions, authentification et bien d’autres encore
  • MVC
  • Hiérarchisation des données en base de données suivant la structure MPTT
  • Orienté Objet (OO) : débutant ou confirmé en développement objet, pas de problèmes !
  • Documentation fournie et partiellement traduite en français
  • Des tutoriaux
  • Gestion de cache, de droits
  • Outils intégrés d’aide au développement (formulaires, ajax, validation des données, authentification …)
  • Console en ligne de commande permettant la génération d’application CRUD (Create/Read/Update/Delete, Scaffholding) à la volée
  • et bien d’autres encore !

Que vous dire d’autres à part d’aller faire un tour sur le site de CakePHP et de vous faire vous-mêmes une idée précise de la chose ?

Pour ma part, je vais commencer à développer quelques petits projets avec, histoire d’enrichir un peu l’univers d’Arcana Scientis qui se limite pour le moment à un blog. Mais d’ici là, surprise !

J’écrirais plusieurs tutoriaux au fil de mes développements avec CakePHP afin de vous permettre de bien prendre en main ce framework et de réaliser vous aussi vos applications PHP avec CakePHP.

Quelques liens :

Julien

Développeur web depuis 10 ans, je suis avant tout le mari d'une formidable femme et le papa d'une fantastique et adorable petite fille. Passionné d'internet, de dessin, de photographie et de tout ce qui tourne autour de l'univers geek et high tech, je suis blogueur depuis maintenant 10 ans. Depuis 2017, mon blog "Arcana Scientis" a changé de nom et s'appelle désormais "Je suis un papa geek", plus représentatif de ma personnalité. Je vous souhaite la bienvenue !

9 commentaires

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

  • Ca fait un peu propagande quand même un billet comme ça, si ce n’est la métaphore du framework 😀

    Surtout que si j’ai bien suivi tu n’avances que les arguments que le site officiel reprend lui même (la traduction à ta charge c’est vrai).

    Bref j’étais venu chercher un peu de retour d’expérience sur Cake, je repars un peu déçu.

    • C’est juste que c’est le premier framework PHP qui retient suffisamment mon attention et mon intérêt pour que j’en parle.

      Je débute tout juste avec, c’est pourquoi je ne peux pas encore faire de retour d’expérience dessus.

      Je ne suis peut-être pas très objectif dans cet article, c’est un peu comme un enfant qui découvre un nouveau jouet, il le trouve fantastique et sans défaut.

      Je suis sûr qu’il y en a dans CakePHP, et je serai là pour le dire au fil de mes prochains billets sur le sujet.

  • Ce framework est vraiment pas mal je développe des site avec ce dernier et il est assez stable et aussi nikel a prendre a main donc pour les débutant en php c’est nikel!
    Merci pour cette belle présentation, souvent les gens se demande ce que c’est un é framework” alors en plus si on ce met a leur parler de Cakephp ben ils sont un peu perdu ^^

  • J'utilise ce framework par recommendation d'un autre développeur mais ne l'utiliserai plus jamais une fois le projet bouclé.

    Quand on développe un framework et qu'on veut qu'il soit utiliser, on met une documentation convenable. Des sites non officiels sont plus clairs que le site officiel !

    Et ne parlons pas du tutoriel sur leur doc ! Un blog a une table (lol), aucune relation HABTM clairement expliquée du read() du controlleur jusqu'au save() en passant par les vues. Et je parlerai même pas des cas où trois tables sont liés entre elles pas une table de jointure (par exemple, un joueur joue à tel poste à tel match).

    Je peux ausis évoqué la ocuche métier. La grande force des frameworks qui permet au dev' de gagner du temps. Mais le client il s'en fout de notre vie. Lui il veut un liste fonctionnel et rapide. Alors quand je vois que mon code fait 5 lignes mais qu'il balance 15 requètes et que je je suis obligé de reboucler dessus en php pour avoir ce que je veux alors qu'à la main c'est torché en une requète SQL.

    Essais par exemple de récupérer un enregistrement dans une langue donnée ou la langue par défault s'il n'est pas traduit dans la langue donnée 😉 Et au passage tente aussi d'apliquer des règles de validations à tes champs enregistrés dans la table i18n. (au passage, toutes les traductions d'une appli dans une seule table, on va se marrer dans 5 ans en lookant sa taille :D)

    Bref, je suis de ceux qui pensent que la couche métier devrait être faîte à la main dans un soucis de performance et de sécurité. L'argument de la rapidité de dev c'est juste de la merde à mon avis. Le code le plus court n'est pas forcément le plus rapide.

    • Je n'ai pas vraiment d'expérience au niveau frameworks PHP.
      J'ai quelques petits projets PHP qui trottent dans ma tête, mais je me demande finalement si je ne vais pas les réaliser en full PHP, en codant toutes mes classes PHP à la main.
      Le temps d'adaptation à un framework est assez conséquent, si en plus il faut après gérer les limites ou les inconvénients du roduit, c'est plus une perte de temps qu'un avantage.
      Merci pour ces commentaires très intéressants !

    • Pour moi, la principale différence réside au niveau de la puissance d'utilisation. Zend Framework est très complexe à appréhender mais incroyablement efficace pour les gros projets, du fait de sa compatibilité épatante avec le Zend Core et PHP.
      Cake PHP reste un peu plus léger, mais néanmoins est plus simple à appréhender et idéal et suffisant pour de petits projets.
      Au niveau support et communauté, Zend est plus professionnel et complet que Cake PHP, où la communauté est majoritairement composée de développeurs indépendants ou auto-didactes.

  • Il y a aussi le fait que Zend et symfony, dans leurs dernières versions stables, nécessitent PHP en version 5.2.4 minimum, alors que CakePHP 1.2.x peut encore tourner avec PHP 4.

    Évidemment ça doit sûrement se payer sur le plan des performances…

Julien

Développeur web depuis 10 ans, je suis avant tout le mari d'une formidable femme et le papa d'une fantastique et adorable petite fille. Passionné d'internet, de dessin, de photographie et de tout ce qui tourne autour de l'univers geek et high tech, je suis blogueur depuis maintenant 10 ans. Depuis 2017, mon blog "Arcana Scientis" a changé de nom et s'appelle désormais "Je suis un papa geek", plus représentatif de ma personnalité. Je vous souhaite la bienvenue !

Inscription à la newsletter

%d blogueurs aiment cette page :