Archives pour la catégorie Astuces

HTML Media Capture : prenez des photos depuis un champ de formulaire

HTML Media Capture et l’attribut capture.
Mettez à profit les périphériques de votre mobile pour remplir les champ file

HTML5 apporte de nombreuses nouvelles fonctionnalités, notamment concernant les formulaires.

Nous allons voir dans ce billet la spécification HTML Media Capture.
Celle-ci permet d’élargir les capacités des champs de formulaires de type file.
Jusqu’à présent, les champs de formulaires de type file permettaient juste d’ouvrir une fenêtre pour récupérer dans le système de fichiers celui (ou ceux) à envoyer avec le formulaire.
Il est dorénavant possible d’utiliser ces mêmes champs pour utiliser l’un des périphériques de capture (audio, vidéo ou image) pour créer le fichier à envoyer.

Comment le mettre en Å“uvre ?
La mise en place d’un tel système est particulièrement simple.
Il suffit d’ajouter au champ un attribut capture et le tour est joué ! Cet attribut étant de type booléen, c’est-à-dire que sa seule présence (sans valeur ou quelle que soit sa valeur) suffit à indiquer au navigateur le comportement souhaité.

Enfin… il suffit… pas tant que ça en fait.
En réalité, l’attribut capture n’est pas suffisant, en effet, ce seul attribut ne permet pas de savoir quel type de media est demandé, donc quel périphérique utiliser.
Il est donc nécessaire de préciser aussi l’attribut accept avec une valeur correspondant au type mime souhaité.

Notez que l’attribut capture n’oblige pas l’utilisateur à utiliser un périphérique : il lui est demandé s’il veut envoyer un fichier existant ou s’il veut utiliser le périphérique approprié.

Exemples.
Voici les trois cas possibles d’utilisation à l’heure actuelle :

<form action="..." method="post" enctype="multipart/form-data">
    <!-- Pour une image (appareil photo) -->
    &lt;input type="file" name="image" accept="image/*" capture&gt;
    <!-- Pour une vidéo (caméra) -->
    &lt;input type="file" name="video" accept="video/*" capture&gt;
    <!-- Pour un son (micro) -->
    &lt;input type="file" name="son" accept="audio/*" capture&gt;
    &lt;input type="submit" value="Upload"&gt;
</form>

Compatibilité.
À l’heure actuelle, seuls les navigateurs pour mobiles et tablettes semblent supporter cette fonctionnalité.
Voir la table de compatibilité pour mobiles.
Mais gageons que les versions desktop des navigateurs vont l’implémenter rapidement.

Voir les spécifications du W3C (comprenant des exemples plus avancés).

[PHP] Prochains webinars Zend

Voici les prochains webinars organisés par Zend :

Convertir des vidéos en FLV avec ffmpeg

Je viens de découvrir un message très intéressant sur Vexxblog, expliquant comment PHP peut être utilisé pour convertir des vidéos au format FLV (Flash video).

Pour rappel, FLV est un format reconnu par la plupart des lecteurs Flash, il permet de bien compresser les fichiers et d’intégrer facilement un fichier vidéo dans une page Web.
Lire la suite

Ajouter le Zend Framework à l’autocomplétion de code pour PHPEdit

Du blog de Waterproof :

PHPEdit supporte presque tous les frameworks (code hint et code insight), il suffit de le configurer.
Pour ajouter le support de Zend Framework :

  1. Afficher les préférences (F10) ;
  2. Dans Langages / PHP / Dépendances de fichiers, dans le chemin « include path », ajouter le chemin jusqu’au Zend Framework, cocher la case « récursivité », cliquer sur la génération du cache, puis Ajouter.

Pour rappel, vous pouvez conserver en permanence une version à jour du framework en utilisant une tâche planifiée ou une tâche cron et le repository SVN :

svn checkout http://framework.zend.com/svn/framework/trunk

[PHP] Un plugin Firefox pour déboguer un site avec PHPEdit

Waterproof (PHPEdit) vient de mettre à disposition un nouveau plugin pour Firefox, afin de permettre de contrôler les sessions xDebug depuis le navigateur.

Pour rappel, Zend Studio avait déjà une telle extension pour Internet Explorer et pour Firefox.

Cette extension est des plus utiles car elle permet de déboguer une page, un site ou bien seulement les requêtes POST. Un bouton permet également d’ouvrir le script courant dans PHPEdit.

Plus d’informations : http://doc.waterproof.fr/phpedit/debugging_profiling/browser_integration
Télécharger le plugin : http://www.waterproof.fr/products/PHPEdit/extensions/firefox/download.php

Nouveau podcast pour phpBB

Le phpBB Group vient d’annoncer sa décision de diffuser des podasts sur phpBB. Au programme du premier épisode :

  • Différences entre les cookies sous phpBB 2.x et 3.x
  • Différence entre COPA et COPPA pour la protection des enfants
  • Jabber
  • PHP 5
  • Différences entre les catégories, forums, sous forums etc.

Le site : http://podcast.phpbb.com/
Le premier épisode : http://podcast.phpbb.com/podcasts/episode1.mp3

Sortie d’Xdebug 2 pour PHP

Derick Rethans vient d’annoncer la sortie de la version 2 de son extension de débogage pour PHP : Xdebug.

Au programme :

Derick demande également aux développeurs qui utilisent Xdebug de lui faire signe.

L’annonce : http://derickrethans.nl/xdebug_2_released.php
Le site d’Xdebug : http://xdebug.org/

La documentation de PHPEdit est mise à jour

Waterproof vient d’annoncer la mise à jour de la documentation de son logiciel phare, PHPEdit, disponible en version 2.12 depuis quelques jours.

Ce qui est particulièrement intéressant, est la partie « Debugging & profiling » disponible ici : http://doc.waterproof.fr/phpedit/debugging_profiling/configuration. Pour rappel, PHPEdit vous donne le choix entre Xdebug et DGB pour déboguer vos scripts.

Test d’acceptance avec PHP pour une application Web

Pádraic Brady vient de publier un article très intéressant sur la méthode des tests d’acceptance en PHP.

Pour rappel, les tests d’acceptance sont la phase finale du test d’une application. Ils interviennent après les tests unitaires et les tests d’intégration.

Il s’agit de tester si l’application réagit comme le client s’y attend, plutôt que du point de vue du développeur comme c’est le cas pour les autres tests. La différence majeure avec les tests d’intégration est que le client est impliqué dans les tests d’acceptance.

Pour lire l’article complet : http://feeds.feedburner.com/~r/ZendDeveloperZone/~3/128359718/2242-Acceptance-Testing-of-Web-Applications-with-PHP
Ce sujet a été traité sur nos forums : http://www.developpez.net/forums/archive/index.php/t-288092.html