Ajouter des Exceptions dans CakePHP 2.x

La documentation officielle étant pour l’instant assez obscure sur le sujet, voici comment ajouter simplement ses propres Exceptions dans CakePHP version 2.x Lire la suite

Le plugin SimpleUrl pour écrire rapidement des url

Marre de passer d’interminables tableaux aux méthodes Html->link ou Html->url ? Ce plugin propose un moyen plus rapide pour écrire les url dans CakePHP. Attention, le plugin requiert PHP version 5.3 au minimum. Lire la suite

Utiliser les vues SQL dans CakePHP

Une vue SQL est une sorte de table virtuelle construite à partir d’une requête SQL. Nous allons nous en servir pour présenter une liste globale des derniers contenus ajoutés dans plusieurs tables de la base de données. Lire la suite

I18n : traduction des modèles liés

La solution d’internationalisation de CakePHP passe par le comportement Translate qui renvoie de façon transparente les champs textuels d’un enregistrement dans la langue demandée. Cependant le comportement ne renvoie pas les champs traduits des enregistrements liés au Modèle concerné. Voyons quelles solutions apporter à cela. Lire la suite

I18n : optimiser la table des traductions

La solution de gestion du multilingue de CakePHP suppose le stockage de tous les champs textuels dans une seule table nommée ‘i18n’. Le principe est simple à mettre en place et fonctionne parfaitement, mais sur une application gourmande, il convient d’optimiser cette table. Lire la suite

Plugin du module de paiement sécurisé Crédit Mutuel / CIC

Ce plugin permet d’installer simplement et rapidement le module de paiement sécurisé proposé par le Crédit Mutuel et le CIC. Il fonctionne avec les versions 4 et 5 de PHP et les versions 1.2 et 1.3 de CakePHP.

La lecture préalable de la documentation technique du module de paiement est chaudement recommandée. Lire la suite

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