Voir le flux RSS

Bovino

[Actualité] HTML Media Capture : prenez des photos depuis un champ de formulaire

Noter ce billet
par , 05/02/2015 à 11h54 (1347 Affichages)
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 :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<form action="..." method="post" enctype="multipart/form-data">
    <!-- Pour une image (appareil photo) -->
    <input type="file" name="image" accept="image/*" capture>
    <!-- Pour une vidéo (caméra) -->
    <input type="file" name="video" accept="video/*" capture>
    <!-- Pour un son (micro) -->
    <input type="file" name="son" accept="audio/*" capture>
    <input type="submit" value="Upload">
</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).

Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Viadeo Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Twitter Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Google Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Facebook Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Digg Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Delicious Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog MySpace Envoyer le billet « HTML Media Capture : prenez des photos depuis un champ de formulaire » dans le blog Yahoo

Mis à jour 11/02/2015 à 09h41 par Bovino

Catégories
HTML / CSS , Développement Web

Commentaires