STIC:STIC II - exercice 16 (Tetris)

De EduTech Wiki
Version datée du 26 mars 2015 à 19:05 par Daniel K. Schneider (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

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

Enoncé de l'exercice 16

Cet exercice du cours STIC II vous permet de vous familiariser

  • avec le language JavaScript
  • avec le DOM (Document Object Model), et notamment avec l'interface pour traiter les formulaires et DHTML

Tâche

Créez une petite page (X)HTML/JavaScript de votre choix. L'utilisateur doit pouvoir rentrer des données avec un formulaire et/ou pouvoir déclencher un événement. Ensuite, une application écrite avec JavaScript en fait quelque chose.

  • La solution la plus simple consiste à programmer un petit quiz avec des questions radio à choix multiples.
  • Vous pouvez aussi programmer un outil interactif, par exemple une visualisation de fonctions mathématiques ou encore une page "multimédia" avec des animations.
  • Une autre possibilité consiste à jouer avec un robot de conversation (c.f. l'exercice 18 de la promotion Stella)

Implémentation:

  • Vous avez le droit d'utiliser une librairie JavaScript prête à être utilisée (meilleur conseil pour les gens qui n'ont pas le temps d'apprendre à programmer, voir les liens dans EduTechWiki (en)
  • ... ou encore une librairie JavaScript pour développeurs, par exemple en:D3.js, JavaScript InfoVis Toolkit, Raphaël, ou encore GreenSock (la soeur de la variante AS déjà été vue en STIC I)
  • Emplacement du rapport
/etu-maltt/nestor/<login>/stic-2/ex16/
Exercices alternatifs (une personne / page)

A ne pas confondre avec la contribution wiki obligatoire. Ici il s'agit d'une contribution substantielle.

  • Mettre à jour la documentation JavaScript dans ce wiki. Y compris créer une bonne page "liens JavaScript". La page JavaScript elle-même devrait présenter un petit survol du langage et de ses usages.
  • Faire un article d'introduction sur l'élément Canevas de HTML5
  • Présenter l'utilisation d'une librairie de développement ou une librairie d'application

Outils

  • Un éditeur HTML/JavaScript

Contraintes

  1. Le choix du thème n'a pas beaucoup d'importance, enfin il faut un sujet pédagogique cohérent.
  2. L'utilisation doit être ergonomique
  3. Il faut un minimum de traitement (pas juste utiliser JS pour ouvrir un popup ou un lien)
  4. dispositif: soit HTML, XHTML ou SVG en input
  5. Les utilisateurs doivent recevoir un feed-back intéressant (en fonction du thème choisi). Lorsque, par exemple, il s'agit d'un test pédagogique il faut donner un bon feedback (négatif ou positif).
  6. Le feedback peut se faire avec une fenêtre popup, une nouvelle page ou encore via une modification du contenu de la page (c.a.d vous pouvez utiliser DHTML ou SVG dynamique).

Le rapport:

  • Titre, auteur et date
  • Liens vers le résulat (fichier HTML et le code JavaScript)
  • Objectifs du module: Il sert à quoi / quelle population ?
  • La production: bref résumé de la démarche
  • Difficultés, auto-évaluation, remarques
  • Ressources utilisées, bibliographie.

Evaluation

Selon la grille habituelle. A vérifier:

  1. le script marche
  2. validité de (X)HTML (et SVG ou autres formats utilisés)
  3. créativité
  4. utilité
  5. ergonomie de la page
  6. respect de principes de design (par ex. "instructional design pour des QCM)
  7. points bonus: tester si l'utilisateur a bien rempli le formulaire, utilisation de nouvelles fenêtres html pour le feedback, etc.
  8. contribution wiki
  9. rapport (surtout les objectifs et la présentation/discussion du design)

Activités en classe

La plupart de ces exemples sont utilisés dans en:DHTML et en:Javascript tutorial - basics

Chablon de base

<!DOCTYPE html>

<html>
   <head>
      <title>Object Model</title>
      <script type = "text/javascript">
         window.onload = start;
         function start() 
         {
            var my_para = document.getElementById("p1");
            alert( "Paragraph contents : " + my_para.innerHTML );
         }
      </script>
   </head>

   <body>
      <p id = "p1">Welcome to our Web page!</p>
   </body>
</html>

Enregistrement d'un gestionnaire d'événement façon "moderne"/ActionScript

<!DOCTYPE html>
<html>
   <head>
      <title>Event handling</title>
      <script type = "text/javascript">
         window.onload = start;
         // var my_para_button  ="";

	 function start()  {
	   // put an event handler on the div box
	   var my_para_button = document.getElementById("box");
	   my_para_button = addEventListener("click", modifyText);
         }

	 function modifyText() {
	   // get the box
	   var my_content = document.getElementById("content");
	   my_content.innerHTML = "That was so good";
	 }
      </script>
   </head>

   <body>
      <div id="box">
         <p style="background-color:yellow" id="content">CLICK ME !</p>
      </div>
   </body>
</html>

Source: http://tecfa.unige.ch/guides/js/ex-intro/event-handler.html

Liens

Pages edutechwiki EN


Wikipedia
Outils
Slides en Anglais
Slides en français (assez dépassés ...)
DOM - Introductions ailleurs
Event handlers à la ActionScript
JavaScript - Introductions ailleurs
Javascript text color edit