Mise à jour du plugin Twitter pour CakePHP 1.3 et prise en charge d’OAuth

Nous présentons la nouvelle version de notre plugin Twitter, qui permet de faire communiquer facilement une appli CakePHP et un compte Twitter. Cette nouvelle mouture intègre la nouvelle méthode d’authentification par OAuth, mise en place par Twitter et qui va remplacer définitivement l’authentification basique le 30 juin 2010. Nous avons profité de l’occasion pour tester le plugin sur la version 1.3 de CakePHP. Lire la suite

Installation du plugin CronMailer sur un hébergement mutualisé OVH

Après la publication de notre plugin CronMailer qui permet d’envoyer des emails en différé par tâche Cron, nous allons voir comment l’installer sur un hébergement mutualisé chez OVH. Le gestionnaire de tâches planifiées, Crontab, est disponible sur toutes les offres sauf les anciennes Start et 1000gp. Un accès SSH est un plus, mais pas une obligation. Nous prendrons d’ailleurs l’exemple d’une offre Perso, l’une des plus petites proposées par l’hébergeur et qui ne dispose pas d’un accès SSH. Lire la suite

Un plugin pour envoyer des emails avec une tâche Cron

Le plugin CronMailer est une solution facile à installer qui permet de gérer une file d’attente d’emails à envoyer par tâche Cron. Ce plugin a pour l’instant été testé avec la branche 1.3 de CakePHP. Le plugin inclut un composant EmailQueueComponent qui gère la file d’attente. Il fonctionne exactement comme le composant EmailComponent du coeur de Cake, à la différence près qu’il enregistre les emails dans la base de données au lieu de les envoyer aussitôt. Le plugin inclut également un Shell exécutable par la console de CakePHP, à lancer soit en ligne de commande, soit avec Crontab pour un envoi différé et par lot. Lire la suite

La souplesse des Routes avec CakePHP 1.3

La version 1.3 de CakePHP offre encore plus de souplesse dans la gestion des Routes. Nous allons l’illustrer avec une application toute simple : des Posts avec un id, un titre, un slug (que l’on peut gérer en toute simplicité avec le Comportement SluggableBehavior) et un contenu.

Nous désirons avoir des url très simples du style www.monsite.tld/slug-du-post. L’idée est de pouvoir créer des Routes de façon dynamique sans avoir à les écrire à la main dans le fichier config/routes.php. CakePHP 1.3 permet de créer une classe à brancher sur le Router qui va analyser une url, rechercher le slug passé en paramètre dans les Posts, et renvoyer sur l’action view du contrôleur PostsController avec le slug du Post en paramètre. Afin de garantir une vitesse de traitement maximale, nous allons mettre la liste des slugs possibles en cache. Lire la suite

Intégrer CKeditor dans CakePHP

Descendant de FCKeditor, CKeditor est un puissant éditeur WYSIWYG. Nous allons créer un Assistant ou Helper pour transformer facilement un simple champ de type textarea en éditeur de texte complet, ainsi que le gestionnaire d’images et de fichier multimédia associé, CKfinder. Nous allons aussi voir comment il est possible de restreindre l’accès aux fonctionnalités de CKfinder aux utilisateurs authentifiés uniquement. Lire la suite

Versionner un projet avec Git : principes et bases

Le gestionnaire de source est un outil indispensable pour le développement d’applications. Nous commencerons par expliquer son principe, puis aborderons l’utilisation d’un gestionnaire de source très complet, Git, avec CakePHP. Lire la suite

Authentification à double entrée avec CakePHP 1.3

Nous faisons d’une pierre deux coups avec cet article : d’une part nous mettons à jour un ancien article sur l’authentification en proposant une approche plus « propre », d’un point de vue POO, de l’utilisation du composant Auth, et d’autre part la sortie de la version 1.3.0-alpha et son nouveau système de gestion des Routes préfixées nous permet de décrire la mise en place très simple d’un système d’authentification à double entrée (ou plus), du type /admin et /membres. Lire la suite

Un plugin pour faciliter l’envoi d’emails

Ce plugin fournit un composant Mailer qui étend le composant Email du cœur de CakePHP. Ce composant Mailer peut alors être étendu pour définir des mailers propres à l’application dans lesquels des méthodes se chargent de paramétrer les emails. Cela évite de surcharger les contrôleurs avec de nombreuses méthodes dans AppController et permet de facilement envoyer des emails en une ligne de code : $this->UserMailer->sendSignup($user). Lire la suite

Un plugin pour intéragir avec Twitter

Nous avons profité de la demande d’un client, qui souhaitait publier automatiquement un nouveau message sur Twitter après chaque publication d’un article sur son site, pour créer un plugin capable d’intéragir avec le plus connu des services de micro-blogging. Lire la suite

Rendre un plugin traduisible

L’une des conditions préalables à l’adoption par le plus grand nombre d’un plugin CakePHP, c’est la possibilité de pouvoir le traduire dans n’importe quelle langue. Voyons comment préparer un plugin à son internationalisation. Lire la suite