Archive for 16th septembre 2008

CakePHP : comment bien débuter

16/09/2008  |  Publié dans cakephp

Le succès de CakePHP s’accompagne fort logiquement d’un afflux de nouveaux développeurs voulant utiliser le framework. Voici quelques pistes pour démarrer au mieux.

A mon avis, le coeur de cible de CakePHP (et sans doute des autres outils du même genre), c’est le développeur PHP qui, après plusieurs applications développées avec ses petites mains, se rend compte qu’il en a marre de réinventer la roue, que certaines taches fastidieuses (par exemple les validations de formulaires, les requêtes d’insertion dans la base de données…) se répètent à chaque nouveau projet, que l’utilisation de bibliothèques externes récupérées à droite et à gauche nuit à l’homogénéité de son code. Si vous ne vous reconnaissez pas dans ce profil, ne passez pas votre chemin, tout reste possible ! Néanmoins, CakePHP impose à mon avis quelques prérequis qu’il est important d’avoir en tête avant de se jeter à corps perdu dans un projet :

connaître la programmation en PHP : oui, il faut connaître un minimum la syntaxe de PHP pour utiliser CakePHP. Le framework fait plein de choses magiques, génère lui-même du code sans qu’on n’ait rien à faire, mais ne se substitue aucunement à PHP. Les bases se trouvent dans le manuel PHP.
connaître les bases de la conception d’application et en particulier de la conception de modèles de données. Dès que l’application est un tantinet spécifique et complexe, il faut réfléchir avant de se lancer, impossible d’y couper. Une fois votre base de données bien construite, CakePHP fera son boulot. Un post sur la bakery (en anglais) explique bien l’articulation entre cette tache et le développement avec CakePHP.
connaître les bases de la programmation à objets. Pas besoin d’être un cador mais il est préférable de maîtriser les concepts de base : héritage, classe, objet, méthode, …
connaître quelques uns des Design Patterns sur lesquels est fondé le framework est un sérieux plus : MVC, Active Records

Une fois acquises ces connaissances de base, voici les ressources (avec un accent sur les francophones) qui vous seront essentielles pour démarrer :

  • longtemps le point faible de CakePHP dans sa version 1.2, le manuel collaboratif s’enrichit de jour en jour. Il est perfectible, peut-être pas assez progressif et il y a encore quelques zones d’ombre, mais il faut absolument le lire au moins une fois, et le garder sous le coude en référence ensuite. En particulier, le tutoriel du blog est un passage obligé pour découvrir le framework.
  • la communauté française se met en place. Elle dispose notamment d’un forum et d’un Google Groupe où vous pourrez discuter et poser des questions.
  • le blog Formation CakePHP est la référence francophone en matière de tutoriels clairs et détaillés. 

Quand le manuel ne suffit pas, quand Google n’est pas votre ami, voici trois pistes supplémentaires.

  • la plus ardue est d’aller lire le code des librairies composant le framework pour comprendre comment la méthode qui vous pose souci fonctionne - problème, il faut comprendre ce code, ce qui n’est pas toujours aisé. Mais l’exercice est toujours formateur.
  • la lecture de la documentation de l’API (générée automatiquement et basée sur les commentaires présents dans le code) est plus accessible, mais sa pertinence dépend de celle des commentaires, qui sont parfois laconiques.
  • troisième méthode, peut-être plus efficace : la stabilité et la fiabilité du fonctionnement de CakePHP au fil des évolutions est assurée par une multitude de tests unitaires. Outre ces garanties de fonctionnement, ces tests unitaires apportent une extraordinaire documentation par l’exemple sur le “comment ça marche”. Un exemple ? Avant qu’elle ne soit documentée dans le manuel, nous sommes nombreux à avoir découvert le fonctionnement de la puissante classe Set en lisant ses tests unitaires.

Voilà donc un peu de lecture :)

Derniers conseils : débutants, évitez de vous lancer directement dans une “grosse” application (plus de 10 tables, disons), essayez d’abord de développer votre petite application à vous. Une application simple, facile à modéliser, sur laquelle vous pourrez vous faire la main. Pour James Fairhurst, ça a été une application de gestion de DVDthèque en ligne, et il en a fait un tutoriel en douze épisodes qui commence ici (en anglais).

Et comme on dit par chez nous, happy baking !

La fin d’une vieille blague ?

16/09/2008  |  Publié dans google

Ca vous est forcément arrivé : vouloir envoyer un (ou des) document par mail et oublier la pièce jointe.

Les utilisateurs de Gmail auront bientôt un filet pour éviter  de se livrer involontairement à ce comique de répétition. Une fonction détectant (en se basant a priori sur des mots-clefs) si votre message est censé comporter des pièces jointes et n’en a pas est apparue dans l’onglet “Labs” de Gmail (un mode spécial permettant de tester en avance les éventuelles futures fonctionnalités de Gmail). La détection est pour l’instant en anglais (le mode “Labs” impose d’utiliser Gmail en anglais), mais ça marche !

Archives

Liens au pif

  • Mark Story
  • Le blog de Pierre
  • mes photos
  • photos de bubu
  • Chez Trân
  • Pseudocoder
  • Web Development 2
  • Formation CakePHP
  • Debuggable
  • snook.ca
  • Frédéric de Villamil
  • Yahoo Pipe des sites CakePHP FR
  • blogcatalog
  • pictures of the north country
  • POPnews
  • Derniers commentaires

    • Guillaume: Merci pour cette précision, Pierre, je vais aller voir ça.
    • Pierre Martin: Bonjour Guillaume, et merci encore une fois pourle lien vers mon article ! Juste...
    • Guillaume: De loin, on ne voyait pas très bien :)
    • Gabriiiel: Roy nous a remis un trophée… :D
    • Pierre MARTIN: Il y a aussi cet article de teknoid contenant un lien vers un plugin de recherche...
  • Derniers trackbacks