Cakefest #3 – Premier jour de conférences

«»

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 !

Partagez avec vos amis !
  • del.icio.us
  • Twitter
  • Tumblr
  • Facebook
  • Digg
  • LinkedIn
  • Google Bookmarks
  • email
  • Technorati
  • Wikio FR
  • Netvibes
  • RSS
If you enjoyed this post, make sure you subscribe to my RSS feed!

«»

Cet article a été publié dans En vrac avec les mots-clefs : , , , . Bookmarker le permalien. Laisser un commentaire ou faire un trackback : URL de trackback.
  • Merci pour ce retour complet, Pierre !
blog comments powered by Disqus
  • Speaker at the CakeFest 2010

    Creative Commons License


  • A lire aussi …