RSS
 

Cakefest #3 – Premier jour de conférences

19 juil

«»

Le Media Plugin CakePHP – David Person

Cette présentation a été effectuée par David Person (de son vrai nom Marius), membre de la core team de CakePHP et artiste à mi-temps ! Il a présenté un plugin qu’il a entièrement développé, permettant de faciliter l’intégration et la manipulation de medias à une application CakePHP.

Ce plugin se nomme le « Media Plugin » et est disponible sur le compte github de David Person (tout comme sa documentation). Le plugin nécessite une version de PHP > à 5.2.0 et la version 1.2 de CakePHP. Il permet de manipuler / transférer / intégrer des médias de plus de 23 manières différentes !

Il y a de nombreux composants / comportements et autres qui existent pour manipuler des fichiers avec Cake, mais c’est toujours délicat d’en choisir un pour une application car il faut faire très attentions aux risques de sécurité sous-jacents. En effet, si le script n’est pas assez sécurisé l’application s’expose à de graves failles de sécurité. La conférence a donc consisté en une présentation des différentes manières d’intégrer le plugin à une application, et il faut dire que c’était très intéressant. David Person est passionné et cela se voit : il pourrait présenter tous les détails de son plugin, mais cela prendrait plusieurs heures tellement celui-ci semble être complet !

Les principales leçons à tirer de cette présentation sont :

  • Ne jamais faire confiance aux données soumises par l’utilisateur : toujours valider les formulaires !
  • Stocker les fichiers uploadés en dehors du webroot de l’application afin d’éviter qu’un utilisateur puisse y accéder directement
  • Rendez la destination d’upload indevinable, en utilisant par exemple des UUID pour le nom des fichiers (la correspondance étant faite avec votre base de données)

Je vous invite à lire les slides de cette présentation pour plus de détails concernant les fonctionnalités (versionnage, validation, intégration …), et à aller essayer le code afin de vous faire un avis.

Enfin, la présentation s’est terminée par un appel aux contributions : pour contribuer, vous pouvez remonter des bugs à son auteur et aussi écrire des adaptateurs pour la manipulation de différents types de fichiers par des API existantes.

En tout cas cette présentation était très intéressante, et je pense que ce plugin doit être envisagé lorsqu’une application développée avec CakePHP est vouée à manipuler régulièrement des medias. Pour les choses plus simples et légères, je préfère toujours le MeioUpload behavior … plus simple !

Pensez à utiliser mon flux RSS pour vous tenir au courant des futurs articles ! Vous pouvez aussi me retrouver sur Twitter pour une actualité plus fréquente.

«»

 
2 Comments

Posted in En vrac

 

Tags: , , ,