Web Multimédia - 2019/2020
Équipe pédagogique:
- chargé de cours/TP: Quentin Bouillaguet
Transparents
- Introduction: World Wide Web
- JavaScript: Introduction et Integration au HTML
- JavaScript: DOM et Gestion des événements
- Multimédia: Audio, Vidéo et Canvas
Travaux Pratiques
TP1: Décomposition d’un nombre en facteurs premiers
- Créez un fichier
.html
suivant la structure vue en cours et contenant le script suivant:<script> var n = prompt("rentrer un nombre"); for (var i = 1; i<= n; i++) { if (n%i == 0) { alert(i + " est un diviseur de " + n); } } </script>
- Modifier le code précédent pour décomposer un nombre en facteurs premiers
- Définir une fonction qui reçoive un nombre en entrée et renvoie un tableau contenant la liste des facteurs
- Prévoir les cas particuliers (valeur négative ou null ou non entière)
- Remplacer les appels aux fenêtres de dialogue (
prompt
etalert
) - Séparer le code JavaScript et HTML dans deux fichiers différents
- Contrôler le déroulement de l’exécution par des points d’arrêt
Solution
TP2: Animation
- Récupérer l’archive qui contient du code et les images d’un pingouin marchant à gauche et à droite, d’un arbre, de décor de forêt, un bloc de glace…
- Reprendre les fichiers
tp2-base.html/css/js
pour afficher et déplacer le pingouin dans le décor - Gérer les déplacements vers la gauche et vers la droite
- Automatiser l’animation avec un timer
- Arrêter le déplacement aux extrémités du décor
- Ajouter des boutons pour contrôler le pingouin (à gauche, à droite, plus vite, stop)
- Permettre de contrôler le mouvement au clavier
Solution et Rappels de cours
TP3: Canvas
Pingouin
- Reprendre l’affichage du pingouin du TP précédent (faites une copie) en dessinant l’ensemble des élements directement dans un canvas
- Faire tomber les blocs de glace du ciel, l’objectif est que le pingouin les évite
- Bonus: Ajouter un compteur de vie et un cumul de points à chaque fois qu’un bloc de glace tombe hors-champ
Echiquier
- Créer une page web contenant un élement
<canvas>
et y dessiner un échiquier (8x8 alternant cases claires et foncées) - Rendre la taille et la couleur des cases configurables facilement
- Bonus: Passer d’une vue verticale à une vue en perspective à la demande