« STIC:STIC I - exercice 4 (Yoshi) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(35 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{ En construction }}
{{stic archive}}
{{stic12}}
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">STIC</categorytree>
<categorytree mode="pages" depth="0" style="float:right; clear:right; margin-left:3px; border:1px solid gray; padding:0.7ex; background-color:#f9f9f9;">STIC</categorytree>


== Introduction ==
== Introduction ==


Cet exercice introduit l'utilisation des vidéos d'un point de vue technique, notamment en ce qui concerne la possibilité d'inclure une vidéo dans une page HTML5 sans la nécessité d'un plugin externe (e.g. Flash). Cet exercice est également en rélation avec le cours [[BASES]] qui va démarrer pendant la période 2.
Cet exercice introduit l'utilisation des vidéos d'un point de vue technique, notamment en ce qui concerne la possibilité d'inclure une vidéo dans une page HTML5 sans la nécessité d'un plugin externe (e.g. Flash). Cet exercice est également en relation avec le cours [[BASES]] qui va démarrer pendant la période 2, même si la production de vidéographie est prévue pour plus tard.  


=== Connaissances/compétences envisagées ===
=== Connaissances/compétences envisagées ===
Ligne 21 : Ligne 20 :
=== Prérequis ===
=== Prérequis ===


HTML5 de base et un peu de JavaScript (programmation DOM de base)
[[HTML5]] de base et [[Premiers pas avec JavaScript]].
 
Logiciels utilisés et à avoir installés de préférence avant le cours en présence :
 
* [[Brackets]] / [[Visual studio code]] (ou autre éditeur de texte à choix)
* [[OpenShot]] video editor (ou si vous maîtrisez déjà l'édition vidéo, un autre éditeur vidéo à choix)


== Activités en salle de classe ==
== Activités en salle de classe ==
=== Programme ===
* 14:00 - 14:30 : Utilisation pédagogique de la vidéo (perspectives et discussion)
* 14:30 - 15:30 : Présentation [[OpenShot]] avec activité hands-on
* 16:00 - 16:30 : Démo/Présentation [[HTML5 audio et video]]
* 16:30 - 17:00 : Lien avec exercice 3 avec l'intégration de JavaScript


=== Utilisation pédagogique de la vidéo ===
=== Utilisation pédagogique de la vidéo ===
Ligne 46 : Ligne 57 :
=== Outils d'édition vidéo ===
=== Outils d'édition vidéo ===


A installer (utilisateurs Windows):
==== Logiciel utilisé en classe ====
* [http://www.openshot.org/ OpenShot]
 
* [https://www.shotcut.org/ ShotCut] (option)
Logiciel vu en cours :  
* {{Goblock | [[OpenShot]] }} (page ébauche)
 
==== Alternatives ====
 
Alternatives Windows :
* [https://www.shotcut.org/ ShotCut]
* [http://avidemux.sourceforge.net/ Avidemux] (simple à utiliser)
* [http://avidemux.sourceforge.net/ Avidemux] (simple à utiliser)


A vérifier (Mac):  
Alternatives Mac (à vérifier) :
* IMovie marche
* IMovie marche
* à option: OpenShot et ShotCut
* à option: OpenShot et ShotCut


A installer (Linux):
Alternatives Linux :
* [https://kdenlive.org/ Kdenlive]
* [https://kdenlive.org/ Kdenlive]
* [http://www.openshot.org/ OpenShot] (option)
* [https://www.shotcut.org/ ShotCut]
* [https://www.shotcut.org/ ShotCut] (option)


==== Guides et ressources ====
Autres informations / guides :
* Ressource: [[Production de fichiers vidéo pour le web]]
* Ressource: [[Production de fichiers vidéo pour le web]]
* Ressource: [[Montage et conversion video]]
* Ressource: [[Montage et conversion video]]
Ligne 69 : Ligne 88 :


=== Encodage de video MP4 en webm et ogv ===
=== Encodage de video MP4 en webm et ogv ===
* La plupart des éditeurs vidéo permettent un traduction assez rapide.
* La plupart des éditeurs vidéo permettent une traduction assez rapide.
* Pour faire plus simple:  installez le player/convertisseur [http://www.videolan.org/vlc/ VLC] (L'extension [http://firefogg.org/ FireOgg] ne marche plus) our le plus simple [https://handbrake.fr/ handbrake] (produit du mp4 varié)
* Pour faire plus simple:  installez le player/convertisseur [http://www.videolan.org/vlc/ VLC] (L'extension [http://firefogg.org/ FireOgg] ne marche plus) ou le plus simple [https://handbrake.fr/ handbrake] (produit du mp4 varié)
 
=== Présentation et activité OpenShot ===
 
'''À faire'''


=== Démo video HTML5 ===
=== Démo video HTML5 ===
* '''Tutoriel''': [[HTML5 audio et video]]
* '''Tutoriel''': {{Goblock | [[HTML5 audio et video]] }}
Exemple basic:
Exemple basique :
<source lang="HTML5">
<source lang="HTML5">
<video id="movie1" controls="controls" preload="metadata">
<video id="movie1" controls="controls" preload="metadata">
Ligne 138 : Ligne 161 :


<source lang="JavaScript">
<source lang="JavaScript">
//Idéntifier les éléments HTML
//Identifier les éléments HTML
var myVideo = document.getElementById("myVideo");
var myVideo = document.getElementById("myVideo");
var playBtn = document.getElementById("playBtn");
var playBtn = document.getElementById("playBtn");
Ligne 165 : Ligne 188 :
==== Pointer à un moment précis de la vidéo ====
==== Pointer à un moment précis de la vidéo ====


Le code du bouton stop de l'exemple précédent introduit un élément qui peut être exploité de manière plus spécifique : la propriété <code>.currentTime</code> qui détermine le temps (en seconds) de lecture de la vidéo. On peut utiliser cette propriété pour '''créer des pointages spécifiques''' à des moments précis dans la vidéo. Ceci peut avoir un impact pédagogique évident, car '''l'un des problèmes des vidéos et la difficultés de (ré)trouver les informations spécifiques dont on a besoin'''.   
Le code du bouton stop de l'exemple précédent introduit un élément qui peut être exploité de manière plus spécifique : la propriété <code>.currentTime</code> qui détermine le temps (en seconds) de lecture de la vidéo. On peut utiliser cette propriété pour '''créer des pointages spécifiques''' à des moments précis dans la vidéo. Ceci peut avoir un impact pédagogique évident, car '''l'un des problèmes des vidéos est la difficulté de (ré)trouver les informations spécifiques dont on a besoin'''.   


Pour créer un pointage spécifique on peut par exemple combiner la propriété <code>.currentTime</code> et la méthode <code>.play()</code> pour faire démarrer la lecture à un moment précis. Par exemple :
Pour créer un pointage spécifique on peut par exemple combiner la propriété <code>.currentTime</code> et la méthode <code>.play()</code> pour faire démarrer la lecture à un moment précis. Par exemple :
Ligne 214 : Ligne 237 :
* <code>pause</code> ou <code>onpause</code> : détermine si la lecture de la vidéo est arrêtée
* <code>pause</code> ou <code>onpause</code> : détermine si la lecture de la vidéo est arrêtée


Voici un exemple qui montre ces event listeners. Veuillez noter comme les événements sont déclenchés n'importe quel moyen on utilise pour play/pause la vidéo (boutons ou controls de la vidéo) car justement l'evenet listener est associé à la vidéo, pas aux boutons.
Voici un exemple qui montre ces event listeners. Veuillez noter que ces événements sont causés par n'importe quel moyen utilisé pour jouer ou mettre en pause la vidéo (boutons ou controls de la vidéo), car justement l'event listener est associé à la vidéo, pas aux boutons.


;Code HTML5
;Code HTML5
Ligne 220 : Ligne 243 :
<source lang="HTML5">
<source lang="HTML5">
<h1>Événements déclenchés par la vidéo</h1>
<h1>Événements déclenchés par la vidéo</h1>
<p>Faites démarrer et arrêterla vidéo pour voir les événements rélatifs.</p>
<p>Faites démarrer et arrêter la vidéo pour voir les événements relatifs.</p>
<!-- Video -->
<!-- Video -->
<video id="myVideo" controls>
<video id="myVideo" controls>
Ligne 298 : Ligne 321 :
* Voir cet exemple https://codepen.io/mafritz/pen/oGVeKQ
* Voir cet exemple https://codepen.io/mafritz/pen/oGVeKQ


Veuillez noter comme quand la vidéo est en lecture, l'événement ontimeupdate n'est pas toujours déclenché à des intervalles régulières, car cela dépend par exemple de la puissance de l'ordinateur ou de combien d'autres événements sont déclenchés dans la page.
Veuillez noter: quand la vidéo est en lecture, l'événement ontimeupdate n'est pas toujours déclenché à des intervalles réguliers, car cela dépend par exemple de la puissance de l'ordinateur ou de combien d'autres événements sont déclenchés dans la page.


Pour un exemple plus complexe est lié à l'apprentissage voir :
Pour un exemple plus complexe lié à l'apprentissage voir :


* [[HTML5_audio_et_video#Poser_une_question_.C3.A0_un_moment_donn.C3.A9e_dans_la_lecture_d.27une_vid.C3.A9o|Poser une question à un moment donnée dans la lecture de la vidéo]]
* [[HTML5_audio_et_video#Poser_une_question_.C3.A0_un_moment_donn.C3.A9e_dans_la_lecture_d.27une_vid.C3.A9o|Poser une question à un moment donnée dans la lecture de la vidéo]]
Ligne 312 : Ligne 335 :
Ces articles proposent les contenus utiles aux finalités pédagogiques du cours. Pour compléter l'exercice ou atteindre les objectifs spécifiques à votre dispositif (voir plus bas), d'autres ressources peuvent être nécessaires.  
Ces articles proposent les contenus utiles aux finalités pédagogiques du cours. Pour compléter l'exercice ou atteindre les objectifs spécifiques à votre dispositif (voir plus bas), d'autres ressources peuvent être nécessaires.  


* {{ Goblock | [[Interactivité avec JavaScript]] }} : aspects théoriques et pratiques, lecture commune avec exercice 3, niveau des exemples à calibrer en fonction de vos besoins et intérêts
* {{Goblock | [[Interactivité avec JavaScript]] }} : aspects théoriques et pratiques, lecture commune avec exercice 3, niveau des exemples à calibrer en fonction de vos besoins et intérêts
* {{ Goblock | [[HTML5 audio et video]] }} : aspects théoriques et pratiques, niveau des exemples à calibrer en fonction de vos besoins et intérêts.
* {{Goblock | [[HTML5 audio et video]] }} : aspects théoriques et pratiques, niveau des exemples à calibrer en fonction de vos besoins et intérêts.


=== Dispositif ===
=== Dispositif ===


Créez une page web qui contient au moins une vidéo, des sous-titres, une piste audio et deux éléments interactifs (voir contraintes) :
Créez une page web qui contient une vidéo, des sous-titres, une piste audio et deux éléments interactifs (voir contraintes) :
* Créez/éditez une vidéo avec au moins une partie faite par vous
* Créez/éditez une vidéo avec au moins une partie faite par vous
* Créez des sous-titres qui accompagnent la vidéo (pas forcément une transcription de l'audio)
* Créez des sous-titres qui accompagnent la vidéo (pas forcément une transcription de l'audio)
Ligne 328 : Ligne 351 :
* Le format de la vidéo doit être du *.ogv ou du *.mp4 ou du *.webm. Le '''format *.webm est préférable''' (il est également compatible avec ce wiki, *.mp4 non).
* Le format de la vidéo doit être du *.ogv ou du *.mp4 ou du *.webm. Le '''format *.webm est préférable''' (il est également compatible avec ce wiki, *.mp4 non).
* Utilisez un transcoder gratuit pour convertir la vidéo, par exemple [https://www.online-convert.com Online Convert] ou [http://www.xmedia-recode.de/download.html XMedia-recode]. Pour les utilisateurs Firefox, le pluggin [http://firefogg.org/ Firefogg] n'est plus supporté par Firefox.  
* Utilisez un transcoder gratuit pour convertir la vidéo, par exemple [https://www.online-convert.com Online Convert] ou [http://www.xmedia-recode.de/download.html XMedia-recode]. Pour les utilisateurs Firefox, le pluggin [http://firefogg.org/ Firefogg] n'est plus supporté par Firefox.  
* Vous pouvez chercher des synergies avec le cours BASES.
* Une vidéo type durera entre 2 et 5 minutes.
* Typiquement, une vidéo durera entre 3 et 5 minutes.


Exemples :
Exemples :
* Avec interactivité : volée Volt et Wall-e (stic-1/ex4)
* Avec interactivité : volée Volt et suivantes (stic-1/ex4)
* Sans interactivité : promotions Utopia (ex4), R2D2 et Stella (stic-2/ex17) et Tetris (stic-1/ex4)
* Sans interactivité : promotions Utopia (ex4), R2D2 et Stella (stic-2/ex17) et Tetris (stic-1/ex4)


Ligne 339 : Ligne 361 :
* Contenu selon vos envies, mais en rapport avec une thématique MALTT
* Contenu selon vos envies, mais en rapport avec une thématique MALTT
* Il faut un sujet pédagogique cohérent (donc le film doit être utilisable dans un scénario d'enseignement, de formation et/ou d'apprentissage)
* Il faut un sujet pédagogique cohérent (donc le film doit être utilisable dans un scénario d'enseignement, de formation et/ou d'apprentissage)
* La vidéo doit être réalisée '''pour HTML5''' et elle doit impérativement inclure des '''sous-titres faits avec VTT''', utiles et intéressants.
* La vidéo doit être réalisée '''pour HTML5''' et elle doit impérativement inclure des '''sous-titres faits avec VTT''', utiles et intéressants (pas forcément une transcription audio).
* La vidéo doit jouer un rôle central dans le dispositif. Si vous ne voulez pas produire une vidéographie, pensez à produire des vignettes utiles dans un contexte pédagogique, dans ce cas vous pouvez produire plus qu'une seule vidéo. Vous avez aussi le droit de réutiliser des vidéos, à condition d'en '''produire au moins un segment vous-même''' (pour l'introduction par exemple)
* '''Une seule vidéo sur votre page/dispositif, avec une durée entre 2 et 5 minutes'''. La vidéo doit être téléversée sur le serveur tecfaetu.unige.ch. Essayez de réduire la taille au maximum (sans perdre trop en qualité).
* La vidéo doit jouer un rôle central dans le dispositif. Si vous ne voulez pas produire une vidéographie, pensez à produire des vignettes utiles dans un contexte pédagogique ou un "collage cohérent" de deux vidéos ou plus.
* Vous avez aussi le droit de réutiliser des vidéos, à condition d'en '''produire au moins un segment vous-même''' (pour l'introduction par exemple) et de '''respecter les droit d'auteur/utilisation'''
* Vous devez ajouter au moins un '''élément (e.g. bouton) qui amène l'utilisateur''' à un endroit précis de la vidéo. Cet élément peut se trouver dans un texte explicatif par exemple.
* Vous devez ajouter au moins un '''élément (e.g. bouton) qui amène l'utilisateur''' à un endroit précis de la vidéo. Cet élément peut se trouver dans un texte explicatif par exemple.
* Vous devez ajouter au moins '''un événement qui se déclenche''' par la vidéo à un moment donné. Exemples: arrêter la vidéo et poser une question, changer la couleur de la page, afficher une information supplémentaire...
* Vous devez ajouter au moins '''un événement qui se déclenche par la vidéo à un moment donné'''. Exemples: arrêter la vidéo et poser une question, changer la couleur de la page, afficher une information supplémentaire...
* Vous ne pouvez pas combiner '''sur la même page''' les exercices 3 et 4
** Mais vous pouvez utiliser le même sujet (e.g. ''mini''-site avec deux pages)


=== Critères d'évaluation ===
=== Critères d'évaluation ===
Ligne 352 : Ligne 378 :
* Utilisation de différents types de segments. (Images, plan sur une personne, entretiens, scènes, vidéographies)
* Utilisation de différents types de segments. (Images, plan sur une personne, entretiens, scènes, vidéographies)
* Sous-titres utiles et bien positionnés
* Sous-titres utiles et bien positionnés
* ''Raccourcis'' avec les boutons bien labellisés et qui amènent à des endroits intéressants de la vidéo
* Éléments interactifs bien intégrés et qui soutient les objectifs d'apprentissage


=== Rapport ===
=== Rapport ===
Ligne 362 : Ligne 390 :


* Quelle est la valeur ajoutée de la vidéo dans votre dispositif ?
* Quelle est la valeur ajoutée de la vidéo dans votre dispositif ?
* L'intérêt des éléments interactifs liés à la vidéo comparé à une version "normale"


=== Contribution Wiki ===
=== Contribution Wiki ===
Ligne 386 : Ligne 415 :
===Délai===
===Délai===


* Dimanche 20:00, juste avant le début de la période 3
{{Bloc important | Dimanche 21:00, juste avant le début de la période 3 }}
 
==== Feedback intermédiaire ====
 
Vous pouvez demander un feedback intermédiaire sur votre travail à travers la page discussion de cet exercice (voir Aide plus bas) '''au plus tard''' 1 semaine avant le délai.


== Ressources ==
== Ressources ==
Ligne 411 : Ligne 436 :
; Players HTML5
; Players HTML5


* Librairies JavaScript (HTML5 players), en cours on utilise [http://leanbackplayer.com/ LeanBack Player]
Si vous voulez déjà explorer les [[bibliothèques JavaScript]] (qui seront traitées en P3), vous pouvez essayez une bibliothèque audio/vidéo, par exemple :
** [http://www.leanbackplayer.com/player_documentation.html LeanBack Player documentation]
* [http://www.leanbackplayer.com/player_documentation.html LeanBack Player documentation]
** [http://www.leanbackplayer.com/generator/ LeanBack Player HTML generator] (utile pour produire tout le code HTML + JS)
* [http://www.leanbackplayer.com/generator/ LeanBack Player HTML generator] (utile pour produire tout le code HTML + JS)


; Video download
; Video download
Ligne 438 : Ligne 463 :
=== Journée de Support Libre ===
=== Journée de Support Libre ===


Le jeudi de la semaine après la semaine des cours en présence M1 (i.e. celle où vous avez STIC le vendredi), une Journée de Support Libre et organisée pour vous aider, entre autre, à progresser avec vos exercice STIC. '''La présence d'au moins un assistant/moniteur spécifiquement pour STIC est garantie de 10h à 12h s'il y a assez d'étudiants qui ont manifesté leur présence.'''
{{Bloc important | Exceptionnellement pour cette période, la Journée de Support libre est déplacée d'une semaine. Elle sera donc jeudi 15 novembre. }}
 
'''La présence d'au moins un assistant/moniteur spécifiquement pour STIC est garantie de 10h à 12h s'il y a assez d'étudiants qui ont manifesté leur présence.'''


* voir [http://tecfalms.unige.ch/moodle/course/view.php?id=291 Journée de Support Libre] pour plus d'informations et pour annoncer votre présence à la journée
* voir [http://tecfalms.unige.ch/moodle/course/view.php?id=291 Journée de Support Libre] pour plus d'informations et pour annoncer votre présence à la journée

Dernière version du 22 octobre 2019 à 16:19

Cette page fait partie des archives des cours Cours STIC (STIC I, STIC II,STIC III,STIC IV)

Introduction

Cet exercice introduit l'utilisation des vidéos d'un point de vue technique, notamment en ce qui concerne la possibilité d'inclure une vidéo dans une page HTML5 sans la nécessité d'un plugin externe (e.g. Flash). Cet exercice est également en relation avec le cours BASES qui va démarrer pendant la période 2, même si la production de vidéographie est prévue pour plus tard.

Connaissances/compétences envisagées

À l'issue de cet exercice vous devez avoir acquis les connaissances/compétences suivantes :

  • Savoir évaluer de manière critique l'utilisation de la vidéo, surtout en termes pédagogiques
  • Comprendre qu'est-ce qu'un fichier vidéo et de quels éléments il se compose, ainsi que les différentes extensions et codecs associés
  • Savoir ajouter une vidéo à une page HTML5 avec
    • Différentes versions de la vidéo et un mécanisme de "fallback" pour maximiser la compatibilité
    • Des sous-titres ou autres éléments contextuels
  • Comprendre les bases de la vidéographie et de l'édition vidéo
  • Savoir intégrer des interactions avancées (e.g. quiz, coordination vidéo/contenu textuel, ...) avec JavaScript/DOM

Prérequis

HTML5 de base et Premiers pas avec JavaScript.

Logiciels utilisés et à avoir installés de préférence avant le cours en présence :

  • Brackets / Visual studio code (ou autre éditeur de texte à choix)
  • OpenShot video editor (ou si vous maîtrisez déjà l'édition vidéo, un autre éditeur vidéo à choix)

Activités en salle de classe

Programme

  • 14:00 - 14:30 : Utilisation pédagogique de la vidéo (perspectives et discussion)
  • 14:30 - 15:30 : Présentation OpenShot avec activité hands-on
  • 16:00 - 16:30 : Démo/Présentation HTML5 audio et video
  • 16:30 - 17:00 : Lien avec exercice 3 avec l'intégration de JavaScript

Utilisation pédagogique de la vidéo

Discussion/exploration: Que peut-on faire avec des vidéos ?

  • Tutoriel utilisation de logiciels (= vidéographie / screenscast)
  • Filmer des gestes pour montrer comment faire
  • Filmer des participants à une activité sociale (entretien d'embauche) - Capsules, vignettes.
  • Démonstrations didactiques
  • Enseignement de langues (dialogues, body language, etc.)
  • Analyse de mouvement (ex. physiothérapie). Filmer un sujet que l'on analyse après
  • Témoignages (personnes qui ont des pathologies)
  • Vidéo pour donner du feedback (gestion d'entretiens, sport, etc.)
  • Vidéo d'une animation (par exemple, molécules)
  • Podcast - conférences - MOOC
  • Filmer utilisation d'un langage des signes et donner un feedback

Voir aussi:

  • Travaux Tetris (ex4)

Outils d'édition vidéo

Logiciel utilisé en classe

Logiciel vu en cours :

Alternatives

Alternatives Windows :

Alternatives Mac (à vérifier) :

  • IMovie marche
  • à option: OpenShot et ShotCut

Alternatives Linux :

Guides et ressources

Autres informations / guides :

Produire des vidéographies

Encodage de video MP4 en webm et ogv

  • La plupart des éditeurs vidéo permettent une traduction assez rapide.
  • Pour faire plus simple: installez le player/convertisseur VLC (L'extension FireOgg ne marche plus) ou le plus simple handbrake (produit du mp4 varié)

Présentation et activité OpenShot

À faire

Démo video HTML5

Exemple basique :

<video id="movie1" controls="controls" preload="metadata">
   <source src="videos/state-of-wikipedia-480x272.mp4"/>
   <source src="videos/state-of-wikipedia-480x272.ogv"/>
   <source src="videos/state-of-wikipedia-480x272.webm"/>
        Votre navigateur ne fait pas HTML5. Achetez un nouveau !
</video>

Autres fichiers à explorer:

Sous-titres

Utilisation:

  • Traduction
  • Mal-entendant(e)s
  • Apprentissage de langues (on voit les "mots")
  • Éclairer des passages sonores mauvais ou des passages où les gens parlent mal ou très vite
  • Sous-titrer des dialectes (ex. québécois)
  • Légende qui ajoute de l'information
  • Légende qui explique par exemple un processus
  • Commentaires qui expliquent un phénomène
  • Commentaires étudiants pour un cours en ligne (y compris lien)

Ajout d'interactivité

API Audio/Vidéo

Avec les tags HTML5 qui permettent d'implémenter des éléments audio/vidéo, il existe également une API qui permet à JavaScript d'interagir avec les éléments audio/vidéo comme s'ils étaient des "normaux" éléments du DOM. Voir :

Play, Pause and Stop

Ceci permet, par exemple, de créer ses propres boutons pour les contrôles de base de la vidéo.

Code HTML5
<!-- Video -->
<video id="myVideo">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.ogv">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.mp4">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.webm">
</video>
<hr>
<!-- Boutons -->
<button id="playBtn">Play</button> <button id="pauseBtn">Pause</button> <button id="stopBtn">Stop</button>
Code JavaScript
//Identifier les éléments HTML
var myVideo = document.getElementById("myVideo");
var playBtn = document.getElementById("playBtn");
var pauseBtn = document.getElementById("pauseBtn");
var stopBtn = document.getElementById("stopBtn");
 
//Démarrer la lecture avec play()
playBtn.onclick = function () {
  myVideo.play();
}
 
//Mettre en pause la lecture
pauseBtn.onclick = function () {
  myVideo.pause();
}
 
//La fonction stop() n'existe pas, donc on combine pause avec currentTime = 0;
stopBtn.onclick = function () {
  myVideo.pause();
  myVideo.currentTime = 0;
}

Pointer à un moment précis de la vidéo

Le code du bouton stop de l'exemple précédent introduit un élément qui peut être exploité de manière plus spécifique : la propriété .currentTime qui détermine le temps (en seconds) de lecture de la vidéo. On peut utiliser cette propriété pour créer des pointages spécifiques à des moments précis dans la vidéo. Ceci peut avoir un impact pédagogique évident, car l'un des problèmes des vidéos est la difficulté de (ré)trouver les informations spécifiques dont on a besoin.

Pour créer un pointage spécifique on peut par exemple combiner la propriété .currentTime et la méthode .play() pour faire démarrer la lecture à un moment précis. Par exemple :

Code JavaScript
//Identifier votre vidéo, par exemple
var myVideo = document.getElementById("myVideo");

//Créer une fonction de pointage
function pointTo(seconds) {
  //Déplacer la lecture au moment souhaité
  myVideo.currentTime = seconds;
  //Faire démarrer la lecture
  myVideo.play();
}

À ce moment, tout élément dans le DOM peut devenir l'élément déclencheur, par exemple :

Code HTML5
<!-- Pointage à l'intérieur d'un texte. Veuillez noter que l'attribut href="#myVideo" permet de créer un ancrage interne à la page et scroller vers la vidéo -->
<p>La vidéo suivante propose des informations sur Wikipedia. Vous pouvez utiliser les ancrages suivants pour ces morceaux d'intérêts :</p>
<ul>
  <li><a href="#myVideo" onclick="pointTo(96)">Qui sont les contributeurs?</a></li>
  <li><a href="#myVideo" onclick="pointTo(165)">Quelles sont les nouvelles challenges?</a></li>
  <li>...</li>
  <li>...</li>
  <li>...</li>
</ul>
<!-- Video -->
<video id="myVideo" controls>
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.ogv">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.mp4">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.webm">
</video>

Événements déclenchés par la vidéo

Il est également possible d'utiliser des événements liés directement à la vidéo pour déclencher des changements sur la page. Par exemple, on peut "écouter" les événements suivants :

  • playing ou onplaying : détermine si la vidéo est en cours de lecture
  • pause ou onpause : détermine si la lecture de la vidéo est arrêtée

Voici un exemple qui montre ces event listeners. Veuillez noter que ces événements sont causés par n'importe quel moyen utilisé pour jouer ou mettre en pause la vidéo (boutons ou controls de la vidéo), car justement l'event listener est associé à la vidéo, pas aux boutons.

Code HTML5
<h1>Événements déclenchés par la vidéo</h1>
<p>Faites démarrer et arrêter la vidéo pour voir les événements relatifs.</p>
<!-- Video -->
<video id="myVideo" controls>
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.ogv">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.mp4">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.webm">
</video>
<!-- Boutons alternatifs -->
<p>
<button onclick="myVideo.play()">Play</button> | <button onclick="myVideo.pause()">Pause</button>
</p>
<hr>
<p>Liste des événements : </p>

<ul id="eventList">

</ul>
Code JavaScript
//Identifier votre vidéo, par exemple
var myVideo = document.getElementById("myVideo");

//Identifier la liste à populer
var list = document.getElementById("eventList");

//Play event (triggered however you play)
myVideo.onplaying = function () {
  list.innerHTML += "<li>Playing event</li>";
}

//Pause event (triggered however your pause)
myVideo.onpause = function () {
  list.innerHTML += "<li>Pause event</li>";
}

Un autre événement déclenché par la vidéo qui peut être utile est l'événement :

  • timeupdate ou ontimeupdate

Cet événement est déclenché quand la lecture de la vidéo se déplace dans le temps (en toute direction) et peut être utilisé pour déterminer des comportements en fonction du temps de la vidéo.

Code HTML
<h1>Timeupdate example</h1>
<!-- Video -->
<video id="myVideo" controls>
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.ogv">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.mp4">
  <source src="http://tecfa.unige.ch/guides/html/html5-video/videos/state-of-wikipedia-480x272.webm">
</video>
<!-- Current time -->
<h4>Current time</h4>
<p id="showTime"></p>
Code JavaScript
//Identifier votre vidéo, par exemple
var myVideo = document.getElementById("myVideo");

//Identifier où montrer le temps
var showTime = document.getElementById("showTime");

//Timeupdate event listener
myVideo.ontimeupdate = function () {
  showTime.innerHTML = myVideo.currentTime;
}

Veuillez noter: quand la vidéo est en lecture, l'événement ontimeupdate n'est pas toujours déclenché à des intervalles réguliers, car cela dépend par exemple de la puissance de l'ordinateur ou de combien d'autres événements sont déclenchés dans la page.

Pour un exemple plus complexe lié à l'apprentissage voir :

Projet 4 / Tâche

Voici de suite la description détaillée de la tâche et le matériel de support à votre disposition pour compléter l'exercice pendant la période à distance.

Lectures et matériel de support

Ces articles proposent les contenus utiles aux finalités pédagogiques du cours. Pour compléter l'exercice ou atteindre les objectifs spécifiques à votre dispositif (voir plus bas), d'autres ressources peuvent être nécessaires.

  •  : aspects théoriques et pratiques, lecture commune avec exercice 3, niveau des exemples à calibrer en fonction de vos besoins et intérêts
  •  : aspects théoriques et pratiques, niveau des exemples à calibrer en fonction de vos besoins et intérêts.

Dispositif

Créez une page web qui contient une vidéo, des sous-titres, une piste audio et deux éléments interactifs (voir contraintes) :

  • Créez/éditez une vidéo avec au moins une partie faite par vous
  • Créez des sous-titres qui accompagnent la vidéo (pas forcément une transcription de l'audio)
  • Insérez la vidéo dans une page HTML5 valide en utilisant les balises HTML5
  • Ajoutez les sous-titres à la vidéo
  • Créez des éléments interactifs avec JavaScript qui permettent d'interagir avec la vidéo

Conseils :

  • Produisez des vidéos de petite résolution s'il s'agit de vignettes. Aussi petites que possibles, mais néanmoins ergonomiques...
  • Le format de la vidéo doit être du *.ogv ou du *.mp4 ou du *.webm. Le format *.webm est préférable (il est également compatible avec ce wiki, *.mp4 non).
  • Utilisez un transcoder gratuit pour convertir la vidéo, par exemple Online Convert ou XMedia-recode. Pour les utilisateurs Firefox, le pluggin Firefogg n'est plus supporté par Firefox.
  • Une vidéo type durera entre 2 et 5 minutes.

Exemples :

  • Avec interactivité : volée Volt et suivantes (stic-1/ex4)
  • Sans interactivité : promotions Utopia (ex4), R2D2 et Stella (stic-2/ex17) et Tetris (stic-1/ex4)

Contraintes

  • Contenu selon vos envies, mais en rapport avec une thématique MALTT
  • Il faut un sujet pédagogique cohérent (donc le film doit être utilisable dans un scénario d'enseignement, de formation et/ou d'apprentissage)
  • La vidéo doit être réalisée pour HTML5 et elle doit impérativement inclure des sous-titres faits avec VTT, utiles et intéressants (pas forcément une transcription audio).
  • Une seule vidéo sur votre page/dispositif, avec une durée entre 2 et 5 minutes. La vidéo doit être téléversée sur le serveur tecfaetu.unige.ch. Essayez de réduire la taille au maximum (sans perdre trop en qualité).
  • La vidéo doit jouer un rôle central dans le dispositif. Si vous ne voulez pas produire une vidéographie, pensez à produire des vignettes utiles dans un contexte pédagogique ou un "collage cohérent" de deux vidéos ou plus.
  • Vous avez aussi le droit de réutiliser des vidéos, à condition d'en produire au moins un segment vous-même (pour l'introduction par exemple) et de respecter les droit d'auteur/utilisation
  • Vous devez ajouter au moins un élément (e.g. bouton) qui amène l'utilisateur à un endroit précis de la vidéo. Cet élément peut se trouver dans un texte explicatif par exemple.
  • Vous devez ajouter au moins un événement qui se déclenche par la vidéo à un moment donné. Exemples: arrêter la vidéo et poser une question, changer la couleur de la page, afficher une information supplémentaire...
  • Vous ne pouvez pas combiner sur la même page les exercices 3 et 4
    • Mais vous pouvez utiliser le même sujet (e.g. mini-site avec deux pages)

Critères d'évaluation

Selon la grille d'analyse utilisée pour les travaux précédents.

Pour faire très bien:

  • Produisez une vidéo bien éditée et composée (donc pas de morceaux inutiles).
  • Utilisation de différents types de segments. (Images, plan sur une personne, entretiens, scènes, vidéographies)
  • Sous-titres utiles et bien positionnés
  • Raccourcis avec les boutons bien labellisés et qui amènent à des endroits intéressants de la vidéo
  • Éléments interactifs bien intégrés et qui soutient les objectifs d'apprentissage

Rapport

Faites un rapport selon les guidelines habituelles :

En particulier pour cet exercice, essayez d'expliquer :

  • Quelle est la valeur ajoutée de la vidéo dans votre dispositif ?
  • L'intérêt des éléments interactifs liés à la vidéo comparé à une version "normale"

Contribution Wiki

Contribution libre comme d'habitude :

Quelques suggestions :

Bugs

Attention :

  • Les fichiers VTT risquent de ne pas marcher en "local". Déposez les fichiers sur un serveur web ou démarrez un serveur web local.
  • Certains navigateurs vont bloquer des contenus locaux pour des raisons de sécurité ...

Délai

Dimanche 21:00, juste avant le début de la période 3

Ressources

Vidéo et audio HTML5
Players HTML5

Si vous voulez déjà explorer les bibliothèques JavaScript (qui seront traitées en P3), vous pouvez essayez une bibliothèque audio/vidéo, par exemple :

Video download
Convertisseurs
  • Online-convert.com Online converter service for various file formats.
  • MediaConverter.org Online converter. Also can download from websites.
  • OnlineVideoConverter.com. Online converter. Heavy adds.
  • Installez FireOgg, a Firefox plugin for creating ogg and webm video files
  • Miro Video Converter, convertisseur vers MP4, WebM (vp8), Ogg Theora, ou pour Android, iPhone, et iPad ; téléchargement gratuit pour windows et mac depuis le site.

Aide

Discussion de cette page

Utilisez la page discussion de cette page pour poser des questions. Pour insérer un nouveau titre, utilisez simplement le "+".

Important: Si vous cliquez sur l'étoile ("Ajouter cette page à votre liste de suivi"), le wiki vous enverra un mail après chaque modification de la page.

Journée de Support Libre

Exceptionnellement pour cette période, la Journée de Support libre est déplacée d'une semaine. Elle sera donc jeudi 15 novembre.

La présence d'au moins un assistant/moniteur spécifiquement pour STIC est garantie de 10h à 12h s'il y a assez d'étudiants qui ont manifesté leur présence.